fern-api 0.43.2 → 0.43.3

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/bundle.cjs +3 -3
  2. package/package.json +1 -1
package/bundle.cjs CHANGED
@@ -1784,7 +1784,7 @@ ${l.indent}`:""}${D8c(o)}:${f.indent?" ":""}`;return u=!1,c=!0,f.objectItem=void
1784
1784
  `}),r.replaceAll(/\n$/g,"")}function HZP(e){return e?al.green(o8r.radioOn):o8r.radioOff}var Dpa=yu(Bje(),1);function nQl(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var Hdi=class extends dR{_run(t){this.done=t;let r=cW(this.rl),n=r.line.pipe((0,Dpa.map)(this.filterInput.bind(this))),i=this.handleSubmitEvents(n);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),r.keypress.pipe((0,Dpa.takeUntil)(i.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),n="";r+=this.status==="answered"?this.getMaskedValue(this.answer):this.getMaskedValue(this.rl.line||""),t&&(n=`
1785
1785
  `+al.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?al.cyan(nQl(t,this.opt.mask)):al.italic.dim("[hidden]"):this.opt.mask?nQl(t,this.opt.mask):al.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(){var t;(t=this.opt).default&&(t.default=void 0),this.render()}};var xZl=yu(MZl(),1),TZl=yu(Bje(),1);var epi=class extends dR{_run(t){this.done=t,this.editorResult=new TZl.Subject;let r=cW(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?al.dim("Received"):al.dim("Press <enter> to launch your preferred editor."),t&&(r=al.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),(0,xZl.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 RZl=yu(AZl(),1);var BZl=yu(require("readline"),1),IZl=yu(zZl(),1),Jkr=class{constructor(t){this.rl||(this.rl=BZl.default.createInterface(NkP(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 NkP(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new IZl.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var tpi=class extends Jkr{constructor(t={}){super(t),this.log=(0,RZl.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return Bdi(this.rl,this.bottomBar.split(`
1786
1786
  `).length),this}updateBottomBar(t){return Bdi(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+`
1787
- `}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&&Opa(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var KZl=yu(UZl(),1),YZl=yu(lnu(),1),XZl=yu(JZl(),1),aq=yu(Bje(),1),QZl=yu(Hfi(),1);var Gpa=yu(Bje(),1),GZl=yu(Hfi(),1),Kpa=function(e,t,r){return typeof e[t]!="function"?(0,Gpa.of)(e):(0,Gpa.from)((0,GZl.default)(e[t])(r).then(n=>(e[t]=n,e)))};var rpi={isPlainObject:KZl.default,set:XZl.default,get:YZl.default},GAn=class extends Jkr{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=rpi.isPlainObject(r)?{...r}:{},rpi.isPlainObject(t)&&(t=Object.values(t).every(i=>rpi.isPlainObject(i)&&i.name===void 0)?Object.entries(t).map(([i,a])=>({name:i,...a})):[t]);let n=Array.isArray(t)?(0,aq.from)(t):t;return this.process=n.pipe((0,aq.concatMap)(this.processQuestion.bind(this)),(0,aq.publish)()),this.process.connect(),this.process.pipe((0,aq.reduce)((i,a)=>(rpi.set(i,a.name,a.answer),i),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,aq.defer)(()=>(0,aq.of)(t).pipe((0,aq.concatMap)(this.setDefaultType.bind(this)),(0,aq.concatMap)(this.filterIfRunnable.bind(this)),(0,aq.concatMap)(()=>Kpa(t,"message",this.answers)),(0,aq.concatMap)(()=>Kpa(t,"default",this.answers)),(0,aq.concatMap)(()=>Kpa(t,"choices",this.answers)),(0,aq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,aq.defer)(()=>(0,aq.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,aq.defer)(()=>(0,aq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&rpi.get(this.answers,t.name)!==void 0)return(0,aq.empty)();if(t.when===!1)return(0,aq.empty)();if(typeof t.when!="function")return(0,aq.of)(t);let{answers:r}=this;return(0,aq.defer)(()=>(0,aq.from)((0,QZl.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,aq.filter)(n=>n!=null)))}};function ZZl(e){let t=function(r,n){let i;try{i=new GAn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=i.run(r,n);return a.ui=i,a};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",Rdi),this.registerPrompt("input",Fkr),this.registerPrompt("number",Fdi),this.registerPrompt("confirm",Ldi),this.registerPrompt("rawlist",Udi),this.registerPrompt("expand",Vdi),this.registerPrompt("checkbox",Wdi),this.registerPrompt("password",Hdi),this.registerPrompt("editor",epi)},t.restoreDefaultPrompts(),t}var nau=ZZl();function ZkP(e,t){nau.registerPrompt(e,t)}function kkP(){nau.restoreDefaultPrompts()}var ee1={prompt:nau,ui:{BottomBar:tpi,Prompt:GAn},createPromptModule:ZZl,registerPrompt:ZkP,restoreDefaultPrompts:kkP,Separator:bne},Ypa=ee1;var _kl=yu(cau(),1),Qpa=class{posthog;constructor({posthogApiKey:t}){this.posthog=new _kl.PostHog(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.43.2",usingAccessToken:!0}})}flush(){this.posthog.flush()}};var opi=class{async sendEvent(){}async identify(){}async flush(){}};var YAn=require("fs/promises"),Nkl=require("os"),zkl=require("path"),Bkl=yu(cau(),1);var hRt=yu(Akl(),1),CU7=hRt.default.v1,AU7=hRt.default.v3,Kkr=hRt.default.v4,NU7=hRt.default.v5,zU7=hRt.default.NIL,BU7=hRt.default.version,IU7=hRt.default.validate,RU7=hRt.default.stringify,FU7=hRt.default.parse;var xt1="id",Tt1=".fern",lpi=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new Bkl.PostHog(r),this.userId=t==null?void 0:OZo(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.43.2",...t,...t.properties}})}flush(){this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=pf(R_.of((0,Nkl.homedir)()),zs.of(Tt1),zs.of(xt1));await Vh(t)||(await(0,YAn.mkdir)((0,zkl.dirname)(t),{recursive:!0}),await(0,YAn.writeFile)(t,Kkr())),this.persistedDistinctId=(await(0,YAn.readFile)(t)).toString()}return this.persistedDistinctId}};var vau;async function XAn(){return vau==null&&(vau=await qt1()),vau}async function qt1(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new opi;let r=await Dua();return r!=null?new lpi({token:r,posthogApiKey:e}):await wua()!=null?new Qpa({posthogApiKey:e}):new lpi({token:void 0,posthogApiKey:e})}catch{return new opi}}var dou=yu(vRt(),1);var ppi=yu(require("process"),1);var Ttf=yu(Vau(),1),qtf=yu(xtf(),1);function N9(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=Kqt(e),e.length===0))return 0;e=e.replace((0,qtf.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let a=i.codePointAt(0);if(a<=31||a>=127&&a<=159||a>=768&&a<=879)continue;switch(Ttf.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function w_a(e){let t=0;for(let r of e.split(`
1787
+ `}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&&Opa(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var KZl=yu(UZl(),1),YZl=yu(lnu(),1),XZl=yu(JZl(),1),aq=yu(Bje(),1),QZl=yu(Hfi(),1);var Gpa=yu(Bje(),1),GZl=yu(Hfi(),1),Kpa=function(e,t,r){return typeof e[t]!="function"?(0,Gpa.of)(e):(0,Gpa.from)((0,GZl.default)(e[t])(r).then(n=>(e[t]=n,e)))};var rpi={isPlainObject:KZl.default,set:XZl.default,get:YZl.default},GAn=class extends Jkr{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=rpi.isPlainObject(r)?{...r}:{},rpi.isPlainObject(t)&&(t=Object.values(t).every(i=>rpi.isPlainObject(i)&&i.name===void 0)?Object.entries(t).map(([i,a])=>({name:i,...a})):[t]);let n=Array.isArray(t)?(0,aq.from)(t):t;return this.process=n.pipe((0,aq.concatMap)(this.processQuestion.bind(this)),(0,aq.publish)()),this.process.connect(),this.process.pipe((0,aq.reduce)((i,a)=>(rpi.set(i,a.name,a.answer),i),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,aq.defer)(()=>(0,aq.of)(t).pipe((0,aq.concatMap)(this.setDefaultType.bind(this)),(0,aq.concatMap)(this.filterIfRunnable.bind(this)),(0,aq.concatMap)(()=>Kpa(t,"message",this.answers)),(0,aq.concatMap)(()=>Kpa(t,"default",this.answers)),(0,aq.concatMap)(()=>Kpa(t,"choices",this.answers)),(0,aq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,aq.defer)(()=>(0,aq.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,aq.defer)(()=>(0,aq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&rpi.get(this.answers,t.name)!==void 0)return(0,aq.empty)();if(t.when===!1)return(0,aq.empty)();if(typeof t.when!="function")return(0,aq.of)(t);let{answers:r}=this;return(0,aq.defer)(()=>(0,aq.from)((0,QZl.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,aq.filter)(n=>n!=null)))}};function ZZl(e){let t=function(r,n){let i;try{i=new GAn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=i.run(r,n);return a.ui=i,a};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",Rdi),this.registerPrompt("input",Fkr),this.registerPrompt("number",Fdi),this.registerPrompt("confirm",Ldi),this.registerPrompt("rawlist",Udi),this.registerPrompt("expand",Vdi),this.registerPrompt("checkbox",Wdi),this.registerPrompt("password",Hdi),this.registerPrompt("editor",epi)},t.restoreDefaultPrompts(),t}var nau=ZZl();function ZkP(e,t){nau.registerPrompt(e,t)}function kkP(){nau.restoreDefaultPrompts()}var ee1={prompt:nau,ui:{BottomBar:tpi,Prompt:GAn},createPromptModule:ZZl,registerPrompt:ZkP,restoreDefaultPrompts:kkP,Separator:bne},Ypa=ee1;var _kl=yu(cau(),1),Qpa=class{posthog;constructor({posthogApiKey:t}){this.posthog=new _kl.PostHog(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.43.3",usingAccessToken:!0}})}flush(){this.posthog.flush()}};var opi=class{async sendEvent(){}async identify(){}async flush(){}};var YAn=require("fs/promises"),Nkl=require("os"),zkl=require("path"),Bkl=yu(cau(),1);var hRt=yu(Akl(),1),CU7=hRt.default.v1,AU7=hRt.default.v3,Kkr=hRt.default.v4,NU7=hRt.default.v5,zU7=hRt.default.NIL,BU7=hRt.default.version,IU7=hRt.default.validate,RU7=hRt.default.stringify,FU7=hRt.default.parse;var xt1="id",Tt1=".fern",lpi=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new Bkl.PostHog(r),this.userId=t==null?void 0:OZo(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.43.3",...t,...t.properties}})}flush(){this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=pf(R_.of((0,Nkl.homedir)()),zs.of(Tt1),zs.of(xt1));await Vh(t)||(await(0,YAn.mkdir)((0,zkl.dirname)(t),{recursive:!0}),await(0,YAn.writeFile)(t,Kkr())),this.persistedDistinctId=(await(0,YAn.readFile)(t)).toString()}return this.persistedDistinctId}};var vau;async function XAn(){return vau==null&&(vau=await qt1()),vau}async function qt1(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new opi;let r=await Dua();return r!=null?new lpi({token:r,posthogApiKey:e}):await wua()!=null?new Qpa({posthogApiKey:e}):new lpi({token:void 0,posthogApiKey:e})}catch{return new opi}}var dou=yu(vRt(),1);var ppi=yu(require("process"),1);var Ttf=yu(Vau(),1),qtf=yu(xtf(),1);function N9(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=Kqt(e),e.length===0))return 0;e=e.replace((0,qtf.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let a=i.codePointAt(0);if(a<=31||a>=127&&a<=159||a>=768&&a<=879)continue;switch(Ttf.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function w_a(e){let t=0;for(let r of e.split(`
1788
1788
  `))t=Math.max(t,N9(r));return t}var Qtf=yu(Hau(),1);var En1=/[\p{Lu}]/u,Mn1=/[\p{Ll}]/u,Ntf=/^[\p{Lu}](?![\p{Lu}])/gu,Itf=/([\p{Alpha}\p{N}_]|$)/u,$au=/[_.\- ]+/,xn1=new RegExp("^"+$au.source),ztf=new RegExp($au.source+Itf.source,"gu"),Btf=new RegExp("\\d+"+Itf.source,"gu"),Tn1=(e,t,r,n)=>{let i=!1,a=!1,u=!1,f=!1;for(let d=0;d<e.length;d++){let c=e[d];f=d>2?e[d-3]==="-":!0,i&&En1.test(c)?(e=e.slice(0,d)+"-"+e.slice(d),i=!1,u=a,a=!0,d++):a&&u&&Mn1.test(c)&&(!f||n)?(e=e.slice(0,d-1)+"-"+e.slice(d-1),u=a,a=!1,i=!0):(i=t(c)===c&&r(c)!==c,u=a,a=r(c)===c&&t(c)!==c)}return e},qn1=(e,t)=>(Ntf.lastIndex=0,e.replace(Ntf,r=>t(r))),Cn1=(e,t)=>(ztf.lastIndex=0,Btf.lastIndex=0,e.replace(ztf,(r,n)=>t(n)).replace(Btf,r=>t(r)));function Jau(e,t){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(a=>a.trim()).filter(a=>a.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?a=>a.toLowerCase():a=>a.toLocaleLowerCase(t.locale),n=t.locale===!1?a=>a.toUpperCase():a=>a.toLocaleUpperCase(t.locale);return e.length===1?$au.test(e)?"":t.pascalCase?n(e):r(e):(e!==r(e)&&(e=Tn1(e,r,n,t.preserveConsecutiveUppercase)),e=e.replace(xn1,""),e=t.preserveConsecutiveUppercase?qn1(e,r):r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),Cn1(e,n))}var Xau=yu(Ftf(),1);var Ltf=(e=0)=>t=>`\x1B[${t+e}m`,Utf=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Vtf=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`;function Bn1(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[i,a]of Object.entries(n))t[i]={open:`\x1B[${a[0]}m`,close:`\x1B[${a[1]}m`},n[i]=t[i],e.set(a[0],a[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",t.color.ansi=Ltf(),t.color.ansi256=Utf(),t.color.ansi16m=Vtf(),t.bgColor.ansi=Ltf(10),t.bgColor.ansi256=Utf(10),t.bgColor.ansi16m=Vtf(10),Object.defineProperties(t,{rgbToAnsi256:{value:(r,n,i)=>r===n&&n===i?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5),enumerable:!1},hexToRgb:{value:r=>{let n=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(r.toString(16));if(!n)return[0,0,0];let{colorString:i}=n.groups;i.length===3&&(i=i.split("").map(u=>u+u).join(""));let a=Number.parseInt(i,16);return[a>>16&255,a>>8&255,a&255]},enumerable:!1},hexToAnsi256:{value:r=>t.rgbToAnsi256(...t.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value:r=>{if(r<8)return 30+r;if(r<16)return 90+(r-8);let n,i,a;if(r>=232)n=((r-232)*10+8)/255,i=n,a=n;else{r-=16;let d=r%36;n=Math.floor(r/36)/5,i=Math.floor(d/6)/5,a=d%6/5}let u=Math.max(n,i,a)*2;if(u===0)return 30;let f=30+(Math.round(a)<<2|Math.round(i)<<1|Math.round(n));return u===2&&(f+=60),f},enumerable:!1},rgbToAnsi:{value:(r,n,i)=>t.ansi256ToAnsi(t.rgbToAnsi256(r,n,i)),enumerable:!1},hexToAnsi:{value:r=>t.ansi256ToAnsi(t.hexToAnsi256(r)),enumerable:!1}}),t}var In1=Bn1(),Wtf=In1;var D_a=new Set(["\x1B","\x9B"]),Rn1=39,Kau="\x07",Jtf="[",Fn1="]",Gtf="m",Yau=`${Fn1}8;;`,Htf=e=>`${D_a.values().next().value}${Jtf}${e}${Gtf}`,$tf=e=>`${D_a.values().next().value}${Yau}${e}${Kau}`,Ln1=e=>e.split(" ").map(t=>N9(t)),Gau=(e,t,r)=>{let n=[...t],i=!1,a=!1,u=N9(Kqt(e[e.length-1]));for(let[f,d]of n.entries()){let c=N9(d);if(u+c<=r?e[e.length-1]+=d:(e.push(d),u=0),D_a.has(d)&&(i=!0,a=n.slice(f+1).join("").startsWith(Yau)),i){a?d===Kau&&(i=!1,a=!1):d===Gtf&&(i=!1);continue}u+=c,u===r&&f<n.length-1&&(e.push(""),u=0)}!u&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Un1=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(N9(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Vn1=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,a,u=Ln1(e),f=[""];for(let[c,o]of e.split(" ").entries()){r.trim!==!1&&(f[f.length-1]=f[f.length-1].trimStart());let l=N9(f[f.length-1]);if(c!==0&&(l>=t&&(r.wordWrap===!1||r.trim===!1)&&(f.push(""),l=0),(l>0||r.trim===!1)&&(f[f.length-1]+=" ",l++)),r.hard&&u[c]>t){let g=t-l,O=1+Math.floor((u[c]-g-1)/t);Math.floor((u[c]-1)/t)<O&&f.push(""),Gau(f,o,t);continue}if(l+u[c]>t&&l>0&&u[c]>0){if(r.wordWrap===!1&&l<t){Gau(f,o,t);continue}f.push("")}if(l+u[c]>t&&r.wordWrap===!1){Gau(f,o,t);continue}f[f.length-1]+=o}r.trim!==!1&&(f=f.map(c=>Un1(c)));let d=[...f.join(`
1789
1789
  `)];for(let[c,o]of d.entries()){if(n+=o,D_a.has(o)){let{groups:g}=new RegExp(`(?:\\${Jtf}(?<code>\\d+)m|\\${Yau}(?<uri>.*)${Kau})`).exec(d.slice(c).join(""))||{groups:{}};if(g.code!==void 0){let O=Number.parseFloat(g.code);i=O===Rn1?void 0:O}else g.uri!==void 0&&(a=g.uri.length===0?void 0:g.uri)}let l=Wtf.codes.get(Number(i));d[c+1]===`
1790
1790
  `?(a&&(n+=$tf("")),i&&l&&(n+=Htf(l))):o===`
@@ -1901,7 +1901,7 @@ errors:
1901
1901
  Run ${al.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
1902
1902
  Run ${al.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),o6n(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function zsu({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!fuf(e))return;let i=t??"",a=e.filter(f=>f.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let u=a.sort((f,d)=>f.generatorName.localeCompare(d.generatorName)||f.currentVersion.localeCompare(d.currentVersion));for(let f of u)i+=`
1903
1903
  ${await Up1(f.generatorName)} (${f.apiName!=null?"API: "+f.apiName+", ":""}Group: ${f.generatorGroup}) `+al.dim(f.currentVersion)+al.reset(" \u2192 ")+al.green(f.latestVersion);return i+=`
1904
- `,n?o6n(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Up1(e){let r=await new luf.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 Vp1({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:a}){if(t.length===1){let f={type:"singleApi",versions:{}};return await puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,c,o,l)=>{f.versions[c]==null&&(f.versions[c]={});let g=pg.getGeneratorNameOrThrow(o.name,l),O=await pg.getLatestGeneratorVersion({generatorName:g,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:i,includeMajor:a,context:l});O!=null&&(f.versions[c][o.name]={previousVersion:o.version,latestVersion:O})},generatorFilter:r,groupFilter:n}),f}let u={type:"multiApi",versions:{}};return await puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,d,c,o)=>{if(f==null)return;u.versions[f]==null&&(u.versions[f]={}),u.versions[f][d]==null&&(u.versions[f][d]={});let l=pg.getGeneratorNameOrThrow(c.name,o),g=await pg.getLatestGeneratorVersion({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:c.version,channel:i,includeMajor:a,context:o});g!=null&&(u.versions[f][d][c.name]={previousVersion:c.version,latestVersion:g})},generatorFilter:r,groupFilter:n}),u}async function puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let f=await pg.loadGeneratorsConfiguration({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(f==null||f.groups==null)){for(let d of f.groups)if(!(i!=null&&d.groupName!==i))for(let c of d.generators)n!=null&&c.name!==n||await r(a.workspaceName,d.groupName,c,u)}})}))}function _uf(e,t,r){let n=[];for(let[i,a]of Object.entries(e))for(let[u,f]of Object.entries(a)){r.debug(`Checking if ${u} in group ${i} has an upgrade available...`);let d=One(f.latestVersion,f.previousVersion);r.debug(`Latest version: ${f.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),n.push({generatorName:u,generatorGroup:i,apiName:t,isUpgradeAvailable:d,currentVersion:f.previousVersion,latestVersion:f.latestVersion})}return n}async function qha({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:a}){let u=[];if(e!=null){let f=await Vp1({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:a});if(f.type==="multiApi")for(let[d,c]of Object.entries(f.versions))u.push(..._uf(c,d,t.logger));else u.push(..._uf(f.versions,void 0,t.logger))}return u}var e_i=class extends Error{constructor(t,r,n){let i=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${i} ${a}`.trim(),f=u?`status code ${u}`:"an unknown error";super(`Request failed with ${f}`),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=r,this.options=n}};var R6n=class extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}};var t_i=e=>e!==null&&typeof e=="object";var r_i=(...e)=>{for(let t of e)if((!t_i(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Cha({},...e)},Bsu=(e={},t={})=>{let r=new globalThis.Headers(e),n=t instanceof globalThis.Headers,i=new globalThis.Headers(t);for(let[a,u]of i.entries())n&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r},Cha=(...e)=>{let t={},r={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(t_i(n)){for(let[i,a]of Object.entries(n))t_i(a)&&i in t&&(a=Cha(t[i],a)),t={...t,[i]:a};t_i(n.headers)&&(r=Bsu(r,n.headers),t.headers=r)}return t};var huf=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",n=typeof globalThis.Request=="function";return r&&n&&(t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")),e&&!t})(),yuf=typeof globalThis.AbortController=="function",vuf=typeof globalThis.ReadableStream=="function",buf=typeof globalThis.FormData=="function",Aha=["get","post","put","patch","head","delete"],Wp1=()=>{};Wp1();var guf={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Nha=2147483647,zha=Symbol("stop"),muf={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},Ouf={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};var juf=e=>Aha.includes(e)?e.toUpperCase():e,Hp1=["get","put","head","delete","options","trace"],$p1=[408,413,429,500,502,503,504],wuf=[413,429,503],Puf={limit:2,methods:Hp1,statusCodes:$p1,afterStatusCodes:wuf,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Duf=(e={})=>{if(typeof e=="number")return{...Puf,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{...Puf,...e,afterStatusCodes:wuf}};async function Isu(e,t,r,n){return new Promise((i,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new R6n(e))},n.timeout);n.fetch(e,t).then(i).catch(a).then(()=>{clearTimeout(u)})})}async function Rsu(e,{signal:t}){return new Promise((r,n)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(a),n(t.reason)}let a=setTimeout(()=>{t==null||t.removeEventListener("abort",i),r()},e)})}var Suf=(e,t)=>{let r={};for(let n in t)!(n in Ouf)&&!(n in muf)&&!(n in e)&&(r[n]=t[n]);return r};var hen=class{static create(t,r){let n=new hen(t,r),i=async()=>{if(typeof n._options.timeout=="number"&&n._options.timeout>Nha)throw new RangeError(`The \`timeout\` option cannot be greater than ${Nha}`);await Promise.resolve();let f=await n._fetch();for(let d of n._options.hooks.afterResponse){let c=await d(n.request,n._options,n._decorateResponse(f.clone()));c instanceof globalThis.Response&&(f=c)}if(n._decorateResponse(f),!f.ok&&n._options.throwHttpErrors){let d=new e_i(f,n.request,n._options);for(let c of n._options.hooks.beforeError)d=await c(d);throw d}if(n._options.onDownloadProgress){if(typeof n._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!vuf)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return n._stream(f.clone(),n._options.onDownloadProgress)}return f},u=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(i):i();for(let[f,d]of Object.entries(guf))u[f]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||d);let o=(await u).clone();if(f==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[f]()};return u}constructor(t,r={}){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t;let n="credentials"in Request.prototype;if(this._options={credentials:n?this._input.credentials:void 0,...r,headers:Bsu(this._input.headers,r.headers),hooks:Cha({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:juf(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:Duf(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(yuf){if(this.abortController=new globalThis.AbortController,this._options.signal){let i=this._options.signal;this._options.signal.addEventListener("abort",()=>{this.abortController.abort(i.reason)})}this._options.signal=this.abortController.signal}if(huf&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let i=typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),a="?"+i,u=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(buf&&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(u,{...this.request}),this._options)}this._options.json!==void 0&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<=this._options.retry.limit&&!(t instanceof R6n)){if(t instanceof e_i){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;let n=t.response.headers.get("Retry-After");if(n&&this._options.retry.afterStatusCodes.includes(t.response.status)){let i=Number(n);return Number.isNaN(i)?i=Date.parse(n)-Date.now():i*=1e3,this._options.retry.maxRetryAfter!==void 0&&i>this._options.retry.maxRetryAfter?0:i}if(t.response.status===413)return 0}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}return 0}_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 n=Math.min(this._calculateRetryDelay(r),Nha);if(n!==0&&this._retryCount>0){await Rsu(n,{signal:this._options.signal});for(let i of this._options.hooks.beforeRetry)if(await i({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===zha)return;return this._retry(t)}throw r}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let n=await r(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=Suf(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):Isu(this.request.clone(),t,this.abortController,this._options)}_stream(t,r){let n=Number(t.headers.get("content-length"))||0,i=0;return t.status===204?(r&&r({percent:1,totalBytes:n,transferredBytes:i},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:n},new Uint8Array);async function f(){let{done:d,value:c}=await u.read();if(d){a.close();return}if(r){i+=c.byteLength;let o=n===0?0:i/n;r({percent:o,transferredBytes:i,totalBytes:n},c)}a.enqueue(c),await f()}await f()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var Fsu=e=>{let t=(r,n)=>hen.create(r,r_i(e,n));for(let r of Aha)t[r]=(n,i)=>hen.create(n,r_i(e,i,{method:r}));return t.create=r=>Fsu(r_i(r)),t.extend=r=>Fsu(r_i(e,r)),t.stop=zha,t},Jp1=Fsu(),Euf=Jp1;var Xuf=yu(Yuf(),1);function Hsu(e){let t=(0,Xuf.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Jsf=yu($sf(),1),Gsf=yu(tZr(),1),rcu=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},ncu=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function icu(e,t={}){var l;let{version:r="latest"}=t,{omitDeprecated:n=!0}=t,i=e.split("/")[0],a=t.registryUrl??Hsu(i),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),f=(0,Jsf.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,f&&(d.authorization=`${f.type} ${f.token}`);let c;try{c=await Euf(u,{headers:d,keepalive:!0}).json()}catch(g){throw((l=g==null?void 0:g.response)==null?void 0:l.status)===404?new rcu(e):g}if(t.allVersions)return c;let o=new ncu(e,r);if(c["dist-tags"][r]){let{time:g}=c;c=c.versions[c["dist-tags"][r]],c.time=g}else if(r){let g=Boolean(c.versions[r]);if(n&&!g)for(let[j,S]of Object.entries(c.versions))S.deprecated&&delete c.versions[j];if(!g){let j=Object.keys(c.versions);if(r=Gsf.default.maxSatisfying(j,r),!r)throw o}let{time:O}=c;if(c=c.versions[r],c.time=O,!c)throw o}return c}async function u_i(e,t){let{version:r}=await icu(e.toLowerCase(),t);return r}async function $6n({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:u_i(e.packageName,{version:t?"prerelease":"latest"})}var Ksf=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Kha=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=vM.Info;constructor(t){this.ttyAwareLogger=new Tha(t);let r=this.getPackageName(),n=this.getPackageVersion(),i=this.getCliName();(r==null||n==null||i==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:n,cliName:i}}getPackageName(){return"fern-api"==null&&this.logger.error("CLI_PACKAGE_NAME is not defined"),"fern-api"}getPackageVersion(){return"0.43.2"==null&&this.logger.error("CLI_VERSION is not defined"),"0.43.2"}getCliName(){return"fern"==null&&this.logger.error("CLI_NAME is not defined"),"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${al.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Yte}failWithoutThrowing(t,r){this.didSucceed=!1,Sha({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvaialable(),this.ttyAwareLogger.finish(),(await XAn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvaialable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await duf({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1904
+ `,n?o6n(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Up1(e){let r=await new luf.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 Vp1({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:a}){if(t.length===1){let f={type:"singleApi",versions:{}};return await puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,c,o,l)=>{f.versions[c]==null&&(f.versions[c]={});let g=pg.getGeneratorNameOrThrow(o.name,l),O=await pg.getLatestGeneratorVersion({generatorName:g,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:i,includeMajor:a,context:l});O!=null&&(f.versions[c][o.name]={previousVersion:o.version,latestVersion:O})},generatorFilter:r,groupFilter:n}),f}let u={type:"multiApi",versions:{}};return await puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,d,c,o)=>{if(f==null)return;u.versions[f]==null&&(u.versions[f]={}),u.versions[f][d]==null&&(u.versions[f][d]={});let l=pg.getGeneratorNameOrThrow(c.name,o),g=await pg.getLatestGeneratorVersion({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:c.version,channel:i,includeMajor:a,context:o});g!=null&&(u.versions[f][d][c.name]={previousVersion:c.version,latestVersion:g})},generatorFilter:r,groupFilter:n}),u}async function puf({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let f=await pg.loadGeneratorsConfiguration({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(f==null||f.groups==null)){for(let d of f.groups)if(!(i!=null&&d.groupName!==i))for(let c of d.generators)n!=null&&c.name!==n||await r(a.workspaceName,d.groupName,c,u)}})}))}function _uf(e,t,r){let n=[];for(let[i,a]of Object.entries(e))for(let[u,f]of Object.entries(a)){r.debug(`Checking if ${u} in group ${i} has an upgrade available...`);let d=One(f.latestVersion,f.previousVersion);r.debug(`Latest version: ${f.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),n.push({generatorName:u,generatorGroup:i,apiName:t,isUpgradeAvailable:d,currentVersion:f.previousVersion,latestVersion:f.latestVersion})}return n}async function qha({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:a}){let u=[];if(e!=null){let f=await Vp1({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:a});if(f.type==="multiApi")for(let[d,c]of Object.entries(f.versions))u.push(..._uf(c,d,t.logger));else u.push(..._uf(f.versions,void 0,t.logger))}return u}var e_i=class extends Error{constructor(t,r,n){let i=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${i} ${a}`.trim(),f=u?`status code ${u}`:"an unknown error";super(`Request failed with ${f}`),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=r,this.options=n}};var R6n=class extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}};var t_i=e=>e!==null&&typeof e=="object";var r_i=(...e)=>{for(let t of e)if((!t_i(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Cha({},...e)},Bsu=(e={},t={})=>{let r=new globalThis.Headers(e),n=t instanceof globalThis.Headers,i=new globalThis.Headers(t);for(let[a,u]of i.entries())n&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r},Cha=(...e)=>{let t={},r={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(t_i(n)){for(let[i,a]of Object.entries(n))t_i(a)&&i in t&&(a=Cha(t[i],a)),t={...t,[i]:a};t_i(n.headers)&&(r=Bsu(r,n.headers),t.headers=r)}return t};var huf=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",n=typeof globalThis.Request=="function";return r&&n&&(t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")),e&&!t})(),yuf=typeof globalThis.AbortController=="function",vuf=typeof globalThis.ReadableStream=="function",buf=typeof globalThis.FormData=="function",Aha=["get","post","put","patch","head","delete"],Wp1=()=>{};Wp1();var guf={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Nha=2147483647,zha=Symbol("stop"),muf={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},Ouf={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};var juf=e=>Aha.includes(e)?e.toUpperCase():e,Hp1=["get","put","head","delete","options","trace"],$p1=[408,413,429,500,502,503,504],wuf=[413,429,503],Puf={limit:2,methods:Hp1,statusCodes:$p1,afterStatusCodes:wuf,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Duf=(e={})=>{if(typeof e=="number")return{...Puf,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{...Puf,...e,afterStatusCodes:wuf}};async function Isu(e,t,r,n){return new Promise((i,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new R6n(e))},n.timeout);n.fetch(e,t).then(i).catch(a).then(()=>{clearTimeout(u)})})}async function Rsu(e,{signal:t}){return new Promise((r,n)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(a),n(t.reason)}let a=setTimeout(()=>{t==null||t.removeEventListener("abort",i),r()},e)})}var Suf=(e,t)=>{let r={};for(let n in t)!(n in Ouf)&&!(n in muf)&&!(n in e)&&(r[n]=t[n]);return r};var hen=class{static create(t,r){let n=new hen(t,r),i=async()=>{if(typeof n._options.timeout=="number"&&n._options.timeout>Nha)throw new RangeError(`The \`timeout\` option cannot be greater than ${Nha}`);await Promise.resolve();let f=await n._fetch();for(let d of n._options.hooks.afterResponse){let c=await d(n.request,n._options,n._decorateResponse(f.clone()));c instanceof globalThis.Response&&(f=c)}if(n._decorateResponse(f),!f.ok&&n._options.throwHttpErrors){let d=new e_i(f,n.request,n._options);for(let c of n._options.hooks.beforeError)d=await c(d);throw d}if(n._options.onDownloadProgress){if(typeof n._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!vuf)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return n._stream(f.clone(),n._options.onDownloadProgress)}return f},u=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(i):i();for(let[f,d]of Object.entries(guf))u[f]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||d);let o=(await u).clone();if(f==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[f]()};return u}constructor(t,r={}){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t;let n="credentials"in Request.prototype;if(this._options={credentials:n?this._input.credentials:void 0,...r,headers:Bsu(this._input.headers,r.headers),hooks:Cha({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:juf(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:Duf(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(yuf){if(this.abortController=new globalThis.AbortController,this._options.signal){let i=this._options.signal;this._options.signal.addEventListener("abort",()=>{this.abortController.abort(i.reason)})}this._options.signal=this.abortController.signal}if(huf&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let i=typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),a="?"+i,u=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(buf&&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(u,{...this.request}),this._options)}this._options.json!==void 0&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<=this._options.retry.limit&&!(t instanceof R6n)){if(t instanceof e_i){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;let n=t.response.headers.get("Retry-After");if(n&&this._options.retry.afterStatusCodes.includes(t.response.status)){let i=Number(n);return Number.isNaN(i)?i=Date.parse(n)-Date.now():i*=1e3,this._options.retry.maxRetryAfter!==void 0&&i>this._options.retry.maxRetryAfter?0:i}if(t.response.status===413)return 0}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}return 0}_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 n=Math.min(this._calculateRetryDelay(r),Nha);if(n!==0&&this._retryCount>0){await Rsu(n,{signal:this._options.signal});for(let i of this._options.hooks.beforeRetry)if(await i({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===zha)return;return this._retry(t)}throw r}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let n=await r(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=Suf(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):Isu(this.request.clone(),t,this.abortController,this._options)}_stream(t,r){let n=Number(t.headers.get("content-length"))||0,i=0;return t.status===204?(r&&r({percent:1,totalBytes:n,transferredBytes:i},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:n},new Uint8Array);async function f(){let{done:d,value:c}=await u.read();if(d){a.close();return}if(r){i+=c.byteLength;let o=n===0?0:i/n;r({percent:o,transferredBytes:i,totalBytes:n},c)}a.enqueue(c),await f()}await f()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var Fsu=e=>{let t=(r,n)=>hen.create(r,r_i(e,n));for(let r of Aha)t[r]=(n,i)=>hen.create(n,r_i(e,i,{method:r}));return t.create=r=>Fsu(r_i(r)),t.extend=r=>Fsu(r_i(e,r)),t.stop=zha,t},Jp1=Fsu(),Euf=Jp1;var Xuf=yu(Yuf(),1);function Hsu(e){let t=(0,Xuf.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Jsf=yu($sf(),1),Gsf=yu(tZr(),1),rcu=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},ncu=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function icu(e,t={}){var l;let{version:r="latest"}=t,{omitDeprecated:n=!0}=t,i=e.split("/")[0],a=t.registryUrl??Hsu(i),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),f=(0,Jsf.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,f&&(d.authorization=`${f.type} ${f.token}`);let c;try{c=await Euf(u,{headers:d,keepalive:!0}).json()}catch(g){throw((l=g==null?void 0:g.response)==null?void 0:l.status)===404?new rcu(e):g}if(t.allVersions)return c;let o=new ncu(e,r);if(c["dist-tags"][r]){let{time:g}=c;c=c.versions[c["dist-tags"][r]],c.time=g}else if(r){let g=Boolean(c.versions[r]);if(n&&!g)for(let[j,S]of Object.entries(c.versions))S.deprecated&&delete c.versions[j];if(!g){let j=Object.keys(c.versions);if(r=Gsf.default.maxSatisfying(j,r),!r)throw o}let{time:O}=c;if(c=c.versions[r],c.time=O,!c)throw o}return c}async function u_i(e,t){let{version:r}=await icu(e.toLowerCase(),t);return r}async function $6n({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:u_i(e.packageName,{version:t?"prerelease":"latest"})}var Ksf=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Kha=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=vM.Info;constructor(t){this.ttyAwareLogger=new Tha(t);let r=this.getPackageName(),n=this.getPackageVersion(),i=this.getCliName();(r==null||n==null||i==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:n,cliName:i}}getPackageName(){return"fern-api"==null&&this.logger.error("CLI_PACKAGE_NAME is not defined"),"fern-api"}getPackageVersion(){return"0.43.3"==null&&this.logger.error("CLI_VERSION is not defined"),"0.43.3"}getCliName(){return"fern"==null&&this.logger.error("CLI_NAME is not defined"),"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${al.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Yte}failWithoutThrowing(t,r){this.didSucceed=!1,Sha({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvaialable(),this.ttyAwareLogger.finish(),(await XAn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvaialable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await duf({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1905
1905
  `)||(r+=`
1906
1906
  `),this.logger.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram(){process.exit(this.didSucceed?0:1)}longestWorkspaceName;registerWorkspaces(t){let r=r9o(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.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 Wpi(t);return this.ttyAwareLogger.registerTask(r),r}async runTaskWithInit(t,r){let n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(a){throw n.failWithoutThrowing(void 0,a),new Yte}finally{n.finish()}return i}async instrumentPostHogEvent(t){(await XAn()).sendEvent(t)}logger=csi(this.log.bind(this));constructTaskInitForWorkspace(t){let r=Ysf(t.type==="docs"?"docs":t.workspaceName??"api"),n=1+(this.longestWorkspaceName!=null?Ysf(this.longestWorkspaceName):r).length,i=r.padEnd(n),a=Ksf[this.numTasks++%Ksf.length],u=al.hex(a)(i);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===E4.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logImmediately(t){let r=t.filter(n=>E4r.indexOf(n.level)>=E4r.indexOf(this.logLevel));this.ttyAwareLogger.log(r,{includeDebugInfo:this.logLevel===vM.Debug})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await $6n({cliEnvironment:this.environment,includePreReleases:t}),n=One(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},a=await qha({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}};function Ysf(e){return`[${e}]:`}var jlf=yu(Plf(),1);async function $je(e,t,r=[],{doNotPipeOutput:n=!1,secrets:i=[],substitutions:a={},...u}={}){var o,l;let f=i.reduce((g,O)=>({...g,[O]:"<redacted>"}),a),d=[t,...r].join(" ");for(let[g,O]of Object.entries(f))d=d.replaceAll(g,O);e==null||e.debug(`+ ${d}`);let c=(0,jlf.default)(t,r,u);return n||((o=c.stdout)==null||o.pipe(process.stdout),(l=c.stderr)==null||l.pipe(process.stderr)),c}function rya(e,{logger:t,...r}={}){return(n,i)=>$je(t,e,n,{...r,...i})}var iya=require("fs/promises"),wlf=yu(Kte(),1),Uy1="buf.gen.yaml",Dlf="output",Vy1=`${Dlf}/openapi.yaml`,Wy1=`
1907
1907
  version: v1
@@ -2266,7 +2266,7 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
2266
2266
  `.repeat(c)||" "),c=-1,d.push(o))}return d.join("")}function jkf(e,t,r){return e.type==="element"?nxj(e,t,r):e.type==="text"?r.whitespace==="normal"?wkf(e,r):ixj(e):[]}function nxj(e,t,r){let n=Dkf(e,r),i=e.children||[],a=-1,u=[];if(rxj(e))return u;let f,d;for(Lxu(e)||Okf(e)&&vMa(t,e,Okf)?d=`
2267
2267
  `:txj(e)?(f=2,d=2):Pkf(e)&&(f=1,d=1);++a<i.length;)u=u.concat(jkf(i[a],e,{whitespace:n,breakBefore:a?void 0:f,breakAfter:a<i.length-1?Lxu(i[a+1]):d}));return mkf(e)&&vMa(t,e,mkf)&&u.push(" "),f&&u.unshift(f),d&&u.push(d),u}function wkf(e,t){let r=String(e.value),n=[],i=[],a=0;for(;a<=r.length;){bkf.lastIndex=a;let d=bkf.exec(r),c=d&&"index"in d?d.index:r.length;n.push(axj(r.slice(a,c).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),a===0?t.breakBefore:!0,c===r.length?t.breakAfter:!0)),a=c+1}let u=-1,f;for(;++u<n.length;)n[u].charCodeAt(n[u].length-1)===8203||u<n.length-1&&n[u+1].charCodeAt(0)===8203?(i.push(n[u]),f=void 0):n[u]?(typeof f=="number"&&i.push(f),i.push(n[u]),f=0):(u===0||u===n.length-1)&&i.push(0);return i}function ixj(e){return[String(e.value)]}function axj(e,t,r){let n=[],i=0,a;for(;i<e.length;){gkf.lastIndex=i;let u=gkf.exec(e);a=u?u.index:e.length,!i&&!a&&u&&!t&&n.push(""),i!==a&&n.push(e.slice(i,a)),i=u?a+u[0].length:a}return i!==a&&!r&&n.push(""),n.join(" ")}function Dkf(e,t){if(e.type==="element"){let r=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return r.wrap?"pre-wrap":"pre";case"td":case"th":return r.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap";default:}}return t.whitespace}function oxj(e){return Boolean((e.properties||{}).hidden)}function uxj(e){return e.tagName==="td"||e.tagName==="th"}function sxj(e){return e.tagName==="dialog"&&!(e.properties||{}).open}var cxj={},lxj=[];function bMa(e){let t=e||cxj;return function(r,n){irn(r,"element",function(i,a){let u=Array.isArray(i.properties.className)?i.properties.className:lxj,f=u.includes("language-math"),d=u.includes("math-display"),c=u.includes("math-inline"),o=d;if(!f&&!d&&!c)return;let l=a[a.length-1],g=i;if(i.tagName==="code"&&f&&l&&l.type==="element"&&l.tagName==="pre"&&(g=l,l=a[a.length-2],o=!0),!l)return;let O=Uxu(g,{whitespace:"pre"}),j;try{j=lxu.renderToString(O,{...t,displayMode:o,throwOnError:!0})}catch(x){let A=x,z=A.name.toLowerCase();n.message("Could not render math with KaTeX",{ancestors:[...a,i],cause:A,place:i.position,ruleId:z,source:"rehype-katex"}),z==="parseerror"?j=lxu.renderToString(O,{...t,displayMode:o,strict:"ignore",throwOnError:!1}):j=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(t.errorColor||"#cc0000"),title:String(x)},children:[{type:"text",value:O}]}]}typeof j=="string"&&(j=Rxu(j,{fragment:!0}).children);let S=l.children.indexOf(g);return l.children.splice(S,1,...j),cNn})}}var Vxu={name:"valid-markdown",create:()=>({markdownPage:async({content:e})=>{let t=await _xj({markdown:e});if(t.type==="failure"){let r=t.message!=null?`Markdown failed to parse: ${t.message}`:"Markdown failed to parse";return[{severity:"error",message:r}]}return[]}})},fxj=[DEa,QEa],dxj=[bMa],pxj=nr.object({title:nr.optional(nr.string(),{description:"Renders as the page title."}),"og:title":nr.optional(nr.string(),{description:"Renders as the og:title tag."}),"og:description":nr.optional(nr.string(),{description:"Renders as the og:description tag."}),subtitle:nr.optional(nr.string(),{description:"Renders as a subtitle on the page, and is also used in the meta description tag if description is not set."}),description:nr.optional(nr.string(),{description:"Renders as the meta description tag."}),image:nr.optional(nr.string(),{description:"Renders as the og:image tag."}),slug:nr.optional(nr.string(),{description:"The full slug path for the page, starting from root `/` (or basepath)."}),redirects:nr.optional(nr.array(nr.string()),{description:"A list of URLs to redirect to this page."}),editThisPageUrl:nr.optional(nr.string()),excerpt:nr.optional(nr.string(),{description:"Deprecated. Use `subtitle` instead."})});async function _xj({markdown:e}){try{let t=await BEu(e,{scope:{},mdxOptions:{remarkPlugins:fxj,rehypePlugins:dxj,format:"detect"},parseFrontmatter:!0}),r=pxj.safeParse(t.frontmatter);return r.success?{type:"success"}:{type:"failure",message:`Failed to parse frontmatter: ${r.error.errors.map(n=>n.message).join(`
2268
2268
  `)}`}}catch(t){return{type:"failure",message:t instanceof Error?t.message:void 0}}}function Skf({relativeFilepath:e,allRuleVisitors:t,addViolations:r}){function n(i){let a=async(u,f)=>{for(let d of t){let c=d[i];if(c!=null){let o=await c(u);r(o.map(l=>({severity:l.severity,relativeFilepath:e,nodePath:f,message:l.message})))}}};return{[i]:a}}return{...n("file"),...n("filepath"),...n("markdownPage"),...n("versionFile"),...n("apiSection")}}var Hxu=require("fs/promises");var xkf=yu(require("path"),1);async function Tkf(e,t,r,n,i,a){var f,d,c,o,l,g,O,j,S,x,A,z,N,C,U,Y;await((f=t.file)==null?void 0:f.call(t,{config:e},[]));let u={};try{let{pages:te}=await Pre.parseDocsConfiguration({rawDocsConfiguration:e,context:i,absoluteFilepathToDocsConfig:r,absolutePathToFernFolder:n});u=te}catch{}for(let[te,G]of Object.entries(u))u[zs.of(te)]=await evi({markdown:G,absolutePathToFernFolder:n,absolutePathToMdx:w2(n,te),context:i}),u[zs.of(te)]=await tvi({markdown:G,absolutePathToFernFolder:n,absolutePathToMdx:w2(n,te),context:i});for(let[te,G]of Object.entries(u)){let{filepaths:$}=k0i(G,{absolutePathToFernFolder:n,absolutePathToMdx:w2(n,te)});for(let ee of $)await((d=t.filepath)==null?void 0:d.call(t,{absoluteFilepath:ee,value:xkf.default.relative(n,ee),willBeUploaded:!0},[te]))}e.js!=null&&(Array.isArray(e.js)?await Promise.all(e.js.map((te,G)=>Mkf({absoluteFilepathToConfiguration:r,visitor:t,script:te,nodePath:["js",`${G}`]}))):await Mkf({absoluteFilepathToConfiguration:r,visitor:t,script:e.js,nodePath:["js"]})),e.css!=null&&(Array.isArray(e.css)?await Promise.all(e.css.map((te,G)=>FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:te,visitor:t,nodePath:["css",`${G}`],willBeUploaded:!1}))):await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.css,visitor:t,nodePath:["css"],willBeUploaded:!1})),e.backgroundImage!=null&&(typeof e.backgroundImage=="string"?await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.backgroundImage,visitor:t,nodePath:["background-image"]}):(e.backgroundImage.dark!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.backgroundImage.dark,visitor:t,nodePath:["background-image","dark"]}),e.backgroundImage.light!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.backgroundImage.light,visitor:t,nodePath:["background-image","light"]}))),e.favicon!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.favicon,visitor:t,nodePath:["favicon"]}),((c=e.logo)==null?void 0:c.dark)!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.dark,visitor:t,nodePath:["logo","dark"]}),((o=e.logo)==null?void 0:o.light)!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.light,visitor:t,nodePath:["logo","light"]}),e.navigation!=null&&await Ekf({navigation:e.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:r,loadAPIWorkspace:a,context:i}),((g=(l=e.typography)==null?void 0:l.codeFont)==null?void 0:g.path)!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.typography.codeFont.path,visitor:t,nodePath:["typography","codeFont"]});for(let te of((j=(O=e.typography)==null?void 0:O.codeFont)==null?void 0:j.paths)??[])await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:typeof te=="string"?te:te.path,visitor:t,nodePath:["typography","codeFont"]});((x=(S=e.typography)==null?void 0:S.bodyFont)==null?void 0:x.path)!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.typography.bodyFont.path,visitor:t,nodePath:["typography","bodyFont"]});for(let te of((z=(A=e.typography)==null?void 0:A.bodyFont)==null?void 0:z.paths)??[])await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:typeof te=="string"?te:te.path,visitor:t,nodePath:["typography","bodyFont"]});((C=(N=e.typography)==null?void 0:N.headingsFont)==null?void 0:C.path)!=null&&await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.typography.headingsFont.path,visitor:t,nodePath:["typography","headingsFont"]});for(let te of((Y=(U=e.typography)==null?void 0:U.headingsFont)==null?void 0:Y.paths)??[])await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:typeof te=="string"?te:te.path,visitor:t,nodePath:["typography","headingsFont"]});e.versions!=null&&await Promise.all(e.versions.map(async(te,G)=>{var Je;await FW({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:te.path,visitor:t,nodePath:["versions",`${G}`],willBeUploaded:!1});let $=w2(Cg(r),te.path),ee=av.load((await(0,Hxu.readFile)($)).toString());await Vh($)&&await((Je=t.versionFile)==null?void 0:Je.call(t,{path:te.path,content:ee},[te.path]));let Ve=await SSa({value:ee});Ve.type==="success"&&await Ekf({navigation:Ve.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:$,loadAPIWorkspace:a,context:i})}))}async function FW({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:t,visitor:r,nodePath:n,willBeUploaded:i=!0}){var u;let a=w2(Cg(e),t);await((u=r.filepath)==null?void 0:u.call(r,{absoluteFilepath:a,value:t,willBeUploaded:i},n))}async function Ekf({navigation:e,visitor:t,nodePath:r,absoluteFilepathToConfiguration:n,loadAPIWorkspace:i,context:a}){bxj(e)?await Promise.all(e.map(async(u,f)=>{u.layout!=null&&await Promise.all(u.layout.map(async(d,c)=>{await Wxu({navigationItem:d,visitor:t,nodePath:[...r,`${f}`,"layout",`${c}`],absoluteFilepathToConfiguration:n,loadAPIWorkspace:i,context:a})}))})):await Promise.all(e.map(async(u,f)=>{await Wxu({navigationItem:u,visitor:t,nodePath:[...r,`${f}`],absoluteFilepathToConfiguration:n,loadAPIWorkspace:i,context:a})}))}async function Wxu({navigationItem:e,visitor:t,nodePath:r,absoluteFilepathToConfiguration:n,loadAPIWorkspace:i,context:a}){var u,f;if(hxj(e)){await FW({absoluteFilepathToConfiguration:n,rawUnresolvedFilepath:e.path,visitor:t,nodePath:[...r,"page"],willBeUploaded:!1});let d=w2(Cg(n),e.path);if(await Vh(d)){let c=(await(0,Hxu.readFile)(d)).toString();await((u=t.markdownPage)==null?void 0:u.call(t,{title:e.page,content:c,absoluteFilepath:d},[...r,"page",e.path]))}}if(yxj(e)&&await Promise.all(e.contents.map(async(d,c)=>{await Wxu({navigationItem:d,visitor:t,nodePath:[...r,"section","contents",`${c}`],absoluteFilepathToConfiguration:n,loadAPIWorkspace:i,context:a})})),vxj(e)){let d=i(e.apiName!=null?e.apiName:void 0);d!=null&&await((f=t.apiSection)==null?void 0:f.call(t,{config:e,workspace:d,context:a},[...r,"api"]))}}async function Mkf({absoluteFilepathToConfiguration:e,visitor:t,script:r,nodePath:n}){let i=typeof r=="string"?r:"path"in r?r.path:null;i&&await FW({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:i,visitor:t,nodePath:n,willBeUploaded:!0})}function hxj(e){return e.page!=null}function yxj(e){return e.section!=null}function vxj(e){return e.api!=null}function bxj(e){var t;return((t=e[0])==null?void 0:t.tab)!=null}var qkf={name:"accent-color-contrast",create:()=>({file:async({config:e})=>{if(e.colors==null)return[];let t=Pre.getColorType(e.colors);return t==="dark"?gMa(e.colors,"dark"):t==="light"?gMa(e.colors,"light"):t==="darkAndLight"?[...gMa(e.colors,"dark"),...gMa(e.colors,"light")]:[]}})};function gMa(e,t){let r=Pre.getColorFromRawConfig(e.accentPrimary??e.accentPrimaryDeprecated,"accent-primary",t),n=Pre.getColorFromRawConfig(e.background,"background",t)??(t==="dark"?"#000":"#FFF"),i=[];if(!ky(n).isValid())i.push({severity:"error",message:`Invalid background color provided for colors.background.${t}: ${n}.`});else{let a=gxj(ky(n),t);ky(n).toHexString()!==a.toHexString()&&i.push({severity:"warning",message:`The provided background color for ${t} mode is not ${t} enough. It will be adjusted to ${a.toHexString()}.`}),n=a.toHexString()}if(r==null)i.push({severity:"warning",message:`No accent-color provided for ${t} mode. A random color will be used.`});else if(!ky(r).isValid())i.push({severity:"error",message:`Invalid accent-color provided for colors.accent-primary.${t}: ${r}.`});else{let a=ky.readability(r,n),u=`${a.toFixed(2)}:1`;a<3?i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. It should be at least 3:1.`}):a<4.5?i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 4.5:1 for WCAG AA and 7:1 for WCAG AAA.`}):a<7&&i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 7:1 for WCAG AAA.`})}return i}function gxj(e,t){return t==="dark"&&e.isDark()||t==="light"&&e.isLight()?e:mxj(e)}function mxj(e){if(e==null)return;let{h:t,s:r,v:n}=e.toHsv();return ky({h:t,s:r,v:1-n})}var $xu={name:"filepaths-exist",create:()=>({filepath:async({absoluteFilepath:e,value:t})=>await Vh(e)?[]:[{severity:"error",message:`Path ${t} does not exist`}]})};var Jxu={name:"only-versioned-navigation",create:()=>({file:async({config:e})=>e.navigation!=null&&e.versions!=null?[{severity:"error",message:"Cannot contain both navigation and versions. If you want versioned docs, use versions. Otherwise use navigation."}]:[]})};var Gxu={name:"playground-environments-exist",create:()=>({apiSection:async({workspace:e,context:t,config:r})=>{var f;let n=(await e.getDefinition({context:t})).rootApiFile.contents.environments,i=new Set(Object.keys(n??{})),a=(f=r.playground)==null?void 0:f.environments;if(a==null||a.length==null)return[];let u=a.filter(d=>!i.has(d));return u.length===0?[]:u.length===1?[{severity:"error",message:`The API does not contain the ${u[0]} environment. ${Ckf(Array.from(i))??""}`}]:[{severity:"error",message:`The API does not contain the following enviroments: ${u.join(", ")}. ${Ckf(Array.from(i))??""}`}]}})};function Ckf(e){if(e.length!==0)return e.length===1&&e[0]!=null?`The only configured environment is ${e[0]}`:`Existing enviroments include ${e.join(", ")}.`}var Kxu={name:"valid-docs-endpoints",create:()=>({file:async({config:e})=>{var n,i;return!e.analytics||!Object.keys(e.analytics).length?[]:[[(n=e.analytics.intercom)==null?void 0:n.apiBase,"Intercom API Base"],[(i=e.analytics.posthog)==null?void 0:i.endpoint,"Posthog Host Endpoint"]].filter(([a])=>a&&!Oxj(a)).map(([a,u])=>({severity:"warning",message:`${u} <${a}> is malformed. Make sure it includes a protocol (e.g. 'https://')!`}))}})};function Oxj(e){try{let t=new URL(e);return Boolean(t.protocol)}catch{return!1}}var ced=yu($kf(),1);var $xj="End-Of-Stream",F3=class extends Error{constructor(){super($xj)}};var SMa=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((t,r)=>{this.reject=r,this.resolve=t})}};var Jxj=1*1024*1024,rmi=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new F3)),this.s.once("error",r=>this.reject(r)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}async peek(t,r,n){let i=await this.read(t,r,n);return this.peekQueue.push(t.subarray(r,r+i)),i}async read(t,r,n){if(n===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new F3;let i=n,a=0;for(;this.peekQueue.length>0&&i>0;){let u=this.peekQueue.pop();if(!u)throw new Error("peekData should be defined");let f=Math.min(u.length,i);t.set(u.subarray(0,f),r+a),a+=f,i-=f,f<u.length&&this.peekQueue.push(u.subarray(f))}for(;i>0&&!this.endOfStream;){let u=Math.min(i,Jxj),f=await this.readFromStream(t,r+a,u);if(a+=f,f<u)break;i-=f}return a}async readFromStream(t,r,n){let i=this.s.read(n);if(i)return t.set(i,r),i.length;{let a={buffer:t,offset:r,length:n,deferred:new SMa};return this.deferred=a.deferred,this.s.once("readable",()=>{this.readDeferred(a)}),a.deferred.promise}}readDeferred(t){let r=this.s.read(t.length);r?(t.buffer.set(r,t.offset),t.deferred.resolve(r.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(t)})}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null)}};var STu=require("buffer"),X8n=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{}}async readToken(t,r=this.position){let n=STu.Buffer.alloc(t.len);if(await this.readBuffer(n,{position:r})<t.len)throw new F3;return t.get(n,0)}async peekToken(t,r=this.position){let n=STu.Buffer.alloc(t.len);if(await this.peekBuffer(n,{position:r})<t.len)throw new F3;return t.get(n,0)}async readNumber(t){if(await this.readBuffer(this.numBuffer,{length:t.len})<t.len)throw new F3;return t.get(this.numBuffer,0)}async peekNumber(t){if(await this.peekBuffer(this.numBuffer,{length:t.len})<t.len)throw new F3;return t.get(this.numBuffer,0)}async ignore(t){if(this.fileInfo.size!==void 0){let r=this.fileInfo.size-this.position;if(t>r)return this.position+=r,r}return this.position+=t,t}async close(){}normalizeOptions(t,r){if(r&&r.position!==void 0&&r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return r?{mayBeLess:r.mayBeLess===!0,offset:r.offset?r.offset:0,length:r.length?r.length:t.length-(r.offset?r.offset:0),position:r.position?r.position:this.position}:{mayBeLess:!1,offset:0,length:t.length,position:this.position}}};var Gxj=256e3,EMa=class extends X8n{constructor(t,r){super(r),this.streamReader=new rmi(t)}async getFileInfo(){return this.fileInfo}async readBuffer(t,r){let n=this.normalizeOptions(t,r),i=n.position-this.position;if(i>0)return await this.ignore(i),this.readBuffer(t,r);if(i<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(n.length===0)return 0;let a=await this.streamReader.read(t,n.offset,n.length);if(this.position+=a,(!r||!r.mayBeLess)&&a<n.length)throw new F3;return a}async peekBuffer(t,r){let n=this.normalizeOptions(t,r),i=0;if(n.position){let a=n.position-this.position;if(a>0){let u=new Uint8Array(n.length+a);return i=await this.peekBuffer(u,{mayBeLess:n.mayBeLess}),t.set(u.subarray(a),n.offset),i-a}else if(a<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{i=await this.streamReader.peek(t,n.offset,n.length)}catch(a){if(r&&r.mayBeLess&&a instanceof F3)return 0;throw a}if(!n.mayBeLess&&i<n.length)throw new F3}return i}async ignore(t){let r=Math.min(Gxj,t),n=new Uint8Array(r),i=0;for(;i<t;){let a=t-i,u=await this.readBuffer(n,{length:Math.min(r,a)});if(u<0)return u;i+=u}return i}};var MMa=class extends X8n{constructor(t,r){super(r),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length}async readBuffer(t,r){if(r&&r.position){if(r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=r.position}let n=await this.peekBuffer(t,r);return this.position+=n,n}async peekBuffer(t,r){let n=this.normalizeOptions(t,r),i=Math.min(this.uint8Array.length-n.position,n.length);if(!n.mayBeLess&&i<n.length)throw new F3;return t.set(this.uint8Array.subarray(n.position,n.position+i),n.offset),i}async close(){}};function Jkf(e,t){return t=t||{},new EMa(e,t)}function Gkf(e,t){return new MMa(e,t)}var pMr=require("buffer");var Ykf=yu(Kkf(),1),Xkf=require("buffer");function nie(e){return new DataView(e.buffer,e.byteOffset)}var Qkf={len:1,get(e,t){return nie(e).getUint8(t)},put(e,t,r){return nie(e).setUint8(t,r),t+1}},xMa={len:2,get(e,t){return nie(e).getUint16(t,!0)},put(e,t,r){return nie(e).setUint16(t,r,!0),t+2}},TMa={len:2,get(e,t){return nie(e).getUint16(t)},put(e,t,r){return nie(e).setUint16(t,r),t+2}};var Zkf={len:4,get(e,t){return nie(e).getUint32(t,!0)},put(e,t,r){return nie(e).setUint32(t,r,!0),t+4}},kkf={len:4,get(e,t){return nie(e).getUint32(t)},put(e,t,r){return nie(e).setUint32(t,r),t+4}};var eed={len:4,get(e,t){return nie(e).getInt32(t)},put(e,t,r){return nie(e).setInt32(t,r),t+4}};var ted={len:8,get(e,t){return nie(e).getBigUint64(t,!0)},put(e,t,r){return nie(e).setBigUint64(t,r,!0),t+8}};var dMr=class{constructor(t,r){this.len=t,this.encoding=r}get(t,r){return Xkf.Buffer.from(t).toString(this.encoding,r,r+this.len)}},fMr=class{constructor(t){this.len=t}static decode(t,r,n){let i="";for(let a=r;a<n;++a)i+=fMr.codePointToString(fMr.singleByteDecoder(t[a]));return i}static inRange(t,r,n){return r<=t&&t<=n}static codePointToString(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}static singleByteDecoder(t){if(fMr.inRange(t,0,127))return t;let r=fMr.windows1252[t-128];if(r===null)throw Error("invaliding encoding");return r}get(t,r=0){return fMr.decode(t,r,r+this.len)}};fMr.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];function red(e){return[...e].map(t=>t.charCodeAt(0))}function ned(e,t=0){let r=Number.parseInt(e.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(r))return!1;let n=8*32;for(let i=t;i<t+148;i++)n+=e[i];for(let i=t+156;i<t+512;i++)n+=e[i];return r===n}var ied={get:(e,t)=>e[t+3]&127|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4};var aed=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx"],oed=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/x-parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx"];var ued=4100;async function sed(e){return new MTu().fromBuffer(e)}function i9t(e,t,r){r={offset:0,...r};for(let[n,i]of t.entries())if(r.mask){if(i!==(r.mask[n]&e[n+r.offset]))return!1}else if(i!==e[n+r.offset])return!1;return!0}var MTu=class{constructor(t){this.detectors=t==null?void 0:t.customDetectors,this.fromTokenizer=this.fromTokenizer.bind(this),this.fromBuffer=this.fromBuffer.bind(this),this.parse=this.parse.bind(this)}async fromTokenizer(t){let r=t.position;for(let n of this.detectors||[]){let i=await n(t);if(i)return i;if(r!==t.position)return}return this.parse(t)}async fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);let r=t instanceof Uint8Array?t:new Uint8Array(t);if((r==null?void 0:r.length)>1)return this.fromTokenizer(Gkf(r))}async fromBlob(t){let r=await t.arrayBuffer();return this.fromBuffer(new Uint8Array(r))}async fromStream(t){let r=await Jkf(t);try{return await this.fromTokenizer(r)}finally{await r.close()}}async toDetectionStream(t,r={}){let{default:n}=await import("stream"),{sampleSize:i=ued}=r;return new Promise((a,u)=>{t.on("error",u),t.once("readable",()=>{(async()=>{try{let f=new n.PassThrough,d=n.pipeline?n.pipeline(t,f,()=>{}):t.pipe(f),c=t.read(i)??t.read()??pMr.Buffer.alloc(0);try{f.fileType=await this.fromBuffer(c)}catch(o){o instanceof F3?f.fileType=void 0:u(o)}a(d)}catch(f){u(f)}})()})})}check(t,r){return i9t(this.buffer,t,r)}checkString(t,r){return this.check(red(t),r)}async parse(t){if(this.buffer=pMr.Buffer.alloc(ued),t.fileInfo.size===void 0&&(t.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=t,await t.peekBuffer(this.buffer,{length:12,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await t.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.parse(t);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await t.ignore(6);let r=await t.readToken(ied);return t.position+r>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(r),this.fromTokenizer(t))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){try{for(;t.position+30<t.fileInfo.size;){await t.readBuffer(this.buffer,{length:30});let r={compressedSize:this.buffer.readUInt32LE(18),uncompressedSize:this.buffer.readUInt32LE(22),filenameLength:this.buffer.readUInt16LE(26),extraFieldLength:this.buffer.readUInt16LE(28)};if(r.filename=await t.readToken(new dMr(r.filenameLength,"utf-8")),await t.ignore(r.extraFieldLength),r.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(r.filename.endsWith(".rels")||r.filename.endsWith(".xml"))switch(r.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(r.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(r.filename.startsWith("3D/")&&r.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(r.filename==="mimetype"&&r.compressedSize===r.uncompressedSize){let n=await t.readToken(new dMr(r.compressedSize,"utf-8"));switch(n=n.trim(),n){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}}if(r.compressedSize===0){let n=-1;for(;n<0&&t.position<t.fileInfo.size;)await t.peekBuffer(this.buffer,{mayBeLess:!0}),n=this.buffer.indexOf("504B0304",0,"hex"),await t.ignore(n>=0?n:this.buffer.length)}else await t.ignore(r.compressedSize)}}catch(r){if(!(r instanceof F3))throw r}return{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await t.ignore(28);let r=pMr.Buffer.alloc(8);return await t.readBuffer(r),i9t(r,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:i9t(r,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:i9t(r,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:i9t(r,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:i9t(r,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:i9t(r,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let r=this.buffer.toString("binary",8,12).replace("\0"," ").trim();switch(r){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return r.startsWith("3g")?r.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF")){try{await t.ignore(1350);let r=10*1024*1024,n=pMr.Buffer.alloc(Math.min(r,t.fileInfo.size));if(await t.readBuffer(n,{mayBeLess:!0}),n.includes(pMr.Buffer.from("AIPrivateData")))return{ext:"ai",mime:"application/postscript"}}catch(r){if(!(r instanceof F3))throw r}return{ext:"pdf",mime:"application/pdf"}}if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let r=await this.readTiffHeader(!1);if(r)return r}if(this.check([77,77])){let r=await this.readTiffHeader(!0);if(r)return r}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function r(){let f=await t.peekNumber(Qkf),d=128,c=0;for(;(f&d)===0&&d!==0;)++c,d>>=1;let o=pMr.Buffer.alloc(c+1);return await t.readBuffer(o),o}async function n(){let f=await r(),d=await r();d[0]^=128>>d.length-1;let c=Math.min(6,d.length);return{id:f.readUIntBE(0,f.length),len:d.readUIntBE(d.length-c,c)}}async function i(f){for(;f>0;){let d=await n();if(d.id===17026)return(await t.readToken(new dMr(d.len,"utf-8"))).replaceAll(/\00.*$/g,"");await t.ignore(d.len),--f}}let a=await n();switch(await i(a.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(this.check([82,73,70,70])){if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1"))return{ext:"parquet",mime:"application/x-parquet"};if(this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190]))return{ext:"class",mime:"application/java-vm"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let r=this.buffer.toString("binary",2,6);if(r.match("^d*")&&r>=1e3&&r<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await t.ignore(8),await t.readToken(new dMr(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("**ACE",{offset:7})&&(await t.peekBuffer(this.buffer,{length:14,mayBeLess:!0}),this.checkString("**",{offset:12})))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.check([137,80,78,71,13,10,26,10])){await t.ignore(8);async function r(){return{length:await t.readToken(eed),type:await t.readToken(new dMr(4,"binary"))}}do{let n=await r();if(n.length<0)return;switch(n.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await t.ignore(n.length+4)}}while(t.position+8<t.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function r(){let n=pMr.Buffer.alloc(16);return await t.readBuffer(n),{id:n,size:Number(await t.readToken(ted))}}for(await t.ignore(30);t.position+24<t.fileInfo.size;){let n=await r(),i=n.size-24;if(i9t(n.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let a=pMr.Buffer.alloc(16);if(i-=await t.readBuffer(a),i9t(a,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(i9t(a,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await t.ignore(i)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await t.ignore(20),await t.readToken(new dMr(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await t.peekBuffer(this.buffer,{length:Math.min(256,t.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let r=this.buffer.readUInt32LE(12);if(r>12&&this.buffer.length>=r+16)try{let n=this.buffer.slice(16,r+16).toString();if(JSON.parse(n).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(this.buffer,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),ned(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0;if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]}))return this.check([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}async readTiffTag(t){let r=await this.tokenizer.readToken(t?TMa:xMa);switch(this.tokenizer.ignore(10),r){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(t){let r=await this.tokenizer.readToken(t?TMa:xMa);for(let n=0;n<r;++n){let i=await this.readTiffTag(t);if(i)return i}}async readTiffHeader(t){let r=(t?TMa:xMa).get(this.buffer,2),n=(t?kkf:Zkf).get(this.buffer,4);if(r===42){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8})))return{ext:"nef",mime:"image/x-nikon-nef"}}return await this.tokenizer.ignore(n),await this.readTiffIFD(t)??{ext:"tif",mime:"image/tiff"}}if(r===43)return{ext:"tif",mime:"image/tiff"}}};var U73=new Set(aed),V73=new Set(oed);var led=require("fs/promises"),fed=yu(require("path"),1),Xxj=new Set(["image/jpeg","image/png","image/gif","image/webp","image/tiff","image/x-icon","video/quicktime","video/mp4","video/webm","audio/mpeg","audio/ogg","audio/wav","application/pdf","application/xml","font/woff","font/woff2","font/otf","font/ttf"]),Qxj=new Set(["js","svg"]),Zxj=new Set(["ASCII","UTF-8","UTF-16","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","WINDOWS-1250","WINDOWS-1251","WINDOWS-1252","WINDOWS-1253","WINDOWS-1254","WINDOWS-1255","WINDOWS-1256","WINDOWS-1257","WINDOWS-1258","SHIFT_JIS","SHIFT-JIS","EUC-JP","ISO-2022-JP","BIG5","GB2312","GB18030","KOI8-R"]),xTu={name:"valid-file-types",create:()=>({filepath:async({absoluteFilepath:e,willBeUploaded:t})=>t?await Vh(e)?kxj(e):[]:[]})},kxj=async e=>{let t=await(0,led.readFile)(e),r=await sed(t);if(r!=null)return Xxj.has(r.mime)?[]:[{severity:"error",message:`The file type of ${r.mime} is not allowed: ${e}`}];let n=fed.default.extname(e).toLowerCase();if(n.startsWith(".")&&(n=n.substring(1)),Qxj.has(n)){let i=ced.default.detect(t);return i==null?[{severity:"error",message:`The encoding of the file could not be detected: ${e}`}]:Zxj.has(i.toUpperCase())?[]:[{severity:"error",message:`The encoding of ${i} is not allowed: ${e}`}]}return[{severity:"error",message:`File is not allowed to be uploaded: ${e}`}]};var TTu={name:"validate-version-file",create:()=>({versionFile:async({path:e,content:t})=>{let r=await SSa({value:t});return r.type==="success"?[]:[{severity:"error",message:`Failed to parse ${e}: ${r.message}`}]}})};function ded(){return[$xu,Vxu,Jxu,TTu,qkf,dSu,xTu,Gxu,Kxu]}async function qTu(e,t,r){return eTj({workspace:e,rules:ded(),context:t,loadApiWorkspace:r})}async function eTj({workspace:e,rules:t,context:r,loadApiWorkspace:n}){let i=[],a=await Promise.all(t.map(f=>f.create({workspace:e,logger:r.logger}))),u=Skf({relativeFilepath:zs.of(qwr),allRuleVisitors:a,addViolations:f=>{i.push(...f)}});return await Tkf(e.config,u,pf(e.absoluteFilePath,zs.of(qwr)),e.absoluteFilePath,r,n),i}async function CTu({workspace:e,loadAPIWorkspace:t,context:r,logWarnings:n,logSummary:i=!0}){let a=await qTu(e,r,t),{hasErrors:u}=DSa({violations:a,context:r,logWarnings:n,logSummary:i});return{hasErrors:u}}async function qMa({workspace:e,loadAPIWorkspace:t,context:r,logWarnings:n}){let{hasErrors:i}=await CTu({workspace:e,context:r,logWarnings:n,loadAPIWorkspace:t});i&&r.failAndThrow()}async function ped({loadProject:e,cliContext:t,port:r,bundlePath:n}){let i=await e(),a=i.docsWorkspaces;a!=null&&(await t.instrumentPostHogEvent({orgId:i.config.organization,command:"fern docs dev"}),await t.runTaskForWorkspace(a,async u=>{u.logger.info(`Starting server on port ${r}`),await iDu({initialProject:i,reloadProject:e,validateProject:async f=>{let d=f.docsWorkspaces;if(d!=null){await CTu({workspace:d,context:u,logWarnings:!0,logSummary:!1,loadAPIWorkspace:f.loadAPIWorkspace});for(let c of f.apiWorkspaces)await t.runTaskForWorkspace(c,async o=>{await fSu({workspace:await c.toFernWorkspace({context:u}),context:o,logWarnings:!1,logSummary:!1})})}},context:u,port:r,bundlePath:n})}))}async function _ed({project:e,cliContext:t,shouldFix:r}){await Promise.all(e.apiWorkspaces.map(async n=>{n instanceof Vne||await t.runTaskForWorkspace(n,async i=>{await Suu({workspace:await n.toFernWorkspace({context:i}),context:i,shouldFix:r})})}))}var hed=require("fs/promises"),yed=yu(require("path"),1);async function CMa({workspace:e,context:t,generationLanguage:r,keywords:n,smartCasing:i,disableExamples:a,audiences:u,readme:f}){return await UFt({workspace:e,context:t,logWarnings:!1}),JQ({workspace:e,generationLanguage:r,keywords:n,smartCasing:i,disableExamples:a,audiences:u,readme:f,version:void 0,packageName:void 0,context:t})}async function ved({project:e,outputFilepath:t,cliContext:r,audiences:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async a=>{let u=await i.toFernWorkspace({context:a}),f=await CMa({workspace:u,context:a,generationLanguage:void 0,audiences:n,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0}),d=dwe({ir:f,snippetsConfig:{}}),c=yed.default.resolve(t);await(0,hed.writeFile)(c,await zwr(d,{pretty:!0})),a.logger.info(`Wrote FDR API definition to ${c}`)})}))}var Zr=Symbol(),fa=Symbol();var bed={laterVersion:"v10",earlierVersion:"v9",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.STOPLIGHT]:fa,[We.OPENAPI]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>{let t=sy(e.services,r=>({docs:void 0,...r}));for(let r of Object.values(e.subpackages))if(r.docs!=null&&r.service!=null){let n=t[r.service];if(n==null)throw new Error("Service does not exist: "+r.service);n.docs=r.docs}return{...e,services:t}}};var rr={};Wb(rr,{V1:()=>swx,V10:()=>cwx,V11:()=>lwx,V12:()=>fwx,V13:()=>dwx,V14:()=>pwx,V15:()=>_wx,V16:()=>hwx,V17:()=>ywx,V18:()=>vwx,V19:()=>bwx,V2:()=>gwx,V20:()=>mwx,V21:()=>Owx,V22:()=>Pwx,V23:()=>Nu0.FernIrV23,V24:()=>zu0.FernIrV24,V25:()=>Bu0.FernIrV25,V26:()=>Iu0.FernIrV26,V27:()=>Ru0.FernIrV27,V28:()=>Fu0.FernIrV28,V29:()=>Lu0.FernIrV29,V3:()=>jwx,V30:()=>Uu0.FernIrV30,V31:()=>Vu0.FernIrV31,V32:()=>Wu0.FernIrV32,V33:()=>Hu0.FernIrV33,V34:()=>$u0.FernIrV34,V35:()=>Ju0.FernIrV35,V36:()=>Gu0.FernIrV36,V37:()=>Ku0.FernIrV37,V38:()=>Yu0.FernIrV38,V39:()=>Xu0.FernIrV39,V4:()=>wwx,V40:()=>Qu0.FernIrV40,V41:()=>Zu0.FernIrV41,V42:()=>ku0.FernIrV42,V43:()=>es0.FernIrV43,V44:()=>ts0.FernIrV44,V45:()=>rs0.FernIrV45,V46:()=>ns0.FernIrV46,V47:()=>is0.FernIrV47,V48:()=>as0.FernIrV48,V49:()=>os0.FernIrV49,V5:()=>Dwx,V50:()=>us0.FernIrV50,V51:()=>ss0.FernIrV51,V52:()=>cs0.FernIrV52,V53:()=>y_,V6:()=>Swx,V7:()=>Ewx,V8:()=>Mwx,V9:()=>xwx});var swx=yu(pod(),1),cwx=yu(Ndd(),1),lwx=yu(ibd(),1),fwx=yu(twd(),1),dwx=yu(ZTd(),1),pwx=yu(Y4d(),1),_wx=yu(JId(),1),hwx=yu(iHd(),1),ywx=yu(yQd(),1),vwx=yu(Mip(),1),bwx=yu(Hfp(),1),gwx=yu(F0p(),1),mwx=yu(hjp(),1),Owx=yu(KTp(),1),Pwx=yu(E3p(),1),Nu0=yu(Jzp(),1),zu0=yu(x9p(),1),Bu0=yu(yHp(),1),Iu0=yu(uYp(),1),Ru0=yu(re_(),1),Fu0=yu(Zi_(),1),Lu0=yu(Kc_(),1),jwx=yu(Iy_(),1),Uu0=yu(Fm_(),1),Vu0=yu(Uw_(),1),Wu0=yu(Zx_(),1),Hu0=yu(lVu(),1),$u0=yu(O5_(),1),Ju0=yu(y9_(),1),Gu0=yu(f$_(),1),Ku0=yu(sQ_(),1),Yu0=yu(snh(),1),Xu0=yu(Dch(),1),wwx=yu(jyh(),1),Qu0=yu(LOh(),1),Zu0=yu(aEh(),1),ku0=yu(MCh(),1),es0=yu(kNh(),1),ts0=yu(DFh(),1),rs0=yu(d$h(),1),ns0=yu(aZh(),1),is0=yu(nay(),1),as0=yu(edy(),1),os0=yu(eby(),1),Dwx=yu(F1y(),1),us0=yu(Kxy(),1),ss0=yu(p4y(),1),cs0=yu(IIy(),1),Swx=yu($Vy(),1),Ewx=yu(kKy(),1),Mwx=yu(ut0(),1),xwx=yu(Au0(),1);var ls0={laterVersion:"v11",earlierVersion:"v10",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.0-rc0-1-g83a12940",[We.TYPESCRIPT_EXPRESS]:"0.5.0-rc0-1-g83a12940",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.0.134-15-ge1ac358",[We.JAVA_SDK]:"0.0.134-15-ge1ac358",[We.JAVA_SPRING]:"0.0.134-15-ge1ac358",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.STOPLIGHT]:fa,[We.OPENAPI]:Zr,[We.POSTMAN]:"0.0.40-1-g9aa2117",[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,t)=>({...e,auth:Twx(e.auth,t)})};function Twx(e,t){return{...e,schemes:e.schemes.map(r=>qwx(r,t))}}function qwx(e,{taskContext:t,targetGenerator:r}){return rr.V11.auth.AuthScheme._visit(e,{bearer:rr.V10.auth.AuthScheme.bearer,basic:rr.V10.auth.AuthScheme.basic,header:n=>n.prefix!=null?t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support specifying an auth header prefix. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains an auth header prefix."):rr.V10.auth.AuthScheme.header({docs:n.docs,availability:{status:rr.V10.commons.AvailabilityStatus.GeneralAvailability,message:void 0},name:{name:n.name,wireValue:n.header},valueType:n.valueType}),_unknown:()=>{throw new Error("Unknown auth scheme: "+e._type)}})}var ds0={laterVersion:"v12",earlierVersion:"v11",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.0-rc0-6-g80f89f98",[We.TYPESCRIPT_EXPRESS]:"0.5.0-rc0-6-g80f89f98",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.1.0-1-gdb5c636",[We.JAVA_SDK]:"0.1.0-1-gdb5c636",[We.JAVA_SPRING]:"0.1.0-1-gdb5c636",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.STOPLIGHT]:"0.0.23-8-g479c860",[We.OPENAPI]:"0.0.22-1-g1c86b58",[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>{let n=sy(e.types,i=>({...i,shape:rr.V12.types.Type._visit(i.shape,{union:rr.V11.types.Type.union,enum:rr.V11.types.Type.enum,object:rr.V11.types.Type.object,alias:a=>rr.V11.types.Type.alias({aliasOf:a.aliasOf,resolvedType:rr.V12.types.ResolvedTypeReference._visit(a.resolvedType,{container:rr.V11.types.ResolvedTypeReference.container,primitive:rr.V11.types.ResolvedTypeReference.primitive,named:u=>u.shape==="UNDISCRIMINATED_UNION"?t.failAndThrow(fs0({taskContext:t,targetGenerator:r})):rr.V11.types.ResolvedTypeReference.named({shape:u.shape,name:u.name}),unknown:rr.V11.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Encountered unknown alias")}})}),undiscriminatedUnion:()=>t.failAndThrow(fs0({taskContext:t,targetGenerator:r})),_unknown:()=>{throw new Error("Encountered unknown shape")}})}));return{...e,types:n,services:sy(e.services,i=>Cwx(i,{taskContext:t,targetGenerator:r}))}}};function fs0(e){return e.targetGenerator!=null?`Generator ${e.targetGenerator.name}@${e.targetGenerator.version} does not support undiscriminated unions If you'd like to use this feature, please upgrade ${e.targetGenerator.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains an undiscriminated union."}function Cwx(e,t){return{...e,endpoints:e.endpoints.map(r=>Awx(r,t))}}function Awx(e,{taskContext:t,targetGenerator:r}){return e.streamingResponse!=null?t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support streaming responses. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains a streaming response."):{...e,requestBody:e.requestBody!=null?rr.V12.http.HttpRequestBody._visit(e.requestBody,{inlinedRequestBody:rr.V11.http.HttpRequestBody.inlinedRequestBody,reference:rr.V11.http.HttpRequestBody.reference,fileUpload:()=>t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support file upload requests. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains a file upload request."),_unknown:()=>{var n;throw new Error("Unknown HttpRequestBody type: "+((n=e.requestBody)==null?void 0:n.type))}}):void 0,response:e.response!=null?{docs:e.response.docs,type:e.response.responseBodyType}:{docs:void 0,type:void 0}}}var ps0={laterVersion:"v13",earlierVersion:"v12",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({...e,types:sy(e.types,t=>t.shape._type!=="undiscriminatedUnion"?{...t,shape:t.shape}:{...t,shape:rr.V12.types.Type.undiscriminatedUnion({docs:void 0,members:t.shape.members})}),auth:{...e.auth,schemes:e.auth.schemes.map(t=>t._type!=="header"?t:{...t,name:t.name.name,header:t.name.wireValue})}})};var _s0={laterVersion:"v14",earlierVersion:"v13",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>{let t=sy(e.types,r=>({...r,shape:rr.V14.types.Type._visit(r.shape,{union:n=>rr.V13.types.Type.union({discriminant:n.discriminant,baseProperties:n.baseProperties.map(i=>({...i,valueType:ez(i.valueType)})),types:n.types.map(i=>Bwx(i))}),enum:rr.V13.types.Type.enum,object:n=>rr.V13.types.Type.object({...n,properties:n.properties.map(i=>({...i,valueType:ez(i.valueType)}))}),alias:n=>rr.V13.types.Type.alias({aliasOf:ez(n.aliasOf),resolvedType:Rwx(n.resolvedType)}),undiscriminatedUnion:n=>rr.V13.types.Type.undiscriminatedUnion(Fwx(n)),_unknown:()=>{throw new Error("Encountered unknown shape")}})}));return{...e,auth:Nwx(e.auth),headers:e.headers.map(r=>Kku(r)),types:t,services:sy(e.services,r=>Lwx(r)),errors:sy(e.errors,r=>Gwx(r))}}};function Nwx(e){return{docs:e.docs,requirement:e.requirement,schemes:e.schemes.map(t=>t._type!=="header"?t:rr.V13.auth.AuthScheme.header(zwx(t)))}}function zwx(e){return{docs:e.docs,prefix:e.prefix,name:e.name,valueType:ez(e.valueType)}}function Kku(e){return{docs:e.docs,availability:e.availability,name:e.name,valueType:ez(e.valueType)}}function ez(e){return rr.V14.types.TypeReference._visit(e,{container:t=>rr.V13.types.TypeReference.container(hs0(t)),primitive:t=>t==="DATE"?rr.V13.types.TypeReference.primitive(rr.V13.types.PrimitiveType.String):rr.V13.types.TypeReference.primitive(t),named:rr.V13.types.TypeReference.named,unknown:rr.V13.types.TypeReference.unknown,_unknown:()=>{throw new Error("Unknown type reference: "+e._type)}})}function hs0(e){return rr.V14.types.ContainerType._visit(e,{list:t=>rr.V13.types.ContainerType.list(ez(t)),optional:t=>rr.V13.types.ContainerType.optional(ez(t)),set:t=>rr.V13.types.ContainerType.set(ez(t)),map:({keyType:t,valueType:r})=>rr.V13.types.ContainerType.map({keyType:ez(t),valueType:ez(r)}),literal:rr.V13.types.ContainerType.literal,_unknown:()=>{throw new Error("Unknown ContainerType: "+e._type)}})}function Bwx(e){return{docs:e.docs,discriminantValue:e.discriminantValue,shape:Iwx(e.shape)}}function Iwx(e){return rr.V14.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V13.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V13.types.SingleUnionTypeProperties.singleProperty({name:t.name,type:ez(t.type)}),noProperties:rr.V13.types.SingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+e._type)}})}function Rwx(e){return rr.V14.types.ResolvedTypeReference._visit(e,{container:t=>rr.V13.types.ResolvedTypeReference.container(hs0(t)),named:rr.V13.types.ResolvedTypeReference.named,primitive:t=>t==="DATE"?rr.V13.types.ResolvedTypeReference.primitive(rr.V13.types.PrimitiveType.String):rr.V13.types.ResolvedTypeReference.primitive(t),unknown:rr.V13.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Unknown ResolvedTypeReference: "+e._type)}})}function Fwx(e){return{members:e.members.map(t=>({...t,type:ez(t.type)}))}}function Lwx(e){return{availability:e.availability,name:e.name,displayName:e.displayName,basePath:e.basePath,baseUrl:e.baseUrl,pathParameters:e.pathParameters.map(t=>ys0(t)),headers:e.headers.map(t=>Kku(t)),endpoints:e.endpoints.map(t=>Uwx(t))}}function ys0(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:ez(e.valueType)}}function Uwx(e){return{docs:e.docs,availability:e.availability,name:e.name,displayName:e.displayName,errors:e.errors,auth:e.auth,method:e.method,path:e.path,pathParameters:e.pathParameters.map(t=>ys0(t)),sdkRequest:e.sdkRequest!=null?Wwx(e.sdkRequest):void 0,requestBody:e.requestBody!=null?$wx(e.requestBody):void 0,response:e.response!=null?Jku(e.response):void 0,headers:e.headers.map(t=>Kku(t)),queryParameters:e.queryParameters.map(t=>Vwx(t)),examples:e.examples,streamingResponse:e.streamingResponse!=null?Gku(e.streamingResponse):void 0,sdkResponse:e.sdkResponse!=null?Jwx(e.sdkResponse):void 0}}function Vwx(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:ez(e.valueType),allowMultiple:e.allowMultiple}}function Wwx(e){return{requestParameterName:e.requestParameterName,shape:Hwx(e.shape)}}function Hwx(e){return rr.V14.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V13.http.SdkRequestShape.justRequestBody({docs:t.docs,requestBodyType:ez(t.requestBodyType)}),wrapper:rr.V13.http.SdkRequestShape.wrapper,_unknown:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function $wx(e){return rr.V14.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V13.http.HttpRequestBody.inlinedRequestBody({name:t.name,extends:t.extends,properties:t.properties.map(r=>({docs:r.docs,name:r.name,valueType:ez(r.valueType)}))}),reference:t=>rr.V13.http.HttpRequestBody.reference({docs:t.docs,requestBodyType:ez(t.requestBodyType)}),fileUpload:t=>rr.V13.http.HttpRequestBody.fileUpload({name:t.name,properties:t.properties.map(r=>r.type==="bodyProperty"?{...r,valueType:ez(r.valueType)}:r)}),_unknown:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function Jku(e){return{docs:e.docs,responseBodyType:ez(e.responseBodyType)}}function Gku(e){return{dataEventType:ez(e.dataEventType),terminator:e.terminator}}function Jwx(e){return rr.V14.http.SdkResponse._visit(e,{streaming:t=>rr.V13.http.SdkResponse.streaming(Gku(t)),nonStreaming:t=>rr.V13.http.SdkResponse.nonStreaming(Jku(t)),maybeStreaming:t=>rr.V13.http.SdkResponse.maybeStreaming({condition:t.condition,nonStreaming:Jku(t.nonStreaming),streaming:Gku(t.streaming)}),_unknown:()=>{throw new Error("Encountered unknown sdk response")}})}function Gwx(e){return{docs:e.docs,name:e.name,discriminantValue:e.discriminantValue,type:e.type!=null?ez(e.type):void 0,statusCode:e.statusCode}}var vs0={laterVersion:"v15",earlierVersion:"v14",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.0.52-3-gd9df38df",[We.PYTHON_PYDANTIC]:"0.0.52-3-gd9df38df",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.0.52-3-gd9df38df",[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>{let t=sy(e.types,r=>({...r,shape:rr.V15.types.Type._visit(r.shape,{union:n=>rr.V14.types.Type.union({discriminant:n.discriminant,baseProperties:n.baseProperties.map(i=>({...i,valueType:tz(i.valueType)})),types:n.types.map(i=>Xwx(i))}),enum:rr.V14.types.Type.enum,object:n=>rr.V14.types.Type.object({...n,properties:n.properties.map(i=>({...i,valueType:tz(i.valueType)}))}),alias:n=>rr.V14.types.Type.alias({aliasOf:tz(n.aliasOf),resolvedType:Zwx(n.resolvedType)}),undiscriminatedUnion:n=>rr.V14.types.Type.undiscriminatedUnion(kwx(n)),_unknown:()=>{throw new Error("Encountered unknown shape")}})}));return{...e,auth:Kwx(e.auth),headers:e.headers.map(r=>Qku(r)),types:t,services:sy(e.services,r=>eDx(r)),errors:sy(e.errors,r=>uDx(r))}}};function Kwx(e){return{docs:e.docs,requirement:e.requirement,schemes:e.schemes.map(t=>t._type!=="header"?t:rr.V14.auth.AuthScheme.header(Ywx(t)))}}function Ywx(e){return{docs:e.docs,prefix:e.prefix,name:e.name,valueType:tz(e.valueType)}}function Qku(e){return{docs:e.docs,availability:e.availability,name:e.name,valueType:tz(e.valueType)}}function tz(e){return rr.V15.types.TypeReference._visit(e,{container:t=>rr.V14.types.TypeReference.container(bs0(t)),primitive:t=>t==="BASE_64"?rr.V14.types.TypeReference.primitive(rr.V14.types.PrimitiveType.String):rr.V14.types.TypeReference.primitive(t),named:rr.V14.types.TypeReference.named,unknown:rr.V14.types.TypeReference.unknown,_unknown:()=>{throw new Error("Unknown type reference: "+e._type)}})}function bs0(e){return rr.V15.types.ContainerType._visit(e,{list:t=>rr.V14.types.ContainerType.list(tz(t)),optional:t=>rr.V14.types.ContainerType.optional(tz(t)),set:t=>rr.V14.types.ContainerType.set(tz(t)),map:({keyType:t,valueType:r})=>rr.V14.types.ContainerType.map({keyType:tz(t),valueType:tz(r)}),literal:rr.V14.types.ContainerType.literal,_unknown:()=>{throw new Error("Unknown ContainerType: "+e._type)}})}function Xwx(e){return{docs:e.docs,discriminantValue:e.discriminantValue,shape:Qwx(e.shape)}}function Qwx(e){return rr.V15.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V14.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V14.types.SingleUnionTypeProperties.singleProperty({name:t.name,type:tz(t.type)}),noProperties:rr.V14.types.SingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+e._type)}})}function Zwx(e){return rr.V15.types.ResolvedTypeReference._visit(e,{container:t=>rr.V14.types.ResolvedTypeReference.container(bs0(t)),named:rr.V14.types.ResolvedTypeReference.named,primitive:t=>t==="BASE_64"?rr.V14.types.ResolvedTypeReference.primitive(rr.V14.types.PrimitiveType.String):rr.V14.types.ResolvedTypeReference.primitive(t),unknown:rr.V14.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Unknown ResolvedTypeReference: "+e._type)}})}function kwx(e){return{members:e.members.map(t=>({...t,type:tz(t.type)}))}}function eDx(e){return{availability:e.availability,name:e.name,displayName:e.displayName,basePath:e.basePath,baseUrl:e.baseUrl,pathParameters:e.pathParameters.map(t=>gs0(t)),headers:e.headers.map(t=>Qku(t)),endpoints:e.endpoints.map(t=>tDx(t))}}function gs0(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:tz(e.valueType)}}function tDx(e){return{docs:e.docs,availability:e.availability,name:e.name,displayName:e.displayName,errors:e.errors,auth:e.auth,method:e.method,path:e.path,pathParameters:e.pathParameters.map(t=>gs0(t)),sdkRequest:e.sdkRequest!=null?nDx(e.sdkRequest):void 0,requestBody:e.requestBody!=null?aDx(e.requestBody):void 0,response:e.response!=null?Yku(e.response):void 0,headers:e.headers.map(t=>Qku(t)),queryParameters:e.queryParameters.map(t=>rDx(t)),examples:e.examples,streamingResponse:e.streamingResponse!=null?Xku(e.streamingResponse):void 0,sdkResponse:e.sdkResponse!=null?oDx(e.sdkResponse):void 0}}function rDx(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:tz(e.valueType),allowMultiple:e.allowMultiple}}function nDx(e){return{requestParameterName:e.requestParameterName,shape:iDx(e.shape)}}function iDx(e){return rr.V15.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V14.http.SdkRequestShape.justRequestBody({docs:t.docs,requestBodyType:tz(t.requestBodyType)}),wrapper:rr.V14.http.SdkRequestShape.wrapper,_unknown:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function aDx(e){return rr.V15.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V14.http.HttpRequestBody.inlinedRequestBody({name:t.name,extends:t.extends,properties:t.properties.map(r=>({docs:r.docs,name:r.name,valueType:tz(r.valueType)}))}),reference:t=>rr.V14.http.HttpRequestBody.reference({docs:t.docs,requestBodyType:tz(t.requestBodyType)}),fileUpload:t=>rr.V14.http.HttpRequestBody.fileUpload({name:t.name,properties:t.properties.map(r=>r.type==="bodyProperty"?{...r,valueType:tz(r.valueType)}:r)}),_unknown:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function Yku(e){return{docs:e.docs,responseBodyType:tz(e.responseBodyType)}}function Xku(e){return{dataEventType:tz(e.dataEventType),terminator:e.terminator}}function oDx(e){return rr.V15.http.SdkResponse._visit(e,{streaming:t=>rr.V14.http.SdkResponse.streaming(Xku(t)),nonStreaming:t=>rr.V14.http.SdkResponse.nonStreaming(Yku(t)),maybeStreaming:t=>rr.V14.http.SdkResponse.maybeStreaming({condition:t.condition,nonStreaming:Yku(t.nonStreaming),streaming:Xku(t.streaming)}),_unknown:()=>{throw new Error("Encountered unknown sdk response")}})}function uDx(e){return{docs:e.docs,name:e.name,discriminantValue:e.discriminantValue,type:e.type!=null?tz(e.type):void 0,statusCode:e.statusCode}}var ms0={laterVersion:"v16",earlierVersion:"v15",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.4-1-g4e69d312",[We.TYPESCRIPT_EXPRESS]:"0.5.4-1-g4e69d312",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.3.8-rc6-1-gcf4b372",[We.JAVA_SDK]:"0.3.8-rc6-1-gcf4b372",[We.JAVA_SPRING]:"0.3.8-rc6-1-gcf4b372",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>e.basePath!=null?t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support specifying a base-path in api.yml. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains a root base-path."):{...e,services:sy(e.services,n=>({...n,pathParameters:Zku(n.pathParameters),endpoints:n.endpoints.map(i=>({...i,allPathParameters:Zku(i.allPathParameters),pathParameters:Zku(i.pathParameters)}))}))}};function Zku(e){return e.map(t=>sDx(t))}function sDx(e){return{...e,availability:{status:rr.V15.commons.AvailabilityStatus.GeneralAvailability,message:void 0}}}var Os0={laterVersion:"v17",earlierVersion:"v16",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>{for(let[n,i]of Object.entries(e.types))if(i.shape._type==="union"&&i.shape.extends.length>0)return t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support union types with extensions. See ${n} in file ${i.name.fernFilepath.allParts.join("/")}. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains union types with extensions.");return{...e}}};var Ps0={laterVersion:"v18",earlierVersion:"v17",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.14-1-ga6817141",[We.TYPESCRIPT_EXPRESS]:"0.5.14-1-ga6817141",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.3.0-3-ge125e311",[We.PYTHON_PYDANTIC]:"0.3.0-3-ge125e311",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.3.0-3-ge125e311",[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>({...e,services:sy(e.services,n=>{var a;let i=(a=n.endpoints[0])==null?void 0:a.baseUrl;return n.endpoints.some(u=>u.baseUrl!==i)?t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support endpoint-level server URLs. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains endpoint-level server URLs."):{...n,baseUrl:i}})})};var ws0={laterVersion:"v19",earlierVersion:"v18",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.19-1-gef223230",[We.TYPESCRIPT_EXPRESS]:"0.5.19-1-gef223230",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.3.4-rc0-9-ge815162f",[We.PYTHON_PYDANTIC]:"0.3.4-rc0-9-ge815162f",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:"0.0.44-1-gbf4b0f3",[We.PYTHON_SDK]:"0.3.4-rc0-9-ge815162f",[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,t)=>({...e,services:sy(e.services,r=>cDx(r,t)),types:sy(e.types,r=>hDx(r,t))})};function cDx(e,t){return{...e,endpoints:e.endpoints.map(r=>lDx(r,t))}}function lDx(e,t){return{...e,examples:e.examples.map(r=>fDx(r,t))}}function fDx(e,t){return{docs:e.docs,name:e.name,url:e.url,rootPathParameters:e.rootPathParameters.map(r=>kku(r,t)),servicePathParameters:e.servicePathParameters.map(r=>kku(r,t)),endpointPathParameters:e.endpointPathParameters.map(r=>kku(r,t)),serviceHeaders:e.serviceHeaders.map(r=>js0(r,t)),endpointHeaders:e.endpointHeaders.map(r=>js0(r,t)),queryParameters:e.queryParameters.map(r=>dDx(r,t)),request:e.request!=null?pDx(e.request,t):void 0,response:_Dx(e.response,t)}}function kku(e,t){return{key:e.key,value:xae(e.value,t)}}function js0(e,t){return{wireKey:e.wireKey,value:xae(e.value,t)}}function dDx(e,t){return{wireKey:e.wireKey,value:xae(e.value,t)}}function pDx(e,t){return rr.V19.http.ExampleRequestBody._visit(e,{inlinedRequestBody:r=>rr.V18.http.ExampleRequestBody.inlinedRequestBody({jsonExample:r.jsonExample,properties:r.properties.map(n=>({wireKey:n.wireKey,value:xae(n.value,t),originalTypeDeclaration:n.originalTypeDeclaration}))}),reference:r=>rr.V18.http.ExampleRequestBody.reference(xae(r,t)),_unknown:()=>{throw new Error("Unknown ExampleRequestBody: "+e.type)}})}function _Dx(e,t){return rr.V19.http.ExampleResponse._visit(e,{ok:r=>rr.V18.http.ExampleResponse.ok({body:r.body!=null?xae(r.body,t):void 0}),error:r=>rr.V18.http.ExampleResponse.error({error:r.error,body:r.body!=null?xae(r.body,t):void 0}),_unknown:()=>{throw new Error("Unknown ExampleResponse: "+e.type)}})}function hDx(e,t){return{...e,examples:e.examples.map(r=>yDx(r,t))}}function yDx(e,t){return{...e,shape:ees(e.shape,t)}}function ees(e,t){return rr.V19.types.ExampleTypeShape._visit(e,{alias:r=>rr.V18.types.ExampleTypeShape.alias({value:xae(r.value,t)}),object:r=>rr.V18.types.ExampleTypeShape.object({properties:r.properties.map(n=>({wireKey:n.wireKey,value:xae(n.value,t),originalTypeDeclaration:n.originalTypeDeclaration}))}),union:r=>rr.V18.types.ExampleTypeShape.union({wireDiscriminantValue:r.wireDiscriminantValue,properties:rr.V19.types.ExampleSingleUnionTypeProperties._visit(r.properties,{singleProperty:n=>rr.V18.types.ExampleSingleUnionTypeProperties.singleProperty({jsonExample:n.jsonExample,shape:Ds0(n.shape,t)}),samePropertiesAsObject:n=>rr.V18.types.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeName:n.typeName,shape:ees(n.shape,t)}),noProperties:rr.V18.types.ExampleSingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown ExampleSingleUnionTypeProperties: "+r.properties.type)}})}),enum:rr.V18.types.ExampleTypeShape.enum,_unknown:()=>{throw new Error("Unknown ExampleTypeShape: "+e.type)}})}function xae(e,t){return{jsonExample:e.jsonExample,shape:Ds0(e.shape,t)}}function Ds0(e,t){return rr.V19.types.ExampleTypeReferenceShape._visit(e,{primitive:r=>rr.V18.types.ExampleTypeReferenceShape.primitive(vDx(r,t)),named:r=>rr.V18.types.ExampleTypeReferenceShape.named({typeName:r.typeName,shape:ees(r.shape,t)}),container:r=>rr.V18.types.ExampleTypeReferenceShape.container(rr.V19.types.ExampleContainer._visit(r,{list:n=>rr.V18.types.ExampleContainer.list(n.map(i=>xae(i,t))),set:n=>rr.V18.types.ExampleContainer.set(n.map(i=>xae(i,t))),optional:n=>rr.V18.types.ExampleContainer.optional(n!=null?xae(n,t):void 0),map:n=>rr.V18.types.ExampleContainer.map(n.map(i=>({key:xae(i.key,t),value:xae(i.value,t)}))),_unknown:()=>{throw new Error("Unknown ExampleContainer: "+r.type)}})),unknown:rr.V18.types.ExampleTypeReferenceShape.unknown,_unknown:()=>{throw new Error("Unknown ExampleTypeReferenceShape: "+e.type)}})}function vDx(e,{taskContext:t,targetGenerator:r}){return e.type==="date"?t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support examples for dates. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains date examples."):e}var Ss0={laterVersion:"v2",earlierVersion:"v1",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.246",[We.TYPESCRIPT_EXPRESS]:"0.0.264",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.STOPLIGHT]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({apiName:e.apiName,auth:e.auth,headers:e.headers,types:e.types,services:e.services,constants:e.constants,constantsV2:e.constantsV2,defaultEnvironment:e.defaultEnvironment,environments:e.environments,errorDiscriminant:e.errorDiscriminant,errorDiscriminationStrategy:e.errorDiscriminationStrategy,sdkConfig:e.sdkConfig,errors:e.errors.map(t=>({name:t.name,docs:t.docs,discriminantValue:{originalValue:t.discriminantValueV4.name.unsafeName.originalValue,camelCase:t.discriminantValueV4.name.unsafeName.camelCase,pascalCase:t.discriminantValueV4.name.unsafeName.pascalCase,snakeCase:t.discriminantValueV4.name.unsafeName.snakeCase,screamingSnakeCase:t.discriminantValueV4.name.unsafeName.screamingSnakeCase,wireValue:t.discriminantValueV4.wireValue},discriminantValueV2:t.discriminantValueV2,discriminantValueV3:t.discriminantValueV3,discriminantValueV4:t.discriminantValueV4,type:t.type,typeV2:t.typeV2,typeV3:t.typeV3,http:t.http,statusCode:t.statusCode}))})};var Es0={laterVersion:"v20",earlierVersion:"v19",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.5.26-rc0-3-gdfabd674",[We.TYPESCRIPT_BROWSER_SDK]:"0.5.26-rc0-3-gdfabd674",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.5.20-3-g2505487f",[We.TYPESCRIPT_EXPRESS]:"0.5.20-3-g2505487f",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.3.10-rc2-1-g1c0d853",[We.JAVA_SDK]:"0.3.10-rc2-1-g1c0d853",[We.JAVA_SPRING]:"0.3.10-rc2-1-g1c0d853",[We.PYTHON_FASTAPI]:"0.3.6-rc1-2-g6050f7f8",[We.PYTHON_PYDANTIC]:"0.3.6-rc1-2-g6050f7f8",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.3.6-rc1-2-g6050f7f8",[We.GO_FIBER]:fa,[We.GO_MODEL]:"0.0.0",[We.GO_SDK]:"0.0.0",[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,t)=>({...e,services:sy(e.services,r=>bDx(r,t))})};function bDx(e,t){return{...e,endpoints:e.endpoints.map(r=>gDx(r,t))}}function gDx(e,t){return{...e,response:e.response!=null?Ms0(e.response,t):void 0,sdkResponse:e.sdkResponse!=null?mDx(e.sdkResponse,t):void 0}}function Ms0(e,t){return rr.V20.http.HttpResponse._visit(e,{fileDownload:()=>xs0(t),json:r=>r,_unknown:()=>{throw new Error("Unknown HttpResponse: "+e.type)}})}function mDx(e,t){return rr.V20.http.SdkResponse._visit(e,{fileDownload:()=>xs0(t),streaming:rr.V19.http.SdkResponse.streaming,maybeStreaming:r=>rr.V19.http.SdkResponse.maybeStreaming({condition:r.condition,streaming:r.streaming,nonStreaming:Ms0(r.nonStreaming,t)}),json:rr.V19.http.SdkResponse.nonStreaming,_unknown:()=>{throw new Error("Unknown SdkResponse: "+e.type)}})}function xs0({targetGenerator:e,taskContext:t}){return t.failAndThrow(e!=null?`Generator ${e.name}@${e.version} does not support file download. If you'd like to use this feature, please upgrade ${e.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains file download.")}var Ts0={laterVersion:"v21",earlierVersion:"v20",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:fa,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,t)=>({...e,services:sy(e.services,r=>ODx(r,t))})};function ODx(e,t){return{...e,endpoints:e.endpoints.map(r=>PDx(r,t))}}function PDx(e,t){return{...e,streamingResponse:e.streamingResponse!=null?tes(e.streamingResponse,t):void 0,sdkResponse:e.sdkResponse!=null?jDx(e.sdkResponse,t):void 0}}function tes(e,{taskContext:t,targetGenerator:r}){return{dataEventType:rr.V21.http.StreamingResponseChunkType._visit(e.dataEventType,{json:n=>n,text:()=>t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support streaming text responses. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains streaming text responses."),_unknown:()=>{throw new Error("Unknown StreamingResponseChunkType: "+e.dataEventType.type)}}),terminator:e.terminator}}function jDx(e,t){return rr.V21.http.SdkResponse._visit(e,{fileDownload:rr.V20.http.SdkResponse.fileDownload,streaming:r=>rr.V20.http.SdkResponse.streaming(tes(r,t)),maybeStreaming:r=>rr.V20.http.SdkResponse.maybeStreaming({condition:r.condition,streaming:tes(r.streaming,t),nonStreaming:r.nonStreaming}),json:rr.V20.http.SdkResponse.json,_unknown:()=>{throw new Error("Unknown SdkResponse: "+e.type)}})}var qs0={laterVersion:"v22",earlierVersion:"v21",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.5.0-3-gac7ce7c",[We.GO_MODEL]:"0.0.14-8-g2fa39f7",[We.GO_SDK]:"0.0.14-8-g2fa39f7",[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({...e,services:sy(e.services,t=>wDx(t))})};function wDx(e){return{...e,endpoints:e.endpoints.map(t=>DDx(t))}}function DDx(e){return{...e,...e.response!=null?rr.V22.http.HttpResponse._visit(e.response,{json:t=>({response:rr.V21.http.HttpResponse.json(t),streamingResponse:void 0,sdkResponse:rr.V21.http.SdkResponse.json(t)}),fileDownload:t=>({response:rr.V21.http.HttpResponse.fileDownload(t),streamingResponse:void 0,sdkResponse:rr.V21.http.SdkResponse.fileDownload(t)}),streaming:t=>({response:void 0,streamingResponse:t,sdkResponse:rr.V21.http.SdkResponse.streaming(t)}),_unknown:()=>{var t;throw new Error("Unknown HttpResponse: "+((t=e.response)==null?void 0:t.type))}}):{response:void 0,streamingResponse:void 0,sdkResponse:void 0}}}var Ns0={laterVersion:"v23",earlierVersion:"v22",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.7.4-rc3-4-g6cf92f81",[We.TYPESCRIPT_BROWSER_SDK]:"0.7.4-rc3-4-g6cf92f81",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.7.4-rc3-4-g6cf92f81",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:"0.0.28-3-g112d3dd",[We.STOPLIGHT]:"0.0.28-3-g112d3dd",[We.POSTMAN]:"0.0.44-4-gddab2ae",[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,t)=>{var i,a;let r=[],n={};for(let[u,f]of Object.entries(e.services)){let d=[];for(let c of f.endpoints){let o=SDx(c);o==null?r.push(c):d.push(o)}n[u]={...f,endpoints:d,headers:f.headers.map(c=>nes(c)),pathParameters:f.pathParameters.map(c=>p6a(c))}}return r.length>0&&(t.taskContext.logger.warn(`Generator ${(i=t.targetGenerator)==null?void 0:i.name}@${(a=t.targetGenerator)==null?void 0:a.version} does not support bytes requests. `),r.length===1&&r[0]!=null?t.taskContext.logger.warn(`Therefore, endpoint ${r[0].name.originalName} will be skipped.`):t.taskContext.logger.warn(`Therefore, endpoints ${r.map(u=>u.name.originalName).join(", ")} will be skipped.`)),{...e,auth:{...e.auth,schemes:e.auth.schemes.map(u=>MDx(u))},headers:e.headers.map(u=>nes(u)),types:sy(e.types,u=>xDx(u)),services:n,errors:sy(e.errors,u=>zDx(u)),subpackages:e.subpackages,pathParameters:e.pathParameters.map(u=>p6a(u)),variables:e.variables.map(u=>BDx(u))}}};function SDx(e){let t;if(!(e.requestBody!=null&&(t=EDx(e.requestBody),t==null)))return{...e,headers:e.headers.map(r=>nes(r)),pathParameters:e.pathParameters.map(r=>p6a(r)),allPathParameters:e.allPathParameters.map(r=>p6a(r)),queryParameters:e.queryParameters.map(r=>IDx(r)),requestBody:t,sdkRequest:e.sdkRequest!=null?{requestParameterName:e.sdkRequest.requestParameterName,shape:RDx(e.sdkRequest.shape)}:void 0,response:e.response!=null?FDx(e.response):void 0,examples:e.examples.map(r=>LDx(r))}}function EDx(e){switch(e.type){case"bytes":return;case"fileUpload":return rr.V22.http.HttpRequestBody.fileUpload({...e,properties:e.properties.map(t=>VDx(t))});case"inlinedRequestBody":return rr.V22.http.HttpRequestBody.inlinedRequestBody({...e,properties:e.properties.map(t=>WDx(t))});case"reference":return rr.V22.http.HttpRequestBody.reference({...e,requestBodyType:rz(e.requestBodyType)});default:fl(e)}}function nes(e){return{...e,valueType:rz(e.valueType)}}function MDx(e){return e._visit({bearer:rr.V22.auth.AuthScheme.bearer,basic:rr.V22.auth.AuthScheme.basic,header:t=>rr.V22.auth.AuthScheme.header({...t,valueType:rz(t.valueType)}),_other:()=>{throw new Error("Unknown auth scheme: "+e.type)}})}function xDx(e){return{...e,shape:TDx(e.shape),examples:e.examples.map(t=>qDx(t))}}function TDx(e){return e._visit({alias:t=>rr.V22.types.Type.alias({...t,aliasOf:rz(t.aliasOf),resolvedType:ADx(t.resolvedType)}),enum:rr.V22.types.Type.enum,object:t=>rr.V22.types.Type.object({...t,properties:t.properties.map(r=>Cs0(r))}),union:t=>rr.V22.types.Type.union({...t,baseProperties:t.baseProperties.map(r=>Cs0(r)),types:t.types.map(r=>({...r,shape:NDx(r.shape)}))}),undiscriminatedUnion:t=>rr.V22.types.Type.undiscriminatedUnion({...t,members:t.members.map(r=>({...r,type:rz(r.type)}))}),_other:()=>{throw new Error("Unknown type shape: "+e.type)}})}function qDx(e){return{...e,shape:ies(e.shape)}}function ies(e){return e._visit({alias:t=>rr.V22.types.ExampleTypeShape.alias({...t,value:yDe(t.value)}),enum:rr.V22.types.ExampleTypeShape.enum,object:t=>rr.V22.types.ExampleTypeShape.object({...t,properties:t.properties.map(r=>({...r,value:yDe(r.value)}))}),union:t=>rr.V22.types.ExampleTypeShape.union({...t,properties:CDx(t.properties)}),_other:()=>{throw new Error("Unknown example type shape: "+e.type)}})}function yDe(e){return{...e,shape:aes(e.shape)}}function aes(e){return e._visit({primitive:t=>rr.V22.types.ExampleTypeReferenceShape.primitive(t._visit({integer:rr.V22.types.ExamplePrimitive.integer,double:rr.V22.types.ExamplePrimitive.double,string:rr.V22.types.ExamplePrimitive.string,boolean:rr.V22.types.ExamplePrimitive.boolean,long:rr.V22.types.ExamplePrimitive.long,datetime:r=>rr.V22.types.ExamplePrimitive.datetime(r.toISOString()),date:rr.V22.types.ExamplePrimitive.date,uuid:rr.V22.types.ExamplePrimitive.uuid,_other:()=>{throw new Error("Unknown example primitive: "+t.type)}})),named:t=>rr.V22.types.ExampleTypeReferenceShape.named({...t,shape:ies(t.shape)}),container:t=>rr.V22.types.ExampleTypeReferenceShape.container(t._visit({list:r=>rr.V22.types.ExampleContainer.list(r.map(n=>yDe(n))),set:r=>rr.V22.types.ExampleContainer.set(r.map(n=>yDe(n))),optional:r=>rr.V22.types.ExampleContainer.optional(r!=null?yDe(r):void 0),map:r=>rr.V22.types.ExampleContainer.map(r.map(n=>({key:yDe(n.key),value:yDe(n.value)}))),_other:()=>{throw new Error("Unknown example container: "+t.type)}})),unknown:rr.V22.types.ExampleTypeReferenceShape.unknown,_other:()=>{throw new Error("Unknown example type reference shape: "+e.type)}})}function CDx(e){return e._visit({singleProperty:t=>rr.V22.types.ExampleSingleUnionTypeProperties.singleProperty({...t,shape:aes(t.shape)}),noProperties:rr.V22.types.ExampleSingleUnionTypeProperties.noProperties,samePropertiesAsObject:t=>rr.V22.types.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...t,shape:ies(t.shape)}),_other:()=>{throw new Error("Unknown example single union type properties: "+e.type)}})}function rz(e){return e._visit({container:t=>rr.V22.types.TypeReference.container(zs0(t)),primitive:rr.V22.types.TypeReference.primitive,named:rr.V22.types.TypeReference.named,unknown:rr.V22.types.TypeReference.unknown,_other:()=>{throw new Error("Unknown type reference: "+e.type)}})}function zs0(e){return e._visit({list:t=>rr.V22.types.ContainerType.list(rz(t)),set:t=>rr.V22.types.ContainerType.set(rz(t)),optional:t=>rr.V22.types.ContainerType.optional(rz(t)),map:t=>rr.V22.types.ContainerType.map({keyType:rz(t.keyType),valueType:rz(t.valueType)}),literal:rr.V22.types.ContainerType.literal,_other:()=>{throw new Error("Unknown container type: "+e.type)}})}function ADx(e){return e._visit({container:t=>rr.V22.types.ResolvedTypeReference.container(zs0(t)),primitive:rr.V22.types.ResolvedTypeReference.primitive,named:rr.V22.types.ResolvedTypeReference.named,unknown:rr.V22.types.ResolvedTypeReference.unknown,_other:()=>{throw new Error("Unknown resolved type reference: "+e.type)}})}function Cs0(e){return{...e,valueType:rz(e.valueType)}}function NDx(e){return e._visit({noProperties:rr.V22.types.SingleUnionTypeProperties.noProperties,singleProperty:t=>rr.V22.types.SingleUnionTypeProperties.singleProperty({...t,type:rz(t.type)}),samePropertiesAsObject:rr.V22.types.SingleUnionTypeProperties.samePropertiesAsObject,_other:()=>{throw new Error("Unknown single union type properties: "+e.propertiesType)}})}function zDx(e){return{...e,type:e.type!=null?rz(e.type):void 0}}function BDx(e){return{...e,type:rz(e.type)}}function p6a(e){return{...e,valueType:rz(e.valueType)}}function IDx(e){return{...e,valueType:rz(e.valueType)}}function RDx(e){return e._visit({justRequestBody:t=>rr.V22.http.SdkRequestShape.justRequestBody({...t,requestBodyType:rz(t.requestBodyType)}),wrapper:rr.V22.http.SdkRequestShape.wrapper,_other:()=>{throw new Error("Unknown SDK request shape: "+e.type)}})}function FDx(e){return e._visit({json:t=>rr.V22.http.HttpResponse.json({...t,responseBodyType:rz(t.responseBodyType)}),fileDownload:rr.V22.http.HttpResponse.fileDownload,streaming:t=>rr.V22.http.HttpResponse.streaming({...t,dataEventType:t.dataEventType._visit({json:r=>rr.V22.http.StreamingResponseChunkType.json(rz(r)),text:rr.V22.http.StreamingResponseChunkType.text,_other:()=>{throw new Error("Unknown streaming data event type: "+t.dataEventType.type)}})}),_other:()=>{throw new Error("Unknown response: "+e.type)}})}function LDx(e){return{...e,rootPathParameters:e.rootPathParameters.map(t=>res(t)),servicePathParameters:e.servicePathParameters.map(t=>res(t)),endpointPathParameters:e.endpointPathParameters.map(t=>res(t)),serviceHeaders:e.serviceHeaders.map(t=>As0(t)),endpointHeaders:e.endpointHeaders.map(t=>As0(t)),queryParameters:e.queryParameters.map(t=>UDx(t)),request:e.request!=null?e.request._visit({inlinedRequestBody:t=>rr.V22.http.ExampleRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,value:yDe(r.value)}))}),reference:t=>rr.V22.http.ExampleRequestBody.reference({...t,shape:aes(t.shape)}),_other:()=>{var t;throw new Error("Unknown example request body: "+((t=e.request)==null?void 0:t.type))}}):void 0,response:e.response._visit({ok:t=>rr.V22.http.ExampleResponse.ok({...t,body:t.body!=null?yDe(t.body):void 0}),error:t=>rr.V22.http.ExampleResponse.error({...t,body:t.body!=null?yDe(t.body):void 0}),_other:()=>{throw new Error("Unknown example response: "+e.response.type)}})}}function res(e){return{...e,value:yDe(e.value)}}function UDx(e){return{...e,value:yDe(e.value)}}function As0(e){return{...e,value:yDe(e.value)}}function VDx(e){return e._visit({file:rr.V22.http.FileUploadRequestProperty.file,bodyProperty:t=>rr.V22.http.FileUploadRequestProperty.bodyProperty({...t,valueType:rz(t.valueType)}),_other:()=>{throw new Error("Unknown file upload request body property: "+e.type)}})}function WDx(e){return{...e,valueType:rz(e.valueType)}}var tb={};Wb(tb,{V23:()=>nNA,V24:()=>iNA,V25:()=>aNA,V26:()=>oNA,V27:()=>uNA,V28:()=>sNA,V29:()=>cNA,V30:()=>lNA,V31:()=>fNA,V32:()=>dNA,V33:()=>pNA,V34:()=>_NA,V35:()=>hNA,V36:()=>yNA,V37:()=>vNA,V38:()=>bNA,V39:()=>gNA,V40:()=>mNA,V41:()=>ONA,V42:()=>PNA,V43:()=>jNA,V44:()=>wNA,V45:()=>DNA,V46:()=>SNA,V47:()=>ENA,V48:()=>MNA,V49:()=>xNA,V50:()=>TNA,V51:()=>qNA,V52:()=>CNA,V53:()=>Nv});var nNA=yu(Hs(),1),iNA=yu(ws(),1),aNA=yu(_s(),1),oNA=yu(ls(),1),uNA=yu(is(),1),sNA=yu(as(),1),cNA=yu(os(),1),lNA=yu(Xu(),1),fNA=yu(Gu(),1),dNA=yu(Lu(),1),pNA=yu(su(),1),_NA=yu(au(),1),hNA=yu(Ho(),1),yNA=yu($o(),1),vNA=yu(Vo(),1),bNA=yu(Io(),1),gNA=yu(wo(),1),mNA=yu(Do(),1),ONA=yu(mo(),1),PNA=yu(ho(),1),jNA=yu(_o(),1),wNA=yu(fo(),1),DNA=yu(no(),1),SNA=yu(eo(),1),ENA=yu(Xa(),1),MNA=yu(Ga(),1),xNA=yu(Ua(),1),TNA=yu(Ra(),1),qNA=yu(Ca(),1),CNA=yu(Da(),1);var Gig={laterVersion:"v24",earlierVersion:"v23",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V23.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip"}),migrateBackwards:e=>({...e})};var Kig={laterVersion:"v25",earlierVersion:"v24",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.4.9-1-ge0997b3",[We.JAVA_SDK]:"0.4.9-1-ge0997b3",[We.JAVA_SPRING]:"0.4.9-1-ge0997b3",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V24.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip"}),migrateBackwards:(e,t)=>{var a,u,f,d;let r=[],n=[],i={};for(let[c,o]of Object.entries(e.services)){let l=[];for(let g of o.endpoints){let O;if(g.sdkRequest!=null&&(O=ANA(g.sdkRequest),O==null)){r.push(g);continue}if(g.response!=null){let j=g.response._visit({fileDownload:S=>rr.V24.HttpResponse.fileDownload(S),json:S=>rr.V24.HttpResponse.json(S),streaming:S=>rr.V24.HttpResponse.streaming(S),text:()=>(n.push(g),rr.V24.HttpResponse.json({docs:void 0,responseBodyType:rr.V24.TypeReference.unknown()})),_other:()=>{throw new Error("Encountered unknown response type")}});l.push({...g,sdkRequest:O,response:j})}else l.push({...g,sdkRequest:O,response:void 0})}i[c]={...o,endpoints:l}}return n.length>0&&(t.taskContext.logger.warn(`Generator ${(a=t.targetGenerator)==null?void 0:a.name}@${(u=t.targetGenerator)==null?void 0:u.version} does not support text/plain responses. `),n.length===1&&n[0]!=null?t.taskContext.logger.warn(`Therefore, endpoint ${n[0].name.originalName} response type will be casted to unkown.`):t.taskContext.logger.warn(`Therefore, endpoints ${n.map(c=>c.name.originalName).join(", ")} response types will be casted to unkown.`)),r.length>0&&(t.taskContext.logger.warn(`Generator ${(f=t.targetGenerator)==null?void 0:f.name}@${(d=t.targetGenerator)==null?void 0:d.version} does not support bytes requests. `),r.length===1&&r[0]!=null?t.taskContext.logger.warn(`Therefore, endpoint ${r[0].name.originalName} will be skipped.`):t.taskContext.logger.warn(`Therefore, endpoints ${r.map(c=>c.name.originalName).join(", ")} will be skipped.`)),{...e,services:i}}};function ANA(e){let t=e.shape;if(t.type==="wrapper")return{shape:rr.V24.SdkRequestShape.wrapper({...t}),requestParameterName:e.requestParameterName};if(t.value.type==="typeReference")return{shape:rr.V24.SdkRequestShape.justRequestBody({...t.value}),requestParameterName:e.requestParameterName}}var Xig={laterVersion:"v26",earlierVersion:"v25",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.5.0-rc2-16-g4177fafd",[We.PYTHON_PYDANTIC]:"0.5.0-rc2-16-g4177fafd",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.5.0-rc2-16-g4177fafd",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V25.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip"}),migrateBackwards:e=>({...e,types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,RNA(r)])),headers:e.headers.map(t=>FCo(t)),webhookGroups:Object.fromEntries(Object.entries(e.webhookGroups).map(([t,r])=>[t,r.map(n=>NNA(n))])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,zNA(r)]))})};function NNA(e){return{...e,headers:e.headers.map(t=>FCo(t)),availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function zNA(e){return{...e,endpoints:e.endpoints.map(t=>BNA(t)),headers:e.headers.map(t=>FCo(t)),availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function BNA(e){return{...e,headers:e.headers.map(t=>FCo(t)),queryParameters:e.queryParameters.map(t=>INA(t)),availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function FCo(e){return{...e,availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function INA(e){return{...e,availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function RNA(e){return{...e,shape:e.shape._visit({union:t=>rr.V25.Type.union({...t,baseProperties:t.baseProperties.map(r=>Yig(r))}),object:t=>rr.V25.Type.object({...t,properties:t.properties.map(r=>Yig(r))}),enum:t=>rr.V25.Type.enum({...t,values:t.values.map(r=>FNA(r))}),alias:t=>rr.V25.Type.alias(t),undiscriminatedUnion:t=>rr.V25.Type.undiscriminatedUnion(t),_other:()=>{throw new Error("Encountered unknown shape")}}),availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function Yig(e){return{...e,availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}function FNA(e){return{...e,availability:e.availability==null?{status:rr.V25.AvailabilityStatus.GeneralAvailability,message:void 0}:e.availability}}var Qig={laterVersion:"v27",earlierVersion:"v26",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.6.1-3-g94ee67a",[We.GO_MODEL]:"0.6.1-3-g94ee67a",[We.GO_SDK]:"0.6.1-3-g94ee67a",[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V26.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip"}),migrateBackwards:e=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,LNA(r)]))})};function LNA(e){return{...e,endpoints:e.endpoints.map(t=>UNA(t))}}function UNA(e){return{...e,response:e.response!=null?VNA(e.response):void 0}}function VNA(e){if(e.type!=="json")return e;let t=e.value;return t.type==="response"?rr.V26.HttpResponse.json(t):rr.V26.HttpResponse.json({docs:t.docs,responseBodyType:t.responseBodyType})}var Zig={laterVersion:"v28",earlierVersion:"v27",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.8.1-1-g0f40bf18",[We.TYPESCRIPT_BROWSER_SDK]:"0.8.1-1-g0f40bf18",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.8.1-1-g0f40bf18",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.9.0-2-g6b0be0e",[We.GO_MODEL]:"0.9.0-2-g6b0be0e",[We.GO_SDK]:"0.9.0-2-g6b0be0e",[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V27.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip"}),migrateBackwards:e=>({...e,auth:v8A(e.auth),headers:UCo(e.headers),types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,P8A(r)])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,ZNA(r)])),webhookGroups:Object.fromEntries(Object.entries(e.webhookGroups).map(([t,r])=>[t,JNA(r)])),errors:Object.fromEntries(Object.entries(e.errors).map(([t,r])=>[t,$NA(r)])),pathParameters:LCo(e.pathParameters),variables:WNA(e.variables)})};function WNA(e){return e.map(t=>HNA(t))}function HNA(e){return{...e,type:M8(e.type)}}function $NA(e){return{...e,type:e.type!=null?M8(e.type):void 0}}function JNA(e){return e.map(t=>GNA(t))}function GNA(e){return{...e,headers:UCo(e.headers),payload:KNA(e.payload)}}function KNA(e){switch(e.type){case"inlinedPayload":return rr.V27.WebhookPayload.inlinedPayload(YNA(e));case"reference":return rr.V27.WebhookPayload.reference({...e,payloadType:M8(e.payloadType)})}}function YNA(e){return{...e,properties:XNA(e.properties)}}function XNA(e){return e.map(t=>QNA(t))}function QNA(e){return{...e,valueType:M8(e.valueType)}}function ZNA(e){return{...e,endpoints:kNA(e.endpoints),headers:UCo(e.headers),pathParameters:LCo(e.pathParameters)}}function kNA(e){return e.map(t=>e8A(t))}function e8A(e){return{...e,headers:UCo(e.headers),pathParameters:LCo(e.pathParameters),allPathParameters:LCo(e.allPathParameters),queryParameters:h8A(e.queryParameters),requestBody:e.requestBody!=null?s8A(e.requestBody):void 0,sdkRequest:e.sdkRequest!=null?a8A(e.sdkRequest):void 0,response:e.response!=null?t8A(e.response):void 0}}function t8A(e){switch(e.type){case"json":return rr.V27.HttpResponse.json(i8A(e.value));case"fileDownload":return rr.V27.HttpResponse.fileDownload(e);case"text":return rr.V27.HttpResponse.text(e);case"streaming":return rr.V27.HttpResponse.streaming(r8A(e));default:fl(e)}}function r8A(e){return{...e,dataEventType:n8A(e.dataEventType)}}function n8A(e){switch(e.type){case"json":return rr.V27.StreamingResponseChunkType.json(M8(e.json));case"text":return rr.V27.StreamingResponseChunkType.text();default:fl(e)}}function i8A(e){switch(e.type){case"response":return rr.V27.JsonResponse.response({...e,responseBodyType:M8(e.responseBodyType)});case"nestedPropertyAsResponse":return rr.V27.JsonResponse.nestedPropertyAsResponse({...e,responseBodyType:M8(e.responseBodyType),responseProperty:e.responseProperty!=null?rag(e.responseProperty):void 0});default:fl(e)}}function a8A(e){return{...e,shape:o8A(e.shape)}}function o8A(e){switch(e.type){case"justRequestBody":return rr.V27.SdkRequestShape.justRequestBody(u8A(e.value));case"wrapper":return rr.V27.SdkRequestShape.wrapper(e);default:fl(e)}}function u8A(e){switch(e.type){case"typeReference":return rr.V27.SdkRequestBodyType.typeReference(kig(e));case"bytes":return rr.V27.SdkRequestBodyType.bytes(e);default:fl(e)}}function s8A(e){switch(e.type){case"inlinedRequestBody":return rr.V27.HttpRequestBody.inlinedRequestBody(d8A(e));case"reference":return rr.V27.HttpRequestBody.reference(kig(e));case"fileUpload":return rr.V27.HttpRequestBody.fileUpload(c8A(e));case"bytes":return rr.V27.HttpRequestBody.bytes(e);default:fl(e)}}function c8A(e){return{...e,properties:l8A(e.properties)}}function l8A(e){return e.map(t=>f8A(t))}function f8A(e){switch(e.type){case"file":return rr.V27.FileUploadRequestProperty.file(e);case"bodyProperty":return rr.V27.FileUploadRequestProperty.bodyProperty(eag(e));default:fl(e)}}function kig(e){return{...e,requestBodyType:M8(e.requestBodyType)}}function d8A(e){return{...e,properties:p8A(e.properties)}}function p8A(e){return e.map(t=>eag(t))}function eag(e){return{...e,valueType:M8(e.valueType)}}function LCo(e){return e.map(t=>_8A(t))}function _8A(e){return{...e,valueType:M8(e.valueType)}}function h8A(e){return e.map(t=>y8A(t))}function y8A(e){return{...e,valueType:M8(e.valueType)}}function v8A(e){return{...e,schemes:b8A(e.schemes)}}function b8A(e){return e.map(t=>g8A(t))}function g8A(e){switch(e.type){case"basic":return rr.V27.AuthScheme.basic(e);case"bearer":return rr.V27.AuthScheme.bearer(e);case"header":return m8A(e);default:fl(e)}}function m8A(e){return rr.V27.AuthScheme.header({...e,valueType:M8(e.valueType)})}function UCo(e){return e.map(t=>O8A(t))}function O8A(e){return{...e,valueType:M8(e.valueType)}}function P8A(e){return{...e,shape:j8A(e.shape)}}function j8A(e){switch(e.type){case"alias":return rr.V27.Type.alias(w8A(e));case"enum":return rr.V27.Type.enum(e);case"object":return rr.V27.Type.object(D8A(e));case"union":return rr.V27.Type.union(S8A(e));case"undiscriminatedUnion":return rr.V27.Type.undiscriminatedUnion(E8A(e));default:fl(e)}}function w8A(e){return{aliasOf:M8(e.aliasOf),resolvedType:q8A(e.resolvedType)}}function D8A(e){return{...e,properties:tag(e.properties)}}function S8A(e){return{...e,types:M8A(e.types),baseProperties:tag(e.baseProperties)}}function E8A(e){return{members:T8A(e.members)}}function tag(e){return e.map(t=>rag(t))}function rag(e){return{...e,valueType:M8(e.valueType)}}function M8A(e){return e.map(t=>({...t,shape:x8A(t.shape)}))}function x8A(e){switch(e.propertiesType){case"samePropertiesAsObject":return rr.V27.SingleUnionTypeProperties.samePropertiesAsObject(e);case"singleProperty":return rr.V27.SingleUnionTypeProperties.singleProperty({name:e.name,type:M8(e.type)});case"noProperties":return rr.V27.SingleUnionTypeProperties.noProperties();default:fl(e)}}function T8A(e){return e.map(t=>({...t,type:M8(t.type)}))}function q8A(e){switch(e.type){case"container":return e.container.type==="literal"?e.container.literal.type==="boolean"?rr.V27.ResolvedTypeReference.primitive(rr.V27.PrimitiveType.Boolean):rr.V27.ResolvedTypeReference.container(rr.V27.ContainerType.literal(rr.V27.Literal.string(e.container.literal.string))):rr.V27.ResolvedTypeReference.container(nag(e.container));case"named":return rr.V27.ResolvedTypeReference.named(e);case"primitive":return rr.V27.ResolvedTypeReference.primitive(e.primitive);case"unknown":return rr.V27.ResolvedTypeReference.unknown();default:fl(e)}}function M8(e){switch(e.type){case"container":return e.container.type==="literal"?e.container.literal.type==="boolean"?rr.V27.TypeReference.primitive(rr.V27.PrimitiveType.Boolean):rr.V27.TypeReference.container(rr.V27.ContainerType.literal(rr.V27.Literal.string(e.container.literal.string))):rr.V27.TypeReference.container(nag(e.container));case"named":return rr.V27.TypeReference.named(e);case"primitive":return rr.V27.TypeReference.primitive(e.primitive);case"unknown":return rr.V27.TypeReference.unknown();default:fl(e)}}function nag(e){switch(e.type){case"list":return rr.V27.ContainerType.list(M8(e.list));case"map":return rr.V27.ContainerType.map({keyType:M8(e.keyType),valueType:M8(e.valueType)});case"optional":return rr.V27.ContainerType.optional(M8(e.optional));case"set":return rr.V27.ContainerType.set(M8(e.set));case"literal":if(e.literal.type==="boolean")throw new Error("Internal error; failed to transform boolean literal between IR versions");return rr.V27.ContainerType.literal(rr.V27.Literal.string(e.literal.string));default:fl(e)}}var aag={laterVersion:"v29",earlierVersion:"v28",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.8.6-1-g3d8d8591",[We.TYPESCRIPT_BROWSER_SDK]:"0.8.6-1-g3d8d8591",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.8.6-1-g3d8d8591",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.5.14-1-ge4bcd98",[We.JAVA_SDK]:"0.5.14-1-ge4bcd98",[We.JAVA_SPRING]:"0.5.14-1-ge4bcd98",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V28.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,types:Object.fromEntries(Object.keys(e.types).map(t=>[t,C8A({typeId:t,allTypes:e.types})]))})};function C8A({typeId:e,allTypes:t}){let r=iag({typeId:e,allTypes:t});return{availability:r.availability,docs:r.docs,name:r.name,shape:r.shape,examples:r.examples,referencedTypes:Array.from(r.referencedTypes).map(n=>{let i=iag({typeId:n,allTypes:t});return{typeId:n,fernFilepath:i.name.fernFilepath,name:i.name.name}})}}function iag({typeId:e,allTypes:t}){let r=t[e];if(r==null)throw new Error(`Type definition for type id ${e} is undefined`);return r}function oag({inlinedRequest:e,allTypes:t}){let r=new Set,n=t.reduce((i,a)=>({...i,[sOc(a.name)]:a}),{});for(let i of e.extends)uag({typeName:i,typeNameToDeclaration:n,referencedTypes:r});for(let i of e.properties)Tkn({reference:i.valueType,typeNameToDeclaration:n,referencedTypes:r});return[...r].reduce((i,a)=>{let u=n[a];if(u==null)throw new Error("Cannot find declaration for ID: "+a);return[...i,u.name]},[])}function Tkn({reference:e,typeNameToDeclaration:t,referencedTypes:r}){rr.V2.types.TypeReference._visit(e,{primitive:vf,container:n=>{A8A({container:n,typeNameToDeclaration:t,referencedTypes:r})},named:n=>{uag({typeName:n,typeNameToDeclaration:t,referencedTypes:r})},unknown:vf,void:vf,_unknown:()=>{throw new Error("Unknown TypeRefrence: "+e._type)}})}function A8A({container:e,typeNameToDeclaration:t,referencedTypes:r}){rr.V2.types.ContainerType._visit(e,{list:n=>{Tkn({reference:n,typeNameToDeclaration:t,referencedTypes:r})},set:n=>{Tkn({reference:n,typeNameToDeclaration:t,referencedTypes:r})},optional:n=>{Tkn({reference:n,typeNameToDeclaration:t,referencedTypes:r})},map:({keyType:n,valueType:i})=>{Tkn({reference:n,typeNameToDeclaration:t,referencedTypes:r}),Tkn({reference:i,typeNameToDeclaration:t,referencedTypes:r})},literal:vf,_unknown:()=>{throw new Error("Unknown ContainerType: "+e._type)}})}function uag({typeName:e,typeNameToDeclaration:t,referencedTypes:r}){let n=sOc(e);r.add(n);let i=t[n];if(i==null)throw new Error("Cannot locate type: "+n);for(let a of i.referencedTypes)r.add(sOc(a))}function sOc(e){return[...e.fernFilepathV2.map(t=>t.unsafeName.originalValue),e.nameV3.unsafeName.originalValue].join(".")}var sag={laterVersion:"v3",earlierVersion:"v2",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.249",[We.TYPESCRIPT_EXPRESS]:"0.0.264",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.0.134-3-g97d4964",[We.JAVA_SDK]:"0.0.134-3-g97d4964",[We.JAVA_SPRING]:"0.0.134-3-g97d4964",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.STOPLIGHT]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>{let t=[...e.types];return{apiName:e.apiName,auth:e.auth,headers:e.headers,types:t,errors:e.errors,constants:e.constants,constantsV2:e.constantsV2,defaultEnvironment:e.defaultEnvironment,environments:e.environments,errorDiscriminant:e.errorDiscriminant,errorDiscriminationStrategy:e.errorDiscriminationStrategy,sdkConfig:e.sdkConfig,services:{websocket:e.services.websocket,http:e.services.http.map(r=>({availability:r.availability,docs:r.docs,name:r.name,basePath:r.basePath,basePathV2:r.basePathV2,headers:r.headers,pathParameters:r.pathParameters,endpoints:r.endpoints.map(n=>N8A(r,n,e.types,i=>{t.push(i)}))}))}}}};function N8A(e,t,r,n){return{docs:t.docs,availability:t.availability,id:t.id,name:t.name,nameV2:t.nameV2,method:t.method,headers:t.headers,path:t.path,pathParameters:t.pathParameters,queryParameters:t.queryParameters,request:z8A(t,e,r,n),response:t.response,errors:t.errors,errorsV2:t.errorsV2,auth:t.auth}}function z8A(e,t,r,n){let i=e.requestBody;return i==null?{docs:void 0,type:rr.V2.types.TypeReference.void(),typeV2:void 0}:rr.V3.services.http.HttpRequestBody._visit(i,{reference:a=>({docs:a.docs,type:a.requestBodyType,typeV2:a.requestBodyType}),inlinedRequestBody:a=>{let u={fernFilepath:t.name.fernFilepath,fernFilepathV2:t.name.fernFilepathV2,name:a.name.unsafeName.originalValue,nameV2:{originalValue:a.name.unsafeName.originalValue,camelCase:a.name.unsafeName.camelCase,pascalCase:a.name.unsafeName.pascalCase,snakeCase:a.name.unsafeName.snakeCase,screamingSnakeCase:a.name.unsafeName.screamingSnakeCase},nameV3:a.name},f=rr.V2.types.Type.object({extends:a.extends,properties:a.properties.map(c=>({availability:e.availability,docs:c.docs,name:{originalValue:c.name.name.unsafeName.originalValue,camelCase:c.name.name.unsafeName.camelCase,pascalCase:c.name.name.unsafeName.pascalCase,snakeCase:c.name.name.unsafeName.snakeCase,screamingSnakeCase:c.name.name.unsafeName.screamingSnakeCase,wireValue:c.name.wireValue},nameV2:c.name,valueType:c.valueType}))});n({docs:void 0,availability:e.availability,name:u,shape:f,referencedTypes:oag({inlinedRequest:a,allTypes:r}),examples:[]});let d=rr.V2.types.TypeReference.named(u);return{docs:void 0,type:d,typeV2:d}},_unknown:()=>{throw new Error("Unknown HttpRequestBody type: "+i.type)}})}var cag={laterVersion:"v30",earlierVersion:"v29",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.6.5-1-g0ef31b7a",[We.PYTHON_PYDANTIC]:"0.6.5-1-g0ef31b7a",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.6.5-1-g0ef31b7a",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V29.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=new cOc(e);return{...e,types:t.convertTypes(e.types),services:t.convertServices(e.services)}}},cOc=class{ir;constructor(t){this.ir=t}convertTypes(t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,this.convertType(n)]))}convertServices(t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,this.convertService(n)]))}convertService(t){return{...t,endpoints:this.convertEndpoints(t.endpoints)}}convertEndpoints(t){return t.map(r=>({...r,examples:this.convertExampleEndpointCalls(r.examples)}))}convertExampleEndpointCalls(t){return t.map(r=>({...r,rootPathParameters:this.convertExamplePathParameters(r.rootPathParameters),servicePathParameters:this.convertExamplePathParameters(r.servicePathParameters),endpointPathParameters:this.convertExamplePathParameters(r.endpointPathParameters),serviceHeaders:this.convertExampleHeaders(r.serviceHeaders),endpointHeaders:this.convertExampleHeaders(r.endpointHeaders),queryParameters:this.convertExampleQueryParameters(r.queryParameters),request:r.request!=null?this.convertExampleRequestBody(r.request):void 0,response:this.convertExampleResponse(r.response)}))}convertExamplePathParameters(t){return t.map(r=>({key:r.name.originalName,value:this.convertExampleTypeReference(r.value)}))}convertExampleHeaders(t){return t.map(r=>({wireKey:r.name.wireValue,value:this.convertExampleTypeReference(r.value)}))}convertExampleQueryParameters(t){return t.map(r=>({wireKey:r.name.wireValue,value:this.convertExampleTypeReference(r.value)}))}convertExampleRequestBody(t){switch(t.type){case"inlinedRequestBody":return rr.V29.ExampleRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,wireKey:r.name.wireValue,value:this.convertExampleTypeReference(r.value)}))});case"reference":return rr.V29.ExampleRequestBody.reference(this.convertExampleTypeReference(t));default:fl(t)}}convertExampleResponse(t){switch(t.type){case"ok":return rr.V29.ExampleResponse.ok({body:t.body!=null?this.convertExampleTypeReference(t.body):void 0});case"error":return rr.V29.ExampleResponse.error({...t,body:t.body!=null?this.convertExampleTypeReference(t.body):void 0});default:fl(t)}}convertType(t){return{...t,examples:this.convertExampleTypes(t.examples)}}convertExampleTypes(t){return t.map(r=>this.convertExampleType(r))}convertExampleType(t){return{...t,shape:this.convertExampleTypeShape(t.shape)}}convertExampleTypeReferences(t){return t.map(r=>this.convertExampleTypeReference(r))}convertExampleTypeReference(t){return{...t,shape:this.convertExampleTypeReferenceShape(t.shape)}}convertExampleTypeReferenceShape(t){switch(t.type){case"primitive":return rr.V29.ExampleTypeReferenceShape.primitive(this.convertExamplePrimitive(t.primitive));case"container":return rr.V29.ExampleTypeReferenceShape.container(this.convertExampleContainer(t.container));case"named":return rr.V29.ExampleTypeReferenceShape.named(this.convertExampleNamedType(t));case"unknown":return rr.V29.ExampleTypeReferenceShape.unknown(t);default:fl(t)}}convertExamplePrimitive(t){switch(t.type){case"integer":return rr.V29.ExamplePrimitive.integer(t.integer);case"double":return rr.V29.ExamplePrimitive.double(t.double);case"string":return rr.V29.ExamplePrimitive.string(t.string.original);case"boolean":return rr.V29.ExamplePrimitive.boolean(t.boolean);case"long":return rr.V29.ExamplePrimitive.long(t.long);case"datetime":return rr.V29.ExamplePrimitive.datetime(t.datetime);case"date":return rr.V29.ExamplePrimitive.date(t.date);case"uuid":return rr.V29.ExamplePrimitive.uuid(t.uuid);default:fl(t)}}convertExampleContainer(t){switch(t.type){case"list":return rr.V29.ExampleContainer.list(this.convertExampleTypeReferences(t.list));case"set":return rr.V29.ExampleContainer.set(this.convertExampleTypeReferences(t.set));case"optional":return rr.V29.ExampleContainer.optional(t.optional!=null?this.convertExampleTypeReference(t.optional):void 0);case"map":return rr.V29.ExampleContainer.map(this.convertKeyValuePairs(t.map));default:fl(t)}}convertKeyValuePairs(t){return t.map(r=>({key:this.convertExampleTypeReference(r.key),value:this.convertExampleTypeReference(r.value)}))}convertExampleNamedType(t){return{...t,shape:this.convertExampleTypeShape(t.shape)}}convertExampleTypeShape(t){switch(t.type){case"alias":return rr.V29.ExampleTypeShape.alias({value:this.convertExampleTypeReference(t.value)});case"enum":return rr.V29.ExampleTypeShape.enum({wireValue:t.value.wireValue});case"object":return rr.V29.ExampleTypeShape.object(this.convertExampleObjectType(t));case"union":return rr.V29.ExampleTypeShape.union(this.convertExampleUnionType(t));default:fl(t)}}convertExampleObjectType(t){return{properties:t.properties.map(r=>({...r,wireKey:r.name.wireValue,value:this.convertExampleTypeReference(r.value)}))}}convertExampleUnionType(t){return{wireDiscriminantValue:t.singleUnionType.wireDiscriminantValue.wireValue,properties:this.convertExampleSingleUnionTypeProperties(t.singleUnionType.shape)}}convertExampleSingleUnionTypeProperties(t){var r;switch(t.type){case"samePropertiesAsObject":{let n=(r=this.ir.types[t.typeId])==null?void 0:r.name;if(n==null)throw new Error(`Internal error; type ID ${t.typeId} does not exist in the IR`);return rr.V29.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeName:n,shape:this.convertExampleTypeShape(rr.V30.ExampleTypeShape.object({properties:t.object.properties}))})}case"singleProperty":return rr.V29.ExampleSingleUnionTypeProperties.singleProperty({...t,shape:this.convertExampleTypeReferenceShape(t.shape)});case"noProperties":return rr.V29.ExampleSingleUnionTypeProperties.noProperties();default:fl(t)}}};var lag={laterVersion:"v31",earlierVersion:"v30",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.8.8",[We.TYPESCRIPT_BROWSER_SDK]:"0.8.8",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.8.8",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.7.0-rc0",[We.JAVA_SDK]:"0.7.0-rc0",[We.JAVA_SPRING]:"0.7.0-rc0",[We.PYTHON_FASTAPI]:"0.7.5-1-gb54fb677",[We.PYTHON_PYDANTIC]:"0.7.5-1-gb54fb677",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.7.5-1-gb54fb677",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V30.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({apiName:e.apiName,apiDisplayName:e.apiDisplayName,apiDocs:e.apiDocs,auth:e.auth,headers:e.headers,types:e.types,webhookGroups:e.webhookGroups,errors:e.errors,subpackages:e.subpackages,rootPackage:e.rootPackage,constants:e.constants,environments:e.environments,basePath:e.basePath,pathParameters:e.pathParameters,errorDiscriminationStrategy:e.errorDiscriminationStrategy,sdkConfig:e.sdkConfig,variables:e.variables,serviceTypeReferenceInfo:e.serviceTypeReferenceInfo,services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{availability:r.availability,name:r.name,displayName:r.displayName,basePath:r.basePath,endpoints:r.endpoints.map(n=>({id:n.id,docs:n.docs,availability:n.availability,name:n.name,displayName:n.displayName,method:n.method,headers:n.headers,baseUrl:n.baseUrl,path:n.path,fullPath:n.fullPath,pathParameters:n.pathParameters,allPathParameters:n.allPathParameters,queryParameters:n.queryParameters,requestBody:n.requestBody,sdkRequest:n.sdkRequest,response:n.response,errors:n.errors,auth:n.auth,examples:n.examples})),headers:r.headers,pathParameters:r.pathParameters}]))})};var dag={laterVersion:"v32",earlierVersion:"v31",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.9.4-2-g139cf36",[We.GO_MODEL]:"0.9.4-2-g139cf36",[We.GO_SDK]:"0.9.4-2-g139cf36",[We.RUBY_MODEL]:"0.0.0",[We.RUBY_SDK]:"0.0.0",[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V31.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,{...r,examples:U8A(r.examples)}])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(B8A)}]))})};function Z1n({examples:e,convert:t}){let r=[];for(let n of e){let i=t(n);i!=null&&r.push(i)}return r}function B8A(e){return{...e,examples:Z1n({examples:e.examples,convert:I8A})}}function I8A(e){let t;if(e.request!=null&&(t=R8A(e.request),t==null))return;let r=F8A(e.response);if(r!=null)return{...e,rootPathParameters:Z1n({examples:e.rootPathParameters,convert:lOc}),endpointPathParameters:Z1n({examples:e.endpointPathParameters,convert:lOc}),servicePathParameters:Z1n({examples:e.servicePathParameters,convert:lOc}),endpointHeaders:Z1n({examples:e.endpointHeaders,convert:fag}),serviceHeaders:Z1n({examples:e.serviceHeaders,convert:fag}),queryParameters:Z1n({examples:e.queryParameters,convert:L8A}),request:t,response:r}}function R8A(e){switch(e.type){case"inlinedRequestBody":{let t=[];for(let r of e.properties){let n=ZOe(r.value);n!=null&&t.push({...r,value:n})}return rr.V31.ExampleRequestBody.inlinedRequestBody({...e,properties:t})}case"reference":{let t=fOc(e.shape);return t==null?void 0:rr.V31.ExampleRequestBody.reference({...e,shape:t})}default:fl(e)}}function F8A(e){switch(e.type){case"ok":{if(e.body==null)return rr.V31.ExampleResponse.ok({body:void 0});let t=ZOe(e.body);return t==null?void 0:rr.V31.ExampleResponse.ok({body:t})}case"error":{if(e.body==null)return rr.V31.ExampleResponse.error({...e,body:void 0});let t=ZOe(e.body);return t==null?void 0:rr.V31.ExampleResponse.error({...e,body:t})}}}function lOc(e){let t=ZOe(e.value);if(t!=null)return{...e,value:t}}function fag(e){let t=ZOe(e.value);if(t!=null)return{...e,value:t}}function L8A(e){let t=ZOe(e.value);if(t!=null)return{...e,value:t}}function U8A(e){let t=[];for(let r of e){let n=V8A(r);n!=null&&t.push(n)}return t}function V8A(e){let t=pag(e.shape);if(t!=null)return{...e,shape:t}}function pag(e){switch(e.type){case"enum":return rr.V31.ExampleTypeShape.enum(e);case"alias":{let t=ZOe(e.value);return t==null?void 0:rr.V31.ExampleTypeShape.alias({value:t})}case"object":{let t=[];for(let r of e.properties){let n=ZOe(r.value);n!=null&&t.push({...r,value:n})}return rr.V31.ExampleTypeShape.object({properties:t})}case"union":{let t=W8A(e.singleUnionType);return t==null?void 0:rr.V31.ExampleTypeShape.union({...e,singleUnionType:t})}case"undiscriminatedUnion":return;default:fl(e)}}function ZOe(e){let t=fOc(e.shape);if(t!=null)return{shape:t,jsonExample:e.jsonExample}}function W8A(e){let t=H8A(e.shape);if(t!=null)return{...e,shape:t}}function H8A(e){switch(e.type){case"noProperties":return rr.V31.ExampleSingleUnionTypeProperties.noProperties();case"singleProperty":{let t=fOc(e.shape);return t==null?void 0:rr.V31.ExampleSingleUnionTypeProperties.singleProperty({...e,shape:t})}case"samePropertiesAsObject":{let t=[];for(let r of e.object.properties){let n=ZOe(r.value);n!=null&&t.push({...r,value:n})}return rr.V31.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...e,object:{properties:t}})}default:fl(e)}}function fOc(e){switch(e.type){case"container":{let t=$8A(e.container);return t==null?void 0:rr.V31.ExampleTypeReferenceShape.container(t)}case"named":{let t=pag(e.shape);return t==null?void 0:rr.V31.ExampleTypeReferenceShape.named({...e,shape:t})}case"primitive":return rr.V31.ExampleTypeReferenceShape.primitive(e.primitive);case"unknown":return rr.V31.ExampleTypeReferenceShape.unknown(e.unknown);default:fl(e)}}function $8A(e){switch(e.type){case"list":{let t=[];for(let r of e.list){let n=ZOe(r);n!=null&&t.push(n)}return rr.V31.ExampleContainer.list(t)}case"set":{let t=[];for(let r of e.set){let n=ZOe(r);n!=null&&t.push(n)}return rr.V31.ExampleContainer.set(t)}case"map":{let t=[];for(let r of e.map){let n=ZOe(r.key),i=ZOe(r.value);n!=null&&i!=null&&t.push({key:n,value:i})}return rr.V31.ExampleContainer.map(t)}case"optional":{if(e.optional==null)return rr.V31.ExampleContainer.optional();let t=ZOe(e.optional);return t==null?rr.V31.ExampleContainer.optional():rr.V31.ExampleContainer.optional(t)}default:fl(e)}}var _ag={laterVersion:"v33",earlierVersion:"v32",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.12.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.12.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.13.0-3-g8c56a41",[We.GO_MODEL]:"0.13.0-3-g8c56a41",[We.GO_SDK]:"0.13.0-3-g8c56a41",[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:"0.0.0",[We.CSHARP_SDK]:"0.0.0",[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V32.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=new dOc(e);return{...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>t.convertEndpoint(i))}]))}}},dOc=class{ir;constructor(t){this.ir=t}convertEndpoint(t){return{...t,queryParameters:t.queryParameters.map(r=>this.isTypeReferenceObject(r.valueType)?{...r,valueType:rr.V33.TypeReference.container(rr.V33.ContainerType.optional(rr.V33.TypeReference.primitive("STRING")))}:r),examples:J8A({examples:t.examples,convert:G8A})}}isTypeReferenceObject(t){switch(t.type){case"container":return this.isContainerObject(t.container);case"named":return this.isNamedTypeObject(t);case"primitive":return!1;case"unknown":return!0;default:fl(t)}}isContainerObject(t){switch(t.type){case"map":case"list":case"set":return!0;case"optional":return this.isTypeReferenceObject(t.optional);case"literal":return!1;default:fl(t)}}isNamedTypeObject(t){let r=this.ir.types[t.typeId];if(r==null)return!0;switch(r.shape.type){case"alias":return this.isTypeReferenceObject(r.shape.aliasOf);case"enum":return!1;case"object":case"union":case"undiscriminatedUnion":return!0;default:fl(r.shape)}}};function J8A({examples:e,convert:t}){let r=[];for(let n of e){let i=t(n);i!=null&&r.push(i)}return r}function G8A(e){return{...e,queryParameters:e.queryParameters.filter(t=>!pOc(t.value))}}function pOc(e){switch(e.shape.type){case"container":return K8A(e.shape.container);case"named":return Y8A(e.shape);case"primitive":return!1;case"unknown":return!0;default:fl(e.shape)}}function K8A(e){switch(e.type){case"map":case"list":case"set":return!0;case"optional":return e.optional!=null&&pOc(e.optional);default:fl(e)}}function Y8A(e){switch(e.shape.type){case"alias":return pOc(e.shape.value);case"enum":return!1;case"object":case"union":case"undiscriminatedUnion":return!0;default:fl(e.shape)}}var qkn=yu(lVu(),1);var hag={laterVersion:"v34",earlierVersion:"v33",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.10.4",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V33.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>{var a;return{...i,requestBody:(a=i.requestBody)==null?void 0:a._visit({inlinedRequestBody:u=>qkn.FernIrV33.HttpRequestBody.inlinedRequestBody(u),reference:u=>qkn.FernIrV33.HttpRequestBody.reference(u),fileUpload:u=>qkn.FernIrV33.HttpRequestBody.fileUpload({...u,properties:u.properties.map(f=>{var d,c,o,l;return f.type==="file"&&f.value.type==="fileArray"&&t.taskContext.logger.warn(`${i.method} ${i.fullPath.head} accepts a list of files however the ${(d=t.targetGenerator)==null?void 0:d.name}@${(c=t.targetGenerator)==null?void 0:c.version} only supports accepting a single file. File an [issue](https://github.com/fern-api/fern/issues) to add request for file arrays in ${(o=t.targetGenerator)==null?void 0:o.name}@${(l=t.targetGenerator)==null?void 0:l.version}!`),f.type==="file"?qkn.FernIrV33.FileUploadRequestProperty.file({...f.value}):f})}),bytes:u=>qkn.FernIrV33.HttpRequestBody.bytes(u),_other:u=>{}})}})}]))})};var yag={laterVersion:"v35",earlierVersion:"v34",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.18.0",[We.GO_MODEL]:"0.18.0",[We.GO_SDK]:"0.18.0",[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V34.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(n=>({docs:n.docs,availability:n.availability,id:n.id,name:n.name,displayName:n.displayName,method:n.method,headers:n.headers,baseUrl:n.baseUrl,path:n.path,fullPath:n.fullPath,pathParameters:n.pathParameters,allPathParameters:n.allPathParameters,queryParameters:n.queryParameters,requestBody:n.requestBody,sdkRequest:n.sdkRequest,response:n.response,errors:n.errors,auth:n.auth,idempotent:n.idempotent,examples:n.examples}))}]))})};var vag={laterVersion:"v36",earlierVersion:"v35",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.11.6",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V35.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e})};var bag={laterVersion:"v37",earlierVersion:"v36",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.13.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.13.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.13.0",[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"0.12.0",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V36.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>({...i,examples:i.examples.filter(a=>a.exampleType==="userProvided")}))}]))})};var gag={laterVersion:"v38",earlierVersion:"v37",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.15.0-rc0",[We.TYPESCRIPT_BROWSER_SDK]:"0.15.0-rc0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.12.0-rc0",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.9.0-rc0",[We.PYTHON_PYDANTIC]:"0.9.0-rc0",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"1.2.0-rc0",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V37.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>{var a;return{...i,response:(a=i.response)==null?void 0:a._visit({fileDownload:u=>rr.V37.HttpResponse.fileDownload(u),json:u=>rr.V37.HttpResponse.json(u),streaming:u=>u._visit({json:f=>rr.V37.HttpResponse.streaming({dataEventType:rr.V37.StreamingResponseChunkType.json(f.payload),docs:f.docs,terminator:f.terminator}),sse:()=>{},text:f=>rr.V37.HttpResponse.streaming({dataEventType:rr.V37.StreamingResponseChunkType.text(),docs:f.docs,terminator:void 0}),_other:()=>{}}),text:u=>rr.V37.HttpResponse.text(u),_other:()=>{}})}})}]))})};var mag={laterVersion:"v39",earlierVersion:"v38",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.9.0-rc1",[We.PYTHON_PYDANTIC]:"0.9.0-rc1",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"1.4.0-rc1",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:"0.7.0-rc0",[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V38.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,auth:{...e.auth,schemes:e.auth.schemes.map(r=>X8A(r))}})};function X8A(e){switch(e.type){case"basic":return rr.V38.AuthScheme.basic(e);case"bearer":return rr.V38.AuthScheme.bearer(e);case"header":return rr.V38.AuthScheme.header(e);case"oauth":return rr.V38.AuthScheme.bearer({docs:e.docs,token:{originalName:"token",camelCase:{unsafeName:"token",safeName:"token"},pascalCase:{unsafeName:"Token",safeName:"Token"},snakeCase:{unsafeName:"token",safeName:"token"},screamingSnakeCase:{unsafeName:"TOKEN",safeName:"TOKEN"}},tokenEnvVar:void 0});default:fl(e)}}var jag={laterVersion:"v4",earlierVersion:"v3",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.0.264",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI]:"0.0.11-4-g1c29f6c",[We.POSTMAN]:"0.0.32-rc0",[We.STOPLIGHT]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({apiName:e.apiName,auth:e.auth,headers:e.headers,types:e.types.map(t=>({docs:t.docs,availability:t.availability,name:t.name,shape:t.shape,examples:t.examples.map(r=>wag(r.shape)),referencedTypes:t.referencedTypes})),errors:e.errors,constants:e.constants,constantsV2:e.constantsV2,defaultEnvironment:e.defaultEnvironment,environments:e.environments,errorDiscriminant:e.errorDiscriminant,errorDiscriminationStrategy:e.errorDiscriminationStrategy,sdkConfig:e.sdkConfig,services:{...e.services,http:e.services.http.map(t=>({...t,endpoints:t.endpoints.map(r=>({...r,examples:r.examples.map(n=>t5A(n))}))}))}})};function wag(e){return rr.V4.types.ExampleTypeShape._visit(e,{object:t=>rr.V3.types.ExampleType.object(Q8A(t)),union:t=>rr.V3.types.ExampleType.union(k8A(t)),alias:t=>rr.V3.types.ExampleType.alias(e5A(t)),enum:rr.V3.types.ExampleType.enum,_unknown:()=>{throw new Error("Unknown ExampleTypeShape: "+e.type)}})}function Q8A(e){return{properties:e.properties.map(t=>({wireKey:t.wireKey,value:vee(t.value),originalTypeDeclaration:t.originalTypeDeclaration}))}}function vee(e){return rr.V4.types.ExampleTypeReferenceShape._visit(e.shape,{primitive:rr.V3.types.ExampleTypeReference.primitive,container:t=>rr.V3.types.ExampleTypeReference.container(Z8A(t)),named:t=>rr.V3.types.ExampleTypeReference.named(Dag(t)),unknown:rr.V3.types.ExampleTypeReference.unknown,_unknown:()=>{throw new Error("Unknown ExampleTypeReference: "+e.shape.type)}})}function Z8A(e){return rr.V4.types.ExampleContainer._visit(e,{list:t=>rr.V3.types.ExampleContainer.list(t.map(vee)),set:t=>rr.V3.types.ExampleContainer.set(t.map(vee)),optional:t=>rr.V3.types.ExampleContainer.optional(t!=null?vee(t):void 0),map:t=>rr.V3.types.ExampleContainer.map(t.map(r=>({key:vee(r.key),value:vee(r.value)}))),_unknown:()=>{throw new Error("Unknown ExampleContainer: "+e.type)}})}function Dag(e){return{typeName:e.typeName,shape:wag(e.shape)}}function k8A(e){return{wireDiscriminantValue:e.wireDiscriminantValue,properties:rr.V4.types.ExampleSingleUnionTypeProperties._visit(e.properties,{samePropertiesAsObject:t=>rr.V3.types.ExampleSingleUnionTypeProperties.samePropertiesAsObject(Dag(t)),singleProperty:t=>rr.V3.types.ExampleSingleUnionTypeProperties.singleProperty(vee(t)),noProperties:()=>rr.V3.types.ExampleSingleUnionTypeProperties.noProperties(),_unknown:()=>{throw new Error("Unknown ExampleSingleUnionTypeProperties: "+e.properties.type)}})}}function e5A(e){return{value:vee(e.value)}}function t5A(e){return{servicePathParameters:e.servicePathParameters.map(t=>Oag(t)),endpointPathParameters:e.servicePathParameters.map(t=>Oag(t)),serviceHeaders:e.serviceHeaders.map(t=>Pag(t)),endpointHeaders:e.endpointHeaders.map(t=>Pag(t)),queryParameters:e.queryParameters.map(t=>r5A(t)),request:e.request!=null?n5A(e.request):void 0,response:a5A(e.response)}}function Oag(e){return{key:e.key,value:vee(e.value)}}function Pag(e){return{key:e.wireKey,value:vee(e.value)}}function r5A(e){return{key:e.wireKey,value:vee(e.value)}}function n5A(e){return rr.V4.services.http.ExampleRequestBody._visit(e,{inlinedRequestBody:t=>rr.V3.services.http.ExampleRequestBody.inlinedRequestBody({properties:t.properties.map(r=>i5A(r))}),reference:t=>rr.V3.services.http.ExampleRequestBody.reference(vee(t)),_unknown:()=>{throw new Error("Unknown ExampleRequestBody: "+e.type)}})}function i5A(e){return{wireKey:e.wireKey,value:vee(e.value),originalTypeDeclaration:e.originalTypeDeclaration}}function a5A(e){return rr.V4.services.http.ExampleResponse._visit(e,{ok:t=>rr.V3.services.http.ExampleResponse.ok({body:t.body!=null?vee(t.body):void 0}),error:t=>rr.V3.services.http.ExampleResponse.error({error:t.error,body:t.body!=null?vee(t.body):void 0}),_unknown:()=>{throw new Error("Unknown ExampleResponse: "+e.type)}})}var Sag={laterVersion:"v40",earlierVersion:"v39",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:"0.20.0",[We.GO_MODEL]:"0.20.0",[We.GO_SDK]:"0.20.0",[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V39.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e})};var Eag={laterVersion:"v41",earlierVersion:"v40",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V40.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,errors:Object.fromEntries(Object.entries(e.errors).map(([r,n])=>[r,{name:n.name,discriminantValue:n.discriminantValue,type:n.type,statusCode:n.statusCode,docs:n.docs}]))})};var Mag={laterVersion:"v42",earlierVersion:"v41",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.8.0-rc0",[We.JAVA_SDK]:"0.9.0-rc0",[We.JAVA_SPRING]:"0.8.0-rc0",[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V41.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,auth:{...e.auth,schemes:e.auth.schemes.map(r=>o5A(r))}})};function o5A(e){switch(e.type){case"basic":return rr.V41.AuthScheme.basic(e);case"bearer":return rr.V41.AuthScheme.bearer(e);case"header":return rr.V41.AuthScheme.header(e);case"oauth":return rr.V41.AuthScheme.oauth(u5A(e));default:fl(e)}}function u5A(e){var t;switch(e.configuration.type){case"clientCredentials":return{...e,configuration:rr.V41.OAuthConfiguration.clientCredentials({...e.configuration,tokenEndpoint:{...e.configuration.tokenEndpoint,endpointReference:e.configuration.tokenEndpoint.endpointReference.endpointId},refreshEndpoint:e.configuration.refreshEndpoint!=null?{...e.configuration.refreshEndpoint,endpointReference:(t=e.configuration.refreshEndpoint)==null?void 0:t.endpointReference.endpointId}:void 0})};default:fl(e.configuration.type)}}var xag={laterVersion:"v43",earlierVersion:"v42",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.17.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.17.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.13.0",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V42.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>{var a;return{...i,response:(a=i.response)==null?void 0:a.body}})}]))})};var qag={laterVersion:"v44",earlierVersion:"v43",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V43.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:(e,t)=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([r,n])=>[r,{...n,endpoints:n.endpoints.map(i=>({...i,examples:i.examples.map(a=>s5A({example:a})).filter(FS)}))}]))})};function s5A({example:e}){return e._visit({userProvided:t=>rr.V43.HttpEndpointExample.userProvided(Tag({example:t})),generated:t=>rr.V43.HttpEndpointExample.generated(Tag({example:t})),_other:()=>{}})}function Tag({example:e}){return{...e,response:c5A({example:e.response})}}function c5A({example:e}){switch(e.type){case"ok":return l5A({example:e.value});case"error":return rr.V43.ExampleResponse.error(e);default:fl(e)}}function l5A({example:e}){switch(e.type){case"body":return rr.V43.ExampleResponse.ok({body:e.value});case"sse":return rr.V43.ExampleResponse.ok({body:void 0});case"stream":return rr.V43.ExampleResponse.ok({body:void 0});default:fl(e)}}var Cag={laterVersion:"v45",earlierVersion:"v44",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V44.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=sy(e.types,r=>({...r,shape:rr.V45.types.Type._visit(r.shape,{union:n=>rr.V44.types.Type.union({...n,baseProperties:n.baseProperties.map(i=>({...i,valueType:uC(i.valueType)})),types:n.types.map(i=>P5A(i))}),enum:rr.V44.types.Type.enum,object:n=>rr.V44.types.Type.object({...n,properties:n.properties.map(i=>({...i,valueType:uC(i.valueType)}))}),alias:n=>rr.V44.types.Type.alias({aliasOf:uC(n.aliasOf),resolvedType:w5A(n.resolvedType)}),undiscriminatedUnion:n=>rr.V44.types.Type.undiscriminatedUnion(D5A(n)),_other:()=>{throw new Error("Encountered unknown shape")}})}));return{...e,auth:v5A(e.auth),headers:e.headers.map(r=>Ckn(r)),idempotencyHeaders:e.idempotencyHeaders.map(r=>Ckn(r)),types:t,services:sy(e.services,r=>S5A(r)),errors:sy(e.errors,r=>V5A(r)),webhookGroups:sy(e.webhookGroups,r=>_5A(r)),websocketChannels:sy(e.websocketChannels,r=>f5A(r)),pathParameters:e.pathParameters.map(r=>y9i(r)),variables:e.variables.map(r=>E5A(r))}}};function f5A(e){return{...e,headers:e.headers.map(t=>Ckn(t)),queryParameters:e.queryParameters.map(t=>v9i(t)),pathParameters:e.pathParameters.map(t=>y9i(t)),messages:e.messages.map(t=>d5A(t))}}function d5A(e){return{...e,body:p5A(e.body)}}function p5A(e){switch(e.type){case"inlinedBody":return rr.V44.websocket.WebSocketMessageBody.inlinedBody({...e,properties:e.properties.map(t=>({...t,valueType:uC(t.valueType)}))});case"reference":return rr.V44.websocket.WebSocketMessageBody.reference({...e,bodyType:uC(e.bodyType)})}}function _5A(e){return e.map(t=>h5A(t))}function h5A(e){return{...e,headers:e.headers.map(t=>Ckn(t)),payload:y5A(e.payload)}}function y5A(e){switch(e.type){case"reference":return rr.V44.webhooks.WebhookPayload.reference({...e,payloadType:uC(e.payloadType)});case"inlinedPayload":return rr.V44.webhooks.WebhookPayload.inlinedPayload({...e,properties:e.properties.map(t=>({...t,valueType:uC(t.valueType)}))})}}function v5A(e){return{...e,schemes:e.schemes.map(t=>{switch(t.type){case"basic":return rr.V44.auth.AuthScheme.basic(t);case"bearer":return rr.V44.auth.AuthScheme.bearer(t);case"header":return rr.V44.auth.AuthScheme.header(b5A(t));case"oauth":return rr.V44.auth.AuthScheme.oauth(g5A(t))}})}}function b5A(e){return{...e,valueType:uC(e.valueType)}}function g5A(e){return{...e,configuration:rr.V44.auth.OAuthConfiguration.clientCredentials({...e.configuration,tokenEndpoint:m5A(e.configuration.tokenEndpoint),refreshEndpoint:e.configuration.refreshEndpoint!=null?O5A(e.configuration.refreshEndpoint):void 0})}}function m5A(e){return{...e,requestProperties:{clientId:VCo(e.requestProperties.clientId),clientSecret:VCo(e.requestProperties.clientSecret),scopes:e.requestProperties.scopes!=null?VCo(e.requestProperties.scopes):void 0},responseProperties:{accessToken:cAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?cAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?cAr(e.responseProperties.refreshToken):void 0}}}function O5A(e){return{...e,requestProperties:{refreshToken:VCo(e.requestProperties.refreshToken)},responseProperties:{accessToken:cAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?cAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?cAr(e.responseProperties.refreshToken):void 0}}}function Ckn(e){return{...e,valueType:uC(e.valueType)}}function uC(e){return rr.V45.types.TypeReference._visit(e,{container:t=>rr.V44.types.TypeReference.container(Aag(t)),primitive:t=>t.v1==="BIG_INTEGER"?rr.V44.types.TypeReference.primitive(rr.V44.types.PrimitiveType.String):rr.V44.types.TypeReference.primitive(t.v1),named:rr.V44.types.TypeReference.named,unknown:rr.V44.types.TypeReference.unknown,_other:()=>{throw new Error("Unknown type reference: "+e.type)}})}function Aag(e){return rr.V45.types.ContainerType._visit(e,{list:t=>rr.V44.types.ContainerType.list(uC(t)),optional:t=>rr.V44.types.ContainerType.optional(uC(t)),set:t=>rr.V44.types.ContainerType.set(uC(t)),map:({keyType:t,valueType:r})=>rr.V44.types.ContainerType.map({keyType:uC(t),valueType:uC(r)}),literal:rr.V44.types.ContainerType.literal,_other:()=>{throw new Error("Unknown ContainerType: "+e.type)}})}function P5A(e){return{...e,shape:j5A(e.shape)}}function j5A(e){return rr.V45.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V44.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V44.types.SingleUnionTypeProperties.singleProperty({...t,type:uC(t.type)}),noProperties:rr.V44.types.SingleUnionTypeProperties.noProperties,_other:()=>{throw new Error(`Unknown SingleUnionTypeProperties: ${JSON.stringify(e)}`)}})}function w5A(e){return rr.V45.types.ResolvedTypeReference._visit(e,{container:t=>rr.V44.types.ResolvedTypeReference.container(Aag(t)),named:rr.V44.types.ResolvedTypeReference.named,primitive:t=>t.v1==="BIG_INTEGER"?rr.V44.types.ResolvedTypeReference.primitive(rr.V44.types.PrimitiveType.String):rr.V44.types.ResolvedTypeReference.primitive(t.v1),unknown:rr.V44.types.ResolvedTypeReference.unknown,_other:()=>{throw new Error("Unknown ResolvedTypeReference: "+e.type)}})}function D5A(e){return{members:e.members.map(t=>({...t,type:uC(t.type)}))}}function S5A(e){return{...e,pathParameters:e.pathParameters.map(t=>y9i(t)),headers:e.headers.map(t=>Ckn(t)),endpoints:e.endpoints.map(t=>M5A(t))}}function y9i(e){return{...e,valueType:uC(e.valueType)}}function E5A(e){return{...e,type:uC(e.type)}}function M5A(e){return{...e,pagination:e.pagination!=null?A5A(e.pagination):void 0,allPathParameters:e.allPathParameters.map(t=>y9i(t)),pathParameters:e.pathParameters.map(t=>y9i(t)),sdkRequest:e.sdkRequest!=null?I5A(e.sdkRequest):void 0,requestBody:e.requestBody!=null?L5A(e.requestBody):void 0,response:e.response!=null?x5A(e.response):void 0,headers:e.headers.map(t=>Ckn(t)),queryParameters:e.queryParameters.map(t=>v9i(t))}}function x5A(e){return{...e,body:e.body!=null?T5A(e.body):void 0}}function T5A(e){switch(e.type){case"json":return rr.V44.http.HttpResponseBody.json(q5A(e.value));case"fileDownload":return rr.V44.http.HttpResponseBody.fileDownload(e);case"text":return rr.V44.http.HttpResponseBody.text(e);case"streaming":return rr.V44.http.HttpResponseBody.streaming(C5A(e.value))}}function q5A(e){switch(e.type){case"response":return rr.V44.http.JsonResponse.response({...e,responseBodyType:uC(e.responseBodyType)});case"nestedPropertyAsResponse":return rr.V44.http.JsonResponse.nestedPropertyAsResponse({...e,responseBodyType:uC(e.responseBodyType),responseProperty:e.responseProperty!=null?_Oc(e.responseProperty):void 0})}}function C5A(e){switch(e.type){case"json":return rr.V44.http.StreamingResponse.json({...e,payload:uC(e.payload)});case"text":return rr.V44.http.StreamingResponse.text(e);case"sse":return rr.V44.http.StreamingResponse.sse({...e,payload:uC(e.payload)})}}function A5A(e){switch(e.type){case"cursor":return rr.V44.http.Pagination.cursor(N5A(e));case"offset":return rr.V44.http.Pagination.offset(z5A(e))}}function N5A(e){return{...e,page:v9i(e.page),next:cAr(e.next),results:cAr(e.results)}}function z5A(e){return{...e,page:v9i(e.page),results:cAr(e.results)}}function VCo(e){return{...e,property:B5A(e.property)}}function B5A(e){switch(e.type){case"query":return rr.V44.RequestPropertyValue.query(v9i(e));case"body":return rr.V44.RequestPropertyValue.body(_Oc(e))}}function cAr(e){return{...e,property:_Oc(e.property)}}function _Oc(e){return{...e,valueType:uC(e.valueType)}}function v9i(e){return{...e,valueType:uC(e.valueType)}}function I5A(e){return{...e,shape:R5A(e.shape)}}function R5A(e){return rr.V45.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V44.http.SdkRequestShape.justRequestBody(F5A(t)),wrapper:rr.V44.http.SdkRequestShape.wrapper,_other:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function F5A(e){switch(e.type){case"bytes":return rr.V44.http.SdkRequestBodyType.bytes(e);case"typeReference":return rr.V44.http.SdkRequestBodyType.typeReference({...e,requestBodyType:uC(e.requestBodyType)})}}function L5A(e){return rr.V45.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V44.http.HttpRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,valueType:uC(r.valueType)}))}),reference:t=>rr.V44.http.HttpRequestBody.reference({...t,requestBodyType:uC(t.requestBodyType)}),fileUpload:t=>rr.V44.http.HttpRequestBody.fileUpload({...t,properties:t.properties.map(r=>{switch(r.type){case"bodyProperty":return rr.V44.http.FileUploadRequestProperty.bodyProperty({...r,valueType:uC(r.valueType)});case"file":return rr.V44.http.FileUploadRequestProperty.file(U5A(r.value))}})}),bytes:t=>rr.V44.http.HttpRequestBody.bytes(t),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function U5A(e){switch(e.type){case"file":return rr.V44.http.FileProperty.file(e);case"fileArray":return rr.V44.http.FileProperty.fileArray(e)}}function V5A(e){return{...e,type:e.type!=null?uC(e.type):void 0}}var zag={laterVersion:"v46",earlierVersion:"v45",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.21.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.21.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.16.0",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.9.0",[We.JAVA_SDK]:"0.10.0",[We.JAVA_SPRING]:"0.9.0",[We.PYTHON_FASTAPI]:"0.10.1",[We.PYTHON_PYDANTIC]:"0.9.1",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"2.9.9",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V45.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,{...r,examples:W5A(r.examples)}])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(n=>({...n,examples:H5A(n.examples)}))}])),websocketChannels:e.websocketChannels!=null?Object.fromEntries(Object.entries(e.websocketChannels).map(([t,r])=>[t,{...r,examples:$5A(r.examples)}])):void 0,errors:Object.fromEntries(Object.entries(e.errors).map(([t,r])=>[t,{...r,examples:r.examples.map(n=>({...n,shape:Oz(n.shape)}))}]))})};function Oz(e){return e.shape._visit({container:t=>({...e,shape:t._visit({list:r=>rr.V45.ExampleTypeReferenceShape.container(rr.V45.ExampleContainer.list(r.map(n=>Oz(n)))),set:r=>rr.V45.ExampleTypeReferenceShape.container(rr.V45.ExampleContainer.set(r.map(n=>Oz(n)))),map:r=>rr.V45.ExampleTypeReferenceShape.container(rr.V45.ExampleContainer.map(r.map(n=>({key:Oz(n.key),value:Oz(n.value)})))),optional:r=>rr.V45.ExampleTypeReferenceShape.container(rr.V45.ExampleContainer.optional(r!=null?Oz(r):void 0)),literal:r=>rr.V45.ExampleTypeReferenceShape.primitive(r._visit({string:n=>rr.V45.ExamplePrimitive.string(n),integer:n=>rr.V45.ExamplePrimitive.integer(n),double:n=>rr.V45.ExamplePrimitive.double(n),long:n=>rr.V45.ExamplePrimitive.long(n),boolean:n=>rr.V45.ExamplePrimitive.boolean(n),datetime:n=>rr.V45.ExamplePrimitive.datetime(n),date:n=>rr.V45.ExamplePrimitive.date(n),uuid:n=>rr.V45.ExamplePrimitive.uuid(n),_other:n=>{throw new Error(`Unexpected value: ${JSON.stringify(n)}`)}})),_other:r=>{throw new Error(`Unexpected value: ${JSON.stringify(r)}`)}})}),named:t=>({...e,shape:rr.V45.ExampleTypeReferenceShape.named({...t,shape:Bag(t.shape)})}),primitive:t=>({...e,shape:rr.V45.ExampleTypeReferenceShape.primitive(t._visit({string:r=>rr.V45.ExamplePrimitive.string(r),integer:r=>rr.V45.ExamplePrimitive.integer(r),double:r=>rr.V45.ExamplePrimitive.double(r),long:r=>rr.V45.ExamplePrimitive.long(r),boolean:r=>rr.V45.ExamplePrimitive.boolean(r),datetime:r=>rr.V45.ExamplePrimitive.datetime(r),date:r=>rr.V45.ExamplePrimitive.date(r),uuid:r=>rr.V45.ExamplePrimitive.uuid(r),_other:r=>{throw new Error(`Unexpected value: ${JSON.stringify(r)}`)}}))}),unknown:t=>({...e,shape:rr.V45.ExampleTypeReferenceShape.unknown(t)}),_other:t=>{throw new Error(`Unexpected value: ${JSON.stringify(t)}`)}})}function Nag(e){return{...e,properties:e.properties.map(t=>({...t,value:Oz(t.value)}))}}function Bag(e){return e.type==="alias"?rr.V45.ExampleTypeShape.alias({value:Oz(e.value)}):e.type==="object"?rr.V45.ExampleTypeShape.object(Nag(e)):e.type==="union"?rr.V45.ExampleTypeShape.union({...e,singleUnionType:{...e.singleUnionType,shape:e.singleUnionType.shape._visit({samePropertiesAsObject:t=>rr.V45.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...t,object:Nag(t.object)}),singleProperty:t=>rr.V45.ExampleSingleUnionTypeProperties.singleProperty(Oz(t)),noProperties:()=>rr.V45.ExampleSingleUnionTypeProperties.noProperties(),_other:t=>{throw new Error(`Unexpected value: ${JSON.stringify(t)}`)}})}}):e.type==="undiscriminatedUnion"?rr.V45.ExampleTypeShape.undiscriminatedUnion({...e,singleUnionType:Oz(e.singleUnionType)}):rr.V45.ExampleTypeShape.enum(e)}function W5A(e){return e.map(t=>({...t,shape:Bag(t.shape)}))}function WCo(e){return e.map(t=>({...t,value:Oz(t.value)}))}function hOc(e){return e.map(t=>({...t,value:Oz(t.value)}))}function Iag(e){return e.map(t=>({...t,value:Oz(t.value)}))}function H5A(e){return e.map(t=>{var n;let r={...t,rootPathParameters:WCo(t.rootPathParameters),servicePathParameters:WCo(t.servicePathParameters),endpointPathParameters:WCo(t.endpointPathParameters),serviceHeaders:hOc(t.serviceHeaders),endpointHeaders:hOc(t.endpointHeaders),queryParameters:Iag(t.queryParameters),request:(n=t.request)==null?void 0:n._visit({inlinedRequestBody:i=>rr.V45.ExampleRequestBody.inlinedRequestBody({...i,properties:i.properties.map(a=>({...a,value:Oz(a.value)}))}),reference:i=>rr.V45.ExampleRequestBody.reference(Oz(i)),_other:i=>{throw new Error(`Unexpected value: ${JSON.stringify(i)}`)}}),response:t.response._visit({ok:i=>rr.V45.ExampleResponse.ok(i._visit({body:a=>rr.V45.ExampleEndpointSuccessResponse.body(a!=null?Oz(a):void 0),stream:a=>rr.V45.ExampleEndpointSuccessResponse.stream(a.map(Oz)),sse:a=>rr.V45.ExampleEndpointSuccessResponse.sse(a.map(u=>({...u,data:Oz(u.data)}))),_other:a=>{throw new Error(`Unexpected value: ${JSON.stringify(a)}`)}})),error:i=>rr.V45.ExampleResponse.error({...i,body:i.body!=null?Oz(i.body):void 0}),_other:i=>{throw new Error(`Unexpected value: ${JSON.stringify(i)}`)}})};return t._visit({userProvided:()=>rr.V45.HttpEndpointExample.userProvided(r),generated:()=>rr.V45.HttpEndpointExample.generated(r),_other:i=>{throw new Error(`Unexpected value: ${JSON.stringify(i)}`)}})})}function $5A(e){return e.map(t=>({...t,pathParameters:WCo(t.pathParameters),headers:hOc(t.headers),queryParameters:Iag(t.queryParameters),messages:t.messages.map(r=>({...r,body:r.body._visit({inlinedBody:n=>rr.V45.ExampleWebSocketMessageBody.inlinedBody({...n,properties:n.properties.map(i=>({...i,value:Oz(i.value)}))}),reference:n=>rr.V45.ExampleWebSocketMessageBody.reference(Oz(n)),_other:n=>{throw new Error(`Unexpected value: ${JSON.stringify(n)}`)}})}))}))}var Rag={laterVersion:"v47",earlierVersion:"v46",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V46.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>{let n=r.endpoints.map(i=>{let{autogeneratedExamples:a,userSpecifiedExamples:u,...f}=i;return{...f,autogeneratedExamples:void 0,userSpecifiedExamples:void 0,examples:[...i.userSpecifiedExamples.map(c=>{if(c.example!=null)return rr.V46.HttpEndpointExample.userProvided({...c.example,codeSamples:c.codeSamples})}).filter(FS),...i.autogeneratedExamples.map(c=>rr.V46.HttpEndpointExample.generated({...c.example,codeSamples:void 0}))]}});return[t,{...r,endpoints:n}]}))})};var Fag={laterVersion:"v48",earlierVersion:"v47",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.29.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.29.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.17.0",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V47.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=Object.fromEntries(Object.entries(e.services).map(([r,n])=>{let i=n.endpoints.map(a=>({...a,pagination:a.pagination!=null?G5A(a.pagination):void 0}));return[r,{...n,endpoints:i}]}));return{...e,sdkConfig:{...e.sdkConfig,hasPaginatedEndpoints:J5A(t)},services:t}}};function J5A(e){for(let t of Object.values(e))for(let r of t.endpoints)if(r.pagination!=null)return!0;return!1}function G5A(e){switch(e.type){case"cursor":{let t=K5A(e);return t!=null?rr.V47.Pagination.cursor(t):void 0}case"offset":{let t=Y5A(e);return t!=null?rr.V47.Pagination.offset(t):void 0}default:fl(e)}}function K5A(e){let t=Lag(e.page);if(t!=null)return{...e,page:t}}function Y5A(e){if(e.step!=null)return;let t=Lag(e.page);if(t!=null)return{...e,page:t}}function Lag(e){switch(e.property.type){case"query":return e.property}}var Uag={laterVersion:"v49",earlierVersion:"v48",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.11.0-rc0",[We.PYTHON_PYDANTIC]:"0.10.0-rc0",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:"2.11.0-rc0",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V48.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=Object.fromEntries(Object.entries(e.services).map(([r,n])=>{let i=n.endpoints.flatMap(a=>{var d,c,o;let u;return((d=a.response)==null?void 0:d.body)!=null&&(u=(c=a.response.body)==null?void 0:c._visit({json:l=>rr.V48.HttpResponseBody.json({...l}),fileDownload:l=>rr.V48.HttpResponseBody.fileDownload({...l}),text:l=>rr.V48.HttpResponseBody.text({...l}),streaming:l=>rr.V48.HttpResponseBody.streaming({...l}),streamParameter:()=>{},_other:()=>{}}),u==null)?[]:{...a,response:a.response==null?void 0:{statusCode:(o=a.response)==null?void 0:o.statusCode,body:u}}});return[r,{...n,endpoints:i}]}));return{...e,services:t}}};function dNt(e){return{originalValue:e.originalName,camelCase:e.camelCase.unsafeName,pascalCase:e.pascalCase.unsafeName,snakeCase:e.snakeCase.unsafeName,screamingSnakeCase:e.screamingSnakeCase.unsafeName}}function tEe(e){return{...dNt(e.name),wireValue:e.wireValue}}function wF(e){return{safeName:{originalValue:e.originalName,camelCase:e.camelCase.safeName,pascalCase:e.pascalCase.safeName,snakeCase:e.snakeCase.safeName,screamingSnakeCase:e.screamingSnakeCase.safeName},unsafeName:{originalValue:e.originalName,camelCase:e.camelCase.unsafeName,pascalCase:e.pascalCase.unsafeName,snakeCase:e.snakeCase.unsafeName,screamingSnakeCase:e.screamingSnakeCase.unsafeName}}}function DF(e){return{wireValue:e.wireValue,name:wF(e.name)}}function Akn(e){return rr.V5.types.ContainerType._visit(e,{list:t=>rr.V4.types.ContainerType.list(yN(t)),set:t=>rr.V4.types.ContainerType.set(yN(t)),map:({keyType:t,valueType:r})=>rr.V4.types.ContainerType.map({keyType:yN(t),valueType:yN(r)}),optional:t=>rr.V4.types.ContainerType.optional(yN(t)),literal:t=>rr.V5.types.Literal._visit(t,{string:r=>rr.V4.types.ContainerType.literal(rr.V4.types.Literal.string(r)),_unknown:()=>{throw new Error("Unknown Literal: "+t.type)}}),_unknown:()=>{throw new Error("Unknown ContainerType: "+e._type)}})}function k1n(e){return e.map(t=>dNt(t))}function ejn(e){return e.map(t=>wF(t))}function AU(e){return{fernFilepath:k1n(e.fernFilepath),fernFilepathV2:ejn(e.fernFilepath),name:e.name.originalName,nameV2:dNt(e.name),nameV3:wF(e.name)}}function yN(e){return rr.V5.types.TypeReference._visit(e,{named:t=>rr.V4.types.TypeReference.named(AU(t)),container:t=>rr.V4.types.TypeReference.container(Akn(t)),primitive:t=>rr.V4.types.TypeReference.primitive(t),unknown:rr.V4.types.TypeReference.unknown,_unknown:()=>{throw new Error("Unkonwn TypeReference: "+e._type)}})}function tjn(e){return{name:tEe(e.name),nameV2:DF(e.name),valueType:yN(e.valueType),availability:e.availability,docs:e.docs}}function Vag(e){return{docs:e.docs,requirement:e.requirement,schemes:e.schemes.map(t=>X5A(t))}}function X5A(e){return rr.V5.auth.AuthScheme._visit(e,{basic:rr.V4.auth.AuthScheme.basic,bearer:rr.V4.auth.AuthScheme.bearer,header:t=>rr.V4.auth.AuthScheme.header(tjn(t)),_unknown:()=>{throw new Error("Unknown AuthScheme: "+e._type)}})}function Wag(e){return{docs:e.docs,id:e.id,url:e.url,name:wF(e.name)}}function Hag({errorDeclaration:e,errorDiscriminationStrategy:t,typeReferenceResolver:r}){let n=e.type!=null?rr.V4.types.Type.alias({aliasOf:yN(e.type),resolvedType:r.resolveTypeReference(e.type)}):void 0;return{docs:e.docs,name:{name:e.name.name.originalName,nameV2:dNt(e.name.name),nameV3:wF(e.name.name),fernFilepath:k1n(e.name.fernFilepath),fernFilepathV2:ejn(e.name.fernFilepath)},discriminantValueV2:DF(e.discriminantValue),discriminantValueV3:rr.V5.ir.ErrorDiscriminationStrategy._visit(t,{statusCode:rr.V4.errors.ErrorDeclarationDiscriminantValue.statusCode,property:i=>rr.V4.errors.ErrorDeclarationDiscriminantValue.property(DF(i.contentProperty)),_unknown:()=>{throw new Error("Unknown ErrorDiscriminationStrategy: "+t.type)}}),discriminantValueV4:DF(e.discriminantValue),type:n??rr.V4.types.Type.alias({aliasOf:rr.V4.types.TypeReference.void(),resolvedType:rr.V4.types.ResolvedTypeReference.void()}),typeV2:n,typeV3:e.type!=null?yN(e.type):e.type,http:{statusCode:e.statusCode},statusCode:e.statusCode}}function bee(e){return{jsonExample:e.jsonExample,shape:$ag(e.shape)}}function $ag(e){return rr.V5.types.ExampleTypeReferenceShape._visit(e,{primitive:rr.V4.types.ExampleTypeReferenceShape.primitive,container:t=>rr.V4.types.ExampleTypeReferenceShape.container(Z5A(t)),unknown:rr.V4.types.ExampleTypeReferenceShape.unknown,named:t=>rr.V4.types.ExampleTypeReferenceShape.named(Q5A(t)),_unknown:()=>{throw new Error("Unknown ExampleTypeReferenceShape: "+e.type)}})}function Q5A(e){return{typeName:AU(e.typeName),shape:HCo(e.shape)}}function Z5A(e){return rr.V5.types.ExampleContainer._visit(e,{list:t=>rr.V4.types.ExampleContainer.list(t.map(r=>bee(r))),set:t=>rr.V4.types.ExampleContainer.set(t.map(r=>bee(r))),optional:t=>rr.V4.types.ExampleContainer.optional(t!=null?bee(t):void 0),map:t=>rr.V4.types.ExampleContainer.map(t.map(r=>({key:bee(r.key),value:bee(r.value)}))),_unknown:()=>{throw new Error("Unknown ExampleContainer: "+e.type)}})}function HCo(e){return rr.V5.types.ExampleTypeShape._visit(e,{alias:t=>rr.V4.types.ExampleTypeShape.alias({value:bee(t.value)}),object:t=>rr.V4.types.ExampleTypeShape.object({properties:t.properties.map(r=>({wireKey:r.wireKey,value:bee(r.value),originalTypeDeclaration:AU(r.originalTypeDeclaration)}))}),union:t=>rr.V4.types.ExampleTypeShape.union({wireDiscriminantValue:t.wireDiscriminantValue,properties:rr.V5.types.ExampleSingleUnionTypeProperties._visit(t.properties,{samePropertiesAsObject:r=>rr.V4.types.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeName:AU(r.typeName),shape:HCo(r.shape)}),singleProperty:r=>rr.V4.types.ExampleSingleUnionTypeProperties.singleProperty({jsonExample:r.jsonExample,shape:$ag(r.shape)}),noProperties:rr.V4.types.ExampleSingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown ExampleSingleUnionTypeProperties: "+t.properties.type)}})}),enum:t=>rr.V4.types.ExampleTypeShape.enum({wireValue:t.wireValue}),_unknown:()=>{throw new Error("Unknown ExampleTypeShape: "+e.type)}})}function Kag({service:e,errorResolver:t}){return{docs:e.docs,availability:e.availability,displayName:e.displayName,name:k5A(e.name),basePath:ezA(e.basePath),basePathV2:e.basePath,endpoints:e.endpoints.map(r=>tzA({endpoint:r,errorResolver:t})),headers:e.headers.map(r=>tjn(r)),pathParameters:e.pathParameters.map(r=>Yag(r))}}function k5A(e){return{name:e.name.pascalCase.unsafeName,fernFilepath:k1n(e.fernFilepath),fernFilepathV2:ejn(e.fernFilepath)}}function ezA(e){return e.parts.reduce((t,r)=>t+`{${r.pathParameter}}`+r.tail,e.head)}function tzA({endpoint:e,errorResolver:t}){return{docs:e.docs,availability:e.availability,id:e.name.originalName,name:dNt(e.name),nameV2:wF(e.name),displayName:e.displayName,method:e.method,headers:e.headers.map(r=>tjn(r)),path:e.path,pathParameters:e.pathParameters.map(r=>Yag(r)),queryParameters:e.queryParameters.map(r=>rzA(r)),requestBody:e.requestBody!=null?nzA(e.requestBody):void 0,sdkRequest:e.sdkRequest!=null?izA(e.sdkRequest):void 0,response:azA(e.response),errors:e.errors.map(r=>ozA(r)),errorsV2:uzA({responseErrors:e.errors,errorResolver:t}),auth:e.auth,examples:e.examples.map(r=>lzA(r))}}function Yag(e){return{docs:e.docs,availability:e.availability,name:dNt(e.name),nameV2:wF(e.name),valueType:yN(e.valueType)}}function rzA(e){return{docs:e.docs,availability:e.availability,name:tEe(e.name),nameV2:DF(e.name),valueType:yN(e.valueType),allowMultiple:e.allowMultiple}}function nzA(e){return rr.V5.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V4.services.http.HttpRequestBody.inlinedRequestBody({name:wF(t.name),extends:t.extends.map(r=>AU(r)),properties:t.properties.map(r=>({docs:r.docs,name:DF(r.name),valueType:yN(r.valueType)}))}),reference:t=>rr.V4.services.http.HttpRequestBody.reference({docs:t.docs,requestBodyType:yN(t.requestBodyType)}),_unknown:()=>{throw new Error("Unknown HttpRequestBody type: "+e.type)}})}function izA(e){return{requestParameterName:wF(e.requestParameterName),shape:rr.V5.http.SdkRequestShape._visit(e.shape,{justRequestBody:t=>rr.V4.services.http.SdkRequestShape.justRequestBody({docs:t.docs,requestBodyType:yN(t.requestBodyType)}),wrapper:t=>rr.V4.services.http.SdkRequestShape.wrapper({wrapperName:wF(t.wrapperName),bodyKey:wF(t.bodyKey)}),_unknown:()=>{throw new Error("Unknown SdkRequestShape type: "+e.shape.type)}})}}function azA(e){let t=e.type!=null?yN(e.type):void 0;return{docs:e.docs,type:t??rr.V4.types.TypeReference.void(),typeV2:t}}function ozA(e){return{docs:e.docs,error:yOc(e.error)}}function uzA({responseErrors:e,errorResolver:t}){return{discriminant:{originalValue:"errorName",camelCase:"errorName",snakeCase:"error_name",pascalCase:"ErrorName",screamingSnakeCase:"ERROR_NAME",wireValue:"errorName"},types:e.map(r=>szA({responseError:r,errorResolver:t}))}}function szA({responseError:e,errorResolver:t}){let r=t.getDeclaration(e.error);return{docs:e.docs,discriminantValue:tEe(r.discriminantValue),shape:czA({responseError:e,declaration:r})}}function czA({responseError:e,declaration:t}){return t.type==null?rr.V4.services.commons.ResponseErrorShape.noProperties():rr.V4.services.commons.ResponseErrorShape.singleProperty({name:{originalValue:"content",camelCase:"content",snakeCase:"content",pascalCase:"Content",screamingSnakeCase:"CONTENT",wireValue:"content"},error:yOc(e.error)})}function yOc(e){return{name:e.name.originalName,nameV2:dNt(e.name),nameV3:wF(e.name),fernFilepath:k1n(e.fernFilepath),fernFilepathV2:ejn(e.fernFilepath)}}function lzA(e){var t;return{docs:e.docs,name:(t=e.name)==null?void 0:t.originalName,servicePathParameters:e.servicePathParameters.map(r=>Jag(r)),endpointPathParameters:e.endpointPathParameters.map(r=>Jag(r)),serviceHeaders:e.serviceHeaders.map(r=>Gag(r)),endpointHeaders:e.endpointHeaders.map(r=>Gag(r)),queryParameters:e.queryParameters.map(r=>fzA(r)),request:e.request!=null?dzA(e.request):void 0,response:_zA(e.response)}}function Jag(e){return{key:e.key,value:bee(e.value)}}function Gag(e){return{wireKey:e.wireKey,value:bee(e.value)}}function fzA(e){return{wireKey:e.wireKey,value:bee(e.value)}}function dzA(e){return rr.V5.http.ExampleRequestBody._visit(e,{inlinedRequestBody:t=>rr.V4.services.http.ExampleRequestBody.inlinedRequestBody({jsonExample:t.jsonExample,properties:t.properties.map(r=>pzA(r))}),reference:t=>rr.V4.services.http.ExampleRequestBody.reference(bee(t)),_unknown:()=>{throw new Error("Unknown ExampleRequestBody: "+e.type)}})}function pzA(e){return{wireKey:e.wireKey,value:bee(e.value),originalTypeDeclaration:e.originalTypeDeclaration!=null?AU(e.originalTypeDeclaration):void 0}}function _zA(e){return rr.V5.http.ExampleResponse._visit(e,{ok:t=>rr.V4.services.http.ExampleResponse.ok({body:t.body!=null?bee(t.body):void 0}),error:t=>rr.V4.services.http.ExampleResponse.error({error:yOc(t.error),body:t.body!=null?bee(t.body):void 0}),_unknown:()=>{throw new Error("Unknown ExampleResponse: "+e.type)}})}function Xag(e){return{docs:e.docs,availability:e.availability,name:AU(e.name),shape:hzA(e.shape),examples:e.examples.map(t=>yzA(t)),referencedTypes:e.referencedTypes.map(t=>AU(t))}}function hzA(e){return rr.V5.types.Type._visit(e,{alias:({aliasOf:t,resolvedType:r})=>rr.V4.types.Type.alias({aliasOf:yN(t),resolvedType:vzA(r)}),enum:t=>rr.V4.types.Type.enum({values:t.values.map(r=>({docs:r.docs,availability:r.availability,name:tEe(r.name),nameV2:DF(r.name),value:r.name.wireValue}))}),object:t=>rr.V4.types.Type.object({extends:t.extends.map(r=>AU(r)),properties:t.properties.map(r=>({docs:r.docs,availability:r.availability,name:tEe(r.name),nameV2:DF(r.name),valueType:yN(r.valueType)}))}),union:t=>rr.V4.types.Type.union({discriminant:t.discriminant.wireValue,discriminantV2:tEe(t.discriminant),discriminantV3:DF(t.discriminant),types:t.types.map(r=>({docs:r.docs,discriminantValue:tEe(r.discriminantValue),discriminantValueV2:DF(r.discriminantValue),valueType:rr.V5.types.SingleUnionTypeProperties._visit(r.shape,{samePropertiesAsObject:n=>rr.V4.types.TypeReference.named(AU(n)),singleProperty:n=>yN(n.type),noProperties:rr.V4.types.TypeReference.void,_unknown:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+r.shape._type)}}),shape:rr.V5.types.SingleUnionTypeProperties._visit(r.shape,{samePropertiesAsObject:n=>rr.V4.types.SingleUnionTypeProperties.samePropertiesAsObject(AU(n)),singleProperty:n=>rr.V4.types.SingleUnionTypeProperties.singleProperty({name:tEe(n.name),nameV2:DF(n.name),type:yN(n.type)}),noProperties:rr.V4.types.SingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+r.shape._type)}})}))}),_unknown:()=>{throw new Error("Unknown shape: "+e._type)}})}function yzA(e){var t;return{docs:e.docs,jsonExample:e.jsonExample,name:(t=e.name)==null?void 0:t.originalName,shape:HCo(e.shape)}}function vzA(e){return rr.V5.types.ResolvedTypeReference._visit(e,{named:t=>rr.V4.types.ResolvedTypeReference.named({name:AU(t.name),shape:bzA(t.shape)}),container:t=>rr.V4.types.ResolvedTypeReference.container(Akn(t)),primitive:rr.V4.types.ResolvedTypeReference.primitive,unknown:rr.V4.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Unknown ResolvedTypeReference: "+e._type)}})}function bzA(e){return rr.V5.types.ShapeType._visit(e,{enum:()=>rr.V5.types.ShapeType.Enum,object:()=>rr.V5.types.ShapeType.Object,union:()=>rr.V5.types.ShapeType.Union,_unknown:()=>{throw new Error("Unknown ShapeType: "+e)}})}var $Co=class{errors;constructor(t){this.errors=t.errors.reduce((r,n)=>({...r,[Qag(n.name)]:n}),{})}getDeclaration(t){let r=Qag(t),n=this.errors[r];if(n==null)throw new Error("Error does not exist: "+r);return n}};function Qag(e){return`${e.fernFilepath.join("/")}:${e.name.originalName}`}var JCo=class{types;constructor(t){this.types=t.types.reduce((r,n)=>({...r,[Zag(n.name)]:n}),{})}resolveTypeReference(t){return rr.V5.types.TypeReference._visit(t,{container:r=>rr.V4.types.ResolvedTypeReference.container(Akn(r)),named:r=>{let n=this.getTypeDeclaration(r);return n.shape._type==="alias"?this.resolveTypeReference(n.shape.aliasOf):rr.V4.types.ResolvedTypeReference.named({name:AU(r),shape:gzA(n.shape._type)})},primitive:rr.V4.types.ResolvedTypeReference.primitive,unknown:rr.V4.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Unknown TypeReference: "+t._type)}})}getTypeDeclaration(t){let r=Zag(t),n=this.types[r];if(n==null)throw new Error("Type does not exist: "+n);return n}};function Zag(e){return`${e.fernFilepath.join("/")}:${e.name.originalName}`}function gzA(e){switch(e){case"object":return rr.V4.types.ShapeType.Object;case"union":return rr.V4.types.ShapeType.Union;case"enum":return rr.V4.types.ShapeType.Enum;default:fl(e)}}var kag={laterVersion:"v5",earlierVersion:"v4",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.257-2-g46fe4ff",[We.TYPESCRIPT_EXPRESS]:"0.0.264",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.0.33-9-gf683b5e",[We.PYTHON_PYDANTIC]:"0.0.33-9-gf683b5e",[We.OPENAPI]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.STOPLIGHT]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>{let t=new JCo(e),r=new $Co(e);return{apiName:e.apiName.originalName,apiDisplayName:e.apiDisplayName,apiDocs:e.apiDocs,auth:Vag(e.auth),headers:e.headers.map(n=>tjn(n)),types:e.types.map(n=>Xag(n)),services:{http:e.services.map(n=>Kag({service:n,errorResolver:r})),websocket:[]},errors:e.errors.map(n=>Hag({errorDeclaration:n,errorDiscriminationStrategy:e.errorDiscriminationStrategy,typeReferenceResolver:t})),constants:{errorDiscriminant:"_error",errorInstanceIdKey:"_errorInstanceId",unknownErrorDiscriminantValue:"_unknown"},constantsV2:{errors:{errorInstanceIdKey:tEe(e.constants.errorInstanceIdKey),errorDiscriminant:{originalValue:"error",camelCase:"error",snakeCase:"error",pascalCase:"Error",screamingSnakeCase:"ERROR",wireValue:"error"},errorContentKey:{originalValue:"content",camelCase:"content",snakeCase:"content",pascalCase:"Content",screamingSnakeCase:"CONTENT",wireValue:"content"}},errorsV2:{errorInstanceIdKey:DF(e.constants.errorInstanceIdKey),errorDiscriminant:{name:{unsafeName:{originalValue:"error",camelCase:"error",snakeCase:"error",pascalCase:"Error",screamingSnakeCase:"ERROR"},safeName:{originalValue:"error",camelCase:"error",snakeCase:"error",pascalCase:"Error",screamingSnakeCase:"ERROR"}},wireValue:"error"},errorContentKey:{name:{unsafeName:{originalValue:"content",camelCase:"content",snakeCase:"content",pascalCase:"Content",screamingSnakeCase:"CONTENT"},safeName:{originalValue:"content",camelCase:"content",snakeCase:"content",pascalCase:"Content",screamingSnakeCase:"CONTENT"}},wireValue:"content"}}},defaultEnvironment:e.defaultEnvironment,environments:e.environments.map(n=>Wag(n)),errorDiscriminant:e.errorDiscriminationStrategy.type==="property"?wF(e.errorDiscriminationStrategy.discriminant.name):void 0,errorDiscriminationStrategy:rr.V5.ir.ErrorDiscriminationStrategy._visit(e.errorDiscriminationStrategy,{statusCode:rr.V4.ir.ErrorDiscriminationStrategy.statusCode,property:n=>rr.V4.ir.ErrorDiscriminationStrategy.property({discriminant:DF(n.discriminant),contentProperty:DF(n.contentProperty)}),_unknown:()=>{throw new Error("Unknown ErrorDiscriminationStrategy: "+e.errorDiscriminationStrategy.type)}}),sdkConfig:e.sdkConfig}}};var eog={laterVersion:"v50",earlierVersion:"v49",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.34.0",[We.TYPESCRIPT_BROWSER_SDK]:"0.34.0",[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:"0.17.2",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:"0.0.0",[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V49.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=sy(e.types,r=>({...r,shape:rr.V50.types.Type._visit(r.shape,{union:n=>rr.V49.types.Type.union({...n,baseProperties:n.baseProperties.map(i=>({...i,valueType:sC(i.valueType)})),types:n.types.map(i=>qzA(i))}),enum:rr.V49.types.Type.enum,object:n=>rr.V49.types.Type.object({...n,properties:n.properties.map(i=>({...i,valueType:sC(i.valueType)}))}),alias:n=>rr.V49.types.Type.alias({aliasOf:sC(n.aliasOf),resolvedType:AzA(n.resolvedType)}),undiscriminatedUnion:n=>rr.V49.types.Type.undiscriminatedUnion(NzA(n)),_other:()=>{throw new Error("Encountered unknown shape")}})}));return{...e,auth:SzA(e.auth),headers:e.headers.map(r=>Nkn(r)),idempotencyHeaders:e.idempotencyHeaders.map(r=>Nkn(r)),types:t,services:sy(e.services,r=>zzA(r)),errors:sy(e.errors,r=>QzA(r)),webhookGroups:sy(e.webhookGroups,r=>jzA(r)),websocketChannels:sy(e.websocketChannels,r=>mzA(r)),pathParameters:e.pathParameters.map(r=>b9i(r)),variables:e.variables.map(r=>BzA(r))}}};function mzA(e){return{...e,headers:e.headers.map(t=>Nkn(t)),queryParameters:e.queryParameters.map(t=>bOc(t)),pathParameters:e.pathParameters.map(t=>b9i(t)),messages:e.messages.map(t=>OzA(t))}}function OzA(e){return{...e,body:PzA(e.body)}}function PzA(e){switch(e.type){case"inlinedBody":return rr.V49.websocket.WebSocketMessageBody.inlinedBody({...e,properties:e.properties.map(t=>({...t,valueType:sC(t.valueType)}))});case"reference":return rr.V49.websocket.WebSocketMessageBody.reference({...e,bodyType:sC(e.bodyType)})}}function jzA(e){return e.map(t=>wzA(t))}function wzA(e){return{...e,headers:e.headers.map(t=>Nkn(t)),payload:DzA(e.payload)}}function DzA(e){switch(e.type){case"reference":return rr.V49.webhooks.WebhookPayload.reference({...e,payloadType:sC(e.payloadType)});case"inlinedPayload":return rr.V49.webhooks.WebhookPayload.inlinedPayload({...e,properties:e.properties.map(t=>({...t,valueType:sC(t.valueType)}))})}}function SzA(e){return{...e,schemes:e.schemes.map(t=>{switch(t.type){case"basic":return rr.V49.auth.AuthScheme.basic(t);case"bearer":return rr.V49.auth.AuthScheme.bearer(t);case"header":return rr.V49.auth.AuthScheme.header(EzA(t));case"oauth":return rr.V49.auth.AuthScheme.oauth(MzA(t))}})}}function EzA(e){return{...e,valueType:sC(e.valueType)}}function MzA(e){return{...e,configuration:rr.V49.auth.OAuthConfiguration.clientCredentials({...e.configuration,tokenEndpoint:xzA(e.configuration.tokenEndpoint),refreshEndpoint:e.configuration.refreshEndpoint!=null?TzA(e.configuration.refreshEndpoint):void 0})}}function xzA(e){return{...e,requestProperties:{clientId:KJr(e.requestProperties.clientId),clientSecret:KJr(e.requestProperties.clientSecret),scopes:e.requestProperties.scopes!=null?KJr(e.requestProperties.scopes):void 0},responseProperties:{accessToken:lAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?lAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?lAr(e.responseProperties.refreshToken):void 0}}}function TzA(e){return{...e,requestProperties:{refreshToken:KJr(e.requestProperties.refreshToken)},responseProperties:{accessToken:lAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?lAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?lAr(e.responseProperties.refreshToken):void 0}}}function Nkn(e){return{...e,valueType:sC(e.valueType)}}function sC(e){return rr.V50.types.TypeReference._visit(e,{container:t=>rr.V49.types.TypeReference.container(tog(t)),primitive:t=>{var r,n,i;return((r=t.v2)==null?void 0:r.type)==="integer"?rr.V49.types.TypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.integer(t.v2)}):((n=t.v2)==null?void 0:n.type)==="double"?rr.V49.types.TypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.double(t.v2)}):((i=t.v2)==null?void 0:i.type)==="string"?rr.V49.types.TypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.string(t.v2)}):rr.V49.types.TypeReference.primitive({v1:t.v1,v2:void 0})},named:rr.V49.types.TypeReference.named,unknown:rr.V49.types.TypeReference.unknown,_other:()=>{throw new Error("Unknown type reference: "+e.type)}})}function tog(e){return rr.V50.types.ContainerType._visit(e,{list:t=>rr.V49.types.ContainerType.list(sC(t)),optional:t=>rr.V49.types.ContainerType.optional(sC(t)),set:t=>rr.V49.types.ContainerType.set(sC(t)),map:({keyType:t,valueType:r})=>rr.V49.types.ContainerType.map({keyType:sC(t),valueType:sC(r)}),literal:rr.V49.types.ContainerType.literal,_other:()=>{throw new Error("Unknown ContainerType: "+e.type)}})}function qzA(e){return{...e,shape:CzA(e.shape)}}function CzA(e){return rr.V50.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V49.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V49.types.SingleUnionTypeProperties.singleProperty({...t,type:sC(t.type)}),noProperties:rr.V49.types.SingleUnionTypeProperties.noProperties,_other:()=>{throw new Error(`Unknown SingleUnionTypeProperties: ${JSON.stringify(e)}`)}})}function AzA(e){return rr.V50.types.ResolvedTypeReference._visit(e,{container:t=>rr.V49.types.ResolvedTypeReference.container(tog(t)),named:rr.V49.types.ResolvedTypeReference.named,primitive:t=>{var r,n,i;return((r=t.v2)==null?void 0:r.type)==="integer"?rr.V49.types.ResolvedTypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.integer(t.v2)}):((n=t.v2)==null?void 0:n.type)==="double"?rr.V49.types.ResolvedTypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.double(t.v2)}):((i=t.v2)==null?void 0:i.type)==="string"?rr.V49.types.ResolvedTypeReference.primitive({v1:t.v1,v2:rr.V49.types.PrimitiveTypeV2.string(t.v2)}):rr.V49.types.ResolvedTypeReference.primitive({v1:t.v1,v2:void 0})},unknown:rr.V49.types.ResolvedTypeReference.unknown,_other:()=>{throw new Error("Unknown ResolvedTypeReference: "+e.type)}})}function NzA(e){return{members:e.members.map(t=>({...t,type:sC(t.type)}))}}function zzA(e){return{...e,pathParameters:e.pathParameters.map(t=>b9i(t)),headers:e.headers.map(t=>Nkn(t)),endpoints:e.endpoints.map(t=>IzA(t))}}function b9i(e){return{...e,valueType:sC(e.valueType)}}function BzA(e){return{...e,type:sC(e.type)}}function IzA(e){return{...e,pagination:e.pagination!=null?VzA(e.pagination):void 0,allPathParameters:e.allPathParameters.map(t=>b9i(t)),pathParameters:e.pathParameters.map(t=>b9i(t)),sdkRequest:e.sdkRequest!=null?JzA(e.sdkRequest):void 0,requestBody:e.requestBody!=null?YzA(e.requestBody):void 0,response:e.response!=null?RzA(e.response):void 0,headers:e.headers.map(t=>Nkn(t)),queryParameters:e.queryParameters.map(t=>bOc(t))}}function RzA(e){return{...e,body:e.body!=null?FzA(e.body):void 0}}function FzA(e){switch(e.type){case"json":return rr.V49.http.HttpResponseBody.json(rog(e.value));case"fileDownload":return rr.V49.http.HttpResponseBody.fileDownload(e);case"text":return rr.V49.http.HttpResponseBody.text(e);case"streaming":return rr.V49.http.HttpResponseBody.streaming(nog(e.value));case"streamParameter":return rr.V49.http.HttpResponseBody.streamParameter(UzA(e))}}function rog(e){switch(e.type){case"response":return rr.V49.http.JsonResponse.response({...e,responseBodyType:sC(e.responseBodyType)});case"nestedPropertyAsResponse":return rr.V49.http.JsonResponse.nestedPropertyAsResponse({...e,responseBodyType:sC(e.responseBodyType),responseProperty:e.responseProperty!=null?vOc(e.responseProperty):void 0})}}function nog(e){switch(e.type){case"json":return rr.V49.http.StreamingResponse.json({...e,payload:sC(e.payload)});case"text":return rr.V49.http.StreamingResponse.text(e);case"sse":return rr.V49.http.StreamingResponse.sse({...e,payload:sC(e.payload)})}}function LzA(e){switch(e.type){case"json":return rr.V49.http.NonStreamHttpResponseBody.json(rog(e.value));case"text":return rr.V49.http.NonStreamHttpResponseBody.text(e);case"fileDownload":return rr.V49.http.NonStreamHttpResponseBody.fileDownload(e)}}function UzA(e){return{nonStreamResponse:LzA(e.nonStreamResponse),streamResponse:nog(e.streamResponse)}}function VzA(e){switch(e.type){case"cursor":return rr.V49.http.Pagination.cursor(WzA(e));case"offset":return rr.V49.http.Pagination.offset(HzA(e))}}function WzA(e){return{...e,page:KJr(e.page),next:lAr(e.next),results:lAr(e.results)}}function HzA(e){return{...e,page:KJr(e.page),results:lAr(e.results),step:e.step!=null?KJr(e.step):void 0}}function KJr(e){return{...e,property:$zA(e.property)}}function $zA(e){switch(e.type){case"query":return rr.V49.RequestPropertyValue.query(bOc(e));case"body":return rr.V49.RequestPropertyValue.body(vOc(e))}}function lAr(e){return{...e,property:vOc(e.property)}}function vOc(e){return{...e,valueType:sC(e.valueType)}}function bOc(e){return{...e,valueType:sC(e.valueType)}}function JzA(e){return{...e,streamParameter:e.streamParameter!=null?KJr(e.streamParameter):void 0,shape:GzA(e.shape)}}function GzA(e){return rr.V50.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V49.http.SdkRequestShape.justRequestBody(KzA(t)),wrapper:rr.V49.http.SdkRequestShape.wrapper,_other:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function KzA(e){switch(e.type){case"bytes":return rr.V49.http.SdkRequestBodyType.bytes(e);case"typeReference":return rr.V49.http.SdkRequestBodyType.typeReference({...e,requestBodyType:sC(e.requestBodyType)})}}function YzA(e){return rr.V50.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V49.http.HttpRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,valueType:sC(r.valueType)}))}),reference:t=>rr.V49.http.HttpRequestBody.reference({...t,requestBodyType:sC(t.requestBodyType)}),fileUpload:t=>rr.V49.http.HttpRequestBody.fileUpload({...t,properties:t.properties.map(r=>{switch(r.type){case"bodyProperty":return rr.V49.http.FileUploadRequestProperty.bodyProperty({...r,valueType:sC(r.valueType)});case"file":return rr.V49.http.FileUploadRequestProperty.file(XzA(r.value))}})}),bytes:t=>rr.V49.http.HttpRequestBody.bytes(t),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function XzA(e){switch(e.type){case"file":return rr.V49.http.FileProperty.file(e);case"fileArray":return rr.V49.http.FileProperty.fileArray(e)}}function QzA(e){return{...e,type:e.type!=null?sC(e.type):void 0}}var oog={laterVersion:"v51",earlierVersion:"v50",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:"0.1.2",[We.SWIFT_MODEL]:Zr,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V50.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>{let t=sy(e.types,r=>{let n=r.autogeneratedExamples.map(a=>iog(a)),i=r.userProvidedExamples.map(a=>iog(a));return{...r,examples:[...n,...i]}});return{...e,types:t,services:sy(e.services,r=>sBA(r)),errors:sy(e.errors,r=>pBA(r)),webhookGroups:sy(e.webhookGroups,r=>tBA(r)),websocketChannels:sy(e.websocketChannels,r=>ZzA(r))}}};function ZzA(e){return{...e,examples:e.examples.map(t=>kzA(t))}}function kzA(e){return{...e,pathParameters:e.pathParameters.map(t=>GCo(t)),headers:e.headers.map(t=>gOc(t)),queryParameters:e.queryParameters.map(t=>uog(t)),messages:e.messages.map(t=>({...t,body:eBA(t.body)}))}}function uog(e){return{...e,value:SF(e.value)}}function gOc(e){return{...e,value:SF(e.value)}}function GCo(e){return{...e,value:SF(e.value)}}function eBA(e){switch(e.type){case"inlinedBody":return rr.V50.ExampleWebSocketMessageBody.inlinedBody(sog(e));case"reference":return rr.V50.ExampleWebSocketMessageBody.reference(SF(e))}}function sog(e){return{...e,properties:e.properties.map(t=>({...t,value:SF(t.value)}))}}function tBA(e){return e.map(t=>{var r;return{...t,examples:(r=t.examples)==null?void 0:r.map(n=>({...n,payload:SF(n.payload)}))}})}function iog(e){return{...e,shape:cog(e.shape)}}function mOc(e){switch(e.type){case"primitive":return rr.V50.ExampleTypeReferenceShape.primitive({...e.primitive});case"container":return rr.V50.ExampleTypeReferenceShape.container(rBA(e));case"unknown":return rr.V50.ExampleTypeReferenceShape.unknown(e.unknown);case"named":return rr.V50.ExampleTypeReferenceShape.named({...e,typeName:e.typeName,shape:cog(e.shape)})}}function rBA(e){switch(e.container.type){case"list":return rr.V50.ExampleContainer.list(e.container.list.map(t=>SF(t)));case"set":return rr.V50.ExampleContainer.set(e.container.set.map(t=>SF(t)));case"optional":return rr.V50.ExampleContainer.optional(e.container.optional!=null?SF(e.container.optional):void 0);case"map":return rr.V50.ExampleContainer.map(e.container.map.map(t=>({key:SF(t.key),value:SF(t.value)})));case"literal":return rr.V50.ExampleContainer.literal(e.container.literal)}}function SF(e){return{...e,shape:mOc(e.shape)}}function cog(e){switch(e.type){case"object":return rr.V50.ExampleTypeShape.object({properties:e.properties.map(t=>log(t))});case"alias":return rr.V50.ExampleTypeShape.alias({value:{...SF(e.value)}});case"enum":return rr.V50.ExampleTypeShape.enum(e);case"union":return rr.V50.ExampleTypeShape.union(iBA(e));case"undiscriminatedUnion":return rr.V50.ExampleTypeShape.undiscriminatedUnion(nBA(e))}}function nBA(e){return{...e,singleUnionType:SF(e.singleUnionType)}}function iBA(e){return{...e,singleUnionType:aBA(e.singleUnionType)}}function aBA(e){return{...e,shape:oBA(e.shape)}}function oBA(e){switch(e.type){case"samePropertiesAsObject":return rr.V50.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...e,object:uBA(e.object)});case"singleProperty":return rr.V50.ExampleSingleUnionTypeProperties.singleProperty({...e,shape:mOc(e.shape)});case"noProperties":return rr.V50.ExampleSingleUnionTypeProperties.noProperties()}}function uBA(e){return{...e,properties:e.properties.map(t=>log(t))}}function log(e){return{...e,value:{...e.value,shape:mOc(e.value.shape)}}}function sBA(e){return{...e,endpoints:e.endpoints.map(t=>cBA(t))}}function cBA(e){return{...e,autogeneratedExamples:e.autogeneratedExamples.map(t=>({...t,example:aog(t.example)})),userSpecifiedExamples:e.userSpecifiedExamples.map(t=>({...t,example:t.example!=null?aog(t.example):void 0}))}}function aog(e){return{...e,rootPathParameters:e.rootPathParameters.map(t=>GCo(t)),servicePathParameters:e.servicePathParameters.map(t=>GCo(t)),endpointPathParameters:e.endpointPathParameters.map(t=>GCo(t)),serviceHeaders:e.serviceHeaders.map(t=>gOc(t)),endpointHeaders:e.endpointHeaders.map(t=>gOc(t)),queryParameters:e.queryParameters.map(t=>uog(t)),request:e.request!=null?dBA(e.request):void 0,response:lBA(e.response)}}function lBA(e){switch(e.type){case"error":return rr.V50.ExampleResponse.error({...e,body:e.body!=null?SF(e.body):void 0});case"ok":return rr.V50.ExampleResponse.ok(fBA(e))}}function fBA(e){switch(e.value.type){case"body":return rr.V50.ExampleEndpointSuccessResponse.body(e.value.value!=null?SF(e.value.value):void 0);case"stream":return rr.V50.ExampleEndpointSuccessResponse.stream(e.value.value.map(t=>SF(t)));case"sse":return rr.V50.ExampleEndpointSuccessResponse.sse(e.value.value.map(t=>({...t,data:SF(t.data)})))}}function dBA(e){switch(e.type){case"inlinedRequestBody":return rr.V50.ExampleRequestBody.inlinedRequestBody(sog(e));case"reference":return rr.V50.ExampleRequestBody.reference(SF(e))}}function pBA(e){return{...e,examples:e.examples.map(t=>({...t,shape:SF(t.shape)}))}}var pog={laterVersion:"v52",earlierVersion:"v51",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:Zr,[We.TYPESCRIPT_BROWSER_SDK]:Zr,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:Zr,[We.TYPESCRIPT_EXPRESS]:Zr,[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:Zr,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:Zr,[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:Zr,[We.SWIFT_MODEL]:Zr,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>tb.V51.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,apiVersion:e.apiVersion!=null?hBA(e.apiVersion):void 0,auth:jBA(e.auth),headers:e.headers.map(t=>rjn(t)),idempotencyHeaders:e.idempotencyHeaders.map(t=>rjn(t)),types:_BA(e.types),services:sy(e.services,t=>NBA(t)),webhookGroups:sy(e.webhookGroups,t=>gBA(t)),websocketChannels:sy(e.websocketChannels,t=>yBA(t)),errors:sy(e.errors,t=>XBA(t)),pathParameters:e.pathParameters.map(t=>g9i(t)),variables:e.variables.map(t=>zBA(t))})};function _BA(e){return sy(e,t=>({...t,autogeneratedExamples:t.autogeneratedExamples.map(r=>fog(r)),userProvidedExamples:t.userProvidedExamples.map(r=>fog(r)),shape:rr.V52.types.Type._visit(t.shape,{union:r=>rr.V51.types.Type.union({...r,baseProperties:r.baseProperties.map(n=>({...n,valueType:tT(n.valueType)})),types:r.types.map(n=>TBA(n))}),enum:rr.V51.types.Type.enum,object:r=>rr.V51.types.Type.object({...r,properties:r.properties.map(n=>({...n,valueType:tT(n.valueType)}))}),alias:r=>rr.V51.types.Type.alias({aliasOf:tT(r.aliasOf),resolvedType:CBA(r.resolvedType)}),undiscriminatedUnion:r=>rr.V51.types.Type.undiscriminatedUnion(ABA(r)),_other:()=>{throw new Error("Encountered unknown shape")}})}))}function hBA(e){return rr.V51.ApiVersionScheme.header({...e,header:rjn(e.header)})}function yBA(e){return{...e,headers:e.headers.map(t=>rjn(t)),queryParameters:e.queryParameters.map(t=>jOc(t)),pathParameters:e.pathParameters.map(t=>g9i(t)),messages:e.messages.map(t=>vBA(t)),examples:e.examples.map(t=>QBA(t))}}function vBA(e){return{...e,body:bBA(e.body)}}function bBA(e){switch(e.type){case"inlinedBody":return rr.V51.websocket.WebSocketMessageBody.inlinedBody({...e,properties:e.properties.map(t=>({...t,valueType:tT(t.valueType)}))});case"reference":return rr.V51.websocket.WebSocketMessageBody.reference({...e,bodyType:tT(e.bodyType)})}}function gBA(e){return e.map(t=>mBA(t))}function mBA(e){return{...e,headers:e.headers.map(t=>rjn(t)),payload:OBA(e.payload),examples:e.examples!=null?e.examples.map(t=>PBA(t)):void 0}}function OBA(e){switch(e.type){case"reference":return rr.V51.webhooks.WebhookPayload.reference({...e,payloadType:tT(e.payloadType)});case"inlinedPayload":return rr.V51.webhooks.WebhookPayload.inlinedPayload({...e,properties:e.properties.map(t=>({...t,valueType:tT(t.valueType)}))})}}function PBA(e){return{...e,payload:EF(e.payload)}}function jBA(e){return{...e,schemes:e.schemes.map(t=>{switch(t.type){case"basic":return rr.V51.auth.AuthScheme.basic(t);case"bearer":return rr.V51.auth.AuthScheme.bearer(t);case"header":return rr.V51.auth.AuthScheme.header(wBA(t));case"oauth":return rr.V51.auth.AuthScheme.oauth(DBA(t))}})}}function wBA(e){return{...e,valueType:tT(e.valueType)}}function DBA(e){return{...e,configuration:rr.V51.auth.OAuthConfiguration.clientCredentials({...e.configuration,tokenEndpoint:SBA(e.configuration.tokenEndpoint),refreshEndpoint:e.configuration.refreshEndpoint!=null?EBA(e.configuration.refreshEndpoint):void 0})}}function SBA(e){return{...e,requestProperties:{clientId:YJr(e.requestProperties.clientId),clientSecret:YJr(e.requestProperties.clientSecret),scopes:e.requestProperties.scopes!=null?YJr(e.requestProperties.scopes):void 0},responseProperties:{accessToken:fAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?fAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?fAr(e.responseProperties.refreshToken):void 0}}}function EBA(e){return{...e,requestProperties:{refreshToken:YJr(e.requestProperties.refreshToken)},responseProperties:{accessToken:fAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?fAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?fAr(e.responseProperties.refreshToken):void 0}}}function rjn(e){return{...e,valueType:tT(e.valueType)}}function tT(e){return rr.V52.types.TypeReference._visit(e,{container:t=>rr.V51.types.TypeReference.container(hog(t)),primitive:t=>rr.V51.types.TypeReference.primitive(_og(t)),named:rr.V51.types.TypeReference.named,unknown:rr.V51.types.TypeReference.unknown,_other:()=>{throw new Error("Unknown type reference: "+e.type)}})}function _og(e){return{v1:MBA(e.v1),v2:e.v2!=null?xBA(e.v2):void 0}}function MBA(e){switch(e){case"UINT":return rr.V51.types.PrimitiveTypeV1.Integer;case"UINT_64":return rr.V51.types.PrimitiveTypeV1.Long}return e}function xBA(e){switch(e.type){case"integer":return rr.V51.types.PrimitiveTypeV2.integer(e);case"double":return rr.V51.types.PrimitiveTypeV2.double(e);case"string":return rr.V51.types.PrimitiveTypeV2.string(e);case"boolean":return rr.V51.types.PrimitiveTypeV2.boolean(e);case"long":return rr.V51.types.PrimitiveTypeV2.long(e);case"bigInteger":return rr.V51.types.PrimitiveTypeV2.bigInteger(e);case"uint":return;case"uint64":return;default:fl(e)}}function hog(e){return rr.V52.types.ContainerType._visit(e,{list:t=>rr.V51.types.ContainerType.list(tT(t)),optional:t=>rr.V51.types.ContainerType.optional(tT(t)),set:t=>rr.V51.types.ContainerType.set(tT(t)),map:({keyType:t,valueType:r})=>rr.V51.types.ContainerType.map({keyType:tT(t),valueType:tT(r)}),literal:rr.V51.types.ContainerType.literal,_other:()=>{throw new Error("Unknown ContainerType: "+e.type)}})}function TBA(e){return{...e,shape:qBA(e.shape)}}function qBA(e){return rr.V52.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V51.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V51.types.SingleUnionTypeProperties.singleProperty({...t,type:tT(t.type)}),noProperties:rr.V51.types.SingleUnionTypeProperties.noProperties,_other:()=>{throw new Error(`Unknown SingleUnionTypeProperties: ${JSON.stringify(e)}`)}})}function CBA(e){return rr.V52.types.ResolvedTypeReference._visit(e,{container:t=>rr.V51.types.ResolvedTypeReference.container(hog(t)),named:rr.V51.types.ResolvedTypeReference.named,primitive:t=>rr.V51.types.ResolvedTypeReference.primitive(_og(t)),unknown:rr.V51.types.ResolvedTypeReference.unknown,_other:()=>{throw new Error("Unknown ResolvedTypeReference: "+e.type)}})}function ABA(e){return{members:e.members.map(t=>({...t,type:tT(t.type)}))}}function NBA(e){return{...e,pathParameters:e.pathParameters.map(t=>g9i(t)),headers:e.headers.map(t=>rjn(t)),endpoints:e.endpoints.map(t=>BBA(t))}}function g9i(e){return{...e,valueType:tT(e.valueType)}}function zBA(e){return{...e,type:tT(e.type)}}function BBA(e){return{...e,pagination:e.pagination!=null?UBA(e.pagination):void 0,allPathParameters:e.allPathParameters.map(t=>g9i(t)),pathParameters:e.pathParameters.map(t=>g9i(t)),sdkRequest:e.sdkRequest!=null?$BA(e.sdkRequest):void 0,requestBody:e.requestBody!=null?KBA(e.requestBody):void 0,response:e.response!=null?IBA(e.response):void 0,headers:e.headers.map(t=>rjn(t)),queryParameters:e.queryParameters.map(t=>jOc(t)),autogeneratedExamples:e.autogeneratedExamples.map(t=>({...t,example:dog(t.example)})),userSpecifiedExamples:e.userSpecifiedExamples.map(t=>({...t,example:t.example!=null?dog(t.example):void 0}))}}function IBA(e){return{...e,body:e.body!=null?RBA(e.body):void 0}}function RBA(e){switch(e.type){case"json":return rr.V51.http.HttpResponseBody.json(yog(e.value));case"fileDownload":return rr.V51.http.HttpResponseBody.fileDownload(e);case"text":return rr.V51.http.HttpResponseBody.text(e);case"streaming":return rr.V51.http.HttpResponseBody.streaming(vog(e.value));case"streamParameter":return rr.V51.http.HttpResponseBody.streamParameter(LBA(e))}}function yog(e){switch(e.type){case"response":return rr.V51.http.JsonResponse.response({...e,responseBodyType:tT(e.responseBodyType)});case"nestedPropertyAsResponse":return rr.V51.http.JsonResponse.nestedPropertyAsResponse({...e,responseBodyType:tT(e.responseBodyType),responseProperty:e.responseProperty!=null?POc(e.responseProperty):void 0})}}function vog(e){switch(e.type){case"json":return rr.V51.http.StreamingResponse.json({...e,payload:tT(e.payload)});case"text":return rr.V51.http.StreamingResponse.text(e);case"sse":return rr.V51.http.StreamingResponse.sse({...e,payload:tT(e.payload)})}}function FBA(e){switch(e.type){case"json":return rr.V51.http.NonStreamHttpResponseBody.json(yog(e.value));case"text":return rr.V51.http.NonStreamHttpResponseBody.text(e);case"fileDownload":return rr.V51.http.NonStreamHttpResponseBody.fileDownload(e)}}function LBA(e){return{nonStreamResponse:FBA(e.nonStreamResponse),streamResponse:vog(e.streamResponse)}}function UBA(e){switch(e.type){case"cursor":return rr.V51.http.Pagination.cursor(VBA(e));case"offset":return rr.V51.http.Pagination.offset(WBA(e))}}function VBA(e){return{...e,page:YJr(e.page),next:fAr(e.next),results:fAr(e.results)}}function WBA(e){return{...e,page:YJr(e.page),results:fAr(e.results),step:e.step!=null?YJr(e.step):void 0}}function YJr(e){return{...e,property:HBA(e.property)}}function HBA(e){switch(e.type){case"query":return rr.V51.RequestPropertyValue.query(jOc(e));case"body":return rr.V51.RequestPropertyValue.body(POc(e))}}function fAr(e){return{...e,property:POc(e.property)}}function POc(e){return{...e,valueType:tT(e.valueType)}}function jOc(e){return{...e,valueType:tT(e.valueType)}}function $BA(e){return{...e,streamParameter:e.streamParameter!=null?YJr(e.streamParameter):void 0,shape:JBA(e.shape)}}function JBA(e){return rr.V52.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V51.http.SdkRequestShape.justRequestBody(GBA(t)),wrapper:rr.V51.http.SdkRequestShape.wrapper,_other:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function GBA(e){switch(e.type){case"bytes":return rr.V51.http.SdkRequestBodyType.bytes(e);case"typeReference":return rr.V51.http.SdkRequestBodyType.typeReference({...e,requestBodyType:tT(e.requestBodyType)})}}function KBA(e){return rr.V52.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V51.http.HttpRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,valueType:tT(r.valueType)}))}),reference:t=>rr.V51.http.HttpRequestBody.reference({...t,requestBodyType:tT(t.requestBodyType)}),fileUpload:t=>rr.V51.http.HttpRequestBody.fileUpload({...t,properties:t.properties.map(r=>{switch(r.type){case"bodyProperty":return rr.V51.http.FileUploadRequestProperty.bodyProperty({...r,valueType:tT(r.valueType)});case"file":return rr.V51.http.FileUploadRequestProperty.file(YBA(r.value))}})}),bytes:t=>rr.V51.http.HttpRequestBody.bytes(t),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function YBA(e){switch(e.type){case"file":return rr.V51.http.FileProperty.file(e);case"fileArray":return rr.V51.http.FileProperty.fileArray(e)}}function XBA(e){return{...e,type:e.type!=null?tT(e.type):void 0,examples:e.examples.map(t=>({...t,shape:EF(t.shape)}))}}function QBA(e){return{...e,pathParameters:e.pathParameters.map(t=>KCo(t)),headers:e.headers.map(t=>OOc(t)),queryParameters:e.queryParameters.map(t=>bog(t)),messages:e.messages.map(t=>({...t,body:ZBA(t.body)}))}}function bog(e){return{...e,value:EF(e.value)}}function OOc(e){return{...e,value:EF(e.value)}}function KCo(e){return{...e,value:EF(e.value)}}function ZBA(e){switch(e.type){case"inlinedBody":return rr.V51.ExampleWebSocketMessageBody.inlinedBody(gog(e));case"reference":return rr.V51.ExampleWebSocketMessageBody.reference(EF(e))}}function gog(e){return{...e,properties:e.properties.map(t=>({...t,value:EF(t.value)}))}}function fog(e){return{...e,shape:Oog(e.shape)}}function wOc(e){switch(e.type){case"primitive":return rr.V51.ExampleTypeReferenceShape.primitive(kBA(e));case"container":return rr.V51.ExampleTypeReferenceShape.container(eIA(e));case"unknown":return rr.V51.ExampleTypeReferenceShape.unknown(e.unknown);case"named":return rr.V51.ExampleTypeReferenceShape.named({...e,typeName:e.typeName,shape:Oog(e.shape)})}}function mog(e){switch(e.type){case"integer":return rr.V51.ExamplePrimitive.integer(e.integer);case"uint":return rr.V51.ExamplePrimitive.integer(e.uint);case"uint64":return rr.V51.ExamplePrimitive.integer(e.uint64);case"double":return rr.V51.ExamplePrimitive.double(e.double);case"long":return rr.V51.ExamplePrimitive.long(e.long);case"boolean":return rr.V51.ExamplePrimitive.boolean(e.boolean);case"string":return rr.V51.ExamplePrimitive.string(e.string);case"date":return rr.V51.ExamplePrimitive.date(e.date);case"datetime":return rr.V51.ExamplePrimitive.datetime(e.datetime);case"uuid":return rr.V51.ExamplePrimitive.uuid(e.uuid)}}function kBA(e){return mog(e.primitive)}function eIA(e){switch(e.container.type){case"list":return rr.V51.ExampleContainer.list({list:e.container.list.map(t=>EF(t)),itemType:tT(e.container.itemType)});case"set":return rr.V51.ExampleContainer.set({set:e.container.set.map(t=>EF(t)),itemType:tT(e.container.itemType)});case"optional":return rr.V51.ExampleContainer.optional({optional:e.container.optional!=null?EF(e.container.optional):void 0,valueType:tT(e.container.valueType)});case"map":return rr.V51.ExampleContainer.map({map:e.container.map.map(t=>({key:EF(t.key),value:EF(t.value)})),keyType:tT(e.container.keyType),valueType:tT(e.container.valueType)});case"literal":return rr.V51.ExampleContainer.literal({literal:mog(e.container.literal)})}}function EF(e){return{...e,shape:wOc(e.shape)}}function Oog(e){switch(e.type){case"object":return rr.V51.ExampleTypeShape.object({properties:e.properties.map(t=>Pog(t))});case"alias":return rr.V51.ExampleTypeShape.alias({value:{...EF(e.value)}});case"enum":return rr.V51.ExampleTypeShape.enum(e);case"union":return rr.V51.ExampleTypeShape.union(rIA(e));case"undiscriminatedUnion":return rr.V51.ExampleTypeShape.undiscriminatedUnion(tIA(e))}}function tIA(e){return{...e,singleUnionType:EF(e.singleUnionType)}}function rIA(e){return{...e,singleUnionType:nIA(e.singleUnionType)}}function nIA(e){return{...e,shape:iIA(e.shape)}}function iIA(e){switch(e.type){case"samePropertiesAsObject":return rr.V51.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...e,object:aIA(e.object)});case"singleProperty":return rr.V51.ExampleSingleUnionTypeProperties.singleProperty({...e,shape:wOc(e.shape)});case"noProperties":return rr.V51.ExampleSingleUnionTypeProperties.noProperties()}}function aIA(e){return{...e,properties:e.properties.map(t=>Pog(t))}}function Pog(e){return{...e,value:{...e.value,shape:wOc(e.value.shape)}}}function dog(e){return{...e,rootPathParameters:e.rootPathParameters.map(t=>KCo(t)),servicePathParameters:e.servicePathParameters.map(t=>KCo(t)),endpointPathParameters:e.endpointPathParameters.map(t=>KCo(t)),serviceHeaders:e.serviceHeaders.map(t=>OOc(t)),endpointHeaders:e.endpointHeaders.map(t=>OOc(t)),queryParameters:e.queryParameters.map(t=>bog(t)),request:e.request!=null?sIA(e.request):void 0,response:oIA(e.response)}}function oIA(e){switch(e.type){case"error":return rr.V51.ExampleResponse.error({...e,body:e.body!=null?EF(e.body):void 0});case"ok":return rr.V51.ExampleResponse.ok(uIA(e))}}function uIA(e){switch(e.value.type){case"body":return rr.V51.ExampleEndpointSuccessResponse.body(e.value.value!=null?EF(e.value.value):void 0);case"stream":return rr.V51.ExampleEndpointSuccessResponse.stream(e.value.value.map(t=>EF(t)));case"sse":return rr.V51.ExampleEndpointSuccessResponse.sse(e.value.value.map(t=>({...t,data:EF(t.data)})))}}function sIA(e){switch(e.type){case"inlinedRequestBody":return rr.V51.ExampleRequestBody.inlinedRequestBody(gog(e));case"reference":return rr.V51.ExampleRequestBody.reference(EF(e))}}var Dog={laterVersion:"v53",earlierVersion:"v52",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:"0.38.0-rc0",[We.TYPESCRIPT_BROWSER_SDK]:"0.38.0-rc0",[We.TYPESCRIPT]:"0.38.0-rc0",[We.TYPESCRIPT_SDK]:"0.38.0-rc0",[We.TYPESCRIPT_EXPRESS]:"0.17.3",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"1.1.0-rc0",[We.PYTHON_PYDANTIC]:"1.1.0-rc0",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:"0.1.0",[We.STOPLIGHT]:Zr,[We.POSTMAN]:"0.2.0",[We.PYTHON_SDK]:"3.3.0-rc0",[We.GO_FIBER]:Zr,[We.GO_MODEL]:Zr,[We.GO_SDK]:Zr,[We.RUBY_MODEL]:Zr,[We.RUBY_SDK]:Zr,[We.CSHARP_MODEL]:Zr,[We.CSHARP_SDK]:"0.5.0",[We.SWIFT_MODEL]:Zr,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:"0.1.0"},jsonifyEarlierVersion:e=>tb.V52.IntermediateRepresentation.jsonOrThrow(e,{unrecognizedObjectKeys:"strip",skipValidation:!0}),migrateBackwards:e=>({...e,apiVersion:e.apiVersion!=null?lIA(e.apiVersion):void 0,auth:bIA(e.auth),headers:e.headers.map(t=>njn(t)),idempotencyHeaders:e.idempotencyHeaders.map(t=>njn(t)),types:cIA(e.types),services:sy(e.services,t=>xIA(t)),webhookGroups:sy(e.webhookGroups,t=>_IA(t)),websocketChannels:sy(e.websocketChannels,t=>fIA(t)),errors:sy(e.errors,t=>$IA(t)),pathParameters:e.pathParameters.map(t=>m9i(t)),variables:e.variables.map(t=>TIA(t))})};function cIA(e){return sy(e,t=>({...t,autogeneratedExamples:t.autogeneratedExamples.map(r=>jog(r)),userProvidedExamples:t.userProvidedExamples.map(r=>jog(r)),shape:rr.V53.types.Type._visit(t.shape,{union:r=>rr.V52.types.Type.union({...r,baseProperties:r.baseProperties.map(n=>({...n,valueType:rT(n.valueType)})),types:r.types.map(n=>DIA(n))}),enum:rr.V52.types.Type.enum,object:r=>rr.V52.types.Type.object({...r,properties:r.properties.map(n=>({...n,valueType:rT(n.valueType)}))}),alias:r=>rr.V52.types.Type.alias({aliasOf:rT(r.aliasOf),resolvedType:EIA(r.resolvedType)}),undiscriminatedUnion:r=>rr.V52.types.Type.undiscriminatedUnion(MIA(r)),_other:()=>{throw new Error("Encountered unknown shape")}})}))}function lIA(e){return rr.V52.ApiVersionScheme.header({...e,header:njn(e.header)})}function fIA(e){return{...e,headers:e.headers.map(t=>njn(t)),queryParameters:e.queryParameters.map(t=>EOc(t)),pathParameters:e.pathParameters.map(t=>m9i(t)),messages:e.messages.map(t=>dIA(t)),examples:e.examples.map(t=>JIA(t))}}function dIA(e){return{...e,body:pIA(e.body)}}function pIA(e){switch(e.type){case"inlinedBody":return rr.V52.websocket.WebSocketMessageBody.inlinedBody({...e,properties:e.properties.map(t=>({...t,valueType:rT(t.valueType)}))});case"reference":return rr.V52.websocket.WebSocketMessageBody.reference({...e,bodyType:rT(e.bodyType)})}}function _IA(e){return e.map(t=>hIA(t))}function hIA(e){return{...e,headers:e.headers.map(t=>njn(t)),payload:yIA(e.payload),examples:e.examples!=null?e.examples.map(t=>vIA(t)):void 0}}function yIA(e){switch(e.type){case"reference":return rr.V52.webhooks.WebhookPayload.reference({...e,payloadType:rT(e.payloadType)});case"inlinedPayload":return rr.V52.webhooks.WebhookPayload.inlinedPayload({...e,properties:e.properties.map(t=>({...t,valueType:rT(t.valueType)}))})}}function vIA(e){return{...e,payload:MF(e.payload)}}function bIA(e){return{...e,schemes:e.schemes.map(t=>{switch(t.type){case"basic":return rr.V52.auth.AuthScheme.basic(t);case"bearer":return rr.V52.auth.AuthScheme.bearer(t);case"header":return rr.V52.auth.AuthScheme.header(gIA(t));case"oauth":return rr.V52.auth.AuthScheme.oauth(mIA(t))}})}}function gIA(e){return{...e,valueType:rT(e.valueType)}}function mIA(e){return{...e,configuration:rr.V52.auth.OAuthConfiguration.clientCredentials({...e.configuration,tokenEndpoint:OIA(e.configuration.tokenEndpoint),refreshEndpoint:e.configuration.refreshEndpoint!=null?PIA(e.configuration.refreshEndpoint):void 0})}}function OIA(e){return{...e,requestProperties:{clientId:XJr(e.requestProperties.clientId),clientSecret:XJr(e.requestProperties.clientSecret),scopes:e.requestProperties.scopes!=null?XJr(e.requestProperties.scopes):void 0},responseProperties:{accessToken:dAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?dAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?dAr(e.responseProperties.refreshToken):void 0}}}function PIA(e){return{...e,requestProperties:{refreshToken:XJr(e.requestProperties.refreshToken)},responseProperties:{accessToken:dAr(e.responseProperties.accessToken),expiresIn:e.responseProperties.expiresIn!=null?dAr(e.responseProperties.expiresIn):void 0,refreshToken:e.responseProperties.refreshToken!=null?dAr(e.responseProperties.refreshToken):void 0}}}function njn(e){return{...e,valueType:rT(e.valueType)}}function rT(e){return rr.V53.types.TypeReference._visit(e,{container:t=>rr.V52.types.TypeReference.container(Eog(t)),primitive:t=>rr.V52.types.TypeReference.primitive(Sog(t)),named:rr.V52.types.TypeReference.named,unknown:rr.V52.types.TypeReference.unknown,_other:()=>{throw new Error("Unknown type reference: "+e.type)}})}function Sog(e){return{v1:jIA(e.v1),v2:e.v2!=null?wIA(e.v2):void 0}}function jIA(e){switch(e){case"FLOAT":return rr.V52.types.PrimitiveTypeV1.Double}return e}function wIA(e){switch(e.type){case"integer":return rr.V52.types.PrimitiveTypeV2.integer(e);case"double":return rr.V52.types.PrimitiveTypeV2.double(e);case"string":return rr.V52.types.PrimitiveTypeV2.string(e);case"boolean":return rr.V52.types.PrimitiveTypeV2.boolean(e);case"long":return rr.V52.types.PrimitiveTypeV2.long(e);case"bigInteger":return rr.V52.types.PrimitiveTypeV2.bigInteger(e);case"uint":return rr.V52.types.PrimitiveTypeV2.uint();case"uint64":return rr.V52.types.PrimitiveTypeV2.uint64();case"date":return;case"dateTime":return;case"uuid":return;case"base64":return;case"float":return;default:fl(e)}}function Eog(e){return rr.V53.types.ContainerType._visit(e,{list:t=>rr.V52.types.ContainerType.list(rT(t)),optional:t=>rr.V52.types.ContainerType.optional(rT(t)),set:t=>rr.V52.types.ContainerType.set(rT(t)),map:({keyType:t,valueType:r})=>rr.V52.types.ContainerType.map({keyType:rT(t),valueType:rT(r)}),literal:rr.V52.types.ContainerType.literal,_other:()=>{throw new Error("Unknown ContainerType: "+e.type)}})}function DIA(e){return{...e,shape:SIA(e.shape)}}function SIA(e){return rr.V53.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V52.types.SingleUnionTypeProperties.samePropertiesAsObject(t),singleProperty:t=>rr.V52.types.SingleUnionTypeProperties.singleProperty({...t,type:rT(t.type)}),noProperties:rr.V52.types.SingleUnionTypeProperties.noProperties,_other:()=>{throw new Error(`Unknown SingleUnionTypeProperties: ${JSON.stringify(e)}`)}})}function EIA(e){return rr.V53.types.ResolvedTypeReference._visit(e,{container:t=>rr.V52.types.ResolvedTypeReference.container(Eog(t)),named:rr.V52.types.ResolvedTypeReference.named,primitive:t=>rr.V52.types.ResolvedTypeReference.primitive(Sog(t)),unknown:rr.V52.types.ResolvedTypeReference.unknown,_other:()=>{throw new Error("Unknown ResolvedTypeReference: "+e.type)}})}function MIA(e){return{members:e.members.map(t=>({...t,type:rT(t.type)}))}}function xIA(e){return{...e,pathParameters:e.pathParameters.map(t=>m9i(t)),headers:e.headers.map(t=>njn(t)),endpoints:e.endpoints.map(t=>qIA(t))}}function m9i(e){return{...e,valueType:rT(e.valueType)}}function TIA(e){return{...e,type:rT(e.type)}}function qIA(e){return{...e,pagination:e.pagination!=null?BIA(e.pagination):void 0,allPathParameters:e.allPathParameters.map(t=>m9i(t)),pathParameters:e.pathParameters.map(t=>m9i(t)),sdkRequest:e.sdkRequest!=null?LIA(e.sdkRequest):void 0,requestBody:e.requestBody!=null?WIA(e.requestBody):void 0,response:e.response!=null?CIA(e.response):void 0,headers:e.headers.map(t=>njn(t)),queryParameters:e.queryParameters.map(t=>EOc(t)),autogeneratedExamples:e.autogeneratedExamples.map(t=>({...t,example:wog(t.example)})),userSpecifiedExamples:e.userSpecifiedExamples.map(t=>({...t,example:t.example!=null?wog(t.example):void 0}))}}function CIA(e){return{...e,body:e.body!=null?AIA(e.body):void 0}}function AIA(e){switch(e.type){case"json":return rr.V52.http.HttpResponseBody.json(Mog(e.value));case"fileDownload":return rr.V52.http.HttpResponseBody.fileDownload(e);case"text":return rr.V52.http.HttpResponseBody.text(e);case"streaming":return rr.V52.http.HttpResponseBody.streaming(xog(e.value));case"streamParameter":return rr.V52.http.HttpResponseBody.streamParameter(zIA(e))}}function Mog(e){switch(e.type){case"response":return rr.V52.http.JsonResponse.response({...e,responseBodyType:rT(e.responseBodyType)});case"nestedPropertyAsResponse":return rr.V52.http.JsonResponse.nestedPropertyAsResponse({...e,responseBodyType:rT(e.responseBodyType),responseProperty:e.responseProperty!=null?SOc(e.responseProperty):void 0})}}function xog(e){switch(e.type){case"json":return rr.V52.http.StreamingResponse.json({...e,payload:rT(e.payload)});case"text":return rr.V52.http.StreamingResponse.text(e);case"sse":return rr.V52.http.StreamingResponse.sse({...e,payload:rT(e.payload)})}}function NIA(e){switch(e.type){case"json":return rr.V52.http.NonStreamHttpResponseBody.json(Mog(e.value));case"text":return rr.V52.http.NonStreamHttpResponseBody.text(e);case"fileDownload":return rr.V52.http.NonStreamHttpResponseBody.fileDownload(e)}}function zIA(e){return{nonStreamResponse:NIA(e.nonStreamResponse),streamResponse:xog(e.streamResponse)}}function BIA(e){switch(e.type){case"cursor":return rr.V52.http.Pagination.cursor(IIA(e));case"offset":return rr.V52.http.Pagination.offset(RIA(e))}}function IIA(e){return{...e,page:XJr(e.page),next:dAr(e.next),results:dAr(e.results)}}function RIA(e){return{...e,page:XJr(e.page),results:dAr(e.results),step:e.step!=null?XJr(e.step):void 0}}function XJr(e){return{...e,property:FIA(e.property)}}function FIA(e){switch(e.type){case"query":return rr.V52.RequestPropertyValue.query(EOc(e));case"body":return rr.V52.RequestPropertyValue.body(SOc(e))}}function dAr(e){return{...e,property:SOc(e.property)}}function SOc(e){return{...e,valueType:rT(e.valueType)}}function EOc(e){return{...e,valueType:rT(e.valueType)}}function LIA(e){return{...e,streamParameter:e.streamParameter!=null?XJr(e.streamParameter):void 0,shape:UIA(e.shape)}}function UIA(e){return rr.V53.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V52.http.SdkRequestShape.justRequestBody(VIA(t)),wrapper:rr.V52.http.SdkRequestShape.wrapper,_other:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function VIA(e){switch(e.type){case"bytes":return rr.V52.http.SdkRequestBodyType.bytes(e);case"typeReference":return rr.V52.http.SdkRequestBodyType.typeReference({...e,requestBodyType:rT(e.requestBodyType)})}}function WIA(e){return rr.V53.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V52.http.HttpRequestBody.inlinedRequestBody({...t,properties:t.properties.map(r=>({...r,valueType:rT(r.valueType)}))}),reference:t=>rr.V52.http.HttpRequestBody.reference({...t,requestBodyType:rT(t.requestBodyType)}),fileUpload:t=>rr.V52.http.HttpRequestBody.fileUpload({...t,properties:t.properties.map(r=>{switch(r.type){case"bodyProperty":return rr.V52.http.FileUploadRequestProperty.bodyProperty({...r,valueType:rT(r.valueType)});case"file":return rr.V52.http.FileUploadRequestProperty.file(HIA(r.value))}})}),bytes:t=>rr.V52.http.HttpRequestBody.bytes(t),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function HIA(e){switch(e.type){case"file":return rr.V52.http.FileProperty.file(e);case"fileArray":return rr.V52.http.FileProperty.fileArray(e)}}function $IA(e){return{...e,type:e.type!=null?rT(e.type):void 0,examples:e.examples.map(t=>({...t,shape:MF(t.shape)}))}}function JIA(e){return{...e,pathParameters:e.pathParameters.map(t=>YCo(t)),headers:e.headers.map(t=>DOc(t)),queryParameters:e.queryParameters.map(t=>Tog(t)),messages:e.messages.map(t=>({...t,body:GIA(t.body)}))}}function Tog(e){return{...e,value:MF(e.value)}}function DOc(e){return{...e,value:MF(e.value)}}function YCo(e){return{...e,value:MF(e.value)}}function GIA(e){switch(e.type){case"inlinedBody":return rr.V52.ExampleWebSocketMessageBody.inlinedBody(qog(e));case"reference":return rr.V52.ExampleWebSocketMessageBody.reference(MF(e))}}function qog(e){return{...e,properties:e.properties.map(t=>({...t,value:MF(t.value)}))}}function jog(e){return{...e,shape:Aog(e.shape)}}function MOc(e){switch(e.type){case"primitive":return rr.V52.ExampleTypeReferenceShape.primitive(KIA(e));case"container":return rr.V52.ExampleTypeReferenceShape.container(YIA(e));case"unknown":return rr.V52.ExampleTypeReferenceShape.unknown(e.unknown);case"named":return rr.V52.ExampleTypeReferenceShape.named({...e,typeName:e.typeName,shape:Aog(e.shape)})}}function Cog(e){switch(e.type){case"integer":return rr.V52.ExamplePrimitive.integer(e.integer);case"uint":return rr.V52.ExamplePrimitive.integer(e.uint);case"uint64":return rr.V52.ExamplePrimitive.integer(e.uint64);case"float":return rr.V52.ExamplePrimitive.double(e.float);case"double":return rr.V52.ExamplePrimitive.double(e.double);case"long":return rr.V52.ExamplePrimitive.long(e.long);case"boolean":return rr.V52.ExamplePrimitive.boolean(e.boolean);case"string":return rr.V52.ExamplePrimitive.string(e.string);case"date":return rr.V52.ExamplePrimitive.date(e.date);case"datetime":return rr.V52.ExamplePrimitive.datetime(e.datetime);case"uuid":return rr.V52.ExamplePrimitive.uuid(e.uuid);case"base64":return rr.V52.ExamplePrimitive.string({original:e.base64});case"bigInteger":return rr.V52.ExamplePrimitive.string({original:e.bigInteger})}}function KIA(e){return Cog(e.primitive)}function YIA(e){switch(e.container.type){case"list":return rr.V52.ExampleContainer.list({list:e.container.list.map(t=>MF(t)),itemType:rT(e.container.itemType)});case"set":return rr.V52.ExampleContainer.set({set:e.container.set.map(t=>MF(t)),itemType:rT(e.container.itemType)});case"optional":return rr.V52.ExampleContainer.optional({optional:e.container.optional!=null?MF(e.container.optional):void 0,valueType:rT(e.container.valueType)});case"map":return rr.V52.ExampleContainer.map({map:e.container.map.map(t=>({key:MF(t.key),value:MF(t.value)})),keyType:rT(e.container.keyType),valueType:rT(e.container.valueType)});case"literal":return rr.V52.ExampleContainer.literal({literal:Cog(e.container.literal)})}}function MF(e){return{...e,shape:MOc(e.shape)}}function Aog(e){switch(e.type){case"object":return rr.V52.ExampleTypeShape.object({properties:e.properties.map(t=>Nog(t))});case"alias":return rr.V52.ExampleTypeShape.alias({value:{...MF(e.value)}});case"enum":return rr.V52.ExampleTypeShape.enum(e);case"union":return rr.V52.ExampleTypeShape.union(QIA(e));case"undiscriminatedUnion":return rr.V52.ExampleTypeShape.undiscriminatedUnion(XIA(e))}}function XIA(e){return{...e,singleUnionType:MF(e.singleUnionType)}}function QIA(e){return{...e,singleUnionType:ZIA(e.singleUnionType)}}function ZIA(e){return{...e,shape:kIA(e.shape)}}function kIA(e){switch(e.type){case"samePropertiesAsObject":return rr.V52.ExampleSingleUnionTypeProperties.samePropertiesAsObject({...e,object:eRA(e.object)});case"singleProperty":return rr.V52.ExampleSingleUnionTypeProperties.singleProperty({...e,shape:MOc(e.shape)});case"noProperties":return rr.V52.ExampleSingleUnionTypeProperties.noProperties()}}function eRA(e){return{...e,properties:e.properties.map(t=>Nog(t))}}function Nog(e){return{...e,value:{...e.value,shape:MOc(e.value.shape)}}}function wog(e){return{...e,rootPathParameters:e.rootPathParameters.map(t=>YCo(t)),servicePathParameters:e.servicePathParameters.map(t=>YCo(t)),endpointPathParameters:e.endpointPathParameters.map(t=>YCo(t)),serviceHeaders:e.serviceHeaders.map(t=>DOc(t)),endpointHeaders:e.endpointHeaders.map(t=>DOc(t)),queryParameters:e.queryParameters.map(t=>Tog(t)),request:e.request!=null?nRA(e.request):void 0,response:tRA(e.response)}}function tRA(e){switch(e.type){case"error":return rr.V52.ExampleResponse.error({...e,body:e.body!=null?MF(e.body):void 0});case"ok":return rr.V52.ExampleResponse.ok(rRA(e))}}function rRA(e){switch(e.value.type){case"body":return rr.V52.ExampleEndpointSuccessResponse.body(e.value.value!=null?MF(e.value.value):void 0);case"stream":return rr.V52.ExampleEndpointSuccessResponse.stream(e.value.value.map(t=>MF(t)));case"sse":return rr.V52.ExampleEndpointSuccessResponse.sse(e.value.value.map(t=>({...t,data:MF(t.data)})))}}function nRA(e){switch(e.type){case"inlinedRequestBody":return rr.V52.ExampleRequestBody.inlinedRequestBody(qog(e));case"reference":return rr.V52.ExampleRequestBody.reference(MF(e))}}var zog={laterVersion:"v6",earlierVersion:"v5",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.257-4-ge56e5d2",[We.TYPESCRIPT_EXPRESS]:"0.0.264",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.0.35-1-g071a04a",[We.PYTHON_PYDANTIC]:"0.0.35-1-g071a04a",[We.OPENAPI]:"0.0.16-1-ga2c0ada",[We.STOPLIGHT]:fa,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>{var n;return{...e,defaultEnvironment:(n=e.environments)==null?void 0:n.defaultEnvironment,environments:e.environments!=null?rr.V6.environment.Environments._visit(e.environments.environments,{singleBaseUrl:i=>i.environments,multipleBaseUrls:()=>t.failAndThrow(r!=null?`Generator ${r.name}@${r.version} does not support specifying multiple URLs for a single environment. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains a multiple URls for a single environment."),_unknown:()=>{var i;throw new Error("Unknown Environments: "+((i=e.environments)==null?void 0:i.environments.type))}}):[]}}};var Bog={laterVersion:"v7",earlierVersion:"v6",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.268",[We.TYPESCRIPT_EXPRESS]:"0.0.268",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:Zr,[We.PYTHON_PYDANTIC]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:fa,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.OPENAPI_PYTHON_CLIENT]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({...e,services:e.services.map(t=>{let r=t.name.fernFilepath[t.name.fernFilepath.length-1],n=r!=null?`${r.pascalCase.safeName}Service`:"Service",i=r!=null?`${r.camelCase.unsafeName}Service`:"Service",a=r!=null?`${r.snakeCase.unsafeName}_service`:"service",u=a.toUpperCase(),f=OV(i);return{...t,name:{name:{originalName:n,camelCase:{safeName:i,unsafeName:i},snakeCase:{safeName:a,unsafeName:a},screamingSnakeCase:{safeName:u,unsafeName:u},pascalCase:{safeName:f,unsafeName:f}},fernFilepath:t.name.fernFilepath}}})})};var Fog={laterVersion:"v8",earlierVersion:"v7",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.0.273-5-g1b00245b",[We.TYPESCRIPT_EXPRESS]:"0.0.273-5-g1b00245b",[We.JAVA]:Zr,[We.JAVA_MODEL]:Zr,[We.JAVA_SDK]:Zr,[We.JAVA_SPRING]:Zr,[We.PYTHON_FASTAPI]:"0.0.45-1-g8bb600f",[We.PYTHON_PYDANTIC]:"0.0.45-1-g8bb600f",[We.OPENAPI_PYTHON_CLIENT]:"0.0.0",[We.OPENAPI]:"0.0.20-1-gbbeb9bd",[We.STOPLIGHT]:fa,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:e=>({...e,auth:iRA(e.auth),headers:e.headers.map(t=>XCo(t)),types:e.types.map(t=>aRA(t)),errors:e.errors.map(t=>dRA(t)),services:e.services.map(t=>pRA(t))})};function xOc(e){return e.allParts}function iRA(e){return{docs:e.docs,requirement:e.requirement,schemes:e.schemes.map(t=>t._type!=="header"?t:rr.V7.auth.AuthScheme.header(XCo(t)))}}function XCo(e){return{docs:e.docs,availability:e.availability,name:e.name,valueType:RY(e.valueType)}}function RY(e){return rr.V8.types.TypeReference._visit(e,{container:t=>rr.V7.types.TypeReference.container(Log(t)),named:t=>rr.V7.types.TypeReference.named(pNt(t)),primitive:rr.V7.types.TypeReference.primitive,unknown:rr.V7.types.TypeReference.unknown,_unknown:()=>{throw new Error("Unknown type reference: "+e._type)}})}function Log(e){return rr.V8.types.ContainerType._visit(e,{list:t=>rr.V7.types.ContainerType.list(RY(t)),optional:t=>rr.V7.types.ContainerType.optional(RY(t)),set:t=>rr.V7.types.ContainerType.set(RY(t)),map:({keyType:t,valueType:r})=>rr.V7.types.ContainerType.map({keyType:RY(t),valueType:RY(r)}),literal:rr.V7.types.ContainerType.literal,_unknown:()=>{throw new Error("Unknown ContainerType: "+e._type)}})}function pNt(e){return{name:e.name,fernFilepath:xOc(e.fernFilepath)}}function aRA(e){return{docs:e.docs,availability:e.availability,name:pNt(e.name),shape:oRA(e.shape),examples:e.examples.map(t=>lRA(t)),referencedTypes:e.referencedTypes.map(t=>pNt(t))}}function oRA(e){return rr.V8.types.Type._visit(e,{alias:t=>rr.V7.types.Type.alias({aliasOf:RY(t.aliasOf),resolvedType:uRA(t.resolvedType)}),enum:rr.V7.types.Type.enum,object:t=>rr.V7.types.Type.object({extends:t.extends.map(r=>pNt(r)),properties:t.properties.map(r=>({docs:r.docs,availability:r.availability,name:r.name,valueType:RY(r.valueType)}))}),union:t=>rr.V7.types.Type.union({discriminant:t.discriminant,types:t.types.map(r=>sRA(r))}),_unknown:()=>{throw new Error("Unknown Type shape: "+e._type)}})}function uRA(e){return rr.V8.types.ResolvedTypeReference._visit(e,{container:t=>rr.V7.types.ResolvedTypeReference.container(Log(t)),named:t=>rr.V7.types.ResolvedTypeReference.named({name:pNt(t.name),shape:t.shape}),primitive:rr.V7.types.ResolvedTypeReference.primitive,unknown:rr.V7.types.ResolvedTypeReference.unknown,_unknown:()=>{throw new Error("Unknown ResolvedTypeReference: "+e._type)}})}function sRA(e){return{docs:e.docs,discriminantValue:e.discriminantValue,shape:cRA(e.shape)}}function cRA(e){return rr.V8.types.SingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V7.types.SingleUnionTypeProperties.samePropertiesAsObject(pNt(t)),singleProperty:t=>rr.V7.types.SingleUnionTypeProperties.singleProperty({name:t.name,type:RY(t.type)}),noProperties:rr.V7.types.SingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+e._type)}})}function lRA(e){return{jsonExample:e.jsonExample,docs:e.docs,name:e.name,shape:TOc(e.shape)}}function TOc(e){return rr.V8.types.ExampleTypeShape._visit(e,{alias:t=>rr.V7.types.ExampleTypeShape.alias({value:kOe(t.value)}),enum:rr.V7.types.ExampleTypeShape.enum,object:t=>rr.V7.types.ExampleTypeShape.object({properties:t.properties.map(r=>({wireKey:r.wireKey,value:kOe(r.value),originalTypeDeclaration:pNt(r.originalTypeDeclaration)}))}),union:t=>rr.V7.types.ExampleTypeShape.union({wireDiscriminantValue:t.wireDiscriminantValue,properties:fRA(t.properties)}),_unknown:()=>{throw new Error("Unkonwn ExampleTypeShape: "+e.type)}})}function kOe(e){return{jsonExample:e.jsonExample,shape:Uog(e.shape)}}function Uog(e){return rr.V8.types.ExampleTypeReferenceShape._visit(e,{named:t=>rr.V7.types.ExampleTypeReferenceShape.named({typeName:pNt(t.typeName),shape:TOc(t.shape)}),container:t=>rr.V7.types.ExampleTypeReferenceShape.container(rr.V8.types.ExampleContainer._visit(t,{list:r=>rr.V7.types.ExampleContainer.list(r.map(n=>kOe(n))),set:r=>rr.V7.types.ExampleContainer.set(r.map(n=>kOe(n))),optional:r=>rr.V7.types.ExampleContainer.optional(r!=null?kOe(r):void 0),map:r=>rr.V7.types.ExampleContainer.map(r.map(n=>({key:kOe(n.key),value:kOe(n.value)}))),_unknown:()=>{throw new Error("Unknown ExampleContainer: "+t.type)}})),primitive:rr.V7.types.ExampleTypeReferenceShape.primitive,unknown:rr.V7.types.ExampleTypeReferenceShape.unknown,_unknown:()=>{throw new Error("Unknown ExampleTypeReferenceShape: "+e.type)}})}function fRA(e){return rr.V8.types.ExampleSingleUnionTypeProperties._visit(e,{samePropertiesAsObject:t=>rr.V7.types.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeName:pNt(t.typeName),shape:TOc(t.shape)}),singleProperty:t=>rr.V7.types.ExampleSingleUnionTypeProperties.singleProperty({jsonExample:t.jsonExample,shape:Uog(t.shape)}),noProperties:rr.V7.types.ExampleSingleUnionTypeProperties.noProperties,_unknown:()=>{throw new Error("Unknown ExampleSingleUnionTypeProperties: "+e.type)}})}function dRA(e){return{docs:e.docs,name:qOc(e.name),discriminantValue:e.discriminantValue,type:e.type!=null?RY(e.type):void 0,statusCode:e.statusCode}}function qOc(e){return{name:e.name,fernFilepath:xOc(e.fernFilepath)}}function pRA(e){return{docs:e.docs,availability:e.availability,name:{fernFilepath:xOc(e.name.fernFilepath)},displayName:e.displayName,basePath:e.basePath,baseUrl:e.baseUrl,pathParameters:e.pathParameters.map(t=>Vog(t)),headers:e.headers.map(t=>XCo(t)),endpoints:e.endpoints.map(t=>_RA(t))}}function Vog(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:RY(e.valueType)}}function _RA(e){return{docs:e.docs,availability:e.availability,name:e.name,displayName:e.displayName,errors:e.errors.map(t=>hRA(t)),auth:e.auth,method:e.method,path:e.path,pathParameters:e.pathParameters.map(t=>Vog(t)),sdkRequest:e.sdkRequest!=null?vRA(e.sdkRequest):void 0,requestBody:e.requestBody!=null?gRA(e.requestBody):void 0,response:mRA(e.response),headers:e.headers.map(t=>XCo(t)),queryParameters:e.queryParameters.map(t=>yRA(t)),examples:e.examples.map(t=>ORA(t))}}function hRA(e){return{docs:e.docs,error:qOc(e.error)}}function yRA(e){return{availability:e.availability,docs:e.docs,name:e.name,valueType:RY(e.valueType),allowMultiple:e.allowMultiple}}function vRA(e){return{requestParameterName:e.requestParameterName,shape:bRA(e.shape)}}function bRA(e){return rr.V8.http.SdkRequestShape._visit(e,{justRequestBody:t=>rr.V7.http.SdkRequestShape.justRequestBody({docs:t.docs,requestBodyType:RY(t.requestBodyType)}),wrapper:rr.V7.http.SdkRequestShape.wrapper,_unknown:()=>{throw new Error("Unknown SdkRequestShape: "+e.type)}})}function gRA(e){return rr.V8.http.HttpRequestBody._visit(e,{inlinedRequestBody:t=>rr.V7.http.HttpRequestBody.inlinedRequestBody({name:t.name,extends:t.extends.map(r=>pNt(r)),properties:t.properties.map(r=>({docs:r.docs,name:r.name,valueType:RY(r.valueType)}))}),reference:t=>rr.V7.http.HttpRequestBody.reference({docs:t.docs,requestBodyType:RY(t.requestBodyType)}),_unknown:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}})}function mRA(e){return{docs:e.docs,type:e.type!=null?RY(e.type):void 0}}function ORA(e){return{name:e.name,docs:e.docs,servicePathParameters:e.servicePathParameters.map(t=>Iog(t)),endpointPathParameters:e.endpointPathParameters.map(t=>Iog(t)),queryParameters:e.queryParameters.map(t=>PRA(t)),serviceHeaders:e.serviceHeaders.map(t=>Rog(t)),endpointHeaders:e.endpointHeaders.map(t=>Rog(t)),request:e.request!=null?jRA(e.request):void 0,response:wRA(e.response)}}function Iog(e){return{key:e.key,value:kOe(e.value)}}function PRA(e){return{wireKey:e.wireKey,value:kOe(e.value)}}function Rog(e){return{wireKey:e.wireKey,value:kOe(e.value)}}function jRA(e){return rr.V8.http.ExampleRequestBody._visit(e,{inlinedRequestBody:t=>rr.V7.http.ExampleRequestBody.inlinedRequestBody({jsonExample:t.jsonExample,properties:t.properties.map(r=>({wireKey:r.wireKey,value:kOe(r.value),originalTypeDeclaration:r.originalTypeDeclaration!=null?pNt(r.originalTypeDeclaration):void 0}))}),reference:t=>rr.V7.http.ExampleRequestBody.reference(kOe(t)),_unknown:()=>{throw new Error("Unknown ExampleRequestBody: "+e.type)}})}function wRA(e){return rr.V8.http.ExampleResponse._visit(e,{ok:t=>rr.V7.http.ExampleResponse.ok({body:t.body!=null?kOe(t.body):void 0}),error:t=>rr.V7.http.ExampleResponse.error({error:qOc(t.error),body:t.body!=null?kOe(t.body):void 0}),_unknown:()=>{throw new Error("Unknown ExampleResponse: "+e.type)}})}var Wog={laterVersion:"v9",earlierVersion:"v8",firstGeneratorVersionToConsumeNewIR:{[We.TYPESCRIPT_NODE_SDK]:fa,[We.TYPESCRIPT_BROWSER_SDK]:fa,[We.TYPESCRIPT]:Zr,[We.TYPESCRIPT_SDK]:"0.3.0-2-g85e8aa08",[We.TYPESCRIPT_EXPRESS]:"0.3.0-2-g85e8aa08",[We.JAVA]:Zr,[We.JAVA_MODEL]:"0.0.134-4-gef1ec4f",[We.JAVA_SDK]:"0.0.134-4-gef1ec4f",[We.JAVA_SPRING]:"0.0.134-4-gef1ec4f",[We.PYTHON_FASTAPI]:"0.0.51-1-g977dd1f",[We.PYTHON_PYDANTIC]:"0.0.51-1-g977dd1f",[We.OPENAPI_PYTHON_CLIENT]:Zr,[We.OPENAPI]:Zr,[We.STOPLIGHT]:fa,[We.POSTMAN]:Zr,[We.PYTHON_SDK]:fa,[We.GO_FIBER]:fa,[We.GO_MODEL]:fa,[We.GO_SDK]:fa,[We.RUBY_MODEL]:fa,[We.RUBY_SDK]:fa,[We.CSHARP_MODEL]:fa,[We.CSHARP_SDK]:fa,[We.SWIFT_MODEL]:fa,[We.SWIFT_SDK]:fa,[We.PHP_MODEL]:fa,[We.PHP_SDK]:fa},jsonifyEarlierVersion:e=>e,migrateBackwards:(e,{taskContext:t,targetGenerator:r})=>{for(let[n,i]of Object.entries(e.types))i.shape._type==="union"&&i.shape.baseProperties.length>0&&t.failWithoutThrowing(r!=null?`Type ${i.name.name.originalName} uses base-properties. If you'd like to use this feature, please upgrade ${r.name} to a compatible version.`:"Cannot backwards-migrate IR because this IR contains a union with base-properties.");return t.getResult()===E4.Failure&&t.failAndThrow(),{...e,types:Object.values(e.types),errors:Object.values(e.errors),services:Object.values(e.services)}}};function O9i(){return SRA}var QCo=class{migrations;constructor(t){this.migrations=t}withMigration(t){return new COc([...this.migrations,t])}},COc=class extends QCo{build(){return new AOc(this.migrations)}},AOc=class{migrations;constructor(t){this.migrations=t}migrateForGenerator({intermediateRepresentation:t,context:r,targetGenerator:n}){return this.migrate({intermediateRepresentation:t,shouldMigrate:i=>this.shouldRunMigration({migration:i,targetGenerator:n}),context:r,targetGenerator:n})}migrateThroughMigration({migration:t,intermediateRepresentation:r,context:n,targetGenerator:i}){return this.migrateThroughVersion({version:t.earlierVersion,intermediateRepresentation:r,context:n,targetGenerator:i})}migrateThroughVersion({version:t,intermediateRepresentation:r,context:n,targetGenerator:i}){var d;let a=!1;if(((d=this.migrations[0])==null?void 0:d.laterVersion)===t)return{ir:r,jsonify:()=>Promise.resolve().then(()=>Nv.IntermediateRepresentation.jsonOrThrow(r,{unrecognizedObjectKeys:"strip"}))};let f=this.migrate({intermediateRepresentation:r,shouldMigrate:c=>{let o=c.earlierVersion===t;return a||(a=o),o||!a},context:n,targetGenerator:i});return a||n.failAndThrow(`IR ${t} does not exist`),f}migrate({intermediateRepresentation:t,shouldMigrate:r,context:n,targetGenerator:i}){let a=t,u=async()=>await Nv.IntermediateRepresentation.jsonOrThrow(a,{unrecognizedObjectKeys:"strip"});for(let f of this.migrations){if(!r(f))break;n.logger.debug(`Migrating IR from ${f.laterVersion} to ${f.earlierVersion}`),a=f.migrateBackwards(a,{taskContext:n,targetGenerator:i}),u=()=>Promise.resolve().then(()=>f.jsonifyEarlierVersion(a))}return{ir:a,jsonify:u}}shouldRunMigration({migration:t,targetGenerator:r}){let n=t.firstGeneratorVersionToConsumeNewIR[r.name];if(n==null)throw new Error(`Cannot migrate intermediate representation. Unrecognized generator: ${r.name}. If leveraging a custom generator, ensure you are specifying "ir-version" within the generator configuration.`);switch(n){case Zr:return!0;case fa:throw new Error(`Cannot migrate intermediate representation. Generator was created after intermediate representation ${t.laterVersion}.`)}return One(n,r.version)}},DRA={Builder:new QCo([])},SRA=DRA.Builder.withMigration(Dog).withMigration(pog).withMigration(oog).withMigration(eog).withMigration(Uag).withMigration(Fag).withMigration(Rag).withMigration(zag).withMigration(Cag).withMigration(qag).withMigration(xag).withMigration(Mag).withMigration(Eag).withMigration(Sag).withMigration(mag).withMigration(gag).withMigration(bag).withMigration(vag).withMigration(yag).withMigration(hag).withMigration(_ag).withMigration(dag).withMigration(lag).withMigration(cag).withMigration(aag).withMigration(Zig).withMigration(Qig).withMigration(Xig).withMigration(Kig).withMigration(Gig).withMigration(Ns0).withMigration(qs0).withMigration(Ts0).withMigration(Es0).withMigration(ws0).withMigration(Ps0).withMigration(Os0).withMigration(ms0).withMigration(vs0).withMigration(_s0).withMigration(ps0).withMigration(ds0).withMigration(ls0).withMigration(bed).withMigration(Wog).withMigration(Fog).withMigration(Bog).withMigration(zog).withMigration(kag).withMigration(jag).withMigration(sag).withMigration(Ss0).build();function P9i({intermediateRepresentation:e,context:t,targetGenerator:r}){return O9i().migrateForGenerator({intermediateRepresentation:e,context:t,targetGenerator:r}).jsonify()}function NOc({intermediateRepresentation:e,context:t,targetGenerator:r,irVersion:n}){return O9i().migrateThroughVersion({version:n,intermediateRepresentation:e,context:t,targetGenerator:r}).jsonify()}function j9i({intermediateRepresentation:e,context:t,version:r}){return O9i().migrateThroughVersion({version:r,intermediateRepresentation:e,context:t}).jsonify()}var Hog=require("fs/promises"),$og=yu(require("path"),1);async function Jog({project:e,irFilepath:t,cliContext:r,generationLanguage:n,audiences:i,version:a,keywords:u,smartCasing:f,readme:d}){await Promise.all(e.apiWorkspaces.map(async c=>{await r.runTaskForWorkspace(c,async o=>{r.logger.info(`Generating IR for workspace ${c.workspaceName}`);let l=await c.toFernWorkspace({context:o}),g=await ERA({workspace:l,context:o,generationLanguage:n,keywords:u,smartCasing:f,disableExamples:!1,audiences:i,version:a,readme:d}),O=$og.default.resolve(t);await(0,Hog.writeFile)(O,await zwr(g,{pretty:!0})),o.logger.info(`Wrote IR to ${O}`)})}))}async function ERA({workspace:e,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:a,disableExamples:u,version:f,readme:d}){let c=await CMa({workspace:e,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:a,disableExamples:u,readme:d});return f==null?Nv.IntermediateRepresentation.jsonOrThrow(c,{unrecognizedObjectKeys:"strip"}):j9i({intermediateRepresentation:c,version:f,context:t})}var Gog=require("fs/promises"),Kog=yu(require("path"),1);async function Yog({project:e,irFilepath:t,cliContext:r,sdkLanguage:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async a=>{if(i instanceof P7n){a.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(i instanceof Vne))return;let u=await wen({context:a,specs:i.specs}),f=await Ytn({absoluteFilePathToWorkspace:i.absoluteFilePath,specs:u,taskContext:a}),d=Kog.default.resolve(t),c=await Ng.OpenApiIntermediateRepresentation.jsonOrThrow(f,{skipValidation:!0});await(0,Gog.writeFile)(d,await zwr(c,{pretty:!0})),a.logger.info(`Wrote IR to ${d}`)})}))}var ZCo=require("fs/promises");async function Qog({project:e,includeModels:t,cliContext:r}){await Promise.all(e.apiWorkspaces.map(async n=>{await r.runTaskForWorkspace(n,async i=>{n instanceof Vne?await xRA({workspace:n,context:i,includeModels:t}):i.logger.warn("Skipping fern workspace definition generation")})}))}async function MRA(e,t){let r=null;try{let n=(await(0,ZCo.readFile)(e,"utf8")).toString();try{r=JSON.parse(n)}catch{r=av.load(n,{json:!0})}}catch{return t.failAndThrow(`Failed to read OpenAPI overrides from file ${e}`)}return r}async function xRA({workspace:e,includeModels:t,context:r}){let n=await wen({context:r,specs:e.specs});for(let i of n){let a=await Ytn({absoluteFilePathToWorkspace:e.absoluteFilePath,specs:[i],taskContext:r}),u={};i.absoluteFilepathToOverrides!==void 0&&(u=await MRA(i.absoluteFilepathToOverrides,r));let f="path"in u?u.path:{};for(let o of a.endpoints){let l=F0i(o);o.path in f||(f[o.path]={});let g=f[o.path];if(g!=null&&g[o.method]==null){let O=l.file.split("/").map(S=>S.replace(".yml","")).filter(S=>S!=="__package__"),j={};O.length>0&&(j["x-fern-sdk-group-name"]=O),j["x-fern-sdk-method-name"]=l.endpointId,g[o.method.toLowerCase()]=j}else u==null&&r.logger.warn(`Endpoint ${o.path} ${o.method} is defined multiple times`)}let d="path"in u?u.path:{};if(t){Xog(d,a.groupedSchemas.rootSchemas);for(let[o,l]of Object.entries(a.groupedSchemas.namespacedSchemas))Xog(d,l)}let c={schemas:d};await(0,ZCo.writeFile)(pf(Cg(i.absoluteFilepath),zs.of("openapi-overrides.yml")),av.dump({paths:f,components:c}))}}function Xog(e,t){for(let[r,n]of Object.entries(t)){if(r in e)continue;let i={};i["x-fern-type-name"]="nameOverride"in n?n.nameOverride??r:r,e[r]=i}}var kCo="api",Zog="group";var kog=".preview";var ypg=yu(NP(),1),iqt=yu(dpg(),1),uEe=yu(cC(),1);var fGr=yu(require("path"),1),gjn="/fern",mjn=fGr.default.join(gjn,"output"),YPc=fGr.default.join(gjn,"config.json"),O6o=fGr.default.join(gjn,"ir.json"),Q9i=fGr.default.join(gjn,"snippet.json"),Z9i=fGr.default.join(gjn,"snippet-templates.json"),JvB=fGr.default.join(gjn,"generators"),ppg=fGr.default.join(gjn,"sources");var U$A="0.0.1";function _pg(e){return e!=null?ypg.GithubPublishInfo._visit(e,{npm:t=>iqt.FernGeneratorExec.GithubPublishInfo.npm({registryUrl:t.registryUrl,packageName:t.packageName,tokenEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.token??"")}),maven:t=>{var r,n;return iqt.FernGeneratorExec.GithubPublishInfo.maven({registryUrl:t.registryUrl,coordinate:t.coordinate,usernameEnvironmentVariable:(0,uEe.EnvironmentVariable)(((r=t.credentials)==null?void 0:r.username)??""),passwordEnvironmentVariable:(0,uEe.EnvironmentVariable)(((n=t.credentials)==null?void 0:n.password)??""),signature:t.signature!=null?{keyIdEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.signature.keyId??""),passwordEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.signature.password??""),secretKeyEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.signature.secretKey??"")}:void 0})},pypi:t=>{var r,n;return iqt.FernGeneratorExec.GithubPublishInfo.pypi({registryUrl:t.registryUrl,packageName:t.packageName,usernameEnvironmentVariable:(0,uEe.EnvironmentVariable)(((r=t.credentials)==null?void 0:r.username)??""),passwordEnvironmentVariable:(0,uEe.EnvironmentVariable)(((n=t.credentials)==null?void 0:n.password)??"")})},rubygems:t=>iqt.FernGeneratorExec.GithubPublishInfo.rubygems({registryUrl:t.registryUrl,packageName:t.packageName,apiKeyEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.apiKey??"")}),postman:t=>iqt.FernGeneratorExec.GithubPublishInfo.postman({apiKeyEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.apiKey??""),workspaceIdEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.workspaceId??"")}),nuget:t=>iqt.FernGeneratorExec.GithubPublishInfo.nuget({registryUrl:t.registryUrl,packageName:t.packageName,apiKeyEnvironmentVariable:(0,uEe.EnvironmentVariable)(t.apiKey??"")}),_other:()=>{}}):void 0}function vpg({generatorInvocation:e,customConfig:t,workspaceName:r,organization:n,outputVersion:i=U$A,absolutePathToSnippet:a,absolutePathToSnippetTemplates:u,writeUnitTests:f,generateOauthClients:d,generatePaginatedClients:c}){let o=[],l=e.outputMode._visit({publish:g=>({...hpg(i,g),publishingMetadata:e.publishMetadata}),publishV2:g=>({...hpg(i,g),publishingMetadata:e.publishMetadata}),downloadFiles:()=>({mode:iqt.FernGeneratorExec.OutputMode.downloadFiles(),path:mjn,publishingMetadata:e.publishMetadata}),github:g=>{let O={mode:iqt.FernGeneratorExec.OutputMode.github({repoUrl:`https://github.com/${g.owner}/${g.repo}`,version:i,publishInfo:_pg(g.publishInfo),installationToken:void 0}),path:mjn,publishingMetadata:e.publishMetadata};return a!==void 0&&(o.push(`${a}:${Q9i}`),O.snippetFilepath=Q9i),u!==void 0&&(o.push(`${u}:${Z9i}`),O.snippetTemplateFilepath=Z9i),O},githubV2:g=>{let O=g._visit({commitAndRelease:S=>`https://github.com/${S.owner}/${S.repo}`,push:S=>`https://github.com/${S.owner}/${S.repo}`,pullRequest:S=>`https://github.com/${S.owner}/${S.repo}`,_other:()=>{throw new Error("Encountered unknown github mode")}}),j={mode:iqt.FernGeneratorExec.OutputMode.github({repoUrl:O,version:i,publishInfo:_pg(g.publishInfo)}),path:mjn,publishingMetadata:e.publishMetadata};return a!==void 0&&(o.push(`${a}:${Q9i}`),j.snippetFilepath=Q9i),u!==void 0&&(o.push(`${u}:${Z9i}`),j.snippetTemplateFilepath=Z9i),j},_other:()=>{throw new Error("Output type did not match any of the types supported by Fern")}});return{binds:o,config:{irFilepath:O6o,output:l,publish:void 0,customConfig:t,workspaceName:r,organization:n,environment:iqt.FernGeneratorExec.GeneratorEnvironment.local(),dryRun:!1,whitelabel:!1,writeUnitTests:f,generateOauthClients:d,generatePaginatedClients:c}}}function hpg(e,t){let r;return"registryOverrides"in t?r=t.registryOverrides.maven??t.registryOverrides.npm:r!=null&&(r=t._visit({mavenOverride:n=>n,npmOverride:n=>n,pypiOverride:n=>n,rubyGemsOverride:n=>n,postman:n=>n,nugetOverride:n=>n,_other:()=>{}})),{mode:iqt.FernGeneratorExec.OutputMode.publish({registries:{maven:{group:"",password:(r==null?void 0:r.password)??"",registryUrl:(r==null?void 0:r.registryUrl)??"",username:(r==null?void 0:r.username)??""},npm:{registryUrl:(r==null?void 0:r.registryUrl)??"",scope:"",token:(r==null?void 0:r.token)??""}},publishTarget:void 0,registriesV2:{maven:{password:(r==null?void 0:r.password)??"",registryUrl:(r==null?void 0:r.registryUrl)??"",username:(r==null?void 0:r.username)??"",coordinate:(r==null?void 0:r.coordinate)??"",signature:r==null?void 0:r.signature},npm:{registryUrl:(r==null?void 0:r.registryUrl)??"",token:(r==null?void 0:r.token)??"",packageName:(r==null?void 0:r.packageName)??""},pypi:{packageName:(r==null?void 0:r.coordinate)??"",password:(r==null?void 0:r.password)??"",registryUrl:(r==null?void 0:r.registryUrl)??"",username:(r==null?void 0:r.username)??"",pypiMetadata:r==null?void 0:r.pypiMetadata},rubygems:{registryUrl:(r==null?void 0:r.registryUrl)??"",apiKey:(r==null?void 0:r.apiKey)??"",packageName:(r==null?void 0:r.packageName)??""},nuget:{registryUrl:(r==null?void 0:r.registryUrl)??"",apiKey:(r==null?void 0:r.apiKey)??"",packageName:(r==null?void 0:r.packageName)??""}},version:e}),path:mjn}}async function bpg({workspace:e,audiences:t,generatorInvocation:r,context:n,irVersionOverride:i,version:a,packageName:u,sourceConfig:f}){let d=await JQ({workspace:e,audiences:t,generationLanguage:r.language,keywords:r.keywords,smartCasing:r.smartCasing,disableExamples:r.disableExamples,readme:r.readme,version:a,packageName:u,context:n});f!=null&&(d.sourceConfig=f),n.logger.debug("Generated IR");let c=i!=null?await j9i({intermediateRepresentation:d,context:n,version:i}):await P9i({intermediateRepresentation:d,context:n,targetGenerator:{name:r.name,version:r.version}});return{latest:d,migrated:c}}var G0g=yu(J0g(),1),K0g=require("fs/promises"),Y0g=require("stream"),X0g=yu(Kte(),1);async function uwc({imageName:e,args:t,binds:r,writeLogsToFile:n=!0,removeAfterCompletion:i=!1}){let a=new G0g.default,u=()=>hQA({docker:a,imageName:e,args:t,binds:r,removeAfterCompletion:i,writeLogsToFile:n});try{await u()}catch(f){if((f==null?void 0:f.statusCode)===404)await yQA(a,e),await u();else throw f}}async function hQA({docker:e,imageName:t,args:r,binds:n,removeAfterCompletion:i,writeLogsToFile:a}){let u="",[f,d]=await e.run(t,r??[],new Y0g.Writable({write(c,o,l){u+=c.toString(),setImmediate(l)}}),{HostConfig:{Binds:n},User:"root"});if(i&&await d.remove(),f.Error!=null)throw f.Error;if(f.StatusCode!==0)if(a){let c=await X0g.default.file();throw await(0,K0g.writeFile)(c.path,u),new Error(`Docker exited with a non-zero exit code. Logs here: ${c.path}`)}else throw new Error("Docker exited with a non-zero exit code.")}async function yQA(e,t){let r=await e.pull(t);await new Promise((n,i)=>{e.modem.followProgress(r,a=>{a!=null?i(a):n()})})}var k0g=yu(J_(),1),evg=require("fs/promises"),Vei=yu(Kte(),1);var Q0g=yu(KDa(),1),OPe=require("fs/promises"),Z0g=yu(Kte(),1),C7o=class{context;absolutePathToTmpOutputDirectory;absolutePathToTmpSnippetJSON;absolutePathToTmpSnippetTemplatesJSON;absolutePathToLocalSnippetTemplateJSON;absolutePathToLocalOutput;absolutePathToLocalSnippetJSON;constructor({context:t,absolutePathToTmpOutputDirectory:r,absolutePathToTmpSnippetJSON:n,absolutePathToLocalSnippetTemplateJSON:i,absolutePathToLocalOutput:a,absolutePathToLocalSnippetJSON:u,absolutePathToTmpSnippetTemplatesJSON:f}){this.context=t,this.absolutePathToLocalOutput=a,this.absolutePathToTmpOutputDirectory=r,this.absolutePathToTmpSnippetJSON=n,this.absolutePathToLocalSnippetJSON=u,this.absolutePathToLocalSnippetTemplateJSON=i,this.absolutePathToTmpSnippetTemplatesJSON=f}async copyGeneratedFiles(){await this.isFernIgnorePresent()?await this.copyGeneratedFilesWithFernIgnore():await this.copyGeneratedFilesNoFernIgnore(),this.absolutePathToTmpSnippetJSON!=null&&this.absolutePathToLocalSnippetJSON!=null&&await Vh(this.absolutePathToTmpSnippetJSON)&&await this.copySnippetJSON({absolutePathToTmpSnippetJSON:this.absolutePathToTmpSnippetJSON,absolutePathToLocalSnippetJSON:this.absolutePathToLocalSnippetJSON}),this.absolutePathToTmpSnippetTemplatesJSON!=null&&this.absolutePathToLocalSnippetTemplateJSON!=null&&await Vh(this.absolutePathToTmpSnippetTemplatesJSON)&&await this.copySnippetJSON({absolutePathToTmpSnippetJSON:this.absolutePathToTmpSnippetTemplatesJSON,absolutePathToLocalSnippetJSON:this.absolutePathToLocalSnippetTemplateJSON})}async isFernIgnorePresent(){let t=R_.of(pf(this.absolutePathToLocalOutput,zs.of(IGi)));return await Vh(t)}async copyGeneratedFilesWithFernIgnore(){let t=R_.of((await Z0g.default.dir({})).path),r=R_.of(pf(this.absolutePathToLocalOutput,zs.of(IGi))),n=await bQA({absolutePathToFernignore:r});await(0,OPe.cp)(this.absolutePathToLocalOutput,t,{recursive:!0}),await this.runGitCommand(["init"],t),await this.runGitCommand(["add","."],t),(await this.runGitCommand(["config","--list"],t)).includes("user.name")||(await this.runGitCommand(["config","user.name","fern-api"],t),await this.runGitCommand(["config","user.email","info@buildwithfern.com"],t)),await this.runGitCommand(["commit","--allow-empty","-m",'"init"'],t),await this.runGitCommand(["rm","-rf","."],t),await this.copyGeneratedFilesToDirectory(t),await this.runGitCommand(["reset","--",...n],t),await this.runGitCommand(["restore","."],t),await(0,OPe.rmdir)(this.absolutePathToLocalOutput,{recursive:!0}),await(0,OPe.cp)(t,this.absolutePathToLocalOutput,{recursive:!0})}async copyGeneratedFilesNoFernIgnore(){this.context.logger.debug(`rm -rf ${this.absolutePathToLocalOutput}`),await(0,OPe.rm)(this.absolutePathToLocalOutput,{force:!0,recursive:!0}),await this.copyGeneratedFilesToDirectory(this.absolutePathToLocalOutput)}async copyGeneratedFilesToDirectory(t){let[r,...n]=await(0,OPe.readdir)(this.absolutePathToTmpOutputDirectory);if(r!=null)if(this.context.logger.debug(`Copying generated files to ${t}`),r.endsWith(".zip")){await(0,Q0g.default)(pf(this.absolutePathToTmpOutputDirectory,zs.of(r)),t);for(let i of n)await(0,OPe.cp)(pf(this.absolutePathToTmpOutputDirectory,zs.of(i)),pf(t,zs.of(i)),{recursive:!0})}else await(0,OPe.cp)(this.absolutePathToTmpOutputDirectory,t,{recursive:!0})}async copySnippetJSON({absolutePathToTmpSnippetJSON:t,absolutePathToLocalSnippetJSON:r}){this.context.logger.debug(`Copying generated snippets to ${r}`),await(0,OPe.cp)(t,r)}async runGitCommand(t,r){return(await $je(this.context.logger,"git",t,{cwd:r,doNotPipeOutput:!0})).stdout}},vQA=/\r?\n/;async function bQA({absolutePathToFernignore:e}){let t=(await(0,OPe.readFile)(e)).toString();return[IGi,...t.trim().split(vQA).filter(r=>!r.startsWith("#")&&r.length>0)]}async function tvg({organization:e,workspace:t,generatorInvocation:r,absolutePathToLocalOutput:n,absolutePathToLocalSnippetJSON:i,absolutePathToLocalSnippetTemplateJSON:a,absolutePathToFernConfig:u,audiences:f,workspaceTempDir:d,keepDocker:c,context:o,irVersionOverride:l,outputVersionOverride:g,writeUnitTests:O,generateOauthClients:j,generatePaginatedClients:S}){let{latest:x,migrated:A}=await bpg({workspace:t,audiences:f,generatorInvocation:r,context:o,irVersionOverride:l,packageName:pg.getPackageName({generatorInvocation:r}),version:g,sourceConfig:OQA(t)}),z=await gQA({workspaceTempDir:d,context:o,ir:A});o.logger.debug("Wrote IR to: "+z);let N=await Vei.default.file({tmpdir:d.path}),C=R_.of(N.path);o.logger.debug("Will write config.json to: "+C);let U=await Vei.default.dir({tmpdir:d.path}),Y=R_.of(U.path);o.logger.debug("Will write output to: "+Y);let te;if(i!=null){let ee=await Vei.default.file({tmpdir:d.path});te=R_.of(ee.path),o.logger.debug("Will write snippet.json to: "+te)}let G;if(a!=null){let ee=await Vei.default.file({tmpdir:d.path});G=R_.of(ee.path),o.logger.debug("Will write snippet-templates.json to: "+G)}return await mQA({absolutePathToOutput:Y,absolutePathToSnippet:te,absolutePathToSnippetTemplates:G,absolutePathToIr:z,absolutePathToWriteConfigJson:C,workspaceName:t.definition.rootApiFile.contents.name,organization:e,outputVersion:g,keepDocker:c,generatorInvocation:r,context:o,writeUnitTests:O,generateOauthClients:j,generatePaginatedClients:S,sources:t.getSources()}),await new C7o({context:o,absolutePathToLocalOutput:n,absolutePathToTmpOutputDirectory:Y,absolutePathToLocalSnippetJSON:i,absolutePathToLocalSnippetTemplateJSON:a,absolutePathToTmpSnippetJSON:te,absolutePathToTmpSnippetTemplatesJSON:G}).copyGeneratedFiles(),{absolutePathToIr:z,absolutePathToConfigJson:C,ir:x}}async function gQA({ir:e,workspaceTempDir:t,context:r}){r.logger.debug("Migrated IR");let n=await Vei.default.file({tmpdir:t.path}),i=R_.of(n.path);return await esi(i,e,{pretty:!1}),r.logger.debug(`Wrote IR to ${i}`),i}async function mQA({workspaceName:e,organization:t,outputVersion:r,absolutePathToOutput:n,absolutePathToSnippet:i,absolutePathToSnippetTemplates:a,absolutePathToIr:u,absolutePathToWriteConfigJson:f,keepDocker:d,generatorInvocation:c,writeUnitTests:o,generateOauthClients:l,generatePaginatedClients:g,sources:O}){let{name:j,version:S,config:x}=c,A=`${j}:${S}`,z=[`${f}:${YPc}:ro`,`${u}:${O6o}:ro`,`${n}:${mjn}`];for(let te of O)z.push(`${te.absoluteFilePath}:${rvg(te)}:ro`);let{config:N,binds:C}=vpg({generatorInvocation:c,customConfig:x,workspaceName:e,outputVersion:r,organization:t,absolutePathToSnippet:i,absolutePathToSnippetTemplates:a,writeUnitTests:o,generateOauthClients:l,generatePaginatedClients:g});z.push(...C);let U=await k0g.GeneratorConfig.json(N);if(!U.ok)throw new Error(`Failed to parse config.json into ${f}`);if(await(0,evg.writeFile)(f,JSON.stringify(U.value,void 0,4)),!await SLo(f,5e3))throw new Error(`Failed to create ${f}`);await uwc({imageName:A,args:[YPc],binds:z,removeAfterCompletion:!d})}function OQA(e){return{sources:e.getSources().map(t=>t.type==="protobuf"?tne.proto({id:t.id,protoRootUrl:`file:///${rvg(t)}`}):tne.openapi())}}function rvg(e){return`${ppg}/${e.id}`}var swc=yu(require("os"),1),nvg=yu(require("path"),1),ivg=yu(Kte(),1);async function cwc({projectConfig:e,workspace:t,generatorGroup:r,keepDocker:n,context:i}){let a=await PQA();(await Promise.all(r.generators.map(async f=>i.runInteractiveTask({name:f.name},async d=>{if(f.absolutePathToLocalOutput==null)d.failWithoutThrowing("Cannot generate because output location is not local-file-system");else{let c=await t.toFernWorkspace({context:i},L0i(f));await tvg({organization:e.organization,absolutePathToFernConfig:e._absolutePath,workspace:c,generatorInvocation:f,absolutePathToLocalOutput:f.absolutePathToLocalOutput,absolutePathToLocalSnippetJSON:void 0,absolutePathToLocalSnippetTemplateJSON:void 0,audiences:r.audiences,workspaceTempDir:a,keepDocker:n,context:d,irVersionOverride:f.irVersionOverride,outputVersionOverride:void 0,writeUnitTests:!1,generateOauthClients:!1,generatePaginatedClients:!1}),d.logger.info(al.green("Wrote files to "+f.absolutePathToLocalOutput))}})))).some(f=>!f)&&i.failAndThrow()}async function PQA(){return ivg.default.dir({tmpdir:swc.default.platform()==="darwin"?nvg.default.join("/private",swc.default.tmpdir()):void 0,prefix:"fern"})}var F7o=yu(PZr(),1);var avg=yu(vRt(),1);var ovg=require("fs"),A7o=require("fs/promises"),uvg=require("stream/promises");async function svg({snippetsS3PreSignedReadUrl:e,absolutePathToLocalSnippetJSON:t,context:r}){try{await jQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}),r.logger.info(al.green(`Downloaded to ${t}`))}catch{r.logger.debug(al.yellow("Failed to download snippet.json from output."))}}async function jQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await avg.default.get(e,{responseType:"stream"});await Vh(t)&&await(0,A7o.rm)(t,{recursive:!0}),await(0,A7o.mkdir)(Cg(t),{recursive:!0}),await(0,uvg.pipeline)(r.data,(0,ovg.createWriteStream)(t))}var Wei=yu(PZr(),1),LLi=yu(vRt(),1),cvg=yu(A3r(),1),PPe=require("fs/promises");var lvg=require("path"),fvg=yu(f0a(),1),dvg=yu(Kte(),1);async function pvg({projectConfig:e,workspace:t,organization:r,intermediateRepresentation:n,generatorInvocation:i,version:a,context:u,shouldLogS3Url:f,token:d,whitelabel:c,irVersionOverride:o,absolutePathToPreview:l}){let g=await wQA({projectConfig:e,workspace:t,organization:r,generatorInvocation:i,version:a,context:u,shouldLogS3Url:f,token:d,whitelabel:c,absolutePathToPreview:l});return await DQA({intermediateRepresentation:n,job:g,context:u,generatorInvocation:i,irVersionOverride:o}),g}async function wQA({projectConfig:e,workspace:t,organization:r,generatorInvocation:n,version:i,context:a,shouldLogS3Url:u,token:f,whitelabel:d,absolutePathToPreview:c}){let o=ZDr({token:f.value}),l={id:n.name,version:n.version,outputMode:n.outputMode,customConfig:n.config,publishMetadata:n.publishMetadata},g;if(n.outputMode.type.startsWith("github"))try{let j=await dvg.default.dir(),S=R_.of(j.path);a.logger.debug(`Writing mock fern definition to ${S}`);let x=pf(S,zs.of(Qqt)),A=pf(x,zs.of(p9));await(0,PPe.mkdir)(A,{recursive:!0});let z=pf(A,zs.of(iB));await(0,PPe.writeFile)(z,av.dump(t.definition.rootApiFile.contents)),await _vg({absolutePathToDefinitionDirectory:A,definition:t.definition});let N=pf(x,zs.of(N8t));await(0,PPe.writeFile)(N,JSON.stringify(e.rawConfig,void 0,2));try{let Y=t.getSources();for(let te of Y){let G=await(0,PPe.readFile)(te.absoluteFilePath),$=(0,lvg.relative)(t.absoluteFilePath,te.absoluteFilePath),ee=pf(x,zs.of($));await(0,PPe.mkdir)(Cg(ee),{recursive:!0}),await(0,PPe.writeFile)(ee,G)}}catch(Y){a.logger.debug(`Failed to write source files to disk, continuing: ${Y}`)}let C=pf(S,zs.of("definition.tgz"));await fvg.default.create({file:C,cwd:x},["."]),a.logger.debug("Getting upload URL for Fern definition.");let U=await o.remoteGen.getDefinitionUploadUrl({apiName:t.definition.rootApiFile.contents.name,organizationName:r,version:i});U.ok?(a.logger.debug("Uploading definition..."),await LLi.default.put(U.body.s3Url,await(0,PPe.readFile)(C)),g={definitionS3DownloadUrl:U.body.s3Url,outputPath:".mock",cliVersion:e.version}):U.error.content.reason==="status-code"?a.logger.debug(`Failed with status-code to get upload URL with status code ${U.error.content.statusCode}, continuing: ${U.error.content.body}`):U.error.content.reason==="non-json"?a.logger.debug(`Failed with non-json to get upload URL with status code ${U.error.content.statusCode}, continuing: ${U.error.content.rawBody}`):U.error.content.reason==="unknown"&&a.logger.debug(`Failed to get upload URL as unknown error occurred continuing: ${U.error.content.errorMessage}`)}catch(j){a.logger.debug(`Failed to upload definition to S3, continuing: ${j}`)}let O=await o.remoteGen.createJobV3({apiName:t.definition.rootApiFile.contents.name,version:i,organizationName:r,generators:[l],uploadToS3:EQA({outputMode:n.outputMode,generatorInvocation:n,absolutePathToPreview:c,shouldLogS3Url:u}),whitelabel:d,fernDefinitionMetadata:g,preview:c!=null});return O.ok?O.body:SQA(O.error)._visit({illegalApiNameError:()=>a.failAndThrow("API name is invalid: "+t.definition.rootApiFile.contents.name),illegalApiVersionError:()=>a.failAndThrow("API version is invalid: "+i),cannotPublishToNpmScope:({validScope:j,invalidScope:S})=>a.failAndThrow(`You do not have permission to publish to ${S} (expected ${j})`),cannotPublishToMavenGroup:({validGroup:j,invalidGroup:S})=>a.failAndThrow(`You do not have permission to publish to ${S} (expected ${j})`),cannotPublishPypiPackage:({validPrefix:j,invalidPackageName:S})=>a.failAndThrow(`You do not have permission to publish to ${S} (expected ${j})`),generatorsDoNotExistError:j=>a.failAndThrow("Generators do not exist: "+j.nonExistentGenerators.map(S=>`${S.id}@${S.version}`).join(", ")),insufficientPermissions:()=>a.failAndThrow("Insufficient permissions."),orgNotConfiguredForWhitelabel:()=>a.failAndThrow("Your org is not configured for white-labeling. Please reach out to support@buildwithfern.com."),_other:j=>a.failAndThrow("Failed to create job",j)})}async function _vg({absolutePathToDefinitionDirectory:e,definition:t}){for(let[r,n]of Object.entries(t.namedDefinitionFiles)){let i=pf(e,zs.of(r));await(0,PPe.mkdir)(Cg(i),{recursive:!0}),await(0,PPe.writeFile)(i,av.dump(n.contents))}for(let[r,n]of Object.entries(t.packageMarkers))if(n.contents.export==null){let i=pf(e,zs.of(r));await(0,PPe.mkdir)(Cg(i),{recursive:!0}),await(0,PPe.writeFile)(i,av.dump(n.contents))}for(let[r,n]of Object.entries(t.importedDefinitions))await _vg({absolutePathToDefinitionDirectory:pf(e,zs.of(r)),definition:n.definition})}async function DQA({intermediateRepresentation:e,generatorInvocation:t,job:r,context:n,irVersionOverride:i}){var c;let a=i==null?await P9i({intermediateRepresentation:e,context:n,targetGenerator:{name:t.name,version:t.version}}):await NOc({intermediateRepresentation:e,context:n,irVersion:i,targetGenerator:{name:t.name,version:t.version}}),u=new cvg.default,f=await zwr(a,{onWrite:o=>{n.logger.debug("Wrote IR to disk: "+o)}});u.append("file",f);let d=$S(cXo(),`/api/remote-gen/jobs/${r.jobId}/start`);try{await LLi.default.post(d,u,{headers:u.getHeaders(),maxBodyLength:1/0})}catch(o){let l=o instanceof LLi.AxiosError?(c=o.response)==null?void 0:c.data:o;n.logger.debug(`POST ${d} failed with ${JSON.stringify(o)}`),n.failAndThrow("Failed to start job",l)}}function SQA(e){if((e==null?void 0:e.reason)==="status-code"){let t=e.body;switch(t==null?void 0:t._error){case"IllegalApiNameError":return Wei.FernFiddle.remoteGen.createJobV3.Error.illegalApiNameError();case"GeneratorsDoNotExistError":return Wei.FernFiddle.remoteGen.createJobV3.Error.generatorsDoNotExistError(t.body);case"CannotPublishToNpmScope":return Wei.FernFiddle.remoteGen.createJobV3.Error.cannotPublishToNpmScope(t.body);case"CannotPublishToMavenScope":return Wei.FernFiddle.remoteGen.createJobV3.Error.cannotPublishToMavenGroup(t.body);case"InsufficientPermissions":return Wei.FernFiddle.remoteGen.createJobV3.Error.insufficientPermissions(t.body)}}return e}function EQA({outputMode:e,generatorInvocation:t,absolutePathToPreview:r,shouldLogS3Url:n}){return e.type==="downloadFiles"||t.absolutePathToLocalSnippets!=null||r!=null||n}var hvg=ZDr();var MQA=3;function yvg({job:e,taskId:t,taskHandler:r,context:n}){let i=0,a=async()=>{let u=await hvg.remoteGen.getJobStatus(e.jobId);if(u.ok)return u.body[t];n.logger.debug("Failed to get job status.",JSON.stringify(u.error.content))};return new Promise((u,f)=>{d();async function d(){try{let c=await a();if(c==null)i++,i===MQA&&n.failAndThrow(`Failed to get job status after ${i} attempts.`),setTimeout(d,2e3+1e3*i);else{i=0;let o=await r.processUpdate(c);r.isFinished?u(o):setTimeout(d,2e3)}}catch(c){f(c)}}})}var mvg=yu(vRt(),1);var Ovg=yu(KDa(),1),Pvg=require("fs"),B7o=require("fs/promises"),fwc=yu(require("path"),1),jvg=require("stream/promises");var N7o=yu(gvg(),1);function xAr(e,t,{target:r="stdout",...n}={}){return N7o.default[r]?C6n.link(e,t):n.fallback===!1?e:typeof n.fallback=="function"?n.fallback(e,t):`${e} (\u200B${t}\u200B)`}xAr.isSupported=N7o.default.stdout;xAr.stderr=(e,t,r={})=>xAr(e,t,{target:"stderr",...r});xAr.stderr.isSupported=N7o.default.stderr;var wvg=yu(Kte(),1);var $ei,Jei,Gei,z7o=class{constructor({interactiveTaskContext:t,generatorInvocation:r,absolutePathToPreview:n}){dv(this,"context");dv(this,"generatorInvocation");dv(this,"absolutePathToPreview");dv(this,"lengthOfLastLogs",0);lh(this,$ei,!1);lh(this,Jei,!1);lh(this,Gei,void 0);this.context=t,this.generatorInvocation=r,this.absolutePathToPreview=n}async processUpdate(t){t==null&&this.context.failAndThrow("Task is missing on job status");let r=t.packages.map(i=>i.coordinate._visit({npm:a=>`${a.name}@${a.version}`,maven:a=>`${a.group}:${a.artifact}:${a.version}`,pypi:a=>`${a.name} ${a.version}`,ruby:a=>`${a.name}:${a.version}`,nuget:a=>`${a.name} ${a.version}`,_other:()=>"<unknown package>"}));this.absolutePathToPreview==null&&this.context.setSubtitle(r.length>0?r.map(i=>`\u25E6 ${i}`).join(`
2269
- `):void 0);for(let i of t.logs.slice(this.lengthOfLastLogs))this.context.logger.log(CQA(i.level),i.message);this.lengthOfLastLogs=t.logs.length;let n=i=>{this.context.logger.debug(`Generated files. ${xAr("View here",i,{fallback:(a,u)=>`${a}: ${u}`})}`)};return await t.status._visit({notStarted:vf,running:vf,failed:({message:i,s3PreSignedReadUrl:a})=>{a!=null&&n(a),this.context.failAndThrow(i)},finished:async i=>{if(i.s3PreSignedReadUrlV2!=null){n(i.s3PreSignedReadUrlV2);let a=this.getAbsolutePathToLocalOutput();a!=null&&await TQA({s3PreSignedReadUrl:i.s3PreSignedReadUrlV2,absolutePathToLocalOutput:a,context:this.context})}if(this.absolutePathToPreview==null)for(let a of r)this.context.logger.info(`Published ${a}`);pv(this,$ei,!0),pv(this,Jei,i.createdSnippets!=null?i.createdSnippets:!1),pv(this,Gei,i.snippetsS3PreSignedReadUrl)},_other:()=>{this.context.logger.warn("Received unknown update type: "+t.status.type)}}),yc(this,$ei)?{createdSnippets:yc(this,Jei),snippetsS3PreSignedReadUrl:yc(this,Gei)}:void 0}getAbsolutePathToLocalOutput(){return this.absolutePathToPreview!=null?pf(this.absolutePathToPreview,zs.of(fwc.default.basename(this.generatorInvocation.name))):this.generatorInvocation.absolutePathToLocalOutput}get isFinished(){return yc(this,$ei)}get createdSnippets(){return yc(this,Jei)}get snippetsS3PreSignedReadUrl(){return yc(this,Gei)}};$ei=new WeakMap,Jei=new WeakMap,Gei=new WeakMap;async function TQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t,context:r}){try{await qQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}),r.logger.info(al.green(`Downloaded to ${t}`))}catch(n){r.failAndThrow("Failed to download files",n)}}async function qQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await mvg.default.get(e,{responseType:"stream"}),n=await wvg.default.dir({prefix:"fern",unsafeCleanup:!0}),i=fwc.default.join(n.path,"output.zip");await(0,jvg.pipeline)(r.data,(0,Pvg.createWriteStream)(i)),await Vh(t)&&await(0,B7o.rm)(t,{recursive:!0}),await(0,B7o.mkdir)(t,{recursive:!0}),await(0,Ovg.default)(i,t)}function CQA(e){switch(e){case"DEBUG":return vM.Debug;case"INFO":return vM.Info;case"WARN":return vM.Warn;case"ERROR":return vM.Error;default:return vM.Info}}var R7o=require("fs/promises"),Dvg=yu(Kte(),1),AQA="proto.zip",I7o=class{sourceTypes;context;sources;constructor(t,r){this.context=t,this.sources=Object.fromEntries(r.map(n=>[n.id,n])),this.sourceTypes=new Set(Object.values(this.sources).map(n=>n.type))}async uploadSources(t){for(let[r,n]of Object.entries(t)){let i=this.getSourceOrThrow(r);await this.uploadSource(i,n.uploadUrl)}return this.convertFdrSourceUploadsToSourceConfig(t)}async uploadSource(t,r){let n=await this.getUploadCommand(t),i=await(0,R7o.readFile)(n.absoluteFilePath),a=await fetch(r,{method:"PUT",body:i,headers:{"Content-Type":"application/octet-stream"}});await n.cleanup(),a.ok||this.context.failAndThrow(`Failed to upload source file: ${t.absoluteFilePath}. Status: ${a.status}, ${a.statusText}`)}async getUploadCommand(t){if(t.type==="protobuf"){let r=await this.zipSource(t.absoluteFilePath);return{absoluteFilePath:r,cleanup:async()=>{this.context.logger.debug(`Removing ${r}`),await(0,R7o.unlink)(r)}}}return{absoluteFilePath:t.absoluteFilePath,cleanup:async()=>{}}}async zipSource(t){let r=await Dvg.default.dir(),n=pf(R_.of(r.path),zs.of(AQA));return this.context.logger.debug(`Zipping source ${t} into ${n}`),await $je(this.context.logger,"zip",["-r",n,"."],{cwd:t,doNotPipeOutput:!0}),n}convertFdrSourceUploadsToSourceConfig(t){let r=[];for(let[n,i]of Object.entries(t))switch(this.getSourceOrThrow(n).type){case"protobuf":r.push(tne.proto({id:n,protoRootUrl:i.downloadUrl}));continue;case"openapi":r.push(tne.openapi());continue;case"asyncapi":continue}return{sources:r}}getSourceOrThrow(t){let r=this.sources[t];return r==null&&this.context.failAndThrow(`Internal error; server responded with source id "${t}" which does not exist in the workspace.`),r}};async function Svg({projectConfig:e,organization:t,workspace:r,interactiveTaskContext:n,generatorInvocation:i,version:a,audiences:u,shouldLogS3Url:f,token:d,whitelabel:c,irVersionOverride:o,absolutePathToPreview:l,readme:g}){let O=BZr({token:d.value}),j=pg.getPackageName({generatorInvocation:i}),S=await JQ({workspace:r,generationLanguage:i.language,keywords:i.keywords,smartCasing:i.smartCasing,disableExamples:i.disableExamples,audiences:u,readme:g,packageName:j,version:a??await zQA({fdr:O,packageName:j,generatorInvocation:i}),context:n}),x=r.getSources(),A=dwe({ir:S,snippetsConfig:{}}),z=await O.api.v1.register.registerApiDefinition({orgId:t,apiId:S.apiName.originalName,definition:A,sources:x.length>0?BQA(x):void 0}),N,C;z.ok&&(N=z.body.apiDefinitionId,C=z.body.sources);let U=new I7o(n,x);if(C==null&&U.sourceTypes.has("protobuf")&&n.failAndThrow("Did not successfully upload Protobuf source files."),C!=null){n.logger.debug("Uploading source files ...");let Je=await U.uploadSources(C);n.logger.debug("Setting IR source configuration ..."),S.sourceConfig=Je}let Y=l!=null,te=Je=>cMn(Je,{onError:Dt=>n.failAndThrow(Dt)},{substituteAsEmpty:Y}),G=te(i),$=await pvg({projectConfig:e,workspace:r,organization:t,generatorInvocation:G,context:n,version:a,intermediateRepresentation:{...S,publishConfig:NQA({generatorInvocation:G})},shouldLogS3Url:f,token:d,whitelabel:c!=null?te(c):void 0,irVersionOverride:o,absolutePathToPreview:l});n.logger.debug(`Job ID: ${$.jobId}`);let ee=$.taskIds[0];if(ee==null){n.failAndThrow("Did not receive a task ID.");return}n.logger.debug(`Task ID: ${ee}`);let Ve=new z7o({job:$,taskId:ee,generatorInvocation:i,interactiveTaskContext:n,absolutePathToPreview:l});return await yvg({job:$,taskHandler:Ve,taskId:ee,context:n})}function NQA({generatorInvocation:e}){return e.outputMode._visit({downloadFiles:()=>{},github:()=>{},githubV2:()=>{},publish:()=>{},publishV2:t=>t._visit({mavenOverride:()=>{},pypiOverride:()=>{},nugetOverride:()=>{},npmOverride:()=>{},rubyGemsOverride:()=>{},postman:r=>{var i,a,u;let n;return((a=(i=e.raw)==null?void 0:i.output)==null?void 0:a.location)==="postman"&&(n=(u=e.raw.output)==null?void 0:u["collection-id"]),y_.PublishingConfig.direct({target:y_.PublishTarget.postman({apiKey:r.apiKey,workspaceId:r.workspaceId,collectionId:n})})},_other:()=>{}}),_other:()=>{}})}async function zQA({fdr:e,packageName:t,generatorInvocation:r}){if(r.language==null)return;let n;switch(r.language){case"csharp":n="Csharp";break;case"go":n="Go";break;case"java":n="Java";break;case"python":n="Python";break;case"ruby":n="Ruby";break;case"typescript":n="TypeScript";break;default:return}if(t==null)return;let i=await e.sdks.versions.computeSemanticVersion({githubRepository:r.outputMode.type==="githubV2"?`${r.outputMode.githubV2.owner}/${r.outputMode.githubV2.repo}`:void 0,language:n,package:t});if(!!i.ok)return i.body.version}function BQA(e){return Object.fromEntries(Object.values(e).map(t=>[t.id,{type:t.type==="protobuf"?"proto":t.type}]))}async function dwc({projectConfig:e,organization:t,workspace:r,context:n,generatorGroup:i,version:a,shouldLogS3Url:u,token:f,whitelabel:d,absolutePathToPreview:c,mode:o}){if(i.generators.length===0)return n.logger.warn("No generators specified."),null;let l=[],g=[];return l.push(...i.generators.map(j=>n.runInteractiveTask({name:j.name},async S=>{let x=await r.toFernWorkspace({context:n},L0i(j)),A=await Svg({projectConfig:e,organization:t,workspace:x,interactiveTaskContext:S,generatorInvocation:{...j,outputMode:j.outputMode._visit({downloadFiles:()=>j.outputMode,github:z=>F7o.FernFiddle.OutputMode.github({...z,makePr:o==="pull-request"}),githubV2:z=>o==="pull-request"?F7o.FernFiddle.OutputMode.githubV2(F7o.FernFiddle.GithubOutputModeV2.pullRequest(z)):j.outputMode,publish:()=>j.outputMode,publishV2:()=>j.outputMode,_other:()=>j.outputMode})},version:a,audiences:i.audiences,shouldLogS3Url:u,token:f,whitelabel:d,readme:j.readme,irVersionOverride:j.irVersionOverride,absolutePathToPreview:c});A!=null&&A.createdSnippets&&(g.push(j),j.absolutePathToLocalSnippets!=null&&A.snippetsS3PreSignedReadUrl!=null&&await svg({snippetsS3PreSignedReadUrl:A.snippetsS3PreSignedReadUrl,absolutePathToLocalSnippetJSON:j.absolutePathToLocalSnippets,context:S}))}))),(await Promise.all(l)).some(j=>!j)&&n.failAndThrow(),{snippetsProducedBy:g}}var ybg=yu(vRt(),1);var vbg=require("fs/promises");var qwc=yu(zci(),1);var cbg=yu(sbg(),1);var lbg=require("util"),_kA=(0,lbg.promisify)(cbg.default);async function fbg(e,t,r){let n=Fui(e,t),i=[];for(let a of n){let u=await Promise.all(a.map(async f=>{try{let d=await _kA(f);return d==null||d.height==null||d.width==null?void 0:{filePath:f,width:d.width,height:d.height,blurDataUrl:void 0}}catch(d){r.logger.error(`Failed to measure image size for ${f}. ${d==null?void 0:d.message}`);return}}));i.push(...u.filter(FS))}return new Map(i.map(a=>[a.filePath,a]))}var hkA=10,dbg=10;async function bbg({token:e,organization:t,docsWorkspace:r,domain:n,customDomains:i,fernWorkspaces:a,context:u,preview:f,editThisPage:d,isPrivate:c=!1}){let o=BZr({token:e.value}),l=c?{type:"private",authType:"sso"}:{type:"public"},g,O=i[0]??n,j=ykA(n),x=await new Prn(n,r,a,u,d,async z=>{let N=new Map(z.map($=>[$.absoluteFilePath,$])),U=z.map($=>({...$,mediaType:qwc.lookup($.absoluteFilePath)})).filter($=>$.mediaType!==!1).filter($=>{var ee;return((ee=sA.parse($.mediaType))==null?void 0:ee.isImage())??!1}).map($=>$.absoluteFilePath),Y=await fbg(U,hkA,u),te=[];[...Y.values()].forEach($=>{let ee=N.get($.filePath);if(ee==null)return;let Ve={filePath:RGi(ee.relativeFilePath),width:$.width,height:$.height,blurDataUrl:$.blurDataUrl};te.push(Ve)});let G=z.filter(({absoluteFilePath:$})=>!Y.has($)).map(({relativeFilePath:$})=>RGi($));if(f){let $=await o.docs.v2.write.startDocsPreviewRegister({orgId:t,authConfig:c?{type:"private",authType:"sso"}:{type:"public"},filepaths:G,images:te,basePath:j});return $.ok?(O=$.body.previewUrl,g=$.body.docsRegistrationId,await pbg($.body.uploadUrls,r.absoluteFilePath,u,dbg),_bg($.body.uploadUrls,r.absoluteFilePath)):await hbg($.error,u)}else{let $=await o.docs.v2.write.startDocsRegister({domain:n,customDomains:i,authConfig:l,apiId:"",orgId:t,filepaths:G,images:te});return $.ok?(g=$.body.docsRegistrationId,await pbg($.body.uploadUrls,r.absoluteFilePath,u,dbg),_bg($.body.uploadUrls,r.absoluteFilePath)):hbg($.error,u)}},async({ir:z,snippetsConfig:N,playgroundConfig:C,apiName:U})=>{let Y=dwe({ir:z,snippetsConfig:N,playgroundConfig:C});u.logger.debug("Calling registerAPI... ",JSON.stringify(Y,void 0,4));let te=await o.api.v1.register.registerApiDefinition({orgId:t,apiId:z.apiName.originalName,definition:Y});if(te.ok)return u.logger.debug(`Registered API Definition ${te.body.apiDefinitionId}`),te.body.apiDefinitionId;switch(te.error.error){case"UnauthorizedError":case"UserNotInOrgError":return u.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return U!=null?u.failAndThrow(`Failed to register API ${U}`,te.error):u.failAndThrow("Failed to register API",te.error)}}).resolve();if(g==null)return u.failAndThrow("Failed to publish docs.","Docs registration ID is missing.");u.logger.debug("Calling registerDocs... ",JSON.stringify(x,void 0,4));let A=await o.docs.v2.write.finishDocsRegister(g,{docsDefinition:x});if(A.ok){let z=qEr(O),N=xAr(z,z);u.logger.info(al.green(`Published docs to ${N}`))}else switch(A.error.error){case"UnauthorizedError":case"UserNotInOrgError":return u.failAndThrow("Insufficient permissions. Failed to publish docs to "+n);case"DocsRegistrationIdNotFound":return u.failAndThrow("Failed to publish docs to "+n,`Docs registration ID ${g} does not exist.`);default:return u.failAndThrow("Failed to publish docs to "+n,A.error)}}async function pbg(e,t,r,n){let i=Date.now(),a=Object.keys(e).length;r.logger.debug(`Start uploading ${a} files...`);let u=Fui(Object.entries(e),n),f=0;for(let c of u){await Promise.all(c.map(async([l,{uploadUrl:g}])=>{let O=zs.of(l),j=w2(t,O);try{let S=qwc.lookup(j);await ybg.default.put(g,await(0,vbg.readFile)(j),{headers:{"Content-Type":S===!1?"application/octet-stream":S}})}catch(S){r.failAndThrow(`Failed to upload ${j}`,S)}}));let o=Date.now();f+=c.length,r.logger.debug(`Uploaded ${f}/${a} files in ${o-i}ms`)}let d=Date.now();r.logger.debug(`Finished uploading ${a} files in ${d-i}ms`)}function _bg(e,t){let r=[];for(let[n,i]of Object.entries(e)){let a=zs.of(n),u=w2(t,a);r.push({relativeFilePath:a,absoluteFilePath:u,fileId:i.fileId})}return r}async function hbg(e,t){switch(await t.instrumentPostHogEvent({command:"docs-generation",properties:{error:JSON.stringify(e)}}),e.error){case"InvalidCustomDomainError":return t.failAndThrow("Your docs domain should end with docs.buildwithfern.com");case"InvalidDomainError":return t.failAndThrow("Please make sure that none of your custom domains are not overlapping (i.e. one is a substring of another)");case"UnauthorizedError":return t.failAndThrow("Please make sure that your FERN_TOKEN is set.");case"UserNotInOrgError":return t.failAndThrow("Please verify if you have access to the organization you are trying to publish the docs to. If you are not a member of the organization, please reach out to the organization owner.");case"UnavailableError":return t.failAndThrow("Failed to publish docs. Please try again later or reach out to Fern support at support@buildwithfern.com.");default:return t.failAndThrow("Failed to publish docs.",e)}}function ykA(e){try{return new URL(qEr(e)).pathname}catch{return}}async function Cwc({organization:e,fernWorkspaces:t,docsWorkspace:r,context:n,token:i,instanceUrl:a,preview:u}){var o;let f=r.config.instances;if(r.config=cMn(r.config,{onError:l=>n.failAndThrow(l)},{substituteAsEmpty:u}),f.length===0){n.failAndThrow("No instances specified in docs.yml! Cannot register docs.");return}if(f.length>1&&a==null){n.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${(o=f[0])==null?void 0:o.url})`);return}let d=f.find(l=>l.url===a)??f[0];if(d==null){n.failAndThrow(`No docs instance with url ${a}. Failed to register.`);return}let c=[];d.customDomain!=null&&(typeof d.customDomain=="string"?c.push(d.customDomain):Array.isArray(d.customDomain)&&c.push(...d.customDomain)),await n.runInteractiveTask({name:d.url},async()=>{await bbg({docsWorkspace:r,customDomains:c,domain:d.url,token:i,organization:e,context:n,fernWorkspaces:t,preview:u,audiences:d.audiences,editThisPage:d.editThisPage,isPrivate:d.private})})}async function gbg({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,version:a,shouldLogS3Url:u,token:f,useLocalDocker:d,keepDocker:c,absolutePathToPreview:o,mode:l}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspaces has no groups specified in ${a5}`);return}let g=i??t.generatorsConfiguration.defaultGroup;if(g==null)return n.failAndThrow(`No group specified. Use the --${Zog} option, or set "${jNc}" in ${a5}`);let O=t.generatorsConfiguration.groups.find(j=>j.groupName===g);if(O==null)return n.failAndThrow(`Group '${g}' does not exist.`);if(await UFt({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1}),d)await cwc({projectConfig:r,workspace:t,generatorGroup:O,keepDocker:c,context:n});else{if(!f)return n.failAndThrow("Please run fern login");await dwc({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:a,shouldLogS3Url:u,token:f,whitelabel:t.generatorsConfiguration.whitelabel,absolutePathToPreview:o,mode:l})}}var mbg={PullRequest:"pull-request"};async function Awc({project:e,cliContext:t,version:r,groupName:n,shouldLogS3Url:i,keepDocker:a,useLocalDocker:u,preview:f,mode:d}){let c;if(!u){let o=await t.runTask(async l=>s2e(l));o.type==="user"&&await t.runTask(async l=>{await rSr({organization:e.config.organization,token:o,context:l})}),c=o}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(o=>{var l;return{name:o.workspaceName,group:n,generators:(l=o.generatorsConfiguration)==null?void 0:l.groups.filter(g=>n==null?!0:g.groupName===n).map(g=>g.generators.map(O=>({name:O.name,version:O.version,outputMode:O.outputMode.type,config:O.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async o=>{await t.runTaskForWorkspace(o,async l=>{let g=f?pf(o.absoluteFilePath,zs.of(kog)):void 0;g!=null&&l.logger.info(`Writing preview to ${g}`),await gbg({organization:e.config.organization,workspace:o,projectConfig:e.config,context:l,version:r,groupName:n,shouldLogS3Url:i,token:c,useLocalDocker:u,keepDocker:a,absolutePathToPreview:g,mode:d})})}))}async function Obg({project:e,cliContext:t,instance:r,preview:n}){let i=e.docsWorkspaces;if(i==null)return;let a=await t.runTask(async u=>s2e(u));a.type==="user"&&await t.runTask(async u=>{await rSr({organization:e.config.organization,token:a,context:u})}),await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(i,async u=>{await qMa({workspace:i,context:u,logWarnings:!1,loadAPIWorkspace:e.loadAPIWorkspace});let f=await Promise.all(e.apiWorkspaces.map(async d=>d.toFernWorkspace({context:u},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1})));await Cwc({organization:e.config.organization,fernWorkspaces:f,docsWorkspace:i,context:u,token:a,instanceUrl:r,preview:n})})}var Nwc=yu(pju(),1);var Mjn=class{app=(0,Nwc.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:n}){this.context=t,this.app.use(Nwc.default.json({limit:"50mb",strict:!1})),this.port=n;let i=new Map;for(let d of Object.values(r.services))for(let c of d.endpoints){let o=vkA(c);t.logger.debug(`Registering ${c.method} ${o} ...`);let l=i.get(o)??new Map,g=l.get(c.method)??[];i.set(o,l.set(c.method,[...g,c]))}let a=(d,c)=>{let o=d[0],l=c[0],g=o.split("/"),O=l.split("/");if(g.length!==O.length)return g.length-O.length;for(let j=0;j<Math.min(g.length,O.length);j++){let S=g[j],x=O[j];if(S===x)continue;if(S==null||x==null)return S==null?-1:1;let A=S.startsWith(":"),z=x.startsWith(":");return A&&!z?1:!A&&z?-1:S.localeCompare(x)}return 0},f=Array.from(i).sort(a);for(let[d,c]of f)for(let[o,l]of c)switch(o){case"GET":this.app.get(d,VLi(l));break;case"POST":this.app.post(d,VLi(l));break;case"PUT":this.app.put(d,VLi(l));break;case"PATCH":this.app.patch(d,VLi(l));break;case"DELETE":this.app.delete(d,VLi(l));break}}stop(){var t;(t=this.server)==null||t.close()}async start(){return this.port=this.port??await Tpi(),this.server=this.app.listen(this.port),this.context.logger.info(`Running Fern mock server on localhost: ${this.port}`),this.port}async keepAlive(){await new Promise(()=>{})}};function vkA(e){let t="";e.fullPath.head.length>0&&(t=$S(t,e.fullPath.head));for(let r of e.fullPath.parts)t=$S(t,":"+r.pathParameter),r.tail.length>0&&(t=$S(t,r.tail));return t.startsWith("/")?t:`/${t}`}function VLi(e){let t=!1;return(r,n)=>{var i;for(let a of e)for(let u of[...a.autogeneratedExamples,...a.userSpecifiedExamples])if(t=!0,u.example!=null&&bkA(r,u.example)){(i=u.example.response)==null||i._visit({ok:f=>{f._visit({body:d=>{var c,o,l;if(d==null){n.sendStatus(((c=a.response)==null?void 0:c.statusCode)??204);return}if(((l=(o=a.response)==null?void 0:o.body)==null?void 0:l.type)==="text"){n.contentType("text/plain"),n.send(d.jsonExample);return}n.json(d.jsonExample)},stream:d=>{d.forEach(c=>{n.write(c.jsonExample)}),n.end()},sse:d=>{n.setHeader("Content-Type","text/event-stream"),d.forEach(c=>{n.write(`event: ${c.event}
2269
+ `):void 0);for(let i of t.logs.slice(this.lengthOfLastLogs))this.context.logger.log(CQA(i.level),i.message);this.lengthOfLastLogs=t.logs.length;let n=i=>{this.context.logger.debug(`Generated files. ${xAr("View here",i,{fallback:(a,u)=>`${a}: ${u}`})}`)};return await t.status._visit({notStarted:vf,running:vf,failed:({message:i,s3PreSignedReadUrl:a})=>{a!=null&&n(a),this.context.failAndThrow(i)},finished:async i=>{if(i.s3PreSignedReadUrlV2!=null){n(i.s3PreSignedReadUrlV2);let a=this.getAbsolutePathToLocalOutput();a!=null&&await TQA({s3PreSignedReadUrl:i.s3PreSignedReadUrlV2,absolutePathToLocalOutput:a,context:this.context})}if(this.absolutePathToPreview==null)for(let a of r)this.context.logger.info(`Published ${a}`);pv(this,$ei,!0),pv(this,Jei,i.createdSnippets!=null?i.createdSnippets:!1),pv(this,Gei,i.snippetsS3PreSignedReadUrl)},_other:()=>{this.context.logger.warn("Received unknown update type: "+t.status.type)}}),yc(this,$ei)?{createdSnippets:yc(this,Jei),snippetsS3PreSignedReadUrl:yc(this,Gei)}:void 0}getAbsolutePathToLocalOutput(){return this.absolutePathToPreview!=null?pf(this.absolutePathToPreview,zs.of(fwc.default.basename(this.generatorInvocation.name))):this.generatorInvocation.absolutePathToLocalOutput}get isFinished(){return yc(this,$ei)}get createdSnippets(){return yc(this,Jei)}get snippetsS3PreSignedReadUrl(){return yc(this,Gei)}};$ei=new WeakMap,Jei=new WeakMap,Gei=new WeakMap;async function TQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t,context:r}){try{await qQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}),r.logger.info(al.green(`Downloaded to ${t}`))}catch(n){r.failAndThrow("Failed to download files",n)}}async function qQA({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await mvg.default.get(e,{responseType:"stream"}),n=await wvg.default.dir({prefix:"fern",unsafeCleanup:!0}),i=fwc.default.join(n.path,"output.zip");await(0,jvg.pipeline)(r.data,(0,Pvg.createWriteStream)(i)),await Vh(t)&&await(0,B7o.rm)(t,{recursive:!0}),await(0,B7o.mkdir)(t,{recursive:!0}),await(0,Ovg.default)(i,t)}function CQA(e){switch(e){case"DEBUG":return vM.Debug;case"INFO":return vM.Info;case"WARN":return vM.Warn;case"ERROR":return vM.Error;default:return vM.Info}}var R7o=require("fs/promises"),Dvg=yu(Kte(),1),AQA="proto.zip",I7o=class{sourceTypes;context;sources;constructor(t,r){this.context=t,this.sources=Object.fromEntries(r.map(n=>[n.id,n])),this.sourceTypes=new Set(Object.values(this.sources).map(n=>n.type))}async uploadSources(t){for(let[r,n]of Object.entries(t)){let i=this.getSourceOrThrow(r);await this.uploadSource(i,n.uploadUrl)}return this.convertFdrSourceUploadsToSourceConfig(t)}async uploadSource(t,r){let n=await this.getUploadCommand(t),i=await(0,R7o.readFile)(n.absoluteFilePath),a=await fetch(r,{method:"PUT",body:i,headers:{"Content-Type":"application/octet-stream"}});await n.cleanup(),a.ok||this.context.failAndThrow(`Failed to upload source file: ${t.absoluteFilePath}. Status: ${a.status}, ${a.statusText}`)}async getUploadCommand(t){if(t.type==="protobuf"){let r=await this.zipSource(t.absoluteFilePath);return{absoluteFilePath:r,cleanup:async()=>{this.context.logger.debug(`Removing ${r}`),await(0,R7o.unlink)(r)}}}return{absoluteFilePath:t.absoluteFilePath,cleanup:async()=>{}}}async zipSource(t){let r=await Dvg.default.dir(),n=pf(R_.of(r.path),zs.of(AQA));return this.context.logger.debug(`Zipping source ${t} into ${n}`),await $je(this.context.logger,"zip",["-r",n,"."],{cwd:t,doNotPipeOutput:!0}),n}convertFdrSourceUploadsToSourceConfig(t){let r=[];for(let[n,i]of Object.entries(t))switch(this.getSourceOrThrow(n).type){case"protobuf":r.push(tne.proto({id:n,protoRootUrl:i.downloadUrl}));continue;case"openapi":r.push(tne.openapi());continue;case"asyncapi":continue}return{sources:r}}getSourceOrThrow(t){let r=this.sources[t];return r==null&&this.context.failAndThrow(`Internal error; server responded with source id "${t}" which does not exist in the workspace.`),r}};async function Svg({projectConfig:e,organization:t,workspace:r,interactiveTaskContext:n,generatorInvocation:i,version:a,audiences:u,shouldLogS3Url:f,token:d,whitelabel:c,irVersionOverride:o,absolutePathToPreview:l,readme:g}){let O=BZr({token:d.value}),j=pg.getPackageName({generatorInvocation:i}),S=await JQ({workspace:r,generationLanguage:i.language,keywords:i.keywords,smartCasing:i.smartCasing,disableExamples:i.disableExamples,audiences:u,readme:g,packageName:j,version:a??await zQA({fdr:O,packageName:j,generatorInvocation:i}),context:n}),x=r.getSources(),A=dwe({ir:S,snippetsConfig:{}}),z=await O.api.v1.register.registerApiDefinition({orgId:t,apiId:S.apiName.originalName,definition:A,sources:x.length>0?BQA(x):void 0}),N,C;z.ok&&(N=z.body.apiDefinitionId,C=z.body.sources);let U=new I7o(n,x);if(C==null&&U.sourceTypes.has("protobuf")&&n.failAndThrow("Did not successfully upload Protobuf source files."),C!=null){n.logger.debug("Uploading source files ...");let Je=await U.uploadSources(C);n.logger.debug("Setting IR source configuration ..."),S.sourceConfig=Je}let Y=l!=null,te=Je=>cMn(Je,{onError:Dt=>n.failAndThrow(Dt)},{substituteAsEmpty:Y}),G=te(i),$=await pvg({projectConfig:e,workspace:r,organization:t,generatorInvocation:G,context:n,version:a,intermediateRepresentation:{...S,fdrApiDefinitionId:N,publishConfig:NQA({generatorInvocation:G})},shouldLogS3Url:f,token:d,whitelabel:c!=null?te(c):void 0,irVersionOverride:o,absolutePathToPreview:l});n.logger.debug(`Job ID: ${$.jobId}`);let ee=$.taskIds[0];if(ee==null){n.failAndThrow("Did not receive a task ID.");return}n.logger.debug(`Task ID: ${ee}`);let Ve=new z7o({job:$,taskId:ee,generatorInvocation:i,interactiveTaskContext:n,absolutePathToPreview:l});return await yvg({job:$,taskHandler:Ve,taskId:ee,context:n})}function NQA({generatorInvocation:e}){return e.outputMode._visit({downloadFiles:()=>{},github:()=>{},githubV2:()=>{},publish:()=>{},publishV2:t=>t._visit({mavenOverride:()=>{},pypiOverride:()=>{},nugetOverride:()=>{},npmOverride:()=>{},rubyGemsOverride:()=>{},postman:r=>{var i,a,u;let n;return((a=(i=e.raw)==null?void 0:i.output)==null?void 0:a.location)==="postman"&&(n=(u=e.raw.output)==null?void 0:u["collection-id"]),y_.PublishingConfig.direct({target:y_.PublishTarget.postman({apiKey:r.apiKey,workspaceId:r.workspaceId,collectionId:n})})},_other:()=>{}}),_other:()=>{}})}async function zQA({fdr:e,packageName:t,generatorInvocation:r}){if(r.language==null)return;let n;switch(r.language){case"csharp":n="Csharp";break;case"go":n="Go";break;case"java":n="Java";break;case"python":n="Python";break;case"ruby":n="Ruby";break;case"typescript":n="TypeScript";break;default:return}if(t==null)return;let i=await e.sdks.versions.computeSemanticVersion({githubRepository:r.outputMode.type==="githubV2"?`${r.outputMode.githubV2.owner}/${r.outputMode.githubV2.repo}`:void 0,language:n,package:t});if(!!i.ok)return i.body.version}function BQA(e){return Object.fromEntries(Object.values(e).map(t=>[t.id,{type:t.type==="protobuf"?"proto":t.type}]))}async function dwc({projectConfig:e,organization:t,workspace:r,context:n,generatorGroup:i,version:a,shouldLogS3Url:u,token:f,whitelabel:d,absolutePathToPreview:c,mode:o}){if(i.generators.length===0)return n.logger.warn("No generators specified."),null;let l=[],g=[];return l.push(...i.generators.map(j=>n.runInteractiveTask({name:j.name},async S=>{let x=await r.toFernWorkspace({context:n},L0i(j)),A=await Svg({projectConfig:e,organization:t,workspace:x,interactiveTaskContext:S,generatorInvocation:{...j,outputMode:j.outputMode._visit({downloadFiles:()=>j.outputMode,github:z=>F7o.FernFiddle.OutputMode.github({...z,makePr:o==="pull-request"}),githubV2:z=>o==="pull-request"?F7o.FernFiddle.OutputMode.githubV2(F7o.FernFiddle.GithubOutputModeV2.pullRequest(z)):j.outputMode,publish:()=>j.outputMode,publishV2:()=>j.outputMode,_other:()=>j.outputMode})},version:a,audiences:i.audiences,shouldLogS3Url:u,token:f,whitelabel:d,readme:j.readme,irVersionOverride:j.irVersionOverride,absolutePathToPreview:c});A!=null&&A.createdSnippets&&(g.push(j),j.absolutePathToLocalSnippets!=null&&A.snippetsS3PreSignedReadUrl!=null&&await svg({snippetsS3PreSignedReadUrl:A.snippetsS3PreSignedReadUrl,absolutePathToLocalSnippetJSON:j.absolutePathToLocalSnippets,context:S}))}))),(await Promise.all(l)).some(j=>!j)&&n.failAndThrow(),{snippetsProducedBy:g}}var ybg=yu(vRt(),1);var vbg=require("fs/promises");var qwc=yu(zci(),1);var cbg=yu(sbg(),1);var lbg=require("util"),_kA=(0,lbg.promisify)(cbg.default);async function fbg(e,t,r){let n=Fui(e,t),i=[];for(let a of n){let u=await Promise.all(a.map(async f=>{try{let d=await _kA(f);return d==null||d.height==null||d.width==null?void 0:{filePath:f,width:d.width,height:d.height,blurDataUrl:void 0}}catch(d){r.logger.error(`Failed to measure image size for ${f}. ${d==null?void 0:d.message}`);return}}));i.push(...u.filter(FS))}return new Map(i.map(a=>[a.filePath,a]))}var hkA=10,dbg=10;async function bbg({token:e,organization:t,docsWorkspace:r,domain:n,customDomains:i,fernWorkspaces:a,context:u,preview:f,editThisPage:d,isPrivate:c=!1}){let o=BZr({token:e.value}),l=c?{type:"private",authType:"sso"}:{type:"public"},g,O=i[0]??n,j=ykA(n),x=await new Prn(n,r,a,u,d,async z=>{let N=new Map(z.map($=>[$.absoluteFilePath,$])),U=z.map($=>({...$,mediaType:qwc.lookup($.absoluteFilePath)})).filter($=>$.mediaType!==!1).filter($=>{var ee;return((ee=sA.parse($.mediaType))==null?void 0:ee.isImage())??!1}).map($=>$.absoluteFilePath),Y=await fbg(U,hkA,u),te=[];[...Y.values()].forEach($=>{let ee=N.get($.filePath);if(ee==null)return;let Ve={filePath:RGi(ee.relativeFilePath),width:$.width,height:$.height,blurDataUrl:$.blurDataUrl};te.push(Ve)});let G=z.filter(({absoluteFilePath:$})=>!Y.has($)).map(({relativeFilePath:$})=>RGi($));if(f){let $=await o.docs.v2.write.startDocsPreviewRegister({orgId:t,authConfig:c?{type:"private",authType:"sso"}:{type:"public"},filepaths:G,images:te,basePath:j});return $.ok?(O=$.body.previewUrl,g=$.body.docsRegistrationId,await pbg($.body.uploadUrls,r.absoluteFilePath,u,dbg),_bg($.body.uploadUrls,r.absoluteFilePath)):await hbg($.error,u)}else{let $=await o.docs.v2.write.startDocsRegister({domain:n,customDomains:i,authConfig:l,apiId:"",orgId:t,filepaths:G,images:te});return $.ok?(g=$.body.docsRegistrationId,await pbg($.body.uploadUrls,r.absoluteFilePath,u,dbg),_bg($.body.uploadUrls,r.absoluteFilePath)):hbg($.error,u)}},async({ir:z,snippetsConfig:N,playgroundConfig:C,apiName:U})=>{let Y=dwe({ir:z,snippetsConfig:N,playgroundConfig:C});u.logger.debug("Calling registerAPI... ",JSON.stringify(Y,void 0,4));let te=await o.api.v1.register.registerApiDefinition({orgId:t,apiId:z.apiName.originalName,definition:Y});if(te.ok)return u.logger.debug(`Registered API Definition ${te.body.apiDefinitionId}`),te.body.apiDefinitionId;switch(te.error.error){case"UnauthorizedError":case"UserNotInOrgError":return u.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return U!=null?u.failAndThrow(`Failed to register API ${U}`,te.error):u.failAndThrow("Failed to register API",te.error)}}).resolve();if(g==null)return u.failAndThrow("Failed to publish docs.","Docs registration ID is missing.");u.logger.debug("Calling registerDocs... ",JSON.stringify(x,void 0,4));let A=await o.docs.v2.write.finishDocsRegister(g,{docsDefinition:x});if(A.ok){let z=qEr(O),N=xAr(z,z);u.logger.info(al.green(`Published docs to ${N}`))}else switch(A.error.error){case"UnauthorizedError":case"UserNotInOrgError":return u.failAndThrow("Insufficient permissions. Failed to publish docs to "+n);case"DocsRegistrationIdNotFound":return u.failAndThrow("Failed to publish docs to "+n,`Docs registration ID ${g} does not exist.`);default:return u.failAndThrow("Failed to publish docs to "+n,A.error)}}async function pbg(e,t,r,n){let i=Date.now(),a=Object.keys(e).length;r.logger.debug(`Start uploading ${a} files...`);let u=Fui(Object.entries(e),n),f=0;for(let c of u){await Promise.all(c.map(async([l,{uploadUrl:g}])=>{let O=zs.of(l),j=w2(t,O);try{let S=qwc.lookup(j);await ybg.default.put(g,await(0,vbg.readFile)(j),{headers:{"Content-Type":S===!1?"application/octet-stream":S}})}catch(S){r.failAndThrow(`Failed to upload ${j}`,S)}}));let o=Date.now();f+=c.length,r.logger.debug(`Uploaded ${f}/${a} files in ${o-i}ms`)}let d=Date.now();r.logger.debug(`Finished uploading ${a} files in ${d-i}ms`)}function _bg(e,t){let r=[];for(let[n,i]of Object.entries(e)){let a=zs.of(n),u=w2(t,a);r.push({relativeFilePath:a,absoluteFilePath:u,fileId:i.fileId})}return r}async function hbg(e,t){switch(await t.instrumentPostHogEvent({command:"docs-generation",properties:{error:JSON.stringify(e)}}),e.error){case"InvalidCustomDomainError":return t.failAndThrow("Your docs domain should end with docs.buildwithfern.com");case"InvalidDomainError":return t.failAndThrow("Please make sure that none of your custom domains are not overlapping (i.e. one is a substring of another)");case"UnauthorizedError":return t.failAndThrow("Please make sure that your FERN_TOKEN is set.");case"UserNotInOrgError":return t.failAndThrow("Please verify if you have access to the organization you are trying to publish the docs to. If you are not a member of the organization, please reach out to the organization owner.");case"UnavailableError":return t.failAndThrow("Failed to publish docs. Please try again later or reach out to Fern support at support@buildwithfern.com.");default:return t.failAndThrow("Failed to publish docs.",e)}}function ykA(e){try{return new URL(qEr(e)).pathname}catch{return}}async function Cwc({organization:e,fernWorkspaces:t,docsWorkspace:r,context:n,token:i,instanceUrl:a,preview:u}){var o;let f=r.config.instances;if(r.config=cMn(r.config,{onError:l=>n.failAndThrow(l)},{substituteAsEmpty:u}),f.length===0){n.failAndThrow("No instances specified in docs.yml! Cannot register docs.");return}if(f.length>1&&a==null){n.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${(o=f[0])==null?void 0:o.url})`);return}let d=f.find(l=>l.url===a)??f[0];if(d==null){n.failAndThrow(`No docs instance with url ${a}. Failed to register.`);return}let c=[];d.customDomain!=null&&(typeof d.customDomain=="string"?c.push(d.customDomain):Array.isArray(d.customDomain)&&c.push(...d.customDomain)),await n.runInteractiveTask({name:d.url},async()=>{await bbg({docsWorkspace:r,customDomains:c,domain:d.url,token:i,organization:e,context:n,fernWorkspaces:t,preview:u,audiences:d.audiences,editThisPage:d.editThisPage,isPrivate:d.private})})}async function gbg({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,version:a,shouldLogS3Url:u,token:f,useLocalDocker:d,keepDocker:c,absolutePathToPreview:o,mode:l}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspaces has no groups specified in ${a5}`);return}let g=i??t.generatorsConfiguration.defaultGroup;if(g==null)return n.failAndThrow(`No group specified. Use the --${Zog} option, or set "${jNc}" in ${a5}`);let O=t.generatorsConfiguration.groups.find(j=>j.groupName===g);if(O==null)return n.failAndThrow(`Group '${g}' does not exist.`);if(await UFt({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1}),d)await cwc({projectConfig:r,workspace:t,generatorGroup:O,keepDocker:c,context:n});else{if(!f)return n.failAndThrow("Please run fern login");await dwc({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:a,shouldLogS3Url:u,token:f,whitelabel:t.generatorsConfiguration.whitelabel,absolutePathToPreview:o,mode:l})}}var mbg={PullRequest:"pull-request"};async function Awc({project:e,cliContext:t,version:r,groupName:n,shouldLogS3Url:i,keepDocker:a,useLocalDocker:u,preview:f,mode:d}){let c;if(!u){let o=await t.runTask(async l=>s2e(l));o.type==="user"&&await t.runTask(async l=>{await rSr({organization:e.config.organization,token:o,context:l})}),c=o}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(o=>{var l;return{name:o.workspaceName,group:n,generators:(l=o.generatorsConfiguration)==null?void 0:l.groups.filter(g=>n==null?!0:g.groupName===n).map(g=>g.generators.map(O=>({name:O.name,version:O.version,outputMode:O.outputMode.type,config:O.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async o=>{await t.runTaskForWorkspace(o,async l=>{let g=f?pf(o.absoluteFilePath,zs.of(kog)):void 0;g!=null&&l.logger.info(`Writing preview to ${g}`),await gbg({organization:e.config.organization,workspace:o,projectConfig:e.config,context:l,version:r,groupName:n,shouldLogS3Url:i,token:c,useLocalDocker:u,keepDocker:a,absolutePathToPreview:g,mode:d})})}))}async function Obg({project:e,cliContext:t,instance:r,preview:n}){let i=e.docsWorkspaces;if(i==null)return;let a=await t.runTask(async u=>s2e(u));a.type==="user"&&await t.runTask(async u=>{await rSr({organization:e.config.organization,token:a,context:u})}),await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(i,async u=>{await qMa({workspace:i,context:u,logWarnings:!1,loadAPIWorkspace:e.loadAPIWorkspace});let f=await Promise.all(e.apiWorkspaces.map(async d=>d.toFernWorkspace({context:u},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1})));await Cwc({organization:e.config.organization,fernWorkspaces:f,docsWorkspace:i,context:u,token:a,instanceUrl:r,preview:n})})}var Nwc=yu(pju(),1);var Mjn=class{app=(0,Nwc.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:n}){this.context=t,this.app.use(Nwc.default.json({limit:"50mb",strict:!1})),this.port=n;let i=new Map;for(let d of Object.values(r.services))for(let c of d.endpoints){let o=vkA(c);t.logger.debug(`Registering ${c.method} ${o} ...`);let l=i.get(o)??new Map,g=l.get(c.method)??[];i.set(o,l.set(c.method,[...g,c]))}let a=(d,c)=>{let o=d[0],l=c[0],g=o.split("/"),O=l.split("/");if(g.length!==O.length)return g.length-O.length;for(let j=0;j<Math.min(g.length,O.length);j++){let S=g[j],x=O[j];if(S===x)continue;if(S==null||x==null)return S==null?-1:1;let A=S.startsWith(":"),z=x.startsWith(":");return A&&!z?1:!A&&z?-1:S.localeCompare(x)}return 0},f=Array.from(i).sort(a);for(let[d,c]of f)for(let[o,l]of c)switch(o){case"GET":this.app.get(d,VLi(l));break;case"POST":this.app.post(d,VLi(l));break;case"PUT":this.app.put(d,VLi(l));break;case"PATCH":this.app.patch(d,VLi(l));break;case"DELETE":this.app.delete(d,VLi(l));break}}stop(){var t;(t=this.server)==null||t.close()}async start(){return this.port=this.port??await Tpi(),this.server=this.app.listen(this.port),this.context.logger.info(`Running Fern mock server on localhost: ${this.port}`),this.port}async keepAlive(){await new Promise(()=>{})}};function vkA(e){let t="";e.fullPath.head.length>0&&(t=$S(t,e.fullPath.head));for(let r of e.fullPath.parts)t=$S(t,":"+r.pathParameter),r.tail.length>0&&(t=$S(t,r.tail));return t.startsWith("/")?t:`/${t}`}function VLi(e){let t=!1;return(r,n)=>{var i;for(let a of e)for(let u of[...a.autogeneratedExamples,...a.userSpecifiedExamples])if(t=!0,u.example!=null&&bkA(r,u.example)){(i=u.example.response)==null||i._visit({ok:f=>{f._visit({body:d=>{var c,o,l;if(d==null){n.sendStatus(((c=a.response)==null?void 0:c.statusCode)??204);return}if(((l=(o=a.response)==null?void 0:o.body)==null?void 0:l.type)==="text"){n.contentType("text/plain"),n.send(d.jsonExample);return}n.json(d.jsonExample)},stream:d=>{d.forEach(c=>{n.write(c.jsonExample)}),n.end()},sse:d=>{n.setHeader("Content-Type","text/event-stream"),d.forEach(c=>{n.write(`event: ${c.event}
2270
2270
  `),n.write(`data: ${JSON.stringify(c.data.jsonExample)}
2271
2271
 
2272
2272
  `)}),n.end()},_other:Yqt})},error:f=>{var d;n.status(((d=a.response)==null?void 0:d.statusCode)??500),f.body==null?n.end():n.json(f.body.jsonExample)},_other:Yqt});return}if(!t){n.status(500).send("This endpoint doesn't have any examples");return}n.status(404).send(`Unrecognized example request: ${JSON.stringify(r.headers)} ${JSON.stringify(r.params)} ${JSON.stringify(r.query)} ${JSON.stringify(r.body)}`)}}function Pbg(e){let t=new Date(e);return!isNaN(t.getTime())}function zwc(e,t){if(!(RO(e)||RO(t))&&typeof e=="string"&&typeof t=="string"){if(e===t)return!0;if(Pbg(e)&&Pbg(t)){let r=new Date(e),n=new Date(t);return Math.abs(r.getTime()-n.getTime())<=12*60*60*1e3}}}function bkA(e,t){return gkA(t,e)&&mkA(t,e)&&OkA(t,e.headers)&&PkA(t,e)}function gkA(e,t){let r=jkA([...e.rootPathParameters,...e.servicePathParameters,...e.endpointPathParameters]);return!(Object.keys(r).length!==Object.keys(t.params).length||Object.keys(r).length>0&&!Wui(t.params,r,zwc))}function mkA(e,t){let r=jbg(e.queryParameters);if(Object.keys(r).length!==Object.keys(t.query).length)return!1;let n={};for(let[i,a]of Object.entries(t.query))a instanceof Date&&a!=null?n[i]=a.toISOString():n[i]=a;return Wui(r,n,zwc)}function OkA(e,t){let r=jbg([...e.serviceHeaders,...e.endpointHeaders]);for(let[n,i]of Object.entries(r)){let a=typeof i=="string"?i:typeof i=="boolean"?`"${i}"`:JSON.stringify(i);if(t[n.toLowerCase()]!==a)return!1}return!0}function PkA(e,t){if(e.request==null)return wkA(t.body)&&Object.keys(t.body).length===0;for(let[r,n]of Object.entries(t.body))n instanceof Date&&n!=null&&(t.body[r]=n.toISOString());return Wui(t.body,e.request.jsonExample,zwc)}function jbg(e){let t={};return e.forEach(r=>{let n=r.value.jsonExample,i=typeof n=="string"?n:JSON.stringify(n);t[r.name.wireValue]=i}),t}function jkA(e){let t={};return e.forEach(r=>{let n=r.value.jsonExample,i=typeof n=="string"?n:JSON.stringify(n);t[r.name.originalName]=i}),t}function wkA(e){return typeof e=="object"&&e!=null}async function wbg({cliContext:e,project:t,port:r}){if(await e.instrumentPostHogEvent({orgId:t.config.organization,command:"fern mock"}),t.apiWorkspaces.length!==1||t.apiWorkspaces[0]==null)return e.failAndThrow(`No API specified. Use the --${kCo} option.`);let n=t.apiWorkspaces[0];await e.runTaskForWorkspace(n,async i=>{let a=await n.toFernWorkspace({context:i});await UFt({context:i,logWarnings:!1,workspace:a});let u=await JQ({workspace:a,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:i}),f=new Mjn({context:i,ir:u,port:r});await f.start(),await f.keepAlive()})}var Dbg=yu(PZr(),1),Sbg=yu(vRt(),1),Ebg=require("fs/promises"),Mbg=yu(require("path"),1),xbg=yu(f0a(),1),Tbg=yu(Kte(),1);async function qbg({project:e,cliContext:t,token:r,version:n}){r.type==="user"&&await t.runTask(async a=>{await rSr({organization:e.config.organization,token:r,context:a})});let i=ZDr({token:r.value});await Promise.all(e.apiWorkspaces.map(async a=>{await t.runTaskForWorkspace(a,async u=>{if(a instanceof Vne){u.failWithoutThrowing("Registering from OpenAPI not currently supported.");return}let f=await a.toFernWorkspace({context:u}),d=await i.definitionRegistry.registerUsingOrgToken({apiId:Dbg.FernFiddle.ApiId(f.definition.rootApiFile.contents.name),version:n,cliVersion:t.environment.packageVersion,yamlSchemaVersion:`${1}`});if(!d.ok){d.error._visit({versionAlreadyExists:()=>{u.failAndThrow(`Version ${n??""} is already registered`)},_other:l=>{u.failAndThrow("Failed to register",l)}});return}let c=await Tbg.default.dir(),o=Mbg.default.join(c.path,"definition.tgz");u.logger.debug(`Compressing definition at ${c.path}`),await xbg.default.create({file:o,cwd:f.absoluteFilePath},["."]),u.logger.info("Uploading definition..."),await Sbg.default.put(d.body.definitionS3UploadUrl,await(0,Ebg.readFile)(o)),u.logger.info(`Registered @${e.config.organization}/${f.definition.rootApiFile.contents.name}:${d.body.version}`)})}))}async function Cbg({project:e,cliContext:t,token:r}){await Promise.all(e.apiWorkspaces.map(async n=>{await t.runTaskForWorkspace(n,async i=>{await p1u({organization:e.config.organization,workspace:await n.toFernWorkspace({context:i}),context:i,token:r,audiences:{type:"all"},snippetsConfig:{}}),i.logger.info(al.green("Registered API"))})}))}async function Abg({cliContext:e,project:t,testCommand:r,generationLanguage:n}){if(await e.instrumentPostHogEvent({orgId:t.config.organization,command:"fern test"}),r==null)return e.failAndThrow("No test command specified. Use the --command option.");if(t.apiWorkspaces.length!==1||t.apiWorkspaces[0]==null)return e.failAndThrow(`No API specified. Use the --${kCo} option.`);let i=t.apiWorkspaces[0];await e.runTaskForWorkspace(i,async a=>{let u=await i.toFernWorkspace({context:a});await UFt({context:a,logWarnings:!1,workspace:u});let f=await JQ({workspace:u,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:a}),d=new Mjn({context:a,ir:f,port:void 0}),o=`http://localhost:${await d.start()}`;a.logger.info("Running tests..."),a.logger.info(`>> ${r}`),a.logger.debug(`envvar set: TESTS_BASE_URL=${o}`);let l=r.split(" && ").map(g=>g.split(" "));for(let g of l){let{failed:O}=await $je(e.logger,g[0]??"",g.slice(1),{reject:!1,env:{TESTS_BASE_URL:o}});O&&(d.stop(),a.logger.error("Tests failed, Fern mock server stopping."),a.logger.error("View test output above."),e.failAndThrow())}d.stop(),a.logger.info("Fern mock server stopped.")})}var Nbg=yu(M2(),1);async function zbg({orgId:e,taskContext:t}){let r=await s2e(t),i=await ICt({token:r.value}).registry.generateRegistryTokens({organizationId:Nbg.FernVenusApi.OrganizationId(e)});if(i.ok){t.logger.info(al.green(`Generated a FERN_TOKEN for ${e}: ${i.body.npm.token}`));return}i.error._visit({organizationNotFoundError:()=>t.failAndThrow(`Failed to create token because the organization ${e} was not found. Please reach out to support@buildwithfern.com`),unauthorizedError:()=>t.failAndThrow(`Failed to create token because you are not in the ${e} organization. Please reach out to support@buildwithfern.com`),_other:()=>t.failAndThrow("Failed to create token. Please reach out to support@buildwithfern.com")})}var Bbg=yu(require("fs"),1),WLi=require("fs/promises");var Ibg=require("stream"),Rbg=require("stream/promises");async function p4o(e,t,r){let n=await fetch(e);if(n.ok&&n.body){r.debug("Origin successfully fetched, writing to file");let i=Bbg.createWriteStream(t);await(0,Rbg.finished)(Ibg.Readable.fromWeb(n.body).pipe(i));let a=await(0,WLi.readFile)(t,"utf8");try{await(0,WLi.writeFile)(t,JSON.stringify(JSON.parse(a),void 0,2),"utf8")}catch{await(0,WLi.writeFile)(t,av.dump(av.load(a)),"utf8")}r.debug("File written successfully")}}async function Fbg({cliContext:e,project:{apiWorkspaces:t}}){for(let r of t)r.type!=="fern"&&await e.runTaskForWorkspace(r,async n=>{let i=await pg.loadRawGeneratorsConfiguration({absolutePathToWorkspace:r.absoluteFilePath,context:n})??{};if(await wBt()==null)return n.failAndThrow("Fern directory not found.");if(i.api!=null){let u;i.api instanceof Array?u=i.api:u=[i.api];for(let f of u)if(!pg.isRawProtobufAPIDefinitionSchema(f)){if(RO(f)&&"origin"in f&&f.origin!=null)e.logger.info(`Origin found, fetching spec from ${f.origin}`),await p4o(f.origin,pf(r.absoluteFilePath,zs.of(f.path)),e.logger);else if(RO(f))for(let[d,c]of Object.entries(f))RO(c)&&"origin"in c&&typeof c.origin=="string"&&"path"in c&&typeof c.path=="string"&&(e.logger.info(`Origin found, fetching spec from ${c.origin}`),await p4o(c.origin,pf(r.absoluteFilePath,zs.of(c.path)),e.logger))}}else if(i[pg.ASYNC_API_LOCATION_KEY]!=null){if(i[pg.API_ORIGIN_LOCATION_KEY]!=null){e.logger.info(`Origin found, fetching spec from ${i[pg.API_ORIGIN_LOCATION_KEY]}`);let u=i[pg.API_ORIGIN_LOCATION_KEY],f=i[pg.ASYNC_API_LOCATION_KEY];u!=null&&f!=null&&await p4o(u,pf(r.absoluteFilePath,zs.of(f)),e.logger)}}else if(i[pg.OPENAPI_LOCATION_KEY]!=null){let u=i[pg.OPENAPI_LOCATION_KEY],f=typeof u!="string"?(u==null?void 0:u.origin)??i[pg.API_ORIGIN_LOCATION_KEY]:i[pg.API_ORIGIN_LOCATION_KEY],d=typeof u!="string"?u==null?void 0:u.path:u;f!=null&&d!=null&&(origin=f,e.logger.info(`Origin found, fetching spec from ${f}`),await p4o(f,pf(r.absoluteFilePath,zs.of(d)),e.logger))}})}var _4o=require("fs/promises");var Lbg=yu(bJ(),1),Ubg="fern";async function Vbg(e){let t=await DkA();return t==null&&e.failAndThrow(`Directory "${Ubg}" not found.`),(await(0,Lbg.default)("*/definition/**/*.yml",{cwd:t,absolute:!0})).map(R_.of)}async function DkA(){let e=await KT(Ubg,{type:"directory"});if(e!=null)return R_.of(e)}var Bwc={name:"discriminant",summary:`Adds 'discriminant: "_type"' to all discriminated types.`,run:async({context:e})=>{let t=await Vbg(e);for(let r of t)try{let n=await SkA(r),i=EkA(n);await(0,_4o.writeFile)(r,i)}catch(n){e.failAndThrow("Failed to migrate "+r,n)}}};async function SkA(e){return(await(0,_4o.readFile)(e)).toString()}var Wbg=/^(\s{2,})union:\s*$/gm;function EkA(e){return e.replaceAll(Wbg,t=>{let r=[...t.matchAll(Wbg)][0],n=r==null?void 0:r[1];if(n==null)return t;let i=" ".repeat(n.length*1.5);return[`${n}discriminant:`,`${i}value: _type`,`${i}name: type`,t].join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fern-api",
3
- "version": "0.43.2",
3
+ "version": "0.43.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/fern-api/fern.git",