fern-api 0.50.12 → 0.50.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +6 -6
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -1614,7 +1614,7 @@ ${d.indent}`),a._push(s),a.setItem(o,d,l),l+=1}catch(s){a.emit("error",s),a.dest
|
|
|
1614
1614
|
${r.indent}`),d+="]",u._push(d),u.item=r,u.unvisit(t);return}s||(d+=","),u.indent&&(d+=`
|
|
1615
1615
|
${l.indent}`),u._push(d),u.setItem(o,l,i),i+=1}};this.item=l}unvisit(t){if(this.cycle)return;let r=this.visited.indexOf(t);r>-1&&this.visited.splice(r,1)}setObjectItem(t,r=void 0){let i=Object.keys(t),n=0,a=i.length,u=!0,l=this,{include:d}=this,s=!1,o,c={read(){var b;if(n===0&&l._push("{"),n===a){l.objectItem=void 0,s?l._push(`${l.indent?`
|
|
1616
1616
|
${r.indent}`:""}}`):l._push("}"),l.item=r,l.unvisit(t);return}if(o=i[n],(d==null||(b=d.indexOf)===null||b===void 0?void 0:b.call(d,o))===-1){n+=1;return}l.objectItem=c,n+=1,l.setItem(t[o],c,o)},write(){let b=`${s&&!u?",":""}${c.indent?`
|
|
1617
|
-
${c.indent}`:""}${RMf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void 0,b}};this.item=c}_push(t){return this.buffer+=(this.objectItem?this.objectItem.write():"")+t,this.prePush=void 0,this.buffer.length>=this.bufferSize?(this.pushCalled=!this.push(this.buffer),this.buffer="",this.bufferLength=0,!1):!0}async _read(t){if(this.readState===WCe.Consumed)return;if(this.readState!==WCe.NotReading){this.readState=WCe.ReadMore;return}this.readState=WCe.Reading,this.pushCalled=!1;let r;for(;!this.pushCalled&&this.item!==this.root&&this.buffer!==void 0;)r=this.item.read(t),r&&await r;this.buffer!==void 0&&(this.item===this.root&&(this.buffer.length&&this.push(this.buffer),this.push(null),this.readState=WCe.Consumed,this.cleanup()),this.readState===WCe.ReadMore&&(this.readState=WCe.NotReading,this._read(t)),this.readState=WCe.NotReading)}cleanup(){this.readState=WCe.Consumed,this.buffer=void 0,this.visited=void 0,this.item=void 0,this.root=void 0,this.prePush=void 0}destroy(t){var r;return t&&this.emit("error",t),(r=super.destroy)===null||r===void 0||r.call(this),this.cleanup(),this}};async function d8r(e,t,{pretty:r=!1}={}){let i=new gUa(t,void 0,r?4:void 0);return new Promise((n,a)=>{i.pipe((0,LMf.createWriteStream)(e)).on("error",a).on("finish",n)})}var ZAf=require("fs/promises"),kAf=Ei(ite(),1);async function h8r(e,{pretty:t,onWrite:r}={}){let i=await kAf.default.file(),n=nf.of(i.path);return await d8r(n,e,{pretty:t}),r?.(n),(await(0,ZAf.readFile)(i.path)).toString()}async function trs(e,t){let r=new AbortController;return Promise.race([eqf({filepath:e,controller:r}).then(()=>!0),unn(t).then(()=>(r.abort(),!1))])}async function eqf({filepath:e,controller:t,delayMs:r=50}){if(!t.signal.aborted&&!await zf(e))return await unn(r),eqf({filepath:e,controller:t,delayMs:r*2})}function qGn(e){if(!e.includes("."))return;let t=e.split("/"),r=t[t.length-1];if(r!=null)return Oo.of(r)}function owi(e){try{return new URL(e),!0}catch{return!1}}function rrs(){return process.env.CI==="true"||process.env.GITHUB_ACTIONS==="true"||process.env.GITLAB_CI==="true"||process.env.CIRCLECI==="true"||process.env.JENKINS_URL==="true"||process.env.TRAVIS==="true"}async function rZr(e){let t=await QE(e??JL,{type:"directory"});if(t==null)return;let r=nf.of(t);if(await zf(us(r,Oo.of(kee))))return r}var tqf=Ei(require("path"),1);var nte=class e extends Error{constructor(){super(),Object.setPrototypeOf(this,e.prototype)}};var y8r=class e extends Error{log;constructor(t){super(),this.log=t,Object.setPrototypeOf(this,e.prototype)}};var ig={Debug:"debug",Info:"info",Warn:"warn",Error:"error"
|
|
1617
|
+
${c.indent}`:""}${RMf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void 0,b}};this.item=c}_push(t){return this.buffer+=(this.objectItem?this.objectItem.write():"")+t,this.prePush=void 0,this.buffer.length>=this.bufferSize?(this.pushCalled=!this.push(this.buffer),this.buffer="",this.bufferLength=0,!1):!0}async _read(t){if(this.readState===WCe.Consumed)return;if(this.readState!==WCe.NotReading){this.readState=WCe.ReadMore;return}this.readState=WCe.Reading,this.pushCalled=!1;let r;for(;!this.pushCalled&&this.item!==this.root&&this.buffer!==void 0;)r=this.item.read(t),r&&await r;this.buffer!==void 0&&(this.item===this.root&&(this.buffer.length&&this.push(this.buffer),this.push(null),this.readState=WCe.Consumed,this.cleanup()),this.readState===WCe.ReadMore&&(this.readState=WCe.NotReading,this._read(t)),this.readState=WCe.NotReading)}cleanup(){this.readState=WCe.Consumed,this.buffer=void 0,this.visited=void 0,this.item=void 0,this.root=void 0,this.prePush=void 0}destroy(t){var r;return t&&this.emit("error",t),(r=super.destroy)===null||r===void 0||r.call(this),this.cleanup(),this}};async function d8r(e,t,{pretty:r=!1}={}){let i=new gUa(t,void 0,r?4:void 0);return new Promise((n,a)=>{i.pipe((0,LMf.createWriteStream)(e)).on("error",a).on("finish",n)})}var ZAf=require("fs/promises"),kAf=Ei(ite(),1);async function h8r(e,{pretty:t,onWrite:r}={}){let i=await kAf.default.file(),n=nf.of(i.path);return await d8r(n,e,{pretty:t}),r?.(n),(await(0,ZAf.readFile)(i.path)).toString()}async function trs(e,t){let r=new AbortController;return Promise.race([eqf({filepath:e,controller:r}).then(()=>!0),unn(t).then(()=>(r.abort(),!1))])}async function eqf({filepath:e,controller:t,delayMs:r=50}){if(!t.signal.aborted&&!await zf(e))return await unn(r),eqf({filepath:e,controller:t,delayMs:r*2})}function qGn(e){if(!e.includes("."))return;let t=e.split("/"),r=t[t.length-1];if(r!=null)return Oo.of(r)}function owi(e){try{return new URL(e),!0}catch{return!1}}function rrs(){return process.env.CI==="true"||process.env.GITHUB_ACTIONS==="true"||process.env.GITLAB_CI==="true"||process.env.CIRCLECI==="true"||process.env.JENKINS_URL==="true"||process.env.TRAVIS==="true"}async function rZr(e){let t=await QE(e??JL,{type:"directory"});if(t==null)return;let r=nf.of(t);if(await zf(us(r,Oo.of(kee))))return r}var tqf=Ei(require("path"),1);var nte=class e extends Error{constructor(){super(),Object.setPrototypeOf(this,e.prototype)}};var y8r=class e extends Error{log;constructor(t){super(),this.log=t,Object.setPrototypeOf(this,e.prototype)}};var ig={Trace:"trace",Debug:"debug",Info:"info",Warn:"warn",Error:"error"},iZr=Object.values(ig);var irs=class{log;enabled;constructor(t,r=!0){this.log=t,this.enabled=r}disable(){this.enabled=!1}enable(){this.enabled=!0}debug(...t){this.enabled&&this.log(ig.Debug,...t)}info(...t){this.enabled&&this.log(ig.Info,...t)}warn(...t){this.enabled&&this.log(ig.Warn,...t)}error(...t){this.enabled&&this.log(ig.Error,...t)}trace(...t){this.enabled&&this.log(ig.Trace,...t)}};function v8r(e){return new irs(e)}var nrs=Object.freeze(v8r(dVw));function dVw(e,...t){pVw(e)(...t)}function pVw(e){switch(e){case ig.Trace:return console.trace;case ig.Debug:return console.debug;case ig.Info:return console.info;case ig.Warn:return console.warn;case ig.Error:return console.error}}var rC;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(rC||(rC={}));function ars({logger:e=nrs}={}){let t={logger:e,takeOverTerminal:()=>{throw new Error("Not implemented")},failAndThrow:(r,i)=>{let n=[];throw r!=null&&n.push(r),i!=null&&n.push(JSON.stringify(i)),n.length>0&&t.logger.error(...n),new nte},failWithoutThrowing:(r,i)=>{t.failAndThrow(r,i)},getResult:()=>rC.Success,addInteractiveTask:()=>{throw new Error("Not implemented")},runInteractiveTask:()=>{throw new Error("Not implemented")},instrumentPostHogEvent:()=>{throw new Error("Not implemented")}};return t}var _Vw={dependencies:{}};async function rqf({absolutePathToWorkspace:e,rawDependenciesConfiguration:t,context:r}){if(t==null)return _Vw;let i={};for(let[n,a]of Object.entries(t.dependencies))if(yVw(a)){let u=nf.of(tqf.default.join(e,a));await zf(u)?i[n]={type:"local",absoluteFilepath:u,path:a}:r.failWithoutThrowing(`Path to ${n} dependency does not exist: ${u}`)}else{let l=n.substring(1).split("/"),d=l[0],s=l[1];d!=null&&s!=null?i[n]={type:"version",organization:d,apiName:s,version:a}:r.failWithoutThrowing(`Failed to parse dependency: ${n}`)}return r.getResult()===rC.Failure&&r.failAndThrow(),{dependencies:i}}var hVw=/^\.\.\/.*$/;function yVw(e){return hVw.test(e)}var oTf=require("fs/promises");function bqf(e){return typeof e>"u"||e===null}function vVw(e){return typeof e=="object"&&e!==null}function bVw(e){return Array.isArray(e)?e:bqf(e)?[]:[e]}function gVw(e,t){var r,i,n,a;if(t)for(a=Object.keys(t),r=0,i=a.length;r<i;r+=1)n=a[r],e[n]=t[n];return e}function OVw(e,t){var r="",i;for(i=0;i<t;i+=1)r+=e;return r}function mVw(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var PVw=bqf,jVw=vVw,wVw=bVw,SVw=OVw,DVw=mVw,EVw=gVw,C2={isNothing:PVw,isObject:jVw,toArray:wVw,repeat:SVw,isNegativeZero:DVw,extend:EVw};function gqf(e,t){var r="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=`
|
|
1618
1618
|
|
|
1619
1619
|
`+e.mark.snippet),i+" "+r):i}function CGn(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=gqf(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}CGn.prototype=Object.create(Error.prototype);CGn.prototype.constructor=CGn;CGn.prototype.toString=function(t){return this.name+": "+gqf(this,t)};var BK=CGn;function ors(e,t,r,i,n){var a="",u="",l=Math.floor(n/2)-1;return i-t>l&&(a=" ... ",t=i-l+a.length),r-i>l&&(u=" ...",r=i+l-u.length),{str:a+e.slice(t,r).replace(/\t/g,"\u2192")+u,pos:i-t+a.length}}function urs(e,t){return C2.repeat(" ",t-e.length)+e}function MVw(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,i=[0],n=[],a,u=-1;a=r.exec(e.buffer);)n.push(a.index),i.push(a.index+a[0].length),e.position<=a.index&&u<0&&(u=i.length-2);u<0&&(u=i.length-1);var l="",d,s,o=Math.min(e.line+t.linesAfter,n.length).toString().length,c=t.maxLength-(t.indent+o+3);for(d=1;d<=t.linesBefore&&!(u-d<0);d++)s=ors(e.buffer,i[u-d],n[u-d],e.position-(i[u]-i[u-d]),c),l=C2.repeat(" ",t.indent)+urs((e.line-d+1).toString(),o)+" | "+s.str+`
|
|
1620
1620
|
`+l;for(s=ors(e.buffer,i[u],n[u],e.position,c),l+=C2.repeat(" ",t.indent)+urs((e.line+1).toString(),o)+" | "+s.str+`
|
|
@@ -1683,7 +1683,7 @@ ${c.indent}`:""}${RMf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
|
|
|
1683
1683
|
`}),r.replaceAll(/\n$/g,"")}function ChS(e){return e?Au.green(U7.radioOn):U7.radioOff}var kuo=Ei(W1e(),1);function O2d(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var OYn=class extends G2{_run(t){this.done=t;let r=qU(this.rl),i=r.line.pipe((0,kuo.map)(this.filterInput.bind(this))),n=this.handleSubmitEvents(i);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),r.keypress.pipe((0,kuo.takeUntil)(n.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),i="";r+=this.status==="answered"?this.getMaskedValue(this.answer):this.getMaskedValue(this.rl.line||""),t&&(i=`
|
|
1684
1684
|
`+Au.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Au.cyan(O2d(t,this.opt.mask)):Au.italic.dim("[hidden]"):this.opt.mask?O2d(t,this.opt.mask):Au.italic.dim("[input is hidden] ")}getSpinningValue(t){return this.getMaskedValue(t)}filterInput(t){return t||(this.opt.default==null?"":this.opt.default)}onEnd(t){this.status="answered",this.answer=t.value,this.render(),this.screen.done(),this.done(t.value)}onError(t){this.render(t.isValid)}onKeypress(){this.opt.default&&=void 0,this.render()}};var $4d=Ei(l0s(),1),G4d=Ei(W1e(),1);var qYn=class extends G2{_run(t){this.done=t,this.editorResult=new G4d.Subject;let r=qU(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let i=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,i?this.render():this.startExternalEditor(),this}render(t){let r="",i=this.getQuestion();i+=this.status==="answered"?Au.dim("Received"):Au.dim("Press <enter> to launch your preferred editor."),t&&(r=Au.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),(0,$4d.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 eFd=Ei(K4d(),1);var Z4d=Ei(require("readline"),1),k4d=Ei(X4d(),1),FSi=class{constructor(t){this.rl||=Z4d.default.createInterface(PyS(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 PyS(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let n=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw n.isTtyError=!0,n}let r=new k4d.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var TYn=class extends FSi{constructor(t={}){super(t),this.log=(0,eFd.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return dYn(this.rl,this.bottomBar.split(`
|
|
1685
1685
|
`).length),this}updateBottomBar(t){return dYn(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+`
|
|
1686
|
-
`}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&&Kuo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var lFd=Ei(iFd(),1),fFd=Ei(bvs(),1),dFd=Ei(sFd(),1),vA=Ei(W1e(),1),pFd=Ei(mKn(),1);var gso=Ei(W1e(),1),cFd=Ei(mKn(),1),Oso=function(e,t,r){return typeof e[t]!="function"?(0,gso.of)(e):(0,gso.from)((0,cFd.default)(e[t])(r).then(i=>(e[t]=i,e)))};var CYn={isPlainObject:lFd.default,set:dFd.default,get:fFd.default},cfn=class extends FSi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=CYn.isPlainObject(r)?{...r}:{},CYn.isPlainObject(t)&&(t=Object.values(t).every(n=>CYn.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,vA.from)(t):t;return this.process=i.pipe((0,vA.concatMap)(this.processQuestion.bind(this)),(0,vA.publish)()),this.process.connect(),this.process.pipe((0,vA.reduce)((n,a)=>(CYn.set(n,a.name,a.answer),n),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,vA.defer)(()=>(0,vA.of)(t).pipe((0,vA.concatMap)(this.setDefaultType.bind(this)),(0,vA.concatMap)(this.filterIfRunnable.bind(this)),(0,vA.concatMap)(()=>Oso(t,"message",this.answers)),(0,vA.concatMap)(()=>Oso(t,"default",this.answers)),(0,vA.concatMap)(()=>Oso(t,"choices",this.answers)),(0,vA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,vA.defer)(()=>(0,vA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,vA.defer)(()=>(0,vA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&CYn.get(this.answers,t.name)!==void 0)return(0,vA.empty)();if(t.when===!1)return(0,vA.empty)();if(typeof t.when!="function")return(0,vA.of)(t);let{answers:r}=this;return(0,vA.defer)(()=>(0,vA.from)((0,pFd.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,vA.filter)(i=>i!=null)))}};function _Fd(e){let t=function(r,i){let n;try{n=new cfn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",_Yn),this.registerPrompt("input",TSi),this.registerPrompt("number",hYn),this.registerPrompt("confirm",yYn),this.registerPrompt("rawlist",vYn),this.registerPrompt("expand",bYn),this.registerPrompt("checkbox",gYn),this.registerPrompt("password",OYn),this.registerPrompt("editor",qYn)},t.restoreDefaultPrompts(),t}var p0s=_Fd();function LyS(e,t){p0s.registerPrompt(e,t)}function UyS(){p0s.restoreDefaultPrompts()}var VyS={prompt:p0s,ui:{BottomBar:TYn,Prompt:cfn},createPromptModule:_Fd,registerPrompt:LyS,restoreDefaultPrompts:UyS,Separator:Sre},mso=VyS;var w8d=Ei(hFd()),d0S="4.2.1",X4t;(function(e){e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay"})(X4t||(X4t={}));function p0S(e,t){if(!e)throw new Error(t)}function _0S(e){return e?.replace(/\/+$/,"")}async function h0S(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function y0S(){return new Date().getTime()}function y8d(){return new Date().toISOString()}function S8d(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var HYn=String.fromCharCode,v8d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",xso={};function v0S(e,t){if(!xso[e]){xso[e]={};for(let r=0;r<e.length;r++)xso[e][e.charAt(r)]=r}return xso[e][t]}var $Yn={compressToBase64:function(e){if(e==null)return"";let t=$Yn._compress(e,6,function(r){return v8d.charAt(r)});switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return e==null?"":e==""?null:$Yn._decompress(e.length,32,function(t){return v0S(v8d,e.charAt(t))})},compress:function(e){return $Yn._compress(e,16,function(t){return HYn(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,w;for(w=0;w<e.length;w+=1)if(d=e.charAt(w),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:$Yn._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,w;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;w=HYn(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;w=HYn(b);break;case 2:return""}for(i[3]=w,c=w,n.push(w);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(w=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=HYn(b),w=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=HYn(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[w])s=i[w];else if(w===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},k0s=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};var Iso="0123456789abcdef",zso=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length!==16)throw new TypeError("not 128-bit length");return new e(t)}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/2**8,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}else throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Iso.charAt(this.bytes[r]>>>4),t+=Iso.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Iso.charAt(this.bytes[r]>>>4),t+=Iso.charAt(this.bytes[r]&15);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},egs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??b0S()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else if(t+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return zso.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let t=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return t[6]=64|t[6]>>>4,t[8]=128|t[8]>>>2,zso.ofInner(t)}},b0S=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),b8d,g8d=()=>g0S().toString(),g0S=()=>(b8d||(b8d=new egs)).generate(),Rso=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},GYn=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function O8d(e){return typeof e=="object"&&(e instanceof Rso||e instanceof GYn)}var tgs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new k0s,this._isInitialized=!1,p0S(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=_0S(r?.host||"https://us.i.posthog.com"),this.flushAt=r?.flushAt?Math.max(r?.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r?.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r?.maxQueueSize??1e3),this.flushInterval=r?.flushInterval??1e4,this.captureMode=r?.captureMode||"json",this.defaultOptIn=r?.defaultOptIn??!0,this._retryOptions={retryCount:r?.fetchRetryCount??3,retryDelay:r?.fetchRetryDelay??3e3,retryCheck:O8d},this.requestTimeout=r?.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r?.featureFlagsRequestTimeoutMs??3e3,this.disableGeoip=r?.disableGeoip??!0,this.disabled=r?.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(X4t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(X4t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(X4t.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>console.log("PostHog Debug",i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){let r=g8d();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:y8d(),uuid:i?.uuid?i.uuid:g8d()};(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId);let u=this.getPersistedProperty(X4t.Queue)||[];u.length>=this.maxQueueSize&&(u.shift(),this.logMsgIfDebug(()=>console.info("Queue is full, the oldest event is dropped."))),u.push({message:n}),this.setPersistedProperty(X4t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=S8d(()=>this.flushBackground(),this.flushInterval))})}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(()=>{})}async flush(){return this.flushPromise||(this.flushPromise=this._flush().finally(()=>{this.flushPromise=null}),this.addPendingPromise(this.flushPromise)),this.flushPromise}getCustomHeaders(){let t=this.getCustomUserAgent(),r={};return t&&t!==""&&(r["User-Agent"]=t),r}async _flush(){this.clearFlushTimer(),await this._initPromise;let t=this.getPersistedProperty(X4t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(X4t.Queue)||[];this.setPersistedProperty(X4t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:y8d()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${y0S()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent($Yn.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof GYn||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await h0S(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new GYn(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Rso(u);return u},{...this._retryOptions,...i})}async shutdown(t=3e4){await this._initPromise,this.clearFlushTimer();try{await Promise.all(Object.values(this.pendingPromises));let r=Date.now()+t;for(;(this.getPersistedProperty(X4t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!O8d(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},rgs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},igs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!igs){let e=h8d();igs=async(t,r)=>{let i=await e.request({url:t,headers:r.headers,method:r.method.toLowerCase(),data:r.body,signal:r.signal,validateStatus:()=>!0});return{status:i.status,text:async()=>i.data,json:async()=>i.data}}}var D8d=igs,O0S=1152921504606847e3,m0S=["is_not"],Nso=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Q2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},ngs=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:u,...l}){this.debugMode=!1,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=l.fetch||D8d,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof Q2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof Q2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new Q2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new Q2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof Q2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Q2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=M8d(l,n,this.cohorts,this.debugMode):s=E8d(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&m8d(t.key,r)>a/100)}getMatchingVariant(t,r){let i=m8d(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(l=>{n=i+l.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:l.key}),i=n}),r}async loadFeatureFlags(t=!1){(!this.loadedSuccessfullyOnce||t)&&await this._loadFeatureFlags()}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this._loadFeatureFlags(),this.pollingInterval);try{let t=await this._requestFeatureFlagDefinitions();if(t&&t.status===401)throw new Nso("Your personalApiKey is invalid. Are you sure you're not using your Project API key? More information: https://posthog.com/docs/api/overview");if(t&&t.status!==200)return;let r=await t.json();"flags"in r||this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(r)}`)),this.featureFlags=r.flags||[],this.featureFlagsByKey=this.featureFlags.reduce((i,n)=>(i[n.key]=n,i),{}),this.groupTypeMapping=r.group_type_mapping||{},this.cohorts=r.cohorts||[],this.loadedSuccessfullyOnce=!0}catch(t){t instanceof Nso&&this.onError?.(t)}}async _requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r={method:"GET",headers:{...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`}},i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=S8d(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function m8d(e,t,r=""){let i=(0,w8d.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/O0S}function E8d(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new Q2("Operator is_not_set is not supported")}else throw new Q2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!m0S.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return P8d(String(n))&&String(u).match(String(n))!==null;case"not_regex":return P8d(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=P0S(String(n));if(s==null&&(s=j8d(n)),s==null)throw new Q2(`Invalid date: ${n}`);let o=j8d(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Q2(`Unknown operator: ${a}`)}}function M8d(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Q2("can't match cohort without a given cohort property value");let a=r[n];return A8d(a,t,r,i)}function A8d(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=A8d(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Q2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=M8d(l,t,r,i):d=E8d(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Q2("can't match cohort without a given cohort property value");return n==="AND"}}function P8d(e){try{return new RegExp(e),!0}catch{return!1}}function j8d(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new Q2(`${e} is in an invalid date format`)}else throw new Q2(`The date provided ${e} must be a string, number, or date object`)}function P0S(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(r){if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-n*7);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else if(a=="y")i.setUTCFullYear(i.getUTCFullYear()-n);else return null;return i}else return null}var j0S=30*1e3,w0S=50*1e3,yfn=class extends tgs{constructor(t,r={}){super(t,r),this._memoryStorage=new rgs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new ngs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:j0S,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},customHeaders:this.getCustomHeaders()})),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||w0S}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):D8d(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return d0S}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,w]of Object.entries(b))g[`$feature/${m}`]=w;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},ags=class e{constructor(t,r,i,n){this.posthog=t,this.posthogHost=r,this.organization=i,this.prefix=n,this.name="posthog-node",this.posthogHost=t.options.host??"https://us.i.posthog.com"}setupOnce(t,r){t(i=>{if(i.exception?.values===void 0||i.exception.values.length===0)return i;i.tags||(i.tags={});let n=r(),a=i.tags[e.POSTHOG_ID_TAG];if(a===void 0)return i;i.tags["PostHog Person URL"]=new URL(`/person/${a}`,this.posthogHost).toString();let u={$exception_message:i.exception.values[0]?.value,$exception_type:i.exception.values[0]?.type,$exception_personURL:i.tags["PostHog Person URL"],$sentry_event_id:i.event_id,$sentry_exception:i.exception,$sentry_exception_message:i.exception.values[0]?.value,$sentry_exception_type:i.exception.values[0]?.type,$sentry_tags:i.tags},l=n.getClient()?.getDsn()?.projectId;return this.organization!==void 0&&l!==void 0&&i.event_id!==void 0&&(u.$sentry_url=`${this.prefix??"https://sentry.io/organizations"}/${this.organization}/issues/?project=${l}&query=${i.event_id}`),this.posthog.capture({event:"$exception",distinctId:a,properties:u}),i})}};ags.POSTHOG_ID_TAG="posthog_distinct_id";var Fso=class{posthog;constructor({posthogApiKey:t}){this.posthog=new yfn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.50.12",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var QYn=class{async sendEvent(){}async identify(){}async flush(){}};var vfn=require("fs/promises"),B8d=require("os"),x8d=require("path");var q8d=Ei(require("crypto")),Uso=new Uint8Array(256),Lso=Uso.length;function ogs(){return Lso>Uso.length-16&&(q8d.default.randomFillSync(Uso),Lso=0),Uso.slice(Lso,Lso+=16)}var BU=[];for(let e=0;e<256;++e)BU.push((e+256).toString(16).slice(1));function T8d(e,t=0){return BU[e[t+0]]+BU[e[t+1]]+BU[e[t+2]]+BU[e[t+3]]+"-"+BU[e[t+4]]+BU[e[t+5]]+"-"+BU[e[t+6]]+BU[e[t+7]]+"-"+BU[e[t+8]]+BU[e[t+9]]+"-"+BU[e[t+10]]+BU[e[t+11]]+BU[e[t+12]]+BU[e[t+13]]+BU[e[t+14]]+BU[e[t+15]]}var C8d=Ei(require("crypto")),ugs={randomUUID:C8d.default.randomUUID};function S0S(e,t,r){if(ugs.randomUUID&&!t&&!e)return ugs.randomUUID();e=e||{};let i=e.random||(e.rng||ogs)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return T8d(i)}var Uxe=S0S;var D0S="id",E0S=".fern",JYn=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new yfn(r),this.userId=t==null?void 0:Sds(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.50.12",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=us(nf.of((0,B8d.homedir)()),Oo.of(E0S),Oo.of(D0S));await zf(t)||(await(0,vfn.mkdir)((0,x8d.dirname)(t),{recursive:!0}),await(0,vfn.writeFile)(t,Uxe())),this.persistedDistinctId=(await(0,vfn.readFile)(t)).toString()}return this.persistedDistinctId}};var sgs;async function bfn(){return sgs==null&&(sgs=await M0S()),sgs}async function M0S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new QYn;let r=await Zto();return r!=null?new JYn({token:r,posthogApiKey:e}):await Xto()!=null?new Fso({posthogApiKey:e}):new JYn({token:void 0,posthogApiKey:e})}catch{return new QYn}}function KYn(e,t){return function(){return e.apply(t,arguments)}}var{toString:A0S}=Object.prototype,{getPrototypeOf:fgs}=Object,Wso=(e=>t=>{let r=A0S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Z4t=e=>(e=e.toLowerCase(),t=>Wso(t)===e),Hso=e=>t=>typeof t===e,{isArray:gfn}=Array,YYn=Hso("undefined");function q0S(e){return e!==null&&!YYn(e)&&e.constructor!==null&&!YYn(e.constructor)&&$1e(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var R8d=Z4t("ArrayBuffer");function T0S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&R8d(e.buffer),t}var C0S=Hso("string"),$1e=Hso("function"),N8d=Hso("number"),$so=e=>e!==null&&typeof e=="object",B0S=e=>e===!0||e===!1,Vso=e=>{if(Wso(e)!=="object")return!1;let t=fgs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},x0S=Z4t("Date"),I0S=Z4t("File"),z0S=Z4t("Blob"),R0S=Z4t("FileList"),N0S=e=>$so(e)&&$1e(e.pipe),F0S=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||$1e(e.append)&&((t=Wso(e))==="formdata"||t==="object"&&$1e(e.toString)&&e.toString()==="[object FormData]"))},L0S=Z4t("URLSearchParams"),[U0S,V0S,W0S,H0S]=["ReadableStream","Request","Response","Headers"].map(Z4t),$0S=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function XYn(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),gfn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{let a=r?Object.getOwnPropertyNames(e):Object.keys(e),u=a.length,l;for(i=0;i<u;i++)l=a[i],t.call(null,e[l],l,e)}}function F8d(e,t){t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var WSi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,L8d=e=>!YYn(e)&&e!==WSi;function lgs(){let{caseless:e}=L8d(this)&&this||{},t={},r=(i,n)=>{let a=e&&F8d(t,n)||n;Vso(t[a])&&Vso(i)?t[a]=lgs(t[a],i):Vso(i)?t[a]=lgs({},i):gfn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&XYn(arguments[i],r);return t}var G0S=(e,t,r,{allOwnKeys:i}={})=>(XYn(t,(n,a)=>{r&&$1e(n)?e[a]=KYn(n,r):e[a]=n},{allOwnKeys:i}),e),Q0S=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),J0S=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},K0S=(e,t,r,i)=>{let n,a,u,l={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)u=n[a],(!i||i(u,e,t))&&!l[u]&&(t[u]=e[u],l[u]=!0);e=r!==!1&&fgs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},Y0S=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},X0S=e=>{if(!e)return null;if(gfn(e))return e;let t=e.length;if(!N8d(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Z0S=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&fgs(Uint8Array)),k0S=(e,t)=>{let i=(e&&e[Symbol.iterator]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},egS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},tgS=Z4t("HTMLFormElement"),rgS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),I8d=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),igS=Z4t("RegExp"),U8d=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};XYn(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},ngS=e=>{U8d(e,(t,r)=>{if($1e(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if($1e(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},agS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return gfn(e)?i(e):i(String(e).split(t)),r},ogS=()=>{},ugS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,cgs="abcdefghijklmnopqrstuvwxyz",z8d="0123456789",V8d={DIGIT:z8d,ALPHA:cgs,ALPHA_DIGIT:cgs+cgs.toUpperCase()+z8d},sgS=(e=16,t=V8d.ALPHA_DIGIT)=>{let r="",{length:i}=t;for(;e--;)r+=t[Math.random()*i|0];return r};function cgS(e){return!!(e&&$1e(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var lgS=e=>{let t=new Array(10),r=(i,n)=>{if($so(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=gfn(i)?[]:{};return XYn(i,(u,l)=>{let d=r(u,n+1);!YYn(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},fgS=Z4t("AsyncFunction"),dgS=e=>e&&($so(e)||$1e(e))&&$1e(e.then)&&$1e(e.catch),W8d=((e,t)=>e?setImmediate:t?((r,i)=>(WSi.addEventListener("message",({source:n,data:a})=>{n===WSi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),WSi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",$1e(WSi.postMessage)),pgS=typeof queueMicrotask<"u"?queueMicrotask.bind(WSi):typeof process<"u"&&process.nextTick||W8d,as={isArray:gfn,isArrayBuffer:R8d,isBuffer:q0S,isFormData:F0S,isArrayBufferView:T0S,isString:C0S,isNumber:N8d,isBoolean:B0S,isObject:$so,isPlainObject:Vso,isReadableStream:U0S,isRequest:V0S,isResponse:W0S,isHeaders:H0S,isUndefined:YYn,isDate:x0S,isFile:I0S,isBlob:z0S,isRegExp:igS,isFunction:$1e,isStream:N0S,isURLSearchParams:L0S,isTypedArray:Z0S,isFileList:R0S,forEach:XYn,merge:lgs,extend:G0S,trim:$0S,stripBOM:Q0S,inherits:J0S,toFlatObject:K0S,kindOf:Wso,kindOfTest:Z4t,endsWith:Y0S,toArray:X0S,forEachEntry:k0S,matchAll:egS,isHTMLForm:tgS,hasOwnProperty:I8d,hasOwnProp:I8d,reduceDescriptors:U8d,freezeMethods:ngS,toObjectSet:agS,toCamelCase:rgS,noop:ogS,toFiniteNumber:ugS,findKey:F8d,global:WSi,isContextDefined:L8d,ALPHABET:V8d,generateString:sgS,isSpecCompliantForm:cgS,toJSONObject:lgS,isAsyncFn:fgS,isThenable:dgS,setImmediate:W8d,asap:pgS};function Ofn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}as.inherits(Ofn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:as.toJSONObject(this.config),code:this.code,status:this.status}}});var H8d=Ofn.prototype,$8d={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$8d[e]={value:e}});Object.defineProperties(Ofn,$8d);Object.defineProperty(H8d,"isAxiosError",{value:!0});Ofn.from=(e,t,r,i,n,a)=>{let u=Object.create(H8d);return as.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),Ofn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var yp=Ofn;var G8d=Ei(rXr(),1),Gso=G8d.default;function dgs(e){return as.isPlainObject(e)||as.isArray(e)}function J8d(e){return as.endsWith(e,"[]")?e.slice(0,-2):e}function Q8d(e,t,r){return e?e.concat(t).map(function(n,a){return n=J8d(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function _gS(e){return as.isArray(e)&&!e.some(dgs)}var hgS=as.toFlatObject(as,{},null,function(t){return/^is[A-Z]/.test(t)});function ygS(e,t,r){if(!as.isObject(e))throw new TypeError("target must be an object");t=t||new(Gso||FormData),r=as.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!as.isUndefined(w[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&as.isSpecCompliantForm(t);if(!as.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(as.isDate(O))return O.toISOString();if(!d&&as.isBlob(O))throw new yp("Blob is not supported. Use a Buffer instead.");return as.isArrayBuffer(O)||as.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,w){let M=O;if(O&&!w&&typeof O=="object"){if(as.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(as.isArray(O)&&_gS(O)||(as.isFileList(O)||as.endsWith(m,"[]"))&&(M=as.toArray(O)))return m=J8d(m),M.forEach(function(q,D){!(as.isUndefined(q)||q===null)&&t.append(u===!0?Q8d([m],D,a):u===null?m:m+"[]",s(q))}),!1}return dgs(O)?!0:(t.append(Q8d(w,m,a),s(O)),!1)}let c=[],b=Object.assign(hgS,{defaultVisitor:o,convertValue:s,isVisitable:dgs});function g(O,m){if(!as.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),as.forEach(O,function(M,A){(!(as.isUndefined(M)||M===null)&&n.call(t,M,as.isString(A)?A.trim():A,m,b))===!0&&g(M,m?m.concat(A):[A])}),c.pop()}}if(!as.isObject(e))throw new TypeError("data must be an object");return g(e),t}var _ti=ygS;function K8d(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Y8d(e,t){this._pairs=[],e&&_ti(e,this,t)}var X8d=Y8d.prototype;X8d.append=function(t,r){this._pairs.push([t,r])};X8d.toString=function(t){let r=t?function(i){return t.call(this,i,K8d)}:K8d;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Z8d=Y8d;function vgS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function HSi(e,t,r){if(!t)return e;let i=r&&r.encode||vgS,n=r&&r.serialize,a;if(n?a=n(t,r):a=as.isURLSearchParams(t)?t.toString():new Z8d(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var pgs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){as.forEach(this.handlers,function(i){i!==null&&t(i)})}},_gs=pgs;var mfn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var k8d=Ei(require("url"),1),e5d=k8d.default.URLSearchParams;var t5d={isNode:!0,classes:{URLSearchParams:e5d,FormData:Gso,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var vgs={};Wo(vgs,{hasBrowserEnv:()=>ygs,hasStandardBrowserEnv:()=>bgS,hasStandardBrowserWebWorkerEnv:()=>ggS,navigator:()=>hgs,origin:()=>OgS});var ygs=typeof window<"u"&&typeof document<"u",hgs=typeof navigator=="object"&&navigator||void 0,bgS=ygs&&(!hgs||["ReactNative","NativeScript","NS"].indexOf(hgs.product)<0),ggS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",OgS=ygs&&window.location.href||"http://localhost";var MT={...vgs,...t5d};function bgs(e,t){return _ti(e,new MT.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return MT.isNode&&as.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function mgS(e){return as.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function PgS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function jgS(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&as.isArray(n)?n.length:u,d?(as.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!as.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&as.isArray(n[u])&&(n[u]=PgS(n[u])),!l)}if(as.isFormData(e)&&as.isFunction(e.entries)){let r={};return as.forEachEntry(e,(i,n)=>{t(mgS(i),n,r,0)}),r}return null}var Qso=jgS;function wgS(e,t,r){if(as.isString(e))try{return(t||JSON.parse)(e),as.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var ggs={transitional:mfn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=as.isObject(t);if(a&&as.isHTMLForm(t)&&(t=new FormData(t)),as.isFormData(t))return n?JSON.stringify(Qso(t)):t;if(as.isArrayBuffer(t)||as.isBuffer(t)||as.isStream(t)||as.isFile(t)||as.isBlob(t)||as.isReadableStream(t))return t;if(as.isArrayBufferView(t))return t.buffer;if(as.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return bgs(t,this.formSerializer).toString();if((l=as.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return _ti(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),wgS(t)):t}],transformResponse:[function(t){let r=this.transitional||ggs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(as.isResponse(t)||as.isReadableStream(t))return t;if(t&&as.isString(t)&&(i&&!this.responseType||n)){let u=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(l){if(u)throw l.name==="SyntaxError"?yp.from(l,yp.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:MT.classes.FormData,Blob:MT.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};as.forEach(["delete","get","head","post","put","patch"],e=>{ggs.headers[e]={}});var Pfn=ggs;var SgS=as.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),r5d=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1686
|
+
`}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&&Kuo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var lFd=Ei(iFd(),1),fFd=Ei(bvs(),1),dFd=Ei(sFd(),1),vA=Ei(W1e(),1),pFd=Ei(mKn(),1);var gso=Ei(W1e(),1),cFd=Ei(mKn(),1),Oso=function(e,t,r){return typeof e[t]!="function"?(0,gso.of)(e):(0,gso.from)((0,cFd.default)(e[t])(r).then(i=>(e[t]=i,e)))};var CYn={isPlainObject:lFd.default,set:dFd.default,get:fFd.default},cfn=class extends FSi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=CYn.isPlainObject(r)?{...r}:{},CYn.isPlainObject(t)&&(t=Object.values(t).every(n=>CYn.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,vA.from)(t):t;return this.process=i.pipe((0,vA.concatMap)(this.processQuestion.bind(this)),(0,vA.publish)()),this.process.connect(),this.process.pipe((0,vA.reduce)((n,a)=>(CYn.set(n,a.name,a.answer),n),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,vA.defer)(()=>(0,vA.of)(t).pipe((0,vA.concatMap)(this.setDefaultType.bind(this)),(0,vA.concatMap)(this.filterIfRunnable.bind(this)),(0,vA.concatMap)(()=>Oso(t,"message",this.answers)),(0,vA.concatMap)(()=>Oso(t,"default",this.answers)),(0,vA.concatMap)(()=>Oso(t,"choices",this.answers)),(0,vA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,vA.defer)(()=>(0,vA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,vA.defer)(()=>(0,vA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&CYn.get(this.answers,t.name)!==void 0)return(0,vA.empty)();if(t.when===!1)return(0,vA.empty)();if(typeof t.when!="function")return(0,vA.of)(t);let{answers:r}=this;return(0,vA.defer)(()=>(0,vA.from)((0,pFd.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,vA.filter)(i=>i!=null)))}};function _Fd(e){let t=function(r,i){let n;try{n=new cfn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",_Yn),this.registerPrompt("input",TSi),this.registerPrompt("number",hYn),this.registerPrompt("confirm",yYn),this.registerPrompt("rawlist",vYn),this.registerPrompt("expand",bYn),this.registerPrompt("checkbox",gYn),this.registerPrompt("password",OYn),this.registerPrompt("editor",qYn)},t.restoreDefaultPrompts(),t}var p0s=_Fd();function LyS(e,t){p0s.registerPrompt(e,t)}function UyS(){p0s.restoreDefaultPrompts()}var VyS={prompt:p0s,ui:{BottomBar:TYn,Prompt:cfn},createPromptModule:_Fd,registerPrompt:LyS,restoreDefaultPrompts:UyS,Separator:Sre},mso=VyS;var w8d=Ei(hFd()),d0S="4.2.1",X4t;(function(e){e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay"})(X4t||(X4t={}));function p0S(e,t){if(!e)throw new Error(t)}function _0S(e){return e?.replace(/\/+$/,"")}async function h0S(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function y0S(){return new Date().getTime()}function y8d(){return new Date().toISOString()}function S8d(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var HYn=String.fromCharCode,v8d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",xso={};function v0S(e,t){if(!xso[e]){xso[e]={};for(let r=0;r<e.length;r++)xso[e][e.charAt(r)]=r}return xso[e][t]}var $Yn={compressToBase64:function(e){if(e==null)return"";let t=$Yn._compress(e,6,function(r){return v8d.charAt(r)});switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return e==null?"":e==""?null:$Yn._decompress(e.length,32,function(t){return v0S(v8d,e.charAt(t))})},compress:function(e){return $Yn._compress(e,16,function(t){return HYn(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,w;for(w=0;w<e.length;w+=1)if(d=e.charAt(w),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:$Yn._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,w;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;w=HYn(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;w=HYn(b);break;case 2:return""}for(i[3]=w,c=w,n.push(w);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(w=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=HYn(b),w=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=HYn(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[w])s=i[w];else if(w===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},k0s=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};var Iso="0123456789abcdef",zso=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length!==16)throw new TypeError("not 128-bit length");return new e(t)}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/2**8,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}else throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Iso.charAt(this.bytes[r]>>>4),t+=Iso.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Iso.charAt(this.bytes[r]>>>4),t+=Iso.charAt(this.bytes[r]&15);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},egs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??b0S()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else if(t+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return zso.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let t=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return t[6]=64|t[6]>>>4,t[8]=128|t[8]>>>2,zso.ofInner(t)}},b0S=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),b8d,g8d=()=>g0S().toString(),g0S=()=>(b8d||(b8d=new egs)).generate(),Rso=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},GYn=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function O8d(e){return typeof e=="object"&&(e instanceof Rso||e instanceof GYn)}var tgs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new k0s,this._isInitialized=!1,p0S(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=_0S(r?.host||"https://us.i.posthog.com"),this.flushAt=r?.flushAt?Math.max(r?.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r?.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r?.maxQueueSize??1e3),this.flushInterval=r?.flushInterval??1e4,this.captureMode=r?.captureMode||"json",this.defaultOptIn=r?.defaultOptIn??!0,this._retryOptions={retryCount:r?.fetchRetryCount??3,retryDelay:r?.fetchRetryDelay??3e3,retryCheck:O8d},this.requestTimeout=r?.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r?.featureFlagsRequestTimeoutMs??3e3,this.disableGeoip=r?.disableGeoip??!0,this.disabled=r?.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(X4t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(X4t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(X4t.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>console.log("PostHog Debug",i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){let r=g8d();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:y8d(),uuid:i?.uuid?i.uuid:g8d()};(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId);let u=this.getPersistedProperty(X4t.Queue)||[];u.length>=this.maxQueueSize&&(u.shift(),this.logMsgIfDebug(()=>console.info("Queue is full, the oldest event is dropped."))),u.push({message:n}),this.setPersistedProperty(X4t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=S8d(()=>this.flushBackground(),this.flushInterval))})}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(()=>{})}async flush(){return this.flushPromise||(this.flushPromise=this._flush().finally(()=>{this.flushPromise=null}),this.addPendingPromise(this.flushPromise)),this.flushPromise}getCustomHeaders(){let t=this.getCustomUserAgent(),r={};return t&&t!==""&&(r["User-Agent"]=t),r}async _flush(){this.clearFlushTimer(),await this._initPromise;let t=this.getPersistedProperty(X4t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(X4t.Queue)||[];this.setPersistedProperty(X4t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:y8d()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${y0S()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent($Yn.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof GYn||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await h0S(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new GYn(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Rso(u);return u},{...this._retryOptions,...i})}async shutdown(t=3e4){await this._initPromise,this.clearFlushTimer();try{await Promise.all(Object.values(this.pendingPromises));let r=Date.now()+t;for(;(this.getPersistedProperty(X4t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!O8d(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},rgs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},igs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!igs){let e=h8d();igs=async(t,r)=>{let i=await e.request({url:t,headers:r.headers,method:r.method.toLowerCase(),data:r.body,signal:r.signal,validateStatus:()=>!0});return{status:i.status,text:async()=>i.data,json:async()=>i.data}}}var D8d=igs,O0S=1152921504606847e3,m0S=["is_not"],Nso=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Q2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},ngs=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:u,...l}){this.debugMode=!1,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=l.fetch||D8d,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof Q2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof Q2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new Q2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new Q2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof Q2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Q2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=M8d(l,n,this.cohorts,this.debugMode):s=E8d(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&m8d(t.key,r)>a/100)}getMatchingVariant(t,r){let i=m8d(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(l=>{n=i+l.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:l.key}),i=n}),r}async loadFeatureFlags(t=!1){(!this.loadedSuccessfullyOnce||t)&&await this._loadFeatureFlags()}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this._loadFeatureFlags(),this.pollingInterval);try{let t=await this._requestFeatureFlagDefinitions();if(t&&t.status===401)throw new Nso("Your personalApiKey is invalid. Are you sure you're not using your Project API key? More information: https://posthog.com/docs/api/overview");if(t&&t.status!==200)return;let r=await t.json();"flags"in r||this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(r)}`)),this.featureFlags=r.flags||[],this.featureFlagsByKey=this.featureFlags.reduce((i,n)=>(i[n.key]=n,i),{}),this.groupTypeMapping=r.group_type_mapping||{},this.cohorts=r.cohorts||[],this.loadedSuccessfullyOnce=!0}catch(t){t instanceof Nso&&this.onError?.(t)}}async _requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r={method:"GET",headers:{...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`}},i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=S8d(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function m8d(e,t,r=""){let i=(0,w8d.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/O0S}function E8d(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new Q2("Operator is_not_set is not supported")}else throw new Q2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!m0S.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return P8d(String(n))&&String(u).match(String(n))!==null;case"not_regex":return P8d(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=P0S(String(n));if(s==null&&(s=j8d(n)),s==null)throw new Q2(`Invalid date: ${n}`);let o=j8d(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Q2(`Unknown operator: ${a}`)}}function M8d(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Q2("can't match cohort without a given cohort property value");let a=r[n];return A8d(a,t,r,i)}function A8d(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=A8d(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Q2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=M8d(l,t,r,i):d=E8d(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Q2("can't match cohort without a given cohort property value");return n==="AND"}}function P8d(e){try{return new RegExp(e),!0}catch{return!1}}function j8d(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new Q2(`${e} is in an invalid date format`)}else throw new Q2(`The date provided ${e} must be a string, number, or date object`)}function P0S(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(r){if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-n*7);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else if(a=="y")i.setUTCFullYear(i.getUTCFullYear()-n);else return null;return i}else return null}var j0S=30*1e3,w0S=50*1e3,yfn=class extends tgs{constructor(t,r={}){super(t,r),this._memoryStorage=new rgs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new ngs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:j0S,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},customHeaders:this.getCustomHeaders()})),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||w0S}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):D8d(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return d0S}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,w]of Object.entries(b))g[`$feature/${m}`]=w;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},ags=class e{constructor(t,r,i,n){this.posthog=t,this.posthogHost=r,this.organization=i,this.prefix=n,this.name="posthog-node",this.posthogHost=t.options.host??"https://us.i.posthog.com"}setupOnce(t,r){t(i=>{if(i.exception?.values===void 0||i.exception.values.length===0)return i;i.tags||(i.tags={});let n=r(),a=i.tags[e.POSTHOG_ID_TAG];if(a===void 0)return i;i.tags["PostHog Person URL"]=new URL(`/person/${a}`,this.posthogHost).toString();let u={$exception_message:i.exception.values[0]?.value,$exception_type:i.exception.values[0]?.type,$exception_personURL:i.tags["PostHog Person URL"],$sentry_event_id:i.event_id,$sentry_exception:i.exception,$sentry_exception_message:i.exception.values[0]?.value,$sentry_exception_type:i.exception.values[0]?.type,$sentry_tags:i.tags},l=n.getClient()?.getDsn()?.projectId;return this.organization!==void 0&&l!==void 0&&i.event_id!==void 0&&(u.$sentry_url=`${this.prefix??"https://sentry.io/organizations"}/${this.organization}/issues/?project=${l}&query=${i.event_id}`),this.posthog.capture({event:"$exception",distinctId:a,properties:u}),i})}};ags.POSTHOG_ID_TAG="posthog_distinct_id";var Fso=class{posthog;constructor({posthogApiKey:t}){this.posthog=new yfn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.50.14",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var QYn=class{async sendEvent(){}async identify(){}async flush(){}};var vfn=require("fs/promises"),B8d=require("os"),x8d=require("path");var q8d=Ei(require("crypto")),Uso=new Uint8Array(256),Lso=Uso.length;function ogs(){return Lso>Uso.length-16&&(q8d.default.randomFillSync(Uso),Lso=0),Uso.slice(Lso,Lso+=16)}var BU=[];for(let e=0;e<256;++e)BU.push((e+256).toString(16).slice(1));function T8d(e,t=0){return BU[e[t+0]]+BU[e[t+1]]+BU[e[t+2]]+BU[e[t+3]]+"-"+BU[e[t+4]]+BU[e[t+5]]+"-"+BU[e[t+6]]+BU[e[t+7]]+"-"+BU[e[t+8]]+BU[e[t+9]]+"-"+BU[e[t+10]]+BU[e[t+11]]+BU[e[t+12]]+BU[e[t+13]]+BU[e[t+14]]+BU[e[t+15]]}var C8d=Ei(require("crypto")),ugs={randomUUID:C8d.default.randomUUID};function S0S(e,t,r){if(ugs.randomUUID&&!t&&!e)return ugs.randomUUID();e=e||{};let i=e.random||(e.rng||ogs)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return T8d(i)}var Uxe=S0S;var D0S="id",E0S=".fern",JYn=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new yfn(r),this.userId=t==null?void 0:Sds(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.50.14",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=us(nf.of((0,B8d.homedir)()),Oo.of(E0S),Oo.of(D0S));await zf(t)||(await(0,vfn.mkdir)((0,x8d.dirname)(t),{recursive:!0}),await(0,vfn.writeFile)(t,Uxe())),this.persistedDistinctId=(await(0,vfn.readFile)(t)).toString()}return this.persistedDistinctId}};var sgs;async function bfn(){return sgs==null&&(sgs=await M0S()),sgs}async function M0S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new QYn;let r=await Zto();return r!=null?new JYn({token:r,posthogApiKey:e}):await Xto()!=null?new Fso({posthogApiKey:e}):new JYn({token:void 0,posthogApiKey:e})}catch{return new QYn}}function KYn(e,t){return function(){return e.apply(t,arguments)}}var{toString:A0S}=Object.prototype,{getPrototypeOf:fgs}=Object,Wso=(e=>t=>{let r=A0S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Z4t=e=>(e=e.toLowerCase(),t=>Wso(t)===e),Hso=e=>t=>typeof t===e,{isArray:gfn}=Array,YYn=Hso("undefined");function q0S(e){return e!==null&&!YYn(e)&&e.constructor!==null&&!YYn(e.constructor)&&$1e(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var R8d=Z4t("ArrayBuffer");function T0S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&R8d(e.buffer),t}var C0S=Hso("string"),$1e=Hso("function"),N8d=Hso("number"),$so=e=>e!==null&&typeof e=="object",B0S=e=>e===!0||e===!1,Vso=e=>{if(Wso(e)!=="object")return!1;let t=fgs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},x0S=Z4t("Date"),I0S=Z4t("File"),z0S=Z4t("Blob"),R0S=Z4t("FileList"),N0S=e=>$so(e)&&$1e(e.pipe),F0S=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||$1e(e.append)&&((t=Wso(e))==="formdata"||t==="object"&&$1e(e.toString)&&e.toString()==="[object FormData]"))},L0S=Z4t("URLSearchParams"),[U0S,V0S,W0S,H0S]=["ReadableStream","Request","Response","Headers"].map(Z4t),$0S=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function XYn(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),gfn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{let a=r?Object.getOwnPropertyNames(e):Object.keys(e),u=a.length,l;for(i=0;i<u;i++)l=a[i],t.call(null,e[l],l,e)}}function F8d(e,t){t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var WSi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,L8d=e=>!YYn(e)&&e!==WSi;function lgs(){let{caseless:e}=L8d(this)&&this||{},t={},r=(i,n)=>{let a=e&&F8d(t,n)||n;Vso(t[a])&&Vso(i)?t[a]=lgs(t[a],i):Vso(i)?t[a]=lgs({},i):gfn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&XYn(arguments[i],r);return t}var G0S=(e,t,r,{allOwnKeys:i}={})=>(XYn(t,(n,a)=>{r&&$1e(n)?e[a]=KYn(n,r):e[a]=n},{allOwnKeys:i}),e),Q0S=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),J0S=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},K0S=(e,t,r,i)=>{let n,a,u,l={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)u=n[a],(!i||i(u,e,t))&&!l[u]&&(t[u]=e[u],l[u]=!0);e=r!==!1&&fgs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},Y0S=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},X0S=e=>{if(!e)return null;if(gfn(e))return e;let t=e.length;if(!N8d(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Z0S=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&fgs(Uint8Array)),k0S=(e,t)=>{let i=(e&&e[Symbol.iterator]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},egS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},tgS=Z4t("HTMLFormElement"),rgS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),I8d=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),igS=Z4t("RegExp"),U8d=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};XYn(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},ngS=e=>{U8d(e,(t,r)=>{if($1e(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if($1e(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},agS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return gfn(e)?i(e):i(String(e).split(t)),r},ogS=()=>{},ugS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,cgs="abcdefghijklmnopqrstuvwxyz",z8d="0123456789",V8d={DIGIT:z8d,ALPHA:cgs,ALPHA_DIGIT:cgs+cgs.toUpperCase()+z8d},sgS=(e=16,t=V8d.ALPHA_DIGIT)=>{let r="",{length:i}=t;for(;e--;)r+=t[Math.random()*i|0];return r};function cgS(e){return!!(e&&$1e(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var lgS=e=>{let t=new Array(10),r=(i,n)=>{if($so(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=gfn(i)?[]:{};return XYn(i,(u,l)=>{let d=r(u,n+1);!YYn(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},fgS=Z4t("AsyncFunction"),dgS=e=>e&&($so(e)||$1e(e))&&$1e(e.then)&&$1e(e.catch),W8d=((e,t)=>e?setImmediate:t?((r,i)=>(WSi.addEventListener("message",({source:n,data:a})=>{n===WSi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),WSi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",$1e(WSi.postMessage)),pgS=typeof queueMicrotask<"u"?queueMicrotask.bind(WSi):typeof process<"u"&&process.nextTick||W8d,as={isArray:gfn,isArrayBuffer:R8d,isBuffer:q0S,isFormData:F0S,isArrayBufferView:T0S,isString:C0S,isNumber:N8d,isBoolean:B0S,isObject:$so,isPlainObject:Vso,isReadableStream:U0S,isRequest:V0S,isResponse:W0S,isHeaders:H0S,isUndefined:YYn,isDate:x0S,isFile:I0S,isBlob:z0S,isRegExp:igS,isFunction:$1e,isStream:N0S,isURLSearchParams:L0S,isTypedArray:Z0S,isFileList:R0S,forEach:XYn,merge:lgs,extend:G0S,trim:$0S,stripBOM:Q0S,inherits:J0S,toFlatObject:K0S,kindOf:Wso,kindOfTest:Z4t,endsWith:Y0S,toArray:X0S,forEachEntry:k0S,matchAll:egS,isHTMLForm:tgS,hasOwnProperty:I8d,hasOwnProp:I8d,reduceDescriptors:U8d,freezeMethods:ngS,toObjectSet:agS,toCamelCase:rgS,noop:ogS,toFiniteNumber:ugS,findKey:F8d,global:WSi,isContextDefined:L8d,ALPHABET:V8d,generateString:sgS,isSpecCompliantForm:cgS,toJSONObject:lgS,isAsyncFn:fgS,isThenable:dgS,setImmediate:W8d,asap:pgS};function Ofn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}as.inherits(Ofn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:as.toJSONObject(this.config),code:this.code,status:this.status}}});var H8d=Ofn.prototype,$8d={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$8d[e]={value:e}});Object.defineProperties(Ofn,$8d);Object.defineProperty(H8d,"isAxiosError",{value:!0});Ofn.from=(e,t,r,i,n,a)=>{let u=Object.create(H8d);return as.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),Ofn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var yp=Ofn;var G8d=Ei(rXr(),1),Gso=G8d.default;function dgs(e){return as.isPlainObject(e)||as.isArray(e)}function J8d(e){return as.endsWith(e,"[]")?e.slice(0,-2):e}function Q8d(e,t,r){return e?e.concat(t).map(function(n,a){return n=J8d(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function _gS(e){return as.isArray(e)&&!e.some(dgs)}var hgS=as.toFlatObject(as,{},null,function(t){return/^is[A-Z]/.test(t)});function ygS(e,t,r){if(!as.isObject(e))throw new TypeError("target must be an object");t=t||new(Gso||FormData),r=as.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!as.isUndefined(w[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&as.isSpecCompliantForm(t);if(!as.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(as.isDate(O))return O.toISOString();if(!d&&as.isBlob(O))throw new yp("Blob is not supported. Use a Buffer instead.");return as.isArrayBuffer(O)||as.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,w){let M=O;if(O&&!w&&typeof O=="object"){if(as.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(as.isArray(O)&&_gS(O)||(as.isFileList(O)||as.endsWith(m,"[]"))&&(M=as.toArray(O)))return m=J8d(m),M.forEach(function(q,D){!(as.isUndefined(q)||q===null)&&t.append(u===!0?Q8d([m],D,a):u===null?m:m+"[]",s(q))}),!1}return dgs(O)?!0:(t.append(Q8d(w,m,a),s(O)),!1)}let c=[],b=Object.assign(hgS,{defaultVisitor:o,convertValue:s,isVisitable:dgs});function g(O,m){if(!as.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),as.forEach(O,function(M,A){(!(as.isUndefined(M)||M===null)&&n.call(t,M,as.isString(A)?A.trim():A,m,b))===!0&&g(M,m?m.concat(A):[A])}),c.pop()}}if(!as.isObject(e))throw new TypeError("data must be an object");return g(e),t}var _ti=ygS;function K8d(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Y8d(e,t){this._pairs=[],e&&_ti(e,this,t)}var X8d=Y8d.prototype;X8d.append=function(t,r){this._pairs.push([t,r])};X8d.toString=function(t){let r=t?function(i){return t.call(this,i,K8d)}:K8d;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Z8d=Y8d;function vgS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function HSi(e,t,r){if(!t)return e;let i=r&&r.encode||vgS,n=r&&r.serialize,a;if(n?a=n(t,r):a=as.isURLSearchParams(t)?t.toString():new Z8d(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var pgs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){as.forEach(this.handlers,function(i){i!==null&&t(i)})}},_gs=pgs;var mfn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var k8d=Ei(require("url"),1),e5d=k8d.default.URLSearchParams;var t5d={isNode:!0,classes:{URLSearchParams:e5d,FormData:Gso,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var vgs={};Wo(vgs,{hasBrowserEnv:()=>ygs,hasStandardBrowserEnv:()=>bgS,hasStandardBrowserWebWorkerEnv:()=>ggS,navigator:()=>hgs,origin:()=>OgS});var ygs=typeof window<"u"&&typeof document<"u",hgs=typeof navigator=="object"&&navigator||void 0,bgS=ygs&&(!hgs||["ReactNative","NativeScript","NS"].indexOf(hgs.product)<0),ggS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",OgS=ygs&&window.location.href||"http://localhost";var MT={...vgs,...t5d};function bgs(e,t){return _ti(e,new MT.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return MT.isNode&&as.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function mgS(e){return as.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function PgS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function jgS(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&as.isArray(n)?n.length:u,d?(as.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!as.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&as.isArray(n[u])&&(n[u]=PgS(n[u])),!l)}if(as.isFormData(e)&&as.isFunction(e.entries)){let r={};return as.forEachEntry(e,(i,n)=>{t(mgS(i),n,r,0)}),r}return null}var Qso=jgS;function wgS(e,t,r){if(as.isString(e))try{return(t||JSON.parse)(e),as.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var ggs={transitional:mfn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=as.isObject(t);if(a&&as.isHTMLForm(t)&&(t=new FormData(t)),as.isFormData(t))return n?JSON.stringify(Qso(t)):t;if(as.isArrayBuffer(t)||as.isBuffer(t)||as.isStream(t)||as.isFile(t)||as.isBlob(t)||as.isReadableStream(t))return t;if(as.isArrayBufferView(t))return t.buffer;if(as.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return bgs(t,this.formSerializer).toString();if((l=as.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return _ti(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),wgS(t)):t}],transformResponse:[function(t){let r=this.transitional||ggs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(as.isResponse(t)||as.isReadableStream(t))return t;if(t&&as.isString(t)&&(i&&!this.responseType||n)){let u=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(l){if(u)throw l.name==="SyntaxError"?yp.from(l,yp.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:MT.classes.FormData,Blob:MT.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};as.forEach(["delete","get","head","post","put","patch"],e=>{ggs.headers[e]={}});var Pfn=ggs;var SgS=as.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),r5d=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1687
1687
|
`).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&SgS[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var i5d=Symbol("internals");function ZYn(e){return e&&String(e).trim().toLowerCase()}function Jso(e){return e===!1||e==null?e:as.isArray(e)?e.map(Jso):String(e)}function DgS(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var EgS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ogs(e,t,r,i,n){if(as.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!as.isString(t)){if(as.isString(i))return t.indexOf(i)!==-1;if(as.isRegExp(i))return i.test(t)}}function MgS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function AgS(e,t){let r=as.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,a,u){return this[i].call(this,t,n,a,u)},configurable:!0})})}var jfn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,d,s){let o=ZYn(d);if(!o)throw new Error("header name must be a non-empty string");let c=as.findKey(n,o);(!c||n[c]===void 0||s===!0||s===void 0&&n[c]!==!1)&&(n[c||d]=Jso(l))}let u=(l,d)=>as.forEach(l,(s,o)=>a(s,o,d));if(as.isPlainObject(t)||t instanceof this.constructor)u(t,r);else if(as.isString(t)&&(t=t.trim())&&!EgS(t))u(r5d(t),r);else if(as.isHeaders(t))for(let[l,d]of t.entries())a(d,l,i);else t!=null&&a(r,t,i);return this}get(t,r){if(t=ZYn(t),t){let i=as.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return DgS(n);if(as.isFunction(r))return r.call(this,n,i);if(as.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=ZYn(t),t){let i=as.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||Ogs(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=ZYn(u),u){let l=as.findKey(i,u);l&&(!r||Ogs(i,i[l],l,r))&&(delete i[l],n=!0)}}return as.isArray(t)?t.forEach(a):a(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let a=r[i];(!t||Ogs(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return as.forEach(this,(n,a)=>{let u=as.findKey(i,a);if(u){r[u]=Jso(n),delete r[a];return}let l=t?MgS(a):String(a).trim();l!==a&&delete r[a],r[l]=Jso(n),i[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return as.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&as.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
|
|
1688
1688
|
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[i5d]=this[i5d]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=ZYn(u);i[l]||(AgS(n,u),i[l]=!0)}return as.isArray(t)?t.forEach(a):a(t),this}};jfn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);as.reduceDescriptors(jfn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});as.freezeMethods(jfn);var zI=jfn;function kYn(e,t){let r=this||Pfn,i=t||r,n=zI.from(i.headers),a=i.data;return as.forEach(e,function(l){a=l.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function eXn(e){return!!(e&&e.__CANCEL__)}function n5d(e,t,r){yp.call(this,e??"canceled",yp.ERR_CANCELED,t,r),this.name="CanceledError"}as.inherits(n5d,yp,{__CANCEL__:!0});var G1e=n5d;function hJt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new yp("Request failed with status code "+r.status,[yp.ERR_BAD_REQUEST,yp.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function mgs(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Pgs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function $Si(e,t){return e&&!mgs(t)?Pgs(e,t):t}var O5d=Ei(xYn(),1),m5d=Ei(require("http"),1),P5d=Ei(require("https"),1),j5d=Ei(require("util"),1),w5d=Ei(E0s(),1),R5r=Ei(require("zlib"),1);var GSi="1.7.7";function tXn(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var qgS=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function jgs(e,t,r){let i=r&&r.Blob||MT.classes.Blob,n=tXn(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=qgS.exec(e);if(!a)throw new yp("Invalid URL",yp.ERR_INVALID_URL);let u=a[1],l=a[2],d=a[3],s=Buffer.from(decodeURIComponent(d),l?"base64":"utf8");if(t){if(!i)throw new yp("Blob is not supported",yp.ERR_NOT_SUPPORT);return new i([s],{type:u})}return s}throw new yp("Unsupported protocol "+n,yp.ERR_NOT_SUPPORT)}var QSi=Ei(require("stream"),1);var a5d=Ei(require("stream"),1);var wgs=Symbol("internals"),Sgs=class extends a5d.default.Transform{constructor(t){t=as.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!as.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[wgs]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",i=>{i==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[wgs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[wgs],a=n.maxRate,u=this.readableHighWaterMark,l=n.timeWindow,d=1e3/l,s=a/d,o=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,c=(g,O)=>{let m=Buffer.byteLength(g);n.bytesSeen+=m,n.bytes+=m,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(g)?process.nextTick(O):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(O)}},b=(g,O)=>{let m=Buffer.byteLength(g),w=null,M=u,A,q=0;if(a){let D=Date.now();(!n.ts||(q=D-n.ts)>=l)&&(n.ts=D,A=s-n.bytes,n.bytes=A<0?-A:0,q=0),A=s-n.bytes}if(a){if(A<=0)return setTimeout(()=>{O(null,g)},l-q);A<M&&(M=A)}M&&m>M&&m-M>o&&(w=g.subarray(M),g=g.subarray(0,M)),c(g,w?()=>{process.nextTick(O,null,w)}:O)};b(t,function g(O,m){if(O)return i(O);m?b(m,g):i(null)})}},Dgs=Sgs;var S5d=require("events");var u5d=require("util"),s5d=require("stream");var{asyncIterator:o5d}=Symbol,TgS=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[o5d]?yield*e[o5d]():yield e},Kso=TgS;var CgS=as.ALPHABET.ALPHA_DIGIT+"-_",rXn=new u5d.TextEncoder,hti=`\r
|
|
1689
1689
|
`,BgS=rXn.encode(hti),xgS=2,Egs=class{constructor(t,r){let{escapeName:i}=this.constructor,n=as.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${hti}`;n?r=rXn.encode(String(r).replace(/\r?\n|\r\n?/g,hti)):a+=`Content-Type: ${r.type||"application/octet-stream"}${hti}`,this.headers=rXn.encode(a+hti),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+xgS,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;as.isTypedArray(t)?yield t:yield*Kso(t),yield BgS}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},IgS=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+as.generateString(n,CgS)}=r||{};if(!as.isFormData(e))throw TypeError("FormData instance required");if(a.length<1||a.length>70)throw Error("boundary must be 10-70 characters long");let u=rXn.encode("--"+a+hti),l=rXn.encode("--"+a+"--"+hti+hti),d=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new Egs(c,b);return d+=g.size,g});d+=u.byteLength*s.length,d=as.toFiniteNumber(d);let o={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(d)&&(o["Content-Length"]=d),t&&t(o),s5d.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},c5d=IgS;var l5d=Ei(require("stream"),1),Mgs=class extends l5d.default.Transform{__transform(t,r,i){this.push(t),i()}_transform(t,r,i){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let n=Buffer.alloc(2);n[0]=120,n[1]=156,this.push(n,r)}this.__transform(t,r,i)}},f5d=Mgs;var zgS=(e,t)=>as.isAsyncFn(e)?function(...r){let i=r.pop();e.apply(this,r).then(n=>{try{t?i(null,...t(n)):i(null,n)}catch(a){i(a)}},i)}:e,d5d=zgS;function RgS(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,u;return t=t!==void 0?t:1e3,function(d){let s=Date.now(),o=i[a];u||(u=s),r[n]=d,i[n]=s;let c=a,b=0;for(;c!==n;)b+=r[c++],c=c%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-u<t)return;let g=o&&s-o;return g?Math.round(b*1e3/g):void 0}}var p5d=RgS;function NgS(e,t){let r=0,i=1e3/t,n,a,u=(s,o=Date.now())=>{r=o,n=null,a&&(clearTimeout(a),a=null),e.apply(null,s)};return[(...s)=>{let o=Date.now(),c=o-r;c>=i?u(s,o):(n=s,a||(a=setTimeout(()=>{a=null,u(n)},i-c)))},()=>n&&u(n)]}var _5d=NgS;var z5r=(e,t,r=3)=>{let i=0,n=p5d(50,250);return _5d(a=>{let u=a.loaded,l=a.lengthComputable?a.total:void 0,d=u-i,s=n(d),o=u<=l;i=u;let c={loaded:u,total:l,progress:l?u/l:void 0,bytes:d,rate:s||void 0,estimated:s&&l&&o?(l-u)/s:void 0,event:a,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(c)},r)},wfn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},Sfn=e=>(...t)=>as.asap(()=>e(...t));var h5d={flush:R5r.default.constants.Z_SYNC_FLUSH,finishFlush:R5r.default.constants.Z_SYNC_FLUSH},FgS={flush:R5r.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:R5r.default.constants.BROTLI_OPERATION_FLUSH},y5d=as.isFunction(R5r.default.createBrotliDecompress),{http:LgS,https:UgS}=w5d.default,VgS=/https:?/,v5d=MT.protocols.map(e=>e+":"),b5d=(e,[t,r])=>(e.on("end",r).on("error",r),t);function WgS(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function D5d(e,t,r){let i=t;if(!i&&i!==!1){let n=(0,O5d.getProxyForUrl)(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){D5d(a,t,a.href)}}var HgS=typeof process<"u"&&as.kindOf(process)==="process",$gS=e=>new Promise((t,r)=>{let i,n,a=(d,s)=>{n||(n=!0,i&&i(d,s))},u=d=>{a(d),t(d)},l=d=>{a(d,!0),r(d)};e(u,l,d=>i=d).catch(l)}),GgS=({address:e,family:t})=>{if(!as.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},g5d=(e,t)=>GgS(as.isObject(e)?e:{address:e,family:t}),E5d=HgS&&function(t){return $gS(async function(i,n,a){let{data:u,lookup:l,family:d}=t,{responseType:s,responseEncoding:o}=t,c=t.method.toUpperCase(),b,g=!1,O;if(l){let we=d5d(l,Xe=>as.isArray(Xe)?Xe:[Xe]);l=(Xe,Mt,De)=>{we(Xe,Mt,(Te,xt,Ee)=>{if(Te)return De(Te);let It=as.isArray(xt)?xt.map(ut=>g5d(ut)):[g5d(xt,Ee)];Mt.all?De(Te,It):De(Te,It[0].address,It[0].family)})}}let m=new S5d.EventEmitter,w=()=>{t.cancelToken&&t.cancelToken.unsubscribe(M),t.signal&&t.signal.removeEventListener("abort",M),m.removeAllListeners()};a((we,Xe)=>{b=!0,Xe&&(g=!0,w())});function M(we){m.emit("abort",!we||we.type?new G1e(null,t,O):we)}m.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(M),t.signal&&(t.signal.aborted?M():t.signal.addEventListener("abort",M)));let A=$Si(t.baseURL,t.url),q=new URL(A,MT.hasBrowserEnv?MT.origin:void 0),D=q.protocol||v5d[0];if(D==="data:"){let we;if(c!=="GET")return hJt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{we=jgs(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Xe){throw yp.from(Xe,yp.ERR_BAD_REQUEST,t)}return s==="text"?(we=we.toString(o),(!o||o==="utf8")&&(we=as.stripBOM(we))):s==="stream"&&(we=QSi.default.Readable.from(we)),hJt(i,n,{data:we,status:200,statusText:"OK",headers:new zI,config:t})}if(v5d.indexOf(D)===-1)return n(new yp("Unsupported protocol "+D,yp.ERR_BAD_REQUEST,t));let C=zI.from(t.headers).normalize();C.set("User-Agent","axios/"+GSi,!1);let{onUploadProgress:F,onDownloadProgress:G}=t,I=t.maxRate,V,H;if(as.isSpecCompliantForm(u)){let we=C.getContentType(/boundary=([-_\w\d]{10,70})/i);u=c5d(u,Xe=>{C.set(Xe)},{tag:`axios-${GSi}-boundary`,boundary:we&&we[1]||void 0})}else if(as.isFormData(u)&&as.isFunction(u.getHeaders)){if(C.set(u.getHeaders()),!C.hasContentLength())try{let we=await j5d.default.promisify(u.getLength).call(u);Number.isFinite(we)&&we>=0&&C.setContentLength(we)}catch{}}else if(as.isBlob(u))u.size&&C.setContentType(u.type||"application/octet-stream"),C.setContentLength(u.size||0),u=QSi.default.Readable.from(Kso(u));else if(u&&!as.isStream(u)){if(!Buffer.isBuffer(u))if(as.isArrayBuffer(u))u=Buffer.from(new Uint8Array(u));else if(as.isString(u))u=Buffer.from(u,"utf-8");else return n(new yp("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",yp.ERR_BAD_REQUEST,t));if(C.setContentLength(u.length,!1),t.maxBodyLength>-1&&u.length>t.maxBodyLength)return n(new yp("Request body larger than maxBodyLength limit",yp.ERR_BAD_REQUEST,t))}let te=as.toFiniteNumber(C.getContentLength());as.isArray(I)?(V=I[0],H=I[1]):V=H=I,u&&(F||V)&&(as.isStream(u)||(u=QSi.default.Readable.from(u,{objectMode:!1})),u=QSi.default.pipeline([u,new Dgs({maxRate:as.toFiniteNumber(V)})],as.noop),F&&u.on("progress",b5d(u,wfn(te,z5r(Sfn(F),!1,3)))));let J;if(t.auth){let we=t.auth.username||"",Xe=t.auth.password||"";J=we+":"+Xe}if(!J&&q.username){let we=q.username,Xe=q.password;J=we+":"+Xe}J&&C.delete("authorization");let k;try{k=HSi(q.pathname+q.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(we){let Xe=new Error(we.message);return Xe.config=t,Xe.url=t.url,Xe.exists=!0,n(Xe)}C.set("Accept-Encoding","gzip, compress, deflate"+(y5d?", br":""),!1);let de={path:k,method:c,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:J,protocol:D,family:d,beforeRedirect:WgS,beforeRedirects:{}};!as.isUndefined(l)&&(de.lookup=l),t.socketPath?de.socketPath=t.socketPath:(de.hostname=q.hostname.startsWith("[")?q.hostname.slice(1,-1):q.hostname,de.port=q.port,D5d(de,t.proxy,D+"//"+q.hostname+(q.port?":"+q.port:"")+de.path));let me,ve=VgS.test(de.protocol);if(de.agent=ve?t.httpsAgent:t.httpAgent,t.transport?me=t.transport:t.maxRedirects===0?me=ve?P5d.default:m5d.default:(t.maxRedirects&&(de.maxRedirects=t.maxRedirects),t.beforeRedirect&&(de.beforeRedirects.config=t.beforeRedirect),me=ve?UgS:LgS),t.maxBodyLength>-1?de.maxBodyLength=t.maxBodyLength:de.maxBodyLength=1/0,t.insecureHTTPParser&&(de.insecureHTTPParser=t.insecureHTTPParser),O=me.request(de,function(Xe){if(O.destroyed)return;let Mt=[Xe],De=+Xe.headers["content-length"];if(G||H){let ut=new Dgs({maxRate:as.toFiniteNumber(H)});G&&ut.on("progress",b5d(ut,wfn(De,z5r(Sfn(G),!0,3)))),Mt.push(ut)}let Te=Xe,xt=Xe.req||O;if(t.decompress!==!1&&Xe.headers["content-encoding"])switch((c==="HEAD"||Xe.statusCode===204)&&delete Xe.headers["content-encoding"],(Xe.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Mt.push(R5r.default.createUnzip(h5d)),delete Xe.headers["content-encoding"];break;case"deflate":Mt.push(new f5d),Mt.push(R5r.default.createUnzip(h5d)),delete Xe.headers["content-encoding"];break;case"br":y5d&&(Mt.push(R5r.default.createBrotliDecompress(FgS)),delete Xe.headers["content-encoding"])}Te=Mt.length>1?QSi.default.pipeline(Mt,as.noop):Mt[0];let Ee=QSi.default.finished(Te,()=>{Ee(),w()}),It={status:Xe.statusCode,statusText:Xe.statusMessage,headers:new zI(Xe.headers),config:t,request:xt};if(s==="stream")It.data=Te,hJt(i,n,It);else{let ut=[],he=0;Te.on("data",function(Ot){ut.push(Ot),he+=Ot.length,t.maxContentLength>-1&&he>t.maxContentLength&&(g=!0,Te.destroy(),n(new yp("maxContentLength size of "+t.maxContentLength+" exceeded",yp.ERR_BAD_RESPONSE,t,xt)))}),Te.on("aborted",function(){if(g)return;let Ot=new yp("maxContentLength size of "+t.maxContentLength+" exceeded",yp.ERR_BAD_RESPONSE,t,xt);Te.destroy(Ot),n(Ot)}),Te.on("error",function(Ot){O.destroyed||n(yp.from(Ot,null,t,xt))}),Te.on("end",function(){try{let Ot=ut.length===1?ut[0]:Buffer.concat(ut);s!=="arraybuffer"&&(Ot=Ot.toString(o),(!o||o==="utf8")&&(Ot=as.stripBOM(Ot))),It.data=Ot}catch(Ot){return n(yp.from(Ot,null,t,It.request,It))}hJt(i,n,It)})}m.once("abort",ut=>{Te.destroyed||(Te.emit("error",ut),Te.destroy())})}),m.once("abort",we=>{n(we),O.destroy(we)}),O.on("error",function(Xe){n(yp.from(Xe,null,t,O))}),O.on("socket",function(Xe){Xe.setKeepAlive(!0,1e3*60)}),t.timeout){let we=parseInt(t.timeout,10);if(Number.isNaN(we)){n(new yp("error trying to parse `config.timeout` to int",yp.ERR_BAD_OPTION_VALUE,t,O));return}O.setTimeout(we,function(){if(b)return;let Mt=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",De=t.transitional||mfn;t.timeoutErrorMessage&&(Mt=t.timeoutErrorMessage),n(new yp(Mt,De.clarifyTimeoutError?yp.ETIMEDOUT:yp.ECONNABORTED,t,O)),M()})}if(as.isStream(u)){let we=!1,Xe=!1;u.on("end",()=>{we=!0}),u.once("error",Mt=>{Xe=!0,O.destroy(Mt)}),u.on("close",()=>{!we&&!Xe&&M(new G1e("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var M5d=MT.hasStandardBrowserEnv?function(){let t=MT.navigator&&/(msie|trident)/i.test(MT.navigator.userAgent),r=document.createElement("a"),i;function n(a){let u=a;return t&&(r.setAttribute("href",u),u=r.href),r.setAttribute("href",u),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(u){let l=as.isString(u)?n(u):u;return l.protocol===i.protocol&&l.host===i.host}}():function(){return function(){return!0}}();var A5d=MT.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let u=[e+"="+encodeURIComponent(t)];as.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),as.isString(i)&&u.push("path="+i),as.isString(n)&&u.push("domain="+n),a===!0&&u.push("secure"),document.cookie=u.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var q5d=e=>e instanceof zI?{...e}:e;function k4t(e,t){t=t||{};let r={};function i(s,o,c){return as.isPlainObject(s)&&as.isPlainObject(o)?as.merge.call({caseless:c},s,o):as.isPlainObject(o)?as.merge({},o):as.isArray(o)?o.slice():o}function n(s,o,c){if(as.isUndefined(o)){if(!as.isUndefined(s))return i(void 0,s,c)}else return i(s,o,c)}function a(s,o){if(!as.isUndefined(o))return i(void 0,o)}function u(s,o){if(as.isUndefined(o)){if(!as.isUndefined(s))return i(void 0,s)}else return i(void 0,o)}function l(s,o,c){if(c in t)return i(s,o);if(c in e)return i(void 0,s)}let d={url:a,method:a,data:a,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,withXSRFToken:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,beforeRedirect:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:l,headers:(s,o)=>n(q5d(s),q5d(o),!0)};return as.forEach(Object.keys(Object.assign({},e,t)),function(o){let c=d[o]||n,b=c(e[o],t[o],o);as.isUndefined(b)&&c!==l||(r[o]=b)}),r}var Yso=e=>{let t=k4t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=zI.from(u),t.url=HSi($Si(t.baseURL,t.url),e.params,e.paramsSerializer),l&&u.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let d;if(as.isFormData(r)){if(MT.hasStandardBrowserEnv||MT.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if((d=u.getContentType())!==!1){let[s,...o]=d?d.split(";").map(c=>c.trim()).filter(Boolean):[];u.setContentType([s||"multipart/form-data",...o].join("; "))}}if(MT.hasStandardBrowserEnv&&(i&&as.isFunction(i)&&(i=i(t)),i||i!==!1&&M5d(t.url))){let s=n&&a&&A5d.read(a);s&&u.set(n,s)}return t};var QgS=typeof XMLHttpRequest<"u",T5d=QgS&&function(e){return new Promise(function(r,i){let n=Yso(e),a=n.data,u=zI.from(n.headers).normalize(),{responseType:l,onUploadProgress:d,onDownloadProgress:s}=n,o,c,b,g,O;function m(){g&&g(),O&&O(),n.cancelToken&&n.cancelToken.unsubscribe(o),n.signal&&n.signal.removeEventListener("abort",o)}let w=new XMLHttpRequest;w.open(n.method.toUpperCase(),n.url,!0),w.timeout=n.timeout;function M(){if(!w)return;let q=zI.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:q,config:e,request:w};hJt(function(G){r(G),m()},function(G){i(G),m()},C),w=null}"onloadend"in w?w.onloadend=M:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(M)},w.onabort=function(){w&&(i(new yp("Request aborted",yp.ECONNABORTED,e,w)),w=null)},w.onerror=function(){i(new yp("Network Error",yp.ERR_NETWORK,e,w)),w=null},w.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",C=n.transitional||mfn;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new yp(D,C.clarifyTimeoutError?yp.ETIMEDOUT:yp.ECONNABORTED,e,w)),w=null},a===void 0&&u.setContentType(null),"setRequestHeader"in w&&as.forEach(u.toJSON(),function(D,C){w.setRequestHeader(C,D)}),as.isUndefined(n.withCredentials)||(w.withCredentials=!!n.withCredentials),l&&l!=="json"&&(w.responseType=n.responseType),s&&([b,O]=z5r(s,!0),w.addEventListener("progress",b)),d&&w.upload&&([c,g]=z5r(d),w.upload.addEventListener("progress",c),w.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=q=>{w&&(i(!q||q.type?new G1e(null,e,w):q),w.abort(),w=null)},n.cancelToken&&n.cancelToken.subscribe(o),n.signal&&(n.signal.aborted?o():n.signal.addEventListener("abort",o)));let A=tXn(n.url);if(A&&MT.protocols.indexOf(A)===-1){i(new yp("Unsupported protocol "+A+":",yp.ERR_BAD_REQUEST,e));return}w.send(a||null)})};var JgS=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,a=function(s){if(!n){n=!0,l();let o=s instanceof Error?s:this.reason;i.abort(o instanceof yp?o:new G1e(o instanceof Error?o.message:o))}},u=t&&setTimeout(()=>{u=null,a(new yp(`timeout ${t} of ms exceeded`,yp.ETIMEDOUT))},t),l=()=>{e&&(u&&clearTimeout(u),u=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:d}=i;return d.unsubscribe=()=>as.asap(l),d}},C5d=JgS;var KgS=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},YgS=async function*(e,t){for await(let r of XgS(e))yield*KgS(r,t)},XgS=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},Ags=(e,t,r,i)=>{let n=YgS(e,t),a=0,u,l=d=>{u||(u=!0,i&&i(d))};return new ReadableStream({async pull(d){try{let{done:s,value:o}=await n.next();if(s){l(),d.close();return}let c=o.byteLength;if(r){let b=a+=c;r(b)}d.enqueue(new Uint8Array(o))}catch(s){throw l(s),s}},cancel(d){return l(d),n.return()}},{highWaterMark:2})};var Zso=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",x5d=Zso&&typeof ReadableStream=="function",ZgS=Zso&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),I5d=(e,...t)=>{try{return!!e(...t)}catch{return!1}},kgS=x5d&&I5d(()=>{let e=!1,t=new Request(MT.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),B5d=64*1024,qgs=x5d&&I5d(()=>as.isReadableStream(new Response("").body)),Xso={stream:qgs&&(e=>e.body)};Zso&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Xso[t]&&(Xso[t]=as.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new yp(`Response type '${t}' is not supported`,yp.ERR_NOT_SUPPORT,i)})})})(new Response);var eOS=async e=>{if(e==null)return 0;if(as.isBlob(e))return e.size;if(as.isSpecCompliantForm(e))return(await new Request(MT.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(as.isArrayBufferView(e)||as.isArrayBuffer(e))return e.byteLength;if(as.isURLSearchParams(e)&&(e=e+""),as.isString(e))return(await ZgS(e)).byteLength},tOS=async(e,t)=>{let r=as.toFiniteNumber(e.getContentLength());return r??eOS(t)},z5d=Zso&&(async e=>{let{url:t,method:r,data:i,signal:n,cancelToken:a,timeout:u,onDownloadProgress:l,onUploadProgress:d,responseType:s,headers:o,withCredentials:c="same-origin",fetchOptions:b}=Yso(e);s=s?(s+"").toLowerCase():"text";let g=C5d([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),w;try{if(d&&kgS&&r!=="get"&&r!=="head"&&(w=await tOS(o,i))!==0){let C=new Request(t,{method:"POST",body:i,duplex:"half"}),F;if(as.isFormData(i)&&(F=C.headers.get("content-type"))&&o.setContentType(F),C.body){let[G,I]=wfn(w,z5r(Sfn(d)));i=Ags(C.body,B5d,G,I)}}as.isString(c)||(c=c?"include":"omit");let M="credentials"in Request.prototype;O=new Request(t,{...b,signal:g,method:r.toUpperCase(),headers:o.normalize().toJSON(),body:i,duplex:"half",credentials:M?c:void 0});let A=await fetch(O),q=qgs&&(s==="stream"||s==="response");if(qgs&&(l||q&&m)){let C={};["status","statusText","headers"].forEach(V=>{C[V]=A[V]});let F=as.toFiniteNumber(A.headers.get("content-length")),[G,I]=l&&wfn(F,z5r(Sfn(l),!0))||[];A=new Response(Ags(A.body,B5d,G,()=>{I&&I(),m&&m()}),C)}s=s||"text";let D=await Xso[as.findKey(Xso,s)||"text"](A,e);return!q&&m&&m(),await new Promise((C,F)=>{hJt(C,F,{data:D,headers:zI.from(A.headers),status:A.status,statusText:A.statusText,config:e,request:O})})}catch(M){throw m&&m(),M&&M.name==="TypeError"&&/fetch/i.test(M.message)?Object.assign(new yp("Network Error",yp.ERR_NETWORK,e,O),{cause:M.cause||M}):yp.from(M,M&&M.code,e,O)}});var Tgs={http:E5d,xhr:T5d,fetch:z5d};as.forEach(Tgs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var R5d=e=>`- ${e}`,rOS=e=>as.isFunction(e)||e===null||e===!1,kso={getAdapter:e=>{e=as.isArray(e)?e:[e];let{length:t}=e,r,i,n={};for(let a=0;a<t;a++){r=e[a];let u;if(i=r,!rOS(r)&&(i=Tgs[(u=String(r)).toLowerCase()],i===void 0))throw new yp(`Unknown adapter '${u}'`);if(i)break;n[u||"#"+a]=i}if(!i){let a=Object.entries(n).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build")),u=t?a.length>1?`since :
|
|
@@ -1914,14 +1914,14 @@ ${q}${A}${D}${$4p.default.cursorHide}`});var hra=Ei(e1i(),1);function DBs(e,t){i
|
|
|
1914
1914
|
`)+`
|
|
1915
1915
|
`;return this.lastPaint=i,i}get isTTY(){return this.stream.isTTY&&!dFp.default}};function NnD(e){return typeof e.spinner!="string"&&e.spinner.interval!=null?e.spinner.interval:100}function FnD(e){let t=1;for(let r of e)r===`
|
|
1916
1916
|
`&&t++;return t}function LnD(e,{includeDebugInfo:t}){let r=e.parts.join(" ");switch(e.prefix!=null&&(r=PK({prefix:e.prefix,content:r})),t&&(r=PK({prefix:Au.dim(VnD(e)),content:r})),r+=`
|
|
1917
|
-
`,e.level){case ig.Error:return Au.red(r);case ig.Warn:return Au.hex("FFA500")(r);case ig.
|
|
1917
|
+
`,e.level){case ig.Error:return Au.red(r);case ig.Warn:return Au.hex("FFA500")(r);case ig.Trace:case ig.Debug:case ig.Info:return r}}var UnD=Math.max(...iZr.map(e=>pFp(e).length));function VnD(e){return`${pFp(e.level).padEnd(UnD)} ${e.time.toISOString()} `}function pFp(e){switch(e){case ig.Trace:return"TRACE";case ig.Debug:return"DEBUG";case ig.Info:return"INFO";case ig.Warn:return"WARN";case ig.Error:return"ERROR";default:Go(e)}}var _Fp=Ei(HQn(),1);function hFp(e){return e.filter(t=>t.isUpgradeAvailable).length>0}function WnD(e){return(e.cliUpgradeInfo?.isUpgradeAvailable??!1)||hFp(e.generatorUpgradeInfo)}async function yFp({cliEnvironment:e,upgradeInfo:t}){if(!WnD(t))return;let r=`${Au.underline("Upgrades available")}
|
|
1918
1918
|
|
|
1919
1919
|
`;t.cliUpgradeInfo?.isUpgradeAvailable&&(r+="Fern "+Au.dim(e.packageVersion)+Au.reset(" \u2192 ")+Au.green(t.cliUpgradeInfo.latestVersion)+`
|
|
1920
1920
|
(Run `+Au.cyan(`${e.cliName} upgrade`)+" to update)");let i=await RBs({generatorUpgradeInfo:t.generatorUpgradeInfo,limit:2,includeBoxen:!1});i!=null&&(r+=i);let n=t.generatorUpgradeInfo.filter(a=>a.isUpgradeAvailable);return n.length>0&&(r+=`
|
|
1921
1921
|
Run ${Au.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
|
|
1922
1922
|
Run ${Au.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),Efn(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function RBs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!hFp(e))return;let n=t??"",a=e.filter(l=>l.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let u=a.sort((l,d)=>l.generatorName.localeCompare(d.generatorName)||l.currentVersion.localeCompare(d.currentVersion));for(let l of u)n+=`
|
|
1923
1923
|
${await HnD(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+Au.dim(l.currentVersion)+Au.reset(" \u2192 ")+Au.green(l.latestVersion);return n+=`
|
|
1924
|
-
`,i?Efn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function HnD(e){let r=await new _Fp.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 $nD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=WZr(o.name,c),g=await q$t({generatorName:b,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:n,includeMajor:a,context:c});g!=null&&(l.versions[s][o.name]={previousVersion:o.version,latestVersion:g})},generatorFilter:r,groupFilter:i}),l}let u={type:"multiApi",versions:{}};return await vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=WZr(s.name,o),b=await q$t({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let l=await w4t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function bFp(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=sie(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Ngo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await $nD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...bFp(s,d,t.logger));else u.push(...bFp(l.versions,void 0,t.logger))}return u}var jra=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${n} ${a}`.trim(),l=u?`status code ${u}`:"an unknown error";super(`Request failed with ${l}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var xhn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var Ihn=e=>e!==null&&typeof e=="object";var wra=(...e)=>{for(let t of e)if((!Ihn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return LBs({},...e)},NBs=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,u]of n.entries())i&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r};function Fgo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:LBs(e[r]??[],t[r]??[])}var FBs=(e={},t={})=>({beforeRequest:Fgo(e,t,"beforeRequest"),beforeRetry:Fgo(e,t,"beforeRetry"),afterResponse:Fgo(e,t,"afterResponse"),beforeError:Fgo(e,t,"beforeError")}),LBs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Ihn(n)){for(let[a,u]of Object.entries(n))Ihn(u)&&a in t&&(u=LBs(t[a],u)),t={...t,[a]:u};Ihn(n.hooks)&&(i=FBs(i,n.hooks),t.hooks=i),Ihn(n.headers)&&(r=NBs(r,n.headers),t.headers=r)}return t};var gFp=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),OFp=typeof globalThis.AbortController=="function",mFp=typeof globalThis.ReadableStream=="function",PFp=typeof globalThis.FormData=="function",Lgo=["get","post","put","patch","head","delete"],GnD=()=>{};GnD();var jFp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Ugo=2147483647,Vgo=Symbol("stop"),wFp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},SFp={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var EFp=e=>Lgo.includes(e)?e.toUpperCase():e,QnD=["get","put","head","delete","options","trace"],JnD=[408,413,429,500,502,503,504],KnD=[413,429,503],DFp={limit:2,methods:QnD,statusCodes:JnD,afterStatusCodes:KnD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},MFp=(e={})=>{if(typeof e=="number")return{...DFp,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{...DFp,...e}};async function UBs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new xhn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function VBs(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var AFp=(e,t)=>{let r={};for(let i in t)!(i in SFp)&&!(i in wFp)&&!(i in e)&&(r[i]=t[i]);return r};var Sra=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>Ugo)throw new RangeError(`The \`timeout\` option cannot be greater than ${Ugo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new jra(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!mFp)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(jFp))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:NBs(this._input.headers,r.headers),hooks:FBs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:EFp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:MFp(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(OFp){this.abortController=new globalThis.AbortController;let i=this._options.signal??this._input.signal;i?.addEventListener("abort",()=>{this.abortController.abort(i.reason)}),this._options.signal=this.abortController.signal}if(gFp&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(PFp&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof xhn)throw t;if(t instanceof jra){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),Ugo);if(this._retryCount<1)throw r;await VBs(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===Vgo)return;return this._retry(t)}}async _fetch(){for(let i of this._options.hooks.beforeRequest){let n=await i(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=AFp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):UBs(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var WBs=e=>{let t=(r,i)=>Sra.create(r,wra(e,i));for(let r of Lgo)t[r]=(i,n)=>Sra.create(i,wra(e,n,{method:r}));return t.create=r=>WBs(wra(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),WBs(wra(e,r))),t.stop=Vgo,t},YnD=WBs(),qFp=YnD;var kFp=Ei(ZFp(),1);function JBs(e){let t=(0,kFp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Q8p=Ei(G8p(),1),J8p=Ei(e1i(),1),sxs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},cxs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function lxs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??JBs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,Q8p.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await qFp(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new sxs(e):c}if(t.allVersions)return s;let o=new cxs(e,r);if(s["dist-tags"][r]){let{time:c}=s;s=s.versions[s["dist-tags"][r]],s.time=c}else if(r){let c=!!s.versions[r];if(i&&!c)for(let[g,O]of Object.entries(s.versions))O.deprecated&&delete s.versions[g];if(!c){let g=Object.keys(s.versions);if(r=J8p.default.maxSatisfying(g,r),!r)throw o}let{time:b}=s;if(s=s.versions[r],s.time=b,!s)throw o}return s}async function Tra(e,t){let{version:r}=await lxs(e.toLowerCase(),t);return r}async function Oii({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:Tra(e.packageName,{version:t?"prerelease":"latest"})}var K8p=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],eOo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=ig.Info;constructor(t){this.ttyAwareLogger=new Rgo(t);let r=this.getPackageName(),i=this.getPackageVersion(),n=this.getCliName();(r==null||i==null||n==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:i,cliName:n}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.50.12"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Au.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new nte}failWithoutThrowing(t,r){this.didSucceed=!1,Bgo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvaialable(),this.ttyAwareLogger.finish(),await(await bfn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvaialable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await yFp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1924
|
+
`,i?Efn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function HnD(e){let r=await new _Fp.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 $nD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=WZr(o.name,c),g=await q$t({generatorName:b,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:n,includeMajor:a,context:c});g!=null&&(l.versions[s][o.name]={previousVersion:o.version,latestVersion:g})},generatorFilter:r,groupFilter:i}),l}let u={type:"multiApi",versions:{}};return await vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=WZr(s.name,o),b=await q$t({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function vFp({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let l=await w4t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function bFp(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=sie(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Ngo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await $nD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...bFp(s,d,t.logger));else u.push(...bFp(l.versions,void 0,t.logger))}return u}var jra=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${n} ${a}`.trim(),l=u?`status code ${u}`:"an unknown error";super(`Request failed with ${l}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var xhn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var Ihn=e=>e!==null&&typeof e=="object";var wra=(...e)=>{for(let t of e)if((!Ihn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return LBs({},...e)},NBs=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,u]of n.entries())i&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r};function Fgo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:LBs(e[r]??[],t[r]??[])}var FBs=(e={},t={})=>({beforeRequest:Fgo(e,t,"beforeRequest"),beforeRetry:Fgo(e,t,"beforeRetry"),afterResponse:Fgo(e,t,"afterResponse"),beforeError:Fgo(e,t,"beforeError")}),LBs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Ihn(n)){for(let[a,u]of Object.entries(n))Ihn(u)&&a in t&&(u=LBs(t[a],u)),t={...t,[a]:u};Ihn(n.hooks)&&(i=FBs(i,n.hooks),t.hooks=i),Ihn(n.headers)&&(r=NBs(r,n.headers),t.headers=r)}return t};var gFp=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),OFp=typeof globalThis.AbortController=="function",mFp=typeof globalThis.ReadableStream=="function",PFp=typeof globalThis.FormData=="function",Lgo=["get","post","put","patch","head","delete"],GnD=()=>{};GnD();var jFp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Ugo=2147483647,Vgo=Symbol("stop"),wFp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},SFp={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var EFp=e=>Lgo.includes(e)?e.toUpperCase():e,QnD=["get","put","head","delete","options","trace"],JnD=[408,413,429,500,502,503,504],KnD=[413,429,503],DFp={limit:2,methods:QnD,statusCodes:JnD,afterStatusCodes:KnD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},MFp=(e={})=>{if(typeof e=="number")return{...DFp,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{...DFp,...e}};async function UBs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new xhn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function VBs(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var AFp=(e,t)=>{let r={};for(let i in t)!(i in SFp)&&!(i in wFp)&&!(i in e)&&(r[i]=t[i]);return r};var Sra=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>Ugo)throw new RangeError(`The \`timeout\` option cannot be greater than ${Ugo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new jra(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!mFp)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(jFp))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:NBs(this._input.headers,r.headers),hooks:FBs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:EFp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:MFp(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(OFp){this.abortController=new globalThis.AbortController;let i=this._options.signal??this._input.signal;i?.addEventListener("abort",()=>{this.abortController.abort(i.reason)}),this._options.signal=this.abortController.signal}if(gFp&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(PFp&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof xhn)throw t;if(t instanceof jra){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),Ugo);if(this._retryCount<1)throw r;await VBs(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===Vgo)return;return this._retry(t)}}async _fetch(){for(let i of this._options.hooks.beforeRequest){let n=await i(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=AFp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):UBs(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var WBs=e=>{let t=(r,i)=>Sra.create(r,wra(e,i));for(let r of Lgo)t[r]=(i,n)=>Sra.create(i,wra(e,n,{method:r}));return t.create=r=>WBs(wra(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),WBs(wra(e,r))),t.stop=Vgo,t},YnD=WBs(),qFp=YnD;var kFp=Ei(ZFp(),1);function JBs(e){let t=(0,kFp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Q8p=Ei(G8p(),1),J8p=Ei(e1i(),1),sxs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},cxs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function lxs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??JBs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,Q8p.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await qFp(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new sxs(e):c}if(t.allVersions)return s;let o=new cxs(e,r);if(s["dist-tags"][r]){let{time:c}=s;s=s.versions[s["dist-tags"][r]],s.time=c}else if(r){let c=!!s.versions[r];if(i&&!c)for(let[g,O]of Object.entries(s.versions))O.deprecated&&delete s.versions[g];if(!c){let g=Object.keys(s.versions);if(r=J8p.default.maxSatisfying(g,r),!r)throw o}let{time:b}=s;if(s=s.versions[r],s.time=b,!s)throw o}return s}async function Tra(e,t){let{version:r}=await lxs(e.toLowerCase(),t);return r}async function Oii({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:Tra(e.packageName,{version:t?"prerelease":"latest"})}var K8p=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],eOo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=ig.Info;constructor(t){this.ttyAwareLogger=new Rgo(t);let r=this.getPackageName(),i=this.getPackageVersion(),n=this.getCliName();(r==null||i==null||n==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:i,cliName:n}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.50.14"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Au.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new nte}failWithoutThrowing(t,r){this.didSucceed=!1,Bgo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvaialable(),this.ttyAwareLogger.finish(),await(await bfn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvaialable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await yFp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1925
1925
|
`)||(r+=`
|
|
1926
1926
|
`),this.logger.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram(){process.exit(this.didSucceed?0:1)}longestWorkspaceName;registerWorkspaces(t){let r=nZu(t.map(i=>i.type==="docs"?"docs":i.workspaceName??"api"),i=>i.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new yra(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let i=this.addTaskWithInit(t).start(),n;try{n=await r(i)}catch(a){throw a.message.includes("globalThis")?(i.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),i.failWithoutThrowing()):i.failWithoutThrowing(void 0,a),new nte}finally{i.finish()}return n}async instrumentPostHogEvent(t){(await bfn()).sendEvent(t)}logger=v8r(this.log.bind(this));constructTaskInitForWorkspace(t){let r=Y8p(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?Y8p(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=K8p[this.numTasks++%K8p.length],u=Au.hex(a)(n);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===rC.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logImmediately(t){let r=t.filter(i=>iZr.indexOf(i.level)>=iZr.indexOf(this.logLevel));this.ttyAwareLogger.log(r,{includeDebugInfo:this.logLevel===ig.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 Oii({cliEnvironment:this.environment,includePreReleases:t}),i=sie(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await Ngo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await OBs({message:t,default:r})}async getInput(t){return await mBs({message:t.message,default:t.default})}};function Y8p(e){return`[${e}]:`}var ea_=require("fs/promises");function zIe({breadcrumbs:e=[],title:t,subtitle:r}){let i=[];return e.length>0&&i.push(Au.blue(e.join(" -> "))),i.push(t),r!=null&&i.push(Au.dim(r)),i.join(`
|
|
1927
1927
|
`)}var mkp=require("fs/promises");var zFt=class e{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;type=e.Type;constructor({generatorsConfiguration:t,workspaceName:r,cliVersion:i,absoluteFilePath:n,changelog:a}){this.generatorsConfiguration=t,this.workspaceName=r,this.cliVersion=i,this.absoluteFilePath=n,this.changelog=a}};var jSe=class extends zFt{definition;sources;constructor({definition:t,sources:r,...i}){super(i),this.definition=t,this.sources=r??[]}async getDefinition(){return this.definition}async toFernWorkspace(){return this}getSources(){return this.sources}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var Cra=class{context;constructor(t){this.context=t}};var tOo=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let d=n!=null?Vh.of(`${n}${V2t}${u}`):Vh.of(u);t[d]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${V2t}${u}`:u,d=i.directories[u];r(d,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(V2t))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[Vh.of(t[0])]??={};let[r,...i]=t;if(r==null)throw new Error(`Internal error; cannot add file with path: ${t}`);return this.directories[r]||(this.directories[r]=new e),this.directories[r].getOrCreateFileRecursive(i)}};var WMi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new tOo,this.rootApiFile={name:"api","error-discrimination":{strategy:"status-code"}}}setDisplayName({displayName:t}){this.rootApiFile["display-name"]=t}addNavigation({navigation:t}){this.packageMarkerFile.navigation=t}setServiceInfo(t,{auth:r,"base-path":i,"display-name":n,docs:a}){let u=this.getOrCreateFile(t);u.service==null&&(u.service={auth:!1,"base-path":"",endpoints:{}}),r!=null&&(u.service.auth=r),i!=null&&(u.service["base-path"]=i),n!=null&&(u.service["display-name"]=n),a!=null&&(u.docs=a)}addAudience(t){this.rootApiFile.audiences==null&&(this.rootApiFile.audiences=[]),this.rootApiFile.audiences.push(t)}setAuth(t){this.rootApiFile.auth=t}addAuthScheme({name:t,schema:r}){this.rootApiFile["auth-schemes"]==null&&(this.rootApiFile["auth-schemes"]={}),this.rootApiFile["auth-schemes"][t]==null&&(this.rootApiFile["auth-schemes"][t]=r)}setDefaultEnvironment(t){this.rootApiFile["default-environment"]=t}setDefaultUrl(t){this.rootApiFile["default-url"]=t}setBasePath(t){this.basePath=t}setApiVersion(t){this.rootApiFile.version=t}getEnvironmentType(){let t=Object.entries(this.rootApiFile.environments??{})[0];if(t!=null)return W8r(t[1],{singleBaseUrl:()=>"single",multipleBaseUrls:()=>"multi"})}addEnvironment({name:t,schema:r}){this.rootApiFile.environments==null&&(this.rootApiFile.environments={}),this.rootApiFile.environments[t]=r}getGlobalHeaderNames(){let t=Object.keys(this.rootApiFile.headers??{});if(this.rootApiFile["auth-schemes"]!=null)for(let i of Object.values(this.rootApiFile["auth-schemes"]))toD(i)&&t.push(i.header);let r=this.getVersionHeader();return r!=null&&t.push(r),new Set(t)}addGlobalHeader({name:t,schema:r}){let i=this.getVersionHeader();i!=null&&i===t||(this.rootApiFile.headers==null&&(this.rootApiFile.headers={}),this.rootApiFile.headers[t]=r)}addIdempotencyHeader({name:t,schema:r}){this.rootApiFile["idempotency-headers"]==null&&(this.rootApiFile["idempotency-headers"]={}),this.rootApiFile["idempotency-headers"][t]=r}addVariable({name:t,schema:r}){this.rootApiFile.variables==null&&(this.rootApiFile.variables={}),this.rootApiFile.variables[t]=r}addImport({file:t,fileToImport:r,alias:i}){if(t===r)return;let n=i??gg((FCe(r)+"/"+Zji(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===Vh.of(D7))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=YLa(FCe(Oan.of(`/${t}`)),Oan.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=YLa(FCe(Oan.of(`/${t}`)),Oan.of(`/${r}`)),n}addType(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.types==null&&(n.types={}),n.types[r]=i}addTypeExample(t,r,i){let n=this.getOrCreateFile(t);n.types==null&&(n.types={});let a=n.types[r];a!=null&&(typeof a=="string"?n.types[r]={type:a,examples:[i]}:(a.examples==null&&(a.examples=[]),a.examples.push(i)))}addError(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.errors==null&&(n.errors={}),n.errors[r]==null?n.errors[r]=i:n.errors[r]?.type!==i.type&&(n.errors[r]={"status-code":i["status-code"],type:"unknown"})}addErrorExample(t,{name:r,example:i}){let n=this.getOrCreateFile(t);if(n.errors==null)return;let a=n.errors[r];if(a==null)return;a.examples==null&&(a.examples=[]),(a.examples.some(l=>B2t(l,i))??!1)||a.examples?.push(i)}addEndpoint(t,{name:r,schema:i,source:n}){let a=this.getOrCreateFile(t);a.service==null&&(a.service={auth:!1,"base-path":"",endpoints:{}}),n!=null&&(a.service.source=n),a.service.endpoints[r]=i}addWebhook(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.webhooks==null&&(n.webhooks={}),n.webhooks[r]=i}addChannel(t,{channel:r}){let i=this.getOrCreateFile(t);i.channel=r;let n=this.basePath;n!=null&&(i.channel.path=nR(n,r.path))}addChannelExample(t,{example:r}){let i=this.getOrCreateFile(t);i.channel==null&&(i.channel={path:"",auth:!1}),i.channel.messages==null&&(i.channel.messages={}),i.channel.examples==null&&(i.channel.examples=[]),i.channel.examples.push(r)}addChannelMessage(t,{messageId:r,message:i}){let n=this.getOrCreateFile(t);n.channel==null&&(n.channel={path:"",auth:!1}),n.channel.messages==null&&(n.channel.messages={}),n.channel.messages[r]=i}build(){let t=this.root.getAllFiles(),r=this.basePath;if(r!=null){this.packageMarkerFile.service!=null&&(this.packageMarkerFile.service={...this.packageMarkerFile.service,endpoints:Object.fromEntries(Object.entries(this.packageMarkerFile.service.endpoints).map(([n,a])=>[n,{...a,path:nR(r,a.path)}]))});for(let n of Object.values(t))n.service!=null&&(n.service={...n.service,endpoints:Object.fromEntries(Object.entries(n.service.endpoints).map(([a,u])=>[a,{...u,path:nR(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===I1?this.packageMarkerFile:this.root.getOrCreateFile(t)}getVersionHeader(){if(this.rootApiFile.version!=null)return typeof this.rootApiFile.version.header=="string"?this.rootApiFile.version.header:this.rootApiFile.version.header.value}};function toD(e){return e?.header!=null}var RFt={openapi:e=>({...e,type:"openapi",_visit:function(t){return RFt._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return RFt._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"openapi":return t.openapi(e);case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var Vhn={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return Vhn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var Y8={basic:e=>({...e,type:"basic",_visit:function(t){return Y8._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return Y8._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return Y8._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return Y8._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return Y8._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"basic":return t.basic(e);case"bearer":return t.bearer(e);case"header":return t.header(e);case"query":return t.query(e);case"oauth":return t.oauth(e);default:return t._other(e)}}};var qg={primitive:e=>({value:e,type:"primitive",_visit:function(t){return qg._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return qg._visit(this,t)}}),array:e=>({value:e,type:"array",_visit:function(t){return qg._visit(this,t)}}),map:e=>({value:e,type:"map",_visit:function(t){return qg._visit(this,t)}}),enum:e=>({value:e,type:"enum",_visit:function(t){return qg._visit(this,t)}}),literal:e=>({value:e,type:"literal",_visit:function(t){return qg._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return qg._visit(this,t)}}),unknown:e=>({value:e,type:"unknown",_visit:function(t){return qg._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e.value);case"object":return t.object(e);case"array":return t.array(e.value);case"map":return t.map(e.value);case"enum":return t.enum(e.value);case"literal":return t.literal(e.value);case"oneOf":return t.oneOf(e.value);case"unknown":return t.unknown(e.value);default:return t._other(e)}}};var Qp={int:e=>({value:e,type:"int",_visit:function(t){return Qp._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return Qp._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return Qp._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return Qp._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return Qp._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return Qp._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return Qp._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return Qp._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return Qp._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return Qp._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return Qp._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e.value);case"int64":return t.int64(e.value);case"uint":return t.uint(e.value);case"uint64":return t.uint64(e.value);case"float":return t.float(e.value);case"double":return t.double(e.value);case"string":return t.string(e.value);case"datetime":return t.datetime(e.value);case"date":return t.date(e.value);case"base64":return t.base64(e.value);case"boolean":return t.boolean(e.value);default:return t._other(e)}}};var Whn={boolean:e=>({value:e,type:"boolean",_visit:function(t){return Whn._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return Whn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"boolean":return t.boolean(e.value);case"string":return t.string(e.value);default:return t._other(e)}}};var mii={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return mii._visit(this,t)}}),undisciminated:e=>({value:e,type:"undisciminated",_visit:function(t){return mii._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e.value);case"undisciminated":return t.undisciminated(e.value);default:return t._other(e)}}};var KU={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case KU.GenerallyAvailable:return t.generallyAvailable();case KU.Beta:return t.beta();case KU.Deprecated:return t.deprecated();default:return t._other()}}};var $9r={cursor:e=>({...e,type:"cursor",_visit:function(t){return $9r._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit:function(t){return $9r._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"cursor":return t.cursor(e);case"offset":return t.offset(e);default:return t._other(e)}}};var G9r={language:e=>({...e,type:"language",_visit:function(t){return G9r._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return G9r._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"language":return t.language(e);case"sdk":return t.sdk(e);default:return t._other(e)}}};var YU={Curl:"curl",Python:"python",Javascript:"javascript",Typescript:"typescript",Go:"go",Ruby:"ruby",Csharp:"csharp",Java:"java",Js:"js",Node:"node",Ts:"ts",Nodets:"nodets",Golang:"golang",Dotnet:"dotnet",Jvm:"jvm",_visit:(e,t)=>{switch(e){case YU.Curl:return t.curl();case YU.Python:return t.python();case YU.Javascript:return t.javascript();case YU.Typescript:return t.typescript();case YU.Go:return t.go();case YU.Ruby:return t.ruby();case YU.Csharp:return t.csharp();case YU.Java:return t.java();case YU.Js:return t.js();case YU.Node:return t.node();case YU.Ts:return t.ts();case YU.Nodets:return t.nodets();case YU.Golang:return t.golang();case YU.Dotnet:return t.dotnet();case YU.Jvm:return t.jvm();default:return t._other()}}};var NFt={unknown:e=>({value:e,type:"unknown",_visit:function(t){return NFt._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return NFt._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"unknown":return t.unknown(e.value);case"full":return t.full(e);default:return t._other(e)}}};var FFt={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return FFt._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return FFt._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"withStreaming":return t.withStreaming(e);case"withoutStreaming":return t.withoutStreaming(e.value);default:return t._other(e)}}};var W$={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case W$.Get:return t.get();case W$.Post:return t.post();case W$.Put:return t.put();case W$.Patch:return t.patch();case W$.Delete:return t.delete();case W$.Head:return t.head();case W$.Options:return t.options();case W$.Trace:return t.trace();default:return t._other()}}};var Pii={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return Pii._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return Pii._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return Pii._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"octetStream":return t.octetStream(e);case"multipart":return t.multipart(e);case"json":return t.json(e);default:return t._other(e)}}};var RIe={file:e=>({...e,type:"file",_visit:function(t){return RIe._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return RIe._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e.value);default:return t._other(e)}}};var cie={file:e=>({...e,type:"file",_visit:function(t){return cie._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return cie._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return cie._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return cie._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return cie._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return cie._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var ey={primitive:e=>({...e,type:"primitive",_visit:function(t){return ey._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return ey._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return ey._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return ey._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return ey._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return ey._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return ey._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return ey._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return ey._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return ey._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return ey._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e);case"object":return t.object(e);case"array":return t.array(e);case"map":return t.map(e);case"optional":return t.optional(e);case"enum":return t.enum(e);case"reference":return t.reference(e);case"literal":return t.literal(e);case"oneOf":return t.oneOf(e.value);case"nullable":return t.nullable(e);case"unknown":return t.unknown(e);default:return t._other(e)}}};var tj={int:e=>({...e,type:"int",_visit:function(t){return tj._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return tj._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return tj._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return tj._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return tj._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return tj._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return tj._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return tj._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return tj._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return tj._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return tj._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e);case"int64":return t.int64(e);case"uint":return t.uint();case"uint64":return t.uint64();case"float":return t.float();case"double":return t.double(e);case"string":return t.string(e);case"datetime":return t.datetime();case"date":return t.date();case"base64":return t.base64();case"boolean":return t.boolean(e);default:return t._other(e)}}};var WB={boolean:e=>({value:e,type:"boolean",_visit:function(t){return WB._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return WB._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"boolean":return t.boolean(e.value);case"string":return t.string(e.value);default:return t._other(e)}}};var Q9r={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return Q9r._visit(this,t)}}),undisciminated:e=>({...e,type:"undisciminated",_visit:function(t){return Q9r._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e);case"undisciminated":return t.undisciminated(e);default:return t._other(e)}}};var wSe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return wSe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return wSe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return wSe._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"octetStream":return t.octetStream(e);case"multipart":return t.multipart(e);case"json":return t.json(e);default:return t._other(e)}}};var HB={file:e=>({...e,type:"file",_visit:function(t){return HB._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return HB._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return HB._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return HB._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return HB._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return HB._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var Ul={primitive:e=>({...e,type:"primitive",_visit:function(t){return Ul._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Ul._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return Ul._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return Ul._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return Ul._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return Ul._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return Ul._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return Ul._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Ul._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return Ul._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return Ul._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e);case"object":return t.object(e);case"array":return t.array(e);case"map":return t.map(e);case"optional":return t.optional(e);case"enum":return t.enum(e);case"reference":return t.reference(e);case"literal":return t.literal(e);case"oneOf":return t.oneOf(e.value);case"nullable":return t.nullable(e);case"unknown":return t.unknown(e);default:return t._other(e)}}};var mY={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return mY._visit(this,t)}}),undisciminated:e=>({...e,type:"undisciminated",_visit:function(t){return mY._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e);case"undisciminated":return t.undisciminated(e);default:return t._other(e)}}};var up={int:e=>({...e,type:"int",_visit:function(t){return up._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return up._visit(this,t)}}),uint:e=>({...e,type:"uint",_visit:function(t){return up._visit(this,t)}}),uint64:e=>({...e,type:"uint64",_visit:function(t){return up._visit(this,t)}}),float:e=>({...e,type:"float",_visit:function(t){return up._visit(this,t)}}),double:e=>({...e,type:"double",_visit:function(t){return up._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return up._visit(this,t)}}),datetime:e=>({...e,type:"datetime",_visit:function(t){return up._visit(this,t)}}),date:e=>({...e,type:"date",_visit:function(t){return up._visit(this,t)}}),base64:e=>({...e,type:"base64",_visit:function(t){return up._visit(this,t)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return up._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e);case"int64":return t.int64(e);case"uint":return t.uint(e);case"uint64":return t.uint64(e);case"float":return t.float(e);case"double":return t.double(e);case"string":return t.string(e);case"datetime":return t.datetime(e);case"date":return t.date(e);case"base64":return t.base64(e);case"boolean":return t.boolean(e);default:return t._other(e)}}};var Vy={};Wo(Vy,{AllOfPropertyConflict:()=>fyn,ArraySchema:()=>pmo,ArraySchemaWithExample:()=>Umo,Availability:()=>fOo,Base64WithExample:()=>zmo,BasicSecurityScheme:()=>_Oo,BearerSecurityScheme:()=>hOo,BooleanSchema:()=>umo,BooleanWithExample:()=>Rmo,CasingOverrides:()=>bOo,CommonProperty:()=>mmo,CommonPropertyWithExample:()=>Ymo,CursorPagination:()=>JOo,CustomCodeSample:()=>GOo,CustomCodeSampleLanguage:()=>WOo,CustomCodeSampleSdk:()=>$Oo,DateWithExample:()=>Imo,DatetimeWithExample:()=>xmo,DiscriminatedOneOfSchema:()=>gmo,DiscriminatedOneOfSchemaWithExample:()=>Jmo,DoubleSchema:()=>amo,DoubleWithExample:()=>Cmo,Encoding:()=>lOo,Endpoint:()=>YOo,EndpointExample:()=>oyn,EndpointResponseExample:()=>VOo,EndpointSdkName:()=>sKt,EndpointWithExample:()=>D5p,EnumSchema:()=>Qhn,EnumSchemaWithExample:()=>Fmo,EnumValue:()=>Sii,ErrorExample:()=>ROo,FernExample:()=>FOo,FileResponse:()=>tyn,FileSchema:()=>TOo,FloatWithExample:()=>Tmo,FullEndpointExample:()=>QOo,FullExample:()=>PA,FullObjectExample:()=>DOo,FullOneOfExample:()=>MOo,GlobalHeader:()=>cmo,Header:()=>Mii,HeaderExample:()=>ayn,HeaderSecurityScheme:()=>yOo,HeaderWithExample:()=>Tii,HttpEndpointServer:()=>iyn,HttpError:()=>NOo,HttpErrorWithExample:()=>Dmo,HttpMethod:()=>Yhn,IdempotencyHeader:()=>lmo,Int64WithExample:()=>Mmo,IntSchema:()=>imo,IntWithExample:()=>Emo,JsonRequest:()=>xOo,JsonRequestWithExample:()=>jmo,JsonResponse:()=>ryn,JsonResponseWithExample:()=>_yn,KeyValuePair:()=>EOo,LiteralExample:()=>SOo,LiteralSchema:()=>lyn,LiteralSchemaValue:()=>fmo,LongSchema:()=>nmo,MapSchema:()=>_mo,MapSchemaWithExample:()=>Vmo,MultipartRequest:()=>eyn,MultipartRequestProperty:()=>BOo,MultipartSchema:()=>COo,NamedFullExample:()=>lKt,Namespace:()=>gOo,NamespaceId:()=>wOo,NullableSchema:()=>ymo,NullableSchemaWithExample:()=>Hmo,OauthSecurityScheme:()=>mOo,ObjectProperty:()=>bmo,ObjectPropertyConflictInfo:()=>dyn,ObjectPropertyWithExample:()=>Qmo,ObjectSchema:()=>dmo,ObjectSchemaWithExample:()=>$mo,OctetStreamRequest:()=>khn,OffsetPagination:()=>KOo,OneOfSchema:()=>vmo,OneOfSchemaWithExample:()=>Gmo,OpenApiIntermediateRepresentation:()=>w5p,OpenApiSource:()=>oOo,OptionalSchema:()=>hmo,OptionalSchemaWithExample:()=>Wmo,Pagination:()=>uyn,PathParameter:()=>Xhn,PathParameterExample:()=>LOo,PathParameterWithExample:()=>Pmo,PrimitiveExample:()=>Khn,PrimitiveSchema:()=>qii,PrimitiveSchemaValue:()=>smo,PrimitiveSchemaValueWithExample:()=>Nmo,PrimitiveSchemaWithExample:()=>hyn,PropertyKey:()=>Jhn,ProtobufEncoding:()=>cOo,ProtobufSource:()=>uOo,QueryParameter:()=>Zhn,QueryParameterExample:()=>nyn,QueryParameterWithExample:()=>pyn,QuerySecurityScheme:()=>vOo,ReferencedSchema:()=>cKt,Request:()=>IOo,RequestWithExample:()=>wmo,Response:()=>zOo,ResponseWithExample:()=>Smo,Schema:()=>bO,SchemaId:()=>PY,SchemaWithExample:()=>oM,Schemas:()=>rmo,SdkGroup:()=>OOo,SdkGroupInfo:()=>AOo,SdkGroupName:()=>Dii,SecurityScheme:()=>POo,SecuritySchemeId:()=>pOo,Server:()=>jOo,Source:()=>sOo,StatusCode:()=>Eii,StreamingResponseExample:()=>UOo,StringSchema:()=>omo,StringSchemaWithExample:()=>Bmo,SupportedSdkLanguage:()=>HOo,Tag:()=>dOo,TagId:()=>jY,Tags:()=>qOo,TextResponse:()=>Aii,Uint64WithExample:()=>qmo,UintWithExample:()=>Amo,UnDiscriminatedOneOfSchema:()=>Omo,UnDiscriminatedOneOfSchemaWithExample:()=>Kmo,UnknownSchemaWithExample:()=>Lmo,Webhook:()=>XOo,WebhookExampleCall:()=>cyn,WebhookHttpMethod:()=>syn,WebhookWithExample:()=>E5p,WebsocketChannel:()=>tmo,WebsocketHandshake:()=>ZOo,WebsocketHandshakeWithExample:()=>S5p,WebsocketMessageExample:()=>kOo,WebsocketSessionExample:()=>emo,WithAvailability:()=>G_,WithDescription:()=>vf,WithEncoding:()=>lie,WithInline:()=>QD,WithName:()=>Fb,WithNamespace:()=>uKt,WithSdkGroupName:()=>vO,WithSource:()=>Hh,WithTitle:()=>yO,commons:()=>hxs,example:()=>yxs,finalIr:()=>vxs,parseIr:()=>bxs});var hxs={};Wo(hxs,{BasicSecurityScheme:()=>_Oo,BearerSecurityScheme:()=>hOo,Encoding:()=>lOo,HeaderSecurityScheme:()=>yOo,Namespace:()=>gOo,NamespaceId:()=>wOo,OauthSecurityScheme:()=>mOo,OpenApiSource:()=>oOo,ProtobufEncoding:()=>cOo,ProtobufSource:()=>uOo,QuerySecurityScheme:()=>vOo,SchemaId:()=>PY,SdkGroup:()=>OOo,SdkGroupName:()=>Dii,SecurityScheme:()=>POo,SecuritySchemeId:()=>pOo,Server:()=>jOo,Source:()=>sOo,StatusCode:()=>Eii,Tag:()=>dOo,TagId:()=>jY,WithAvailability:()=>G_,WithDescription:()=>vf,WithEncoding:()=>lie,WithInline:()=>QD,WithName:()=>Fb,WithNamespace:()=>uKt,WithSdkGroupName:()=>vO,WithSource:()=>Hh,WithTitle:()=>yO});var Ct={};Wo(Ct,{JsonError:()=>Hhn,ParseError:()=>$hn,any:()=>f5p,bigint:()=>Z8p,boolean:()=>d5p,booleanLiteral:()=>l5p,date:()=>k8p,discriminant:()=>m5p,enum_:()=>iOo,getObjectLikeUtils:()=>LFt,getObjectUtils:()=>HMi,getSchemaUtils:()=>mA,isProperty:()=>wii,lazy:()=>e5p,lazyObject:()=>u5p,list:()=>aOo,number:()=>p5p,object:()=>nOo,objectWithoutOptionalProperties:()=>o5p,optional:()=>fxs,property:()=>r5p,record:()=>v5p,set:()=>b5p,string:()=>_5p,stringLiteral:()=>c5p,transform:()=>dxs,undiscriminatedUnion:()=>O5p,union:()=>j5p,unknown:()=>h5p,withParsedProperties:()=>_xs});var xP={BIGINT:"bigint",DATE:"date",ENUM:"enum",LIST:"list",STRING_LITERAL:"stringLiteral",BOOLEAN_LITERAL:"booleanLiteral",OBJECT:"object",ANY:"any",BOOLEAN:"boolean",NUMBER:"number",STRING:"string",UNKNOWN:"unknown",RECORD:"record",SET:"set",UNION:"union",UNDISCRIMINATED_UNION:"undiscriminatedUnion",OPTIONAL:"optional"};function aM(e,t){return`Expected ${t}. Received ${roD(e)}.`}function roD(e){if(Array.isArray(e))return"list";if(e===null)return"null";if(e instanceof BigInt)return"BigInt";switch(typeof e){case"string":return`"${e}"`;case"bigint":case"number":case"boolean":case"undefined":return`${e}`}return typeof e}function X8(e){return{...e,json:X8p(e.json),parse:X8p(e.parse)}}function X8p(e){return(t,r)=>{let i=e(t,r),{skipValidation:n=!1}=r??{};return!i.ok&&n?(console.warn(["Failed to validate.",...i.errors.map(a=>" - "+(a.path.length>0?`${a.path.join(".")}: ${a.message}`:a.message))].join(`
|
|
@@ -1959,7 +1959,7 @@ ${b}
|
|
|
1959
1959
|
`)}];if(t["base-properties"]!=null){let q=Object.fromEntries(Object.entries(c).filter(([C])=>t["base-properties"]?.[C]!=null)),D=Fqi({typeName:e,typeNameForBreadcrumb:e,rawObject:{properties:t["base-properties"]},file:a,example:q,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d+1});if(D.length>0)return D}let g=typeof b=="string"?b:b.type;if(typeof g!="string")return uv_(c);let O=i.resolveType({type:g,file:a});if(O==null)return[];if(O._type==="named"&&L1(O.declaration)){let q=Object.fromEntries(Object.entries(c).filter(([D])=>t["base-properties"]?.[D]==null));return Fqi({typeName:e,typeNameForBreadcrumb:e,rawObject:O.declaration,file:O.file,example:q,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d+1})}let m=typeof b!="string"&&typeof b.key=="string"?b.key:void 0;if(m==null)return[];let{[m]:w,...M}=c,A=[];return w==null?A.push({message:`Missing property "${m}"`}):A.push(...p5({rawTypeReference:g,example:w,typeResolver:i,exampleResolver:n,file:a,workspace:u,breadcrumbs:l,depth:d+1})),A.push(...uv_(M)),A}function uv_(e){return Object.keys(e).map(t=>({severity:"fatal",message:`Unexpected property "${t}"`}))}function gAo({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,example:a,workspace:u,breadcrumbs:l,depth:d}){return A3(t,{alias:s=>ev_({rawAlias:s,file:r,typeResolver:i,exampleResolver:n,example:a,workspace:u,breadcrumbs:l,depth:d}),enum:s=>tv_({rawEnum:s,example:a,breadcrumbs:l}),object:s=>Fqi({typeName:e,typeNameForBreadcrumb:e,rawObject:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d}),discriminatedUnion:s=>sv_({typeName:e,rawUnion:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d}),undiscriminatedUnion:s=>rv_({rawUnion:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d})})}var vv_=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,MGD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,AGD=/^\d{4}-\d{2}-\d{2}$/,qGD=128;function p5({rawTypeReference:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l}){if(l>qGD)return[{message:"Example is too deeply nested. This may indicate a circular reference."}];if(typeof t=="string"&&t.startsWith(T$t)){let d=r.resolveType({type:e,file:n});if(d==null)return[];let s=i.parseExampleReference(t);if(s==null)return[];let o=r.resolveNamedType({referenceToNamedType:s.rawTypeReference,file:n});return o==null?[]:Ybn({expected:d,actual:o})?[]:[{message:`Expected example to be: ${e}. Example is ${t}.`}]}return h1i({type:e,_default:void 0,validation:void 0,visitor:{primitive:d=>TGD({primitiveType:d,example:t}),named:d=>{let s=r.getDeclarationOfNamedType({referenceToNamedType:d,file:n});return s==null?[]:gAo({typeName:s.typeName,typeDeclaration:s.declaration,file:s.file,example:t,typeResolver:r,exampleResolver:i,workspace:a,breadcrumbs:u,depth:l+1})},map:({keyType:d,valueType:s})=>bg(t)?Object.entries(t).flatMap(([o,c])=>[...p5({rawTypeReference:d,example:o,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,o],depth:l+1}),...p5({rawTypeReference:s,example:c,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,o],depth:l+1})]):uze(t,"a map"),list:d=>Array.isArray(t)?t.flatMap((s,o)=>p5({rawTypeReference:d,example:s,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,`${o}`],depth:l+1})):uze(t,"a list"),set:d=>{if(!Array.isArray(t))return uze(t,"a list");let s=LXu(t);return s.length>0?[{severity:"fatal",message:`Set has duplicate elements:
|
|
1960
1960
|
`+s.map(o=>` - ${JSON.stringify(o)}`).join(`
|
|
1961
1961
|
`)}]:t.flatMap((o,c)=>p5({rawTypeReference:d,example:o,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,`${c}`],depth:l+1}))},optional:d=>t==null?[]:p5({rawTypeReference:d,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l+1}),nullable:d=>t==null?[]:p5({rawTypeReference:d,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l+1}),unknown:()=>[],literal:d=>{switch(d.type){case"boolean":return NSe(s=>s===d.boolean,d.boolean.toString())(t);case"string":return NSe(s=>s===d.string,`"${d.string}"`)(t);default:Go(d)}}}})}function TGD({primitiveType:e,example:t}){return e.v2!=null?AP._visit(e.v2,{integer:r=>CGD({example:t,rules:r.validation}),long:()=>dv_(t),uint:()=>cv_(t),uint64:()=>lv_(t),double:r=>BGD({example:t,rules:r.validation}),float:()=>fv_(t),boolean:()=>pv_(t),string:r=>xGD({example:t,rules:r.validation}),uuid:()=>_v_(t),date:()=>yv_(t),dateTime:()=>hv_(t),base64:()=>Kbn(t),bigInteger:()=>Kbn(t),_other:()=>{throw new Error("Unknown primitive type v2: "+e.v2)}}):Kb._visit(e.v1,{integer:()=>bv_(t),long:()=>dv_(t),uint:()=>cv_(t),uint64:()=>lv_(t),double:()=>gv_(t),float:()=>fv_(t),boolean:()=>pv_(t),string:()=>Kbn(t),uuid:()=>_v_(t),dateTime:()=>hv_(t),date:()=>yv_(t),base64:()=>Kbn(t),bigInteger:()=>Kbn(t),_other:()=>{throw new Error("Unknown primitive type: "+e.v1)}})}function CGD({example:e,rules:t}){let r=bv_(e);if(r.length>0||t==null)return r;let i=e;return t.min!=null&&(t.exclusiveMin&&i<=t.min||!t.exclusiveMin&&i<t.min)?[{message:`Expected integer to be greater than or equal to ${t.min}. Example is ${e}.`}]:t.max!=null&&(t.exclusiveMax&&i>=t.max||!t.exclusiveMax&&i>t.max)?[{message:`Expected integer to be less than or equal to ${t.max}. Example is ${e}.`}]:t.multipleOf!=null&&i%t.multipleOf!==0?[{message:`Expected integer to be a multiple of ${t.multipleOf}. Example is ${e}.`}]:[]}function BGD({example:e,rules:t}){let r=gv_(e);if(r.length>0||t==null)return r;let i=e;return t.min!=null&&(t.exclusiveMin&&i<=t.min||!t.exclusiveMin&&i<t.min)?[{message:`Expected double to be greater than or equal to ${t.min}. Example is ${e}.`}]:t.max!=null&&(t.exclusiveMax&&i>=t.max||!t.exclusiveMax&&i>t.max)?[{message:`Expected double to be less than or equal to ${t.max}. Example is ${e}.`}]:t.multipleOf!=null&&i%t.multipleOf!==0?[{message:`Expected double to be a multiple of ${t.multipleOf}. Example is ${e}.`}]:[]}function xGD({example:e,rules:t}){let r=Kbn(e);if(r.length>0||t==null)return r;let i=e;return t.minLength!=null&&i.length<t.minLength?[{message:`Expected string length to be greater than or equal to ${t.minLength}. Example is ${e}, which is of length ${i.length}.`}]:t.maxLength!=null&&i.length>t.maxLength?[{message:`Expected string length to be less than or equal to ${t.maxLength}. Example is ${e}, which is of length ${i.length}.`}]:t.pattern!=null&&!new RegExp(t.pattern).test(i)?[{message:`Expected string to match pattern ${t.pattern}. Example is ${e}.`}]:[]}var Kbn=NSe(e=>typeof e=="string","a string"),bv_=NSe(e=>Number.isInteger(e),"an integer"),cv_=NSe(e=>Number.isInteger(e)&&typeof e=="number"&&e>=0,"a uint"),lv_=NSe(e=>Number.isInteger(e)&&typeof e=="number"&&e>=0,"a uint64"),fv_=NSe(e=>typeof e=="number","a float"),gv_=NSe(e=>typeof e=="number","a double"),dv_=NSe(e=>Number.isInteger(e),"an integer"),pv_=NSe(e=>typeof e=="boolean","a boolean"),_v_=NSe(e=>typeof e=="string"&&MGD.test(e),"a UUID"),hv_=NSe(e=>typeof e=="string"&&vv_.test(e),"an ISO 8601 timestamp"),yv_=NSe(e=>typeof e=="string"&&AGD.test(e)&&vv_.test(e),"a date");function NSe(e,t){return r=>e(r)?[]:uze(r,t)}function Ybn({expected:e,actual:t}){if(e._type==="unknown")return!0;if(e._type==="primitive")return t._type==="primitive"&&e.primitive.v1===t.primitive.v1;if(e._type==="container")switch(e.container._type){case"list":case"set":return t._type==="container"&&t.container._type===e.container._type&&Ybn({expected:e.container.itemType,actual:t.container.itemType});case"optional":return Ybn({expected:e.container.itemType,actual:t._type==="container"&&t.container._type==="optional"?t.container.itemType:t});case"nullable":return Ybn({expected:e.container.itemType,actual:t._type==="container"&&t.container._type==="nullable"?t.container.itemType:t});case"map":return t._type==="container"&&t.container._type===e.container._type&&Ybn({expected:e.container.keyType,actual:t.container.keyType})&&Ybn({expected:e.container.valueType,actual:t.container.valueType});case"literal":return t._type!=="container"||t.container._type!==e.container._type?!1:IGD({expected:e.container.literal,actual:t.container.literal});default:Go(e.container)}if(e._type==="named")return t._type==="named"&&t.filepath===e.filepath&&t.rawName===e.rawName;Go(e)}function IGD({expected:e,actual:t}){switch(e.type){case"boolean":return t.type==="boolean"?e.boolean===t.boolean:!1;case"string":return t.type==="string"?e.string===t.string:!1;default:Go(e)}}function OAo({_enum:e,file:t}){let r=e.enum.map(n=>({...oG(n),name:t.casingsGenerator.generateNameAndWireValue({wireValue:typeof n=="string"?n:n.value,name:Xbn(n).name,opts:{casingOverrides:typeof n!="string"?n.casing:void 0}})})),i;if(e.default!=null&&(i=r.find(n=>n.name.wireValue===e.default),i==null))throw new Error(`Default value ${e.default} not found in enum values`);return{default:i,values:r}}function Ov_(e,t){let r=t.enum.find(i=>typeof i=="string"?!1:i.value===e);return{name:typeof r=="string"?e:r?.name??e,wasExplicitlySet:!1}}function Xbn(e){return typeof e=="string"?{name:e,wasExplicitlySet:!1}:e.name==null?{name:e.value,wasExplicitlySet:!1}:{name:e.name,wasExplicitlySet:!0}}function PUs({typeName:e,typeDeclaration:t,example:r,typeResolver:i,exampleResolver:n,fileContainingType:a,fileContainingExample:u,workspace:l}){return A3(t,{alias:d=>Lj.alias({value:YD({example:r,rawTypeBeingExemplified:typeof d=="string"?d:d.type,fileContainingRawTypeReference:a,fileContainingExample:u,typeResolver:i,exampleResolver:n,workspace:l})}),object:d=>mv_({typeName:e,rawObject:d,example:r,fileContainingType:a,fileContainingExample:u,typeResolver:i,exampleResolver:n,workspace:l}),discriminatedUnion:d=>{let s=Lqi(d);if(!bg(r))throw new Error("Example is not an object");let o=r[s];if(o==null)throw new Error("Example is missing discriminant: "+s);if(typeof o!="string")throw new Error("Discriminant value is not a string");let c=d.union[o];if(c==null)throw new Error(`${o} is not one of the specified discriminant values.`);let b=typeof c=="string"?c:typeof c.type=="string"?c.type:void 0;return Lj.union({discriminant:u.casingsGenerator.generateNameAndWireValue({name:lai(d).name,wireValue:s}),singleUnionType:RGD({rawValueType:b,rawSingleUnionType:c,fileContainingType:a,fileContainingExample:u,typeResolver:i,exampleResolver:n,example:r,discriminant:s,discriminantValueForExample:o,workspace:l})})},enum:d=>{if(typeof r!="string"){let s=d.enum.map(o=>typeof o=="string"?o:o.value).join(", ");throw new Error(`Expected one of ${s}. Received ${r}`)}return Lj.enum({value:u.casingsGenerator.generateNameAndWireValue({name:Ov_(r,d).name,wireValue:r})})},undiscriminatedUnion:d=>{for(let[c,b]of d.union.entries())if(p5({rawTypeReference:typeof b=="string"?b:b.type,example:r,typeResolver:i,exampleResolver:n,file:a,workspace:l,breadcrumbs:[],depth:0}).length===0)return Lj.undiscriminatedUnion({index:c,singleUnionType:YD({example:r,rawTypeBeingExemplified:typeof b=="string"?b:b.type,fileContainingRawTypeReference:a,fileContainingExample:u,typeResolver:i,exampleResolver:n,workspace:l})});let o=d.union.map(c=>typeof c=="string"?c:c.type).join(", ");throw new Error(`Expected one of ${o}. Received ${r}`)}})}function YD({example:e,fileContainingExample:t,rawTypeBeingExemplified:r,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u}){let{resolvedExample:l,file:d}=a.resolveExampleOrThrow({example:e,file:t}),s=a.resolveAllReferencesInExampleOrThrow({example:e,file:t}).resolvedExample;return{shape:h1i({type:r,_default:void 0,validation:void 0,visitor:{primitive:c=>zGD({example:l,typeBeingExemplified:c.v1}),map:({keyType:c,valueType:b})=>{if(!bg(l))throw new Error("Example is not an object");return ub.container(TO.map({map:Object.entries(l).map(([g,O])=>({key:YD({example:g,fileContainingExample:d,rawTypeBeingExemplified:c,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u}),value:YD({example:O,fileContainingExample:d,rawTypeBeingExemplified:b,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u})})),keyType:i.parseTypeReference(c),valueType:i.parseTypeReference(b)}))},list:c=>{if(!Array.isArray(l))throw new Error("Example is not a list");return ub.container(TO.list({list:l.map(b=>YD({example:b,fileContainingExample:d,rawTypeBeingExemplified:c,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u})),itemType:i.parseTypeReference(c)}))},set:c=>{if(!Array.isArray(l))throw new Error("Example is not a list");return ub.container(TO.set({set:l.map(b=>YD({example:b,fileContainingExample:d,rawTypeBeingExemplified:c,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u})),itemType:i.parseTypeReference(c)}))},optional:c=>ub.container(TO.optional({optional:l!=null?YD({example:l,fileContainingExample:d,rawTypeBeingExemplified:c,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u}):void 0,valueType:i.parseTypeReference(c)})),nullable:c=>ub.container(TO.nullable({nullable:l!=null?YD({example:l,fileContainingExample:d,rawTypeBeingExemplified:c,fileContainingRawTypeReference:i,typeResolver:n,exampleResolver:a,workspace:u}):void 0,valueType:i.parseTypeReference(c)})),literal:c=>{switch(c.type){case"boolean":return ub.container(TO.literal({literal:Hp.boolean(c.boolean)}));case"string":return ub.container(TO.literal({literal:Hp.string({original:c.string})}));default:Go(c)}},named:c=>{let b=n.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:r,file:i}),g=i.parseTypeReference(c);if(g.type!=="named")throw new Error("Type reference is not to a named type.");let O={typeId:g.typeId,fernFilepath:g.fernFilepath,name:g.name};return ub.named({typeName:O,shape:PUs({typeName:O,typeDeclaration:b.declaration,fileContainingType:b.file,fileContainingExample:d,example:l,typeResolver:n,exampleResolver:a,workspace:u})})},unknown:()=>ub.unknown(s)}}),jsonExample:s}}function zGD({example:e,typeBeingExemplified:t}){return Kb._visit(t,{string:()=>{if(typeof e!="string")throw new Error(`Expected string. Received ${e}`);return ub.primitive(Hp.string({original:e}))},dateTime:()=>{if(typeof e!="string")throw new Error(`Expected ISO datetime. Received ${e}`);return ub.primitive(Hp.datetime({datetime:new Date(e),raw:e}))},date:()=>{if(typeof e!="string")throw new Error(`Expected ISO date. Received ${e}`);return ub.primitive(Hp.date(e))},base64:()=>{if(typeof e!="string")throw new Error(`Expected base64 encoded string. Received ${e}`);return ub.primitive(Hp.string({original:e}))},uint:()=>{if(typeof e!="number")throw new Error(`Expected unsigned integer. Received ${e}`);return ub.primitive(Hp.uint(e))},uint64:()=>{if(typeof e!="number")throw new Error(`Expected unsigned 64-bit integer. Received ${e}`);return ub.primitive(Hp.uint64(e))},integer:()=>{if(typeof e!="number")throw new Error(`Expected integer. Received ${e}`);return ub.primitive(Hp.integer(e))},float:()=>{if(typeof e!="number")throw new Error(`Expected float. Received ${e}`);return ub.primitive(Hp.float(e))},double:()=>{if(typeof e!="number")throw new Error(`Expected double. Received ${e}`);return ub.primitive(Hp.double(e))},long:()=>{if(typeof e!="number")throw new Error(`Expected long. Received ${e}`);return ub.primitive(Hp.long(e))},boolean:()=>{if(typeof e!="boolean")throw new Error(`Expected boolean. Received ${e}`);return ub.primitive(Hp.boolean(e))},uuid:()=>{if(typeof e!="string")throw new Error(`Expected uuid. Received ${e}`);return ub.primitive(Hp.uuid(e))},bigInteger:()=>{if(typeof e!="string")throw new Error(`Expected big integer. Received ${e}`);return ub.primitive(Hp.string({original:e}))},_other:()=>{throw new Error("Unknown primitive type: "+t)}})}function mv_({typeName:e,rawObject:t,example:r,fileContainingType:i,fileContainingExample:n,typeResolver:a,exampleResolver:u,workspace:l}){if(!bg(r))throw new Error(`Example is not an object. Got: ${JSON.stringify(r)}`);return Lj.object({properties:t.properties!=null||t.extends!=null?Object.entries(r).reduce((d,[s,o])=>{let c=Pv_({typeName:e,wirePropertyKey:s,rawObject:t,typeResolver:a,file:i});if(c==null)return d;let b=YD({example:o,fileContainingExample:n,rawTypeBeingExemplified:typeof c.rawPropertyType=="string"?c.rawPropertyType:c.rawPropertyType.type,fileContainingRawTypeReference:c.file,typeResolver:a,exampleResolver:u,workspace:l});return d.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:s,property:c.rawPropertyType}).name,wireValue:s}),value:b,originalTypeDeclaration:c.typeName}),d},[]):[]})}function Pv_({typeName:e,wirePropertyKey:t,rawObject:r,typeResolver:i,file:n}){let a=r.properties?.[t];return a!=null?{typeName:e,rawPropertyType:a,file:n}:Ioa({wirePropertyKey:t,extends_:r.extends,typeResolver:i,file:n})}function Ioa({wirePropertyKey:e,extends_:t,typeResolver:r,file:i}){if(t!=null){let n=typeof t=="string"?[t]:t;for(let a of n){let u=r.resolveNamedTypeOrThrow({referenceToNamedType:a,file:i});if(u._type!=="named"||!L1(u.declaration))throw new Error("Extension is not of a named object");let l=Pv_({wirePropertyKey:e,rawObject:u.declaration,typeResolver:r,typeName:u.name,file:u.file});if(l!=null)return l}}}function RGD({rawValueType:e,rawSingleUnionType:t,fileContainingType:r,fileContainingExample:i,typeResolver:n,exampleResolver:a,example:u,discriminant:l,discriminantValueForExample:d,workspace:s}){let o=i.casingsGenerator.generateNameAndWireValue({name:Jbn({unionKey:d,rawSingleUnionType:t}).name,wireValue:d});if(e==null)return{wireDiscriminantValue:o,shape:E3.noProperties()};let c=mUs({rawSingleUnionType:t,rawValueType:e,parsedValueType:r.parseTypeReference(e),file:r,typeResolver:n});switch(c.propertiesType){case"singleProperty":{if(!bg(u))throw new Error("Example is not an object");return{wireDiscriminantValue:o,shape:E3.singleProperty(YD({example:u[c.name.wireValue],rawTypeBeingExemplified:e,typeResolver:n,exampleResolver:a,fileContainingRawTypeReference:r,fileContainingExample:i,workspace:s}))}}case"samePropertiesAsObject":{if(!bg(u))throw new Error("Example is not an object");let{[l]:b,...g}=u,O=n.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:e,file:r});for(;Dkr(O.declaration);)O=n.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:typeof O.declaration=="string"?O.declaration:O.declaration.type,file:r});if(!L1(O.declaration))throw new Error(`${e} is not an object`);let m={typeId:c.typeId,fernFilepath:c.fernFilepath,name:c.name};return{wireDiscriminantValue:o,shape:E3.samePropertiesAsObject({typeId:Tg.generateTypeId(m),object:mv_({rawObject:O.declaration,example:g,fileContainingType:O.file,fileContainingExample:i,typeResolver:n,exampleResolver:a,typeName:m,workspace:s})})}}default:Go(c)}}function mAo({file:e,queryParameterKey:t,queryParameter:r}){let{name:i}=NLr({queryParameterKey:t,queryParameter:r}),n=e.parseTypeReference(r);return{...oG(r),name:e.casingsGenerator.generateNameAndWireValue({wireValue:t,name:i}),valueType:n,allowMultiple:typeof r!="string"&&r["allow-multiple"]!=null?r["allow-multiple"]:!1}}function NLr({queryParameterKey:e,queryParameter:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function jv_({service:e,endpoint:t,example:r,typeResolver:i,errorResolver:n,exampleResolver:a,variableResolver:u,file:l,workspace:d}){let s=FGD({service:e,endpoint:t,example:r,typeResolver:i,exampleResolver:a,variableResolver:u,file:l,workspace:d});return{id:r.name??bAo(r),name:r.name!=null?l.casingsGenerator.generateName(r.name):void 0,docs:r.docs,url:HGD({file:l,service:e,endpoint:t,example:r,pathParams:s}),...s,...LGD({service:e,endpoint:t,example:r,typeResolver:i,exampleResolver:a,file:l,workspace:d}),queryParameters:r["query-parameters"]!=null?Object.entries(r["query-parameters"]).map(([o,c])=>{let b=typeof t.request!="string"?t.request?.["query-parameters"]?.[o]:void 0;if(b==null)throw new Error(`Query parameter ${o} does not exist`);return{name:l.casingsGenerator.generateNameAndWireValue({name:NLr({queryParameterKey:o,queryParameter:b}).name,wireValue:o}),value:YD({example:c,rawTypeBeingExemplified:typeof b=="string"?b:b.type,typeResolver:i,exampleResolver:a,fileContainingRawTypeReference:l,fileContainingExample:l,workspace:d}),shape:NGD({queryParameter:b})}}):[],request:UGD({endpoint:t,example:r,typeResolver:i,exampleResolver:a,file:l,workspace:d}),response:VGD({endpoint:t,example:r,typeResolver:i,errorResolver:n,exampleResolver:a,file:l,workspace:d})}}function NGD({queryParameter:e}){return(typeof e!="string"&&e["allow-multiple"]!=null?e["allow-multiple"]:!1)?U2.exploded():U2.single()}function FGD({service:e,endpoint:t,example:r,typeResolver:i,exampleResolver:n,variableResolver:a,file:u,workspace:l}){let d=[],s=[],o=[],c=({name:b,pathParameterDeclaration:g,examplePathParameter:O})=>{let m=zoa({parameter:g,variableResolver:a,file:u});return{name:b,value:YD({example:O,rawTypeBeingExemplified:m.rawType,typeResolver:i,exampleResolver:n,fileContainingRawTypeReference:m.file,fileContainingExample:u,workspace:l})}};if(r["path-parameters"]!=null){let b=d8t(t);for(let[g,O]of Object.entries(r["path-parameters"])){let m=u.rootApiFile["path-parameters"]?.[g],w=e["path-parameters"]?.[g],M=b[g];if(m!=null)d.push(c({name:u.casingsGenerator.generateName(g),pathParameterDeclaration:m,examplePathParameter:O}));else if(M!=null)o.push(c({name:u.casingsGenerator.generateName(g),pathParameterDeclaration:M,examplePathParameter:O}));else if(w!=null)s.push(c({name:u.casingsGenerator.generateName(g),pathParameterDeclaration:w,examplePathParameter:O}));else throw new Error(`Path parameter ${g} does not exist`)}}return{rootPathParameters:d,endpointPathParameters:o,servicePathParameters:s}}function LGD({service:e,endpoint:t,example:r,typeResolver:i,exampleResolver:n,file:a,workspace:u}){let l=[],d=[];if(r.headers!=null)for(let[s,o]of Object.entries(r.headers)){let c=typeof t.request!="string"?t.request?.headers?.[s]:void 0,b=e.headers?.[s];if(c!=null)d.push({name:a.casingsGenerator.generateNameAndWireValue({name:eYt({headerKey:s,header:c}).name,wireValue:s}),value:YD({example:o,rawTypeBeingExemplified:typeof c=="string"?c:c.type,typeResolver:i,exampleResolver:n,fileContainingRawTypeReference:a,fileContainingExample:a,workspace:u})});else if(b!=null)l.push({name:a.casingsGenerator.generateNameAndWireValue({name:eYt({headerKey:s,header:b}).name,wireValue:s}),value:YD({example:o,rawTypeBeingExemplified:typeof b=="string"?b:b.type,typeResolver:i,exampleResolver:n,fileContainingRawTypeReference:a,fileContainingExample:a,workspace:u})});else throw new Error(`Header ${s} does not exist`)}return{endpointHeaders:d,serviceHeaders:l}}function UGD({endpoint:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=typeof e.request!="string"?e.request?.body:e.request;if(u==null||typeof u=="string"&&eJn(u)!=null)return;if(!DT(u))return d$.reference(YD({example:t.request,rawTypeBeingExemplified:typeof u!="string"?u.type:u,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}));if(!t.request)return;if(!bg(t.request))throw new Error(`Example is not an object. Got: ${JSON.stringify(t.request)}`);let l=[];for(let[d,s]of Object.entries(t.request)){let o=u.properties?.[d],c=typeof o=="string"?o:o?.type;if(!(c!=null&&SBe(c)!=null))if(o!=null)l.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:d,property:o}).name,wireValue:d}),value:YD({example:s,rawTypeBeingExemplified:typeof o!="string"?o.type:o,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),originalTypeDeclaration:void 0});else{let b=Ioa({extends_:u.extends,wirePropertyKey:d,typeResolver:r,file:n});if(b==null)throw new Error("Could not find original type declaration for property: "+d);l.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:d,property:b.rawPropertyType}).name,wireValue:d}),value:YD({example:s,rawTypeBeingExemplified:typeof b.rawPropertyType=="string"?b.rawPropertyType:b.rawPropertyType.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:b.file,fileContainingExample:n,workspace:a}),originalTypeDeclaration:b.typeName})}}return d$.inlinedRequestBody({jsonExample:i.resolveAllReferencesInExampleOrThrow({example:t.request,file:n}).resolvedExample,properties:l})}function VGD({endpoint:e,example:t,typeResolver:r,errorResolver:i,exampleResolver:n,file:a,workspace:u}){return t.response==null?cq.ok(ET.body(void 0)):v1i(e,t.response,{body:l=>{if(l.error!=null){let d=i.getDeclarationOrThrow(l.error,a);return cq.error({error:sai({errorName:l.error,file:a}),body:d.declaration.type!=null?YD({example:l.body,rawTypeBeingExemplified:d.declaration.type,typeResolver:r,exampleResolver:n,fileContainingRawTypeReference:d.file,fileContainingExample:a,workspace:u}):void 0})}return cq.ok(ET.body(WGD({endpoint:e,example:l,typeResolver:r,exampleResolver:n,file:a,workspace:u})))},stream:l=>{let d=typeof e["response-stream"]=="string"?e["response-stream"]:e["response-stream"]?.type;return cq.ok(ET.stream(l.stream.map(s=>{if(d!=null)return YD({example:s,rawTypeBeingExemplified:d,typeResolver:r,exampleResolver:n,fileContainingRawTypeReference:a,fileContainingExample:a,workspace:u})}).filter(vg)))},events:l=>{let d=typeof e["response-stream"]=="string"?e["response-stream"]:e["response-stream"]?.type;return cq.ok(ET.sse(l.stream.map(({event:s,data:o})=>{if(d==null)return;let c=YD({example:o,rawTypeBeingExemplified:d,typeResolver:r,exampleResolver:n,fileContainingRawTypeReference:a,fileContainingExample:a,workspace:u});return{event:s,data:c}}).filter(vg)))}})}function WGD({endpoint:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=typeof e.response!="string"?e.response?.type:e.response;if(u!=null&&t.body!=null)return YD({example:t.body,rawTypeBeingExemplified:u,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a})}function HGD({file:e,service:t,endpoint:r,example:i,pathParams:n}){let a=zv(e.rootApiFile["base-path"]??"",t["base-path"],r.path);if(i["path-parameters"]!=null)for(let u of[...n.endpointPathParameters,...n.servicePathParameters,...n.rootPathParameters])a=a.replaceAll(`{${u.name.originalName}}`,`${u.value.jsonExample}`);return a=a.replaceAll("//","/"),a.startsWith("/")||(a=`/${a}`),a}function wv_({endpoint:e,file:t,typeResolver:r}){return{body:$GD({endpoint:e,file:t,typeResolver:r}),statusCode:typeof e.response!="string"?e.response?.["status-code"]:void 0}}function $GD({endpoint:e,file:t,typeResolver:r}){let i=GGD({endpoint:e,file:t,typeResolver:r}),n=QGD({endpoint:e,file:t,typeResolver:r});if(i!=null&&n!=null){let a;switch(i.type){case"fileDownload":{a=_U.fileDownload({...i});break}case"json":{a=_U.json({...i.value});break}case"text":{a=_U.text({...i});break}case"bytes":{a=_U.bytes({...i});break}default:Go(i)}return nC.streamParameter({nonStreamResponse:a,streamResponse:n})}else{if(i!=null)return i;if(n!=null)return nC.streaming(n)}}function GGD({endpoint:e,file:t,typeResolver:r}){let{response:i}=e;if(i!=null){let n=typeof i!="string"?i.docs:void 0,a=typeof i=="string"?i:i.type;return SBe(a)!=null?nC.fileDownload({docs:n}):tJn(a)!=null?nC.text({docs:n}):W$t(a)!=null?nC.bytes({docs:n}):JGD(i,n,t,r)}}function QGD({endpoint:e,file:t,typeResolver:r}){let{["response-stream"]:i}=e;if(i!=null){let n=typeof i!="string"?i.docs:void 0,a=typeof i=="string"?i:i.type,u=typeof i=="string"?"json":i.format??"json";return oun(a)?Ute.text({docs:n}):typeof i!="string"&&u==="sse"?Ute.sse({docs:n,payload:t.parseTypeReference(a),terminator:typeof i!="string"?i.terminator:void 0}):Ute.json({docs:n,payload:t.parseTypeReference(a),terminator:typeof i!="string"?i.terminator:void 0})}}function JGD(e,t,r,i){let n=r.parseTypeReference(e),a=i.resolveTypeOrThrow({type:typeof e!="string"?e.type:e,file:r}),u=typeof e!="string"?e.property:void 0;return u!=null?nC.json(h4t.nestedPropertyAsResponse({docs:t,responseBodyType:n,responseProperty:Toa({typeResolver:i,file:r,resolvedType:a,property:u})})):nC.json(h4t.response({docs:t,responseBodyType:n}))}function Sv_({propertyResolver:e,file:t,endpointName:r,endpointSchema:i,paginationPropertyComponents:n}){return OBe.cursor({page:e.resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:n.cursor}),next:e.resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:n.next_cursor}),results:e.resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:n.results})})}function Dv_({propertyResolver:e,file:t,endpointName:r,endpointSchema:i,paginationPropertyComponents:n}){return OBe.offset({page:e.resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:n.offset}),results:e.resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:n.results}),step:n.step!=null?e.resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:n.step}):void 0,hasNextPage:n.hasNextPage!=null?e.resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:n.hasNextPage}):void 0})}function Ev_(e){return KGD(e)?{type:"offset",offset:f8t(e.offset),results:zLr(e.results),step:e.step!=null?f8t(e.step):void 0,hasNextPage:e["has-next-page"]!=null?zLr(e["has-next-page"]):void 0}:{type:"cursor",cursor:f8t(e.cursor),next_cursor:zLr(e.next_cursor),results:zLr(e.results)}}function KGD(e){return e.offset!=null&&e.results!=null}function Mv_({propertyResolver:e,file:t,endpointName:r,endpointSchema:i}){let n=typeof i.pagination=="boolean"?t.rootApiFile.pagination:i.pagination;if(!n)return;let a=Ev_(n);switch(a.type){case"cursor":return Sv_({propertyResolver:e,file:t,endpointName:r,endpointSchema:i,paginationPropertyComponents:a});case"offset":return Dv_({propertyResolver:e,file:t,endpointName:r,endpointSchema:i,paginationPropertyComponents:a});default:Go(a)}}function PAo({source:e}){return{filepath:e.relativeFilePath,packageName:e.packageName,options:e.csharpNamespace!=null?{csharp:{namespace:e.csharpNamespace}}:void 0}}function Av_({source:e,serviceNameOverride:t}){let r=t??e.serviceName;if(r!=null)return{file:PAo({source:e}),name:cai.generateName(r)}}function qv_({file:e,serviceDeclaration:t,sourceResolver:r}){return I$t(t.source)?Cv_(e,t.source,r,t.transport?.grpc?.["service-name"]):vBe.http()}function Tv_({file:e,serviceTransport:t,endpointDeclaration:r,sourceResolver:i}){let n=t.type==="grpc",a=t.type==="http",u=I$t(r.source),l=!u;if(n){if(a&&u)throw new Error("Cannot have a grpc endpoint on an http service");if(n&&l)return vBe.http();if(n&&u){let d=r.source,s=r.transport?.grpc?.["service-name"];return s?Cv_(e,d,i,s):void 0}throw new Error(`Internal error; failed to determine endpoint transport for
|
|
1962
|
-
${JSON.stringify(r)}"`)}}function Cv_(e,t,r,i){let n=r.resolveSourceOrThrow({source:t,relativeFilepath:e.relativeFilepath});if(n==null||n.type!=="protobuf")throw new Error(`Expected a protobuf source for ${t.proto}.`);let a=Av_({source:n,serviceNameOverride:i});if(a==null)throw new Error(`Failed to resolve service name from ${n.relativeFilePath}.`);return vBe.grpc({service:a})}function Bv_({rootDefaultUrl:e,rootPathParameters:t,serviceDefinition:r,file:i,errorResolver:n,typeResolver:a,propertyResolver:u,exampleResolver:l,variableResolver:d,sourceResolver:s,globalErrors:o,workspace:c}){let b=Zbn({pathParameters:r["path-parameters"],location:bBe.Service,file:i,variableResolver:d}),g=qv_({file:i,serviceDeclaration:r,sourceResolver:s}),O={fernFilepath:i.fernFilepath};return{availability:Mie(r.availability),name:O,displayName:r["display-name"]??void 0,basePath:oze(r["base-path"]),headers:r.headers!=null?Object.entries(r.headers).map(([w,M])=>sze({headerKey:w,header:M,file:i})):[],pathParameters:b,encoding:kGD(g,r),transport:g,endpoints:Object.entries(r.endpoints).map(([w,M])=>{let A=Zbn({pathParameters:d8t(M),location:bBe.Endpoint,file:i,variableResolver:d}),q={...oG(M),id:"",name:i.casingsGenerator.generateName(w),displayName:M["display-name"],auth:M.auth??r.auth,idempotent:M.idempotent??r.idempotent??!1,baseUrl:M.url??r.url??e,method:M.method!=null?ZGD(M.method):Fte.Post,basePath:M["base-path"]!=null?oze(M["base-path"]):void 0,path:oze(M.path),fullPath:oze(M["base-path"]!=null?zv(M["base-path"],M.path):i.rootApiFile["base-path"]!=null?zv(i.rootApiFile["base-path"],r["base-path"],M.path):zv(r["base-path"],M.path)),pathParameters:A,allPathParameters:M["base-path"]!=null?A:[...t,...b,...A],queryParameters:typeof M.request!="string"&&M.request?.["query-parameters"]!=null?Object.entries(M.request["query-parameters"]).map(([D,C])=>mAo({file:i,queryParameterKey:D,queryParameter:C})):[],headers:typeof M.request!="string"&&M.request?.headers!=null?Object.entries(M.request.headers).map(([D,C])=>sze({headerKey:D,header:C,file:i})):[],requestBody:Qy_({request:M.request,file:i}),sdkRequest:Zy_({service:r,request:M.request,endpoint:M,endpointKey:w,file:i,typeResolver:a,propertyResolver:u}),response:wv_({endpoint:M,file:i,typeResolver:a}),errors:[...Wy_({errors:M.errors,file:i}),...o],userSpecifiedExamples:M.examples!=null?M.examples.map(D=>({example:jv_({service:r,endpoint:M,example:D,typeResolver:a,errorResolver:n,exampleResolver:l,variableResolver:d,file:i,workspace:c}),codeSamples:D["code-samples"]?.map(C=>ky_({codeSample:C,file:i}))})):[],autogeneratedExamples:[],pagination:Mv_({propertyResolver:u,file:i,endpointName:w,endpointSchema:M}),transport:Tv_({file:i,serviceTransport:g,endpointDeclaration:M,sourceResolver:s})};return q.id=Tg.generateEndpointId(O,q),q})}}function Zbn({pathParameters:e,location:t,file:r,variableResolver:i}){return e==null?[]:Object.entries(e).map(([n,a])=>YGD({parameterName:n,parameter:a,location:t,file:r,variableResolver:i}))}function YGD({parameterName:e,parameter:t,location:r,file:i,variableResolver:n}){return{...oG(t),name:i.casingsGenerator.generateName(e),valueType:XGD({parameter:t,variableResolver:n,file:i}),location:r,variable:rsn(t)?n.getVariableIdOrThrow(typeof t=="string"?t:t.variable):void 0}}function XGD({parameter:e,variableResolver:t,file:r}){let i=zoa({parameter:e,variableResolver:t,file:r});return i.file.parseTypeReference(i.rawType)}function zoa({parameter:e,variableResolver:t,file:r}){let i=jAo({parameter:e,variableResolver:t,file:r});if(i==null)throw new Error("Cannot resolve path parameter");return i}function jAo({parameter:e,variableResolver:t,file:r}){if(rsn(e)){let i=typeof e=="string"?e:e.variable,n=t.getDeclaration(i,r);return n==null?void 0:{rawType:typeof n.declaration=="string"?n.declaration:n.declaration.type,file:n.file}}else return{file:r,rawType:typeof e=="string"?e:e.type}}function ZGD(e){switch(e){case"GET":return Fte.Get;case"POST":return Fte.Post;case"PUT":return Fte.Put;case"PATCH":return Fte.Patch;case"DELETE":return Fte.Delete;default:Go(e)}}function sze({headerKey:e,header:t,file:r}){let{name:i}=eYt({headerKey:e,header:t});return{...oG(t),name:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:i}),valueType:r.parseTypeReference(t),env:typeof t=="string"?void 0:t.env}}function eYt({headerKey:e,header:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function kGD(e,t){switch(e.type){case"http":return{json:{},proto:void 0};case"grpc":return{json:void 0,proto:{}};default:Go(e)}}var uG={};Wo(uG,{validateObjectExample:()=>Fqi,validateTypeExample:()=>gAo,validateTypeReferenceExample:()=>p5});var wAo=class{subpackages={};rootPackage={docs:void 0,fernFilepath:{allParts:[],packagePath:[],file:void 0},websocket:void 0,service:void 0,types:[],errors:[],subpackages:[],webhooks:void 0,navigationConfig:void 0};addPackageRedirection({from:t,to:r}){let i=this.getPackageForFernFilepath(t);if(i.navigationConfig!=null)throw new Error("Found duplicate navigationConfig for package");i.navigationConfig={pointsTo:Tg.generateSubpackageId(r)}}addDocs(t,r){let i=this.getPackageForFernFilepath(t);if(i.docs!=null)throw new Error("Found duplicate docs for package");i.docs=r}addSubpackage(t){this.getPackageForFernFilepath(t)}addType(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).types.push(t)}addError(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).errors.push(t)}addService(t,r){let i=this.getPackageForFernFilepath(r.name.fernFilepath);if(i.service!=null)throw new Error("Found duplicate service for "+t);i.service=t}addWebhookGroup(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.webhooks=t}addWebSocketChannel(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.websocket=t}build(t){t!=null&&(Object.entries(this.subpackages).forEach(([i,n])=>{t.hasSubpackageId(i)?this.subpackages[i]={...n,types:n.types.filter(a=>t.hasTypeId(a)),errors:n.errors.filter(a=>t.hasErrorId(a)),service:n.service!=null&&t.hasServiceId(n.service)?n.service:void 0,subpackages:n.subpackages.filter(a=>t.hasSubpackageId(a))}:delete this.subpackages[i]}),this.rootPackage={...this.rootPackage,types:this.rootPackage.types.filter(i=>t.hasTypeId(i)),errors:this.rootPackage.errors.filter(i=>t.hasErrorId(i)),service:this.rootPackage.service!=null&&t.hasServiceId(this.rootPackage.service)?this.rootPackage.service:void 0,subpackages:this.rootPackage.subpackages.filter(i=>t.hasSubpackageId(i)),webhooks:this.rootPackage.webhooks!=null?this.rootPackage.webhooks:void 0});let r=new Set(this.getAllChildrenWithEndpoints(this.rootPackage));return{subpackages:ud(this.subpackages,(i,n)=>({...i,hasEndpointsInTree:r.has(n)})),rootPackage:{...this.rootPackage,hasEndpointsInTree:r.size>0||this.rootPackage.service!=null}}}sortRootPackage(t){if(!xv_(this.rootPackage.subpackages,t))throw new Error("Sorted subpackages differ from unsorted packages in root");this.rootPackage.subpackages=t}sortSubpackage(t,r){let i=this.subpackages[t];if(i==null)throw new Error("Subpackage does not exist: "+t);if(!xv_(i.subpackages,r))throw new Error("Sorted subpackages differ from unsorted packages");i.subpackages=r}getAllSubpackagesWithEndpoints(t){let r=this.subpackages[t];if(r==null)throw new Error("Subpackage does not exist: "+t);let i=this.getAllChildrenWithEndpoints(r);return(i.length>0||r.service!=null)&&i.push(t),i}getAllChildrenWithEndpoints(t){return t.subpackages.flatMap(r=>[...this.getAllSubpackagesWithEndpoints(r)])}getPackageForFernFilepath(t,r=0,i=this.rootPackage){let n=t.allParts[r];if(n==null)return i;let a=i.subpackages.map(s=>{let o=this.subpackages[s];if(o==null)throw new Error("Subpackage ID is invalid: "+s);return o}),u=r+1,l={allParts:t.allParts.slice(0,u),packagePath:t.packagePath.slice(0,u),file:u===t.allParts.length?t.file:void 0},d=a.find(s=>s.name.originalName===n.originalName);if(d==null){let s=Tg.generateSubpackageId(l),o={docs:void 0,fernFilepath:l,name:n,service:void 0,types:[],errors:[],subpackages:[],navigationConfig:void 0,webhooks:void 0,websocket:void 0};this.subpackages[s]=o,i.subpackages.push(s),d=o}return this.getPackageForFernFilepath(t,u,d)}};function xv_(e,t){if(e.length!==t.length)return!1;let r=new Set(e);for(let i of t)if(!r.has(i))return!1;return!0}function Iv_(e){return{errorInstanceIdKey:e.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}}function SAo({fernFilePath:e}){return e.packagePath.length===0&&e.file==null}function zv_({endpointResolver:e,propertyResolver:t,file:r,refreshTokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r});return{endpointReference:{endpointId:Tg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Tg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:SAo({fernFilePath:n.file.fernFilepath})?void 0:Tg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{refreshToken:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.refresh_token})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}function Rv_({endpointResolver:e,propertyResolver:t,file:r,tokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r}),a=typeof n.endpoint.request=="object"&&n.endpoint.request.body!=null&&typeof n.endpoint.request.body=="object"&&"properties"in n.endpoint.request.body?n.endpoint.request.body.properties??{}:{};return{endpointReference:{endpointId:Tg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Tg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:SAo({fernFilePath:n.file.fernFilepath})?void 0:Tg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{clientId:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_id}),clientSecret:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_secret}),scopes:i.requestProperties.scopes!=null?t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.scopes}):void 0,customProperties:eQD({requestBodyProperties:a,tokenEndpoint:i,file:r,propertyResolver:t})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}var eQD=({requestBodyProperties:e,tokenEndpoint:t,file:r,propertyResolver:i})=>{let n=Object.keys(e).filter(a=>!t.requestProperties.client_id.includes(a)&&!t.requestProperties.client_secret.includes(a)&&(t.requestProperties.scopes==null||!t.requestProperties.scopes.includes(a)));return n.length>0?n.map(a=>i.resolveRequestPropertyOrThrow({file:r,endpoint:t.endpoint,propertyComponents:[a]})):void 0};function Nv_({propertyResolver:e,endpointResolver:t,file:r,oauthScheme:i,tokenEndpoint:n,refreshTokenEndpoint:a}){let u=Rv_({propertyResolver:e,endpointResolver:t,file:r,tokenEndpoint:n});if(u==null)throw new Error("Failed to convert OAuth token endpoint.");let l=a!=null?zv_({propertyResolver:e,endpointResolver:t,file:r,refreshTokenEndpoint:a}):void 0;return{clientIdEnvVar:i["client-id-env"],clientSecretEnvVar:i["client-secret-env"],tokenPrefix:i["token-prefix"],tokenHeader:i["token-header"],scopes:i.scopes,tokenEndpoint:u,refreshEndpoint:l}}var Roa={requestProperties:{type:"access_token",client_id:["client_id"],client_secret:["client_secret"],scopes:void 0},responseProperties:{type:"access_token",access_token:["access_token"],expires_in:void 0,refresh_token:void 0}},jUs={requestProperties:{type:"refresh_token",refresh_token:["refresh_token"]},responseProperties:{type:"access_token",access_token:["access_token"],refresh_token:void 0,expires_in:void 0}};function Fv_(e){return{endpoint:e["get-token"].endpoint,requestProperties:tQD({requestProperties:e["get-token"]?.["request-properties"]}),responseProperties:rQD({responseProperties:e["get-token"]?.["response-properties"]})}}function Lv_(e){if(e["refresh-token"]!=null)return{endpoint:e["refresh-token"].endpoint,requestProperties:iQD({requestProperties:e["refresh-token"]?.["request-properties"]}),responseProperties:nQD({responseProperties:e["refresh-token"]?.["response-properties"]})}}function tQD({requestProperties:e}){if(e==null)return Roa.requestProperties;let t=e["client-id"],r=e["client-secret"],i=e.scopes;return{type:"access_token",client_id:t!=null?f8t(t):Roa.requestProperties.client_id,client_secret:r!=null?f8t(r):Roa.requestProperties.client_secret,scopes:i!=null?f8t(i):Roa.requestProperties.scopes}}function rQD({responseProperties:e}){return Uv_({responseProperties:e,defaultValue:Roa.responseProperties})}function iQD({requestProperties:e}){if(e==null)return jUs.requestProperties;let t=e["refresh-token"];return{type:"refresh_token",refresh_token:t!=null?f8t(t):jUs.requestProperties.refresh_token}}function nQD({responseProperties:e}){return Uv_({responseProperties:e,defaultValue:jUs.responseProperties})}function Uv_({responseProperties:e,defaultValue:t}){if(e==null)return t;let r=e["access-token"],i=e["expires-in"],n=e["refresh-token"];return{type:"access_token",access_token:r!=null?zLr(r):t.access_token,expires_in:i!=null?zLr(i):t.expires_in,refresh_token:n!=null?zLr(n):t.refresh_token}}function Gv_({rawApiFileSchema:e,file:t,propertyResolver:r,endpointResolver:i}){if(e.auth==null)return{docs:void 0,requirement:pkr.All,schemes:[]};let n=typeof e.auth!="string"?e.auth.docs:void 0;return rJn(e.auth,{single:a=>{let u=Vv_({reference:a,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i});return{docs:n,requirement:pkr.All,schemes:[u]}},any:({any:a})=>({docs:n,requirement:pkr.Any,schemes:a.map(u=>Vv_({reference:u,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i}))})})}function Vv_({reference:e,authSchemeDeclarations:t,file:r,propertyResolver:i,endpointResolver:n}){let a=(l,d)=>{let s=t?.[l];if(s==null)throw new Error("Unknown auth scheme: "+l);return bss(s,{header:o=>pU.header({docs:d,name:r.casingsGenerator.generateNameAndWireValue({name:o.name??l,wireValue:o.header}),valueType:r.parseTypeReference(o.type??"string"),prefix:o.prefix,headerEnvVar:o.env}),basic:o=>Hv_({file:r,docs:d,rawScheme:o}),bearer:o=>Wv_({file:r,docs:d,rawScheme:o}),oauth:o=>$v_({file:r,docs:d,rawScheme:o,propertyResolver:i,endpointResolver:n})})},u=typeof e=="string"?e:e.scheme;switch(u){case"bearer":return Wv_({file:r,docs:void 0,rawScheme:void 0});case"basic":return Hv_({file:r,docs:void 0,rawScheme:void 0});case"oauth":return $v_({file:r,docs:void 0,rawScheme:void 0,propertyResolver:i,endpointResolver:n});default:return a(u,typeof e!="string"?e.docs:void 0)}}function Wv_({file:e,docs:t,rawScheme:r}){return pU.bearer({docs:t,token:e.casingsGenerator.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function Hv_({file:e,docs:t,rawScheme:r}){return pU.basic({docs:t,username:e.casingsGenerator.generateName(r?.username?.name??"username"),usernameEnvVar:r?.username?.env,password:e.casingsGenerator.generateName(r?.password?.name??"password"),passwordEnvVar:r?.password?.env})}function $v_({file:e,docs:t,rawScheme:r,propertyResolver:i,endpointResolver:n}){switch(r?.type){case"client-credentials":return pU.oauth({docs:t,configuration:_kr.clientCredentials(Nv_({propertyResolver:i,endpointResolver:n,file:e,oauthScheme:r,tokenEndpoint:Fv_(r),refreshTokenEndpoint:Lv_(r)}))});default:throw new Error(`Unknown OAuth type: '${r?.type}'`)}}function Qv_({file:e,rawApiFileSchema:t}){if(t.version!=null)return ykr.header({header:aQD({file:e,header:t.version.header}),value:oQD({file:e,versionDeclaration:t.version})})}function aQD({file:e,header:t}){return typeof t=="string"?sze({file:e,headerKey:t,header:{type:"string"}}):sze({file:e,headerKey:t.value,header:{type:"string",name:t.name,env:t.env}})}function oQD({file:e,versionDeclaration:t}){return OAo({_enum:{default:t.default,enum:t.values},file:e})}function Jv_({channel:e,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a}){let u=[];for(let[l,d]of Object.entries(e.messages??{}))u.push({type:l,availability:Mie(d.availability),docs:d.docs,origin:d.origin,body:cQD({body:d.body,file:n}),displayName:d["display-name"]});return{availability:Mie(e.availability),path:oze(e.path),auth:e.auth,name:n.fernFilepath.file??n.casingsGenerator.generateName(e["display-name"]??e.path),displayName:e["display-name"],headers:e.headers!=null?Object.entries(e.headers).map(([l,d])=>sze({headerKey:l,header:d,file:n})):[],docs:e.docs,pathParameters:e["path-parameters"]!=null?Zbn({pathParameters:e["path-parameters"],location:bBe.Endpoint,file:n,variableResolver:i}):[],queryParameters:e["query-parameters"]!=null?Object.entries(e["query-parameters"]).map(([l,d])=>{let{name:s}=NLr({queryParameterKey:l,queryParameter:d}),o=n.parseTypeReference(d);return{...oG(d),name:n.casingsGenerator.generateNameAndWireValue({wireValue:l,name:s}),valueType:o,allowMultiple:typeof d!="string"&&d["allow-multiple"]!=null?d["allow-multiple"]:!1}}):[],messages:Object.values(u),examples:(e.examples??[]).map(l=>{let d=fQD({channel:e,example:l,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a});return{name:l.name!=null?n.casingsGenerator.generateName(l.name):void 0,docs:l.docs,url:pQD({channel:e,example:l,pathParams:d}),...d,...dQD({channel:e,example:l,typeResolver:t,exampleResolver:r,file:n,workspace:a}),queryParameters:l["query-parameters"]!=null?Object.entries(l["query-parameters"]).map(([s,o])=>{let c=e["query-parameters"]?.[s];if(c==null)throw new Error(`Query parameter ${s} does not exist`);return{name:n.casingsGenerator.generateNameAndWireValue({name:NLr({queryParameterKey:s,queryParameter:c}).name,wireValue:s}),value:YD({example:o,rawTypeBeingExemplified:typeof c=="string"?c:c.type,typeResolver:t,exampleResolver:r,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),shape:uQD({queryParameter:c})}}):[],messages:l.messages.map(s=>{let o=e.messages?.[s.type];if(o==null)throw new Error(`Message ${s.type} does not exist`);return{type:s.type,body:sQD({message:o,example:s.body,typeResolver:t,exampleResolver:r,file:n,workspace:a})}})}})}}function uQD({queryParameter:e}){return(typeof e!="string"&&e["allow-multiple"]!=null?e["allow-multiple"]:!1)?U2.exploded():U2.single()}function sQD({message:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){if(!_QD(e.body))return b4t.reference(YD({example:t,rawTypeBeingExemplified:typeof e.body!="string"?e.body.type:e.body,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}));if(!bg(t))throw new Error("Example must be an object");let u=[];for(let[l,d]of Object.entries(t)){let s=e.body.properties?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:l,property:s}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof s!="string"?s.type:s,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),originalTypeDeclaration:void 0});else{let o=Ioa({extends_:e.body.extends,wirePropertyKey:l,typeResolver:r,file:n});if(o==null)throw new Error("Could not find original type declaration for property: "+l);u.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:l,property:o.rawPropertyType}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof o.rawPropertyType=="string"?o.rawPropertyType:o.rawPropertyType.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:o.file,fileContainingExample:n,workspace:a}),originalTypeDeclaration:o.typeName})}}return b4t.inlinedBody({jsonExample:i.resolveAllReferencesInExampleOrThrow({example:t,file:n}).resolvedExample,properties:u})}function cQD({body:e,file:t}){return typeof e=="string"?Gte.reference({docs:void 0,bodyType:t.parseTypeReference(e)}):lQD(e)?Gte.reference({docs:void 0,bodyType:t.parseTypeReference(e.type)}):Gte.inlinedBody({name:t.casingsGenerator.generateName(e.name),extends:l8t(e.extends??[]).map(r=>d5({typeName:r,file:t})),properties:[]})}function lQD(e){return e.type!=null}function fQD({channel:e,example:t,typeResolver:r,exampleResolver:i,variableResolver:n,file:a,workspace:u}){let l=[],d=({name:s,pathParameterDeclaration:o,examplePathParameter:c})=>{let b=zoa({parameter:o,variableResolver:n,file:a});return{name:s,value:YD({example:c,rawTypeBeingExemplified:b.rawType,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:b.file,fileContainingExample:a,workspace:u})}};if(t["path-parameters"]!=null){let s=d8t(e);for(let[o,c]of Object.entries(t["path-parameters"])){let b=s[o];if(b!=null)l.push(d({name:a.casingsGenerator.generateName(o),pathParameterDeclaration:b,examplePathParameter:c}));else throw new Error(`Path parameter ${o} does not exist`)}}return{pathParameters:l}}function dQD({channel:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=[];if(t.headers!=null)for(let[l,d]of Object.entries(t.headers)){let s=e.headers?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:eYt({headerKey:l,header:s}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof s=="string"?s:s.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a})});else throw new Error(`Heder ${l} does not exist`)}return{headers:u}}function pQD({channel:e,example:t,pathParams:r}){let i=e.path;if(t["path-parameters"]!=null)for(let n of[...r.pathParameters])i=i.replaceAll(`{${n.name.originalName}}`,`${n.value.jsonExample}`);return i}function _QD(e){return typeof e=="string"?!1:e.extends!=null||e.properties!=null}function wUs({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let i=Object.values(t)[0];if(i!=null)return{defaultEnvironment:e??void 0,environments:W8r(i,{singleBaseUrl:()=>d4t.singleBaseUrl(hQD({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>d4t.multipleBaseUrls(yQD({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})}}function hQD({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>W8r(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:Kv_(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function yQD({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>W8r(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:ud(a.urls,u=>Kv_(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function Kv_(e){return e.endsWith("/")?e.slice(0,-1):e}function Yv_({errorName:e,errorDeclaration:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=[];if(t.type!=null&&t.examples!=null)for(let l of t.examples)u.push({name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,docs:l.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:l.value,file:r}).resolvedExample,shape:YD({example:l.value,rawTypeBeingExemplified:t.type,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})});return{name:sai({errorName:e,file:r}),discriminantValue:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:e}),docs:typeof t!="string"?t.docs:void 0,statusCode:t["status-code"],type:t.type!=null?r.parseTypeReference(t.type):void 0,examples:u}}var Xv_="content";function Zv_(e,t){if(e==null||e.strategy==="status-code")return y4t.statusCode();switch(e.strategy){case"property":return y4t.property({discriminant:t.casingsGenerator.generateNameAndWireValue({name:e["property-name"],wireValue:e["property-name"]}),contentProperty:t.casingsGenerator.generateNameAndWireValue({name:Xv_,wireValue:Xv_})});default:Go(e)}}function kv_({readme:e,services:t}){let r=new SUs(t);return{apiReferenceLink:e.apiReferenceLink,bannerLink:e.bannerLink,introduction:e.introduction,defaultEndpoint:e.defaultEndpoint!=null?r.getEndpointForReadmeOrThrow(e.defaultEndpoint).id:void 0,features:e.features!=null?Object.fromEntries(Object.entries(e.features).map(([i,n])=>[i,n.map(a=>r.getEndpointForReadmeOrThrow(a).id)])):void 0}}var SUs=class{endpoints={};constructor(t){this.endpoints=this.buildEndpoints(t)}getEndpointForReadme(t){let r=bQD({endpoint:t}),i=this.getEndpointKeyForReadmeEndpoint(r);return this.endpoints[i]}getEndpointForReadmeOrThrow(t){let r=this.getEndpointForReadme(t);if(r==null)throw new Error(`Endpoint not found for ${JSON.stringify(t)}`);return r}buildEndpoints(t){let r={};for(let i of Object.values(t))for(let n of i.endpoints)r[this.getEndpointKeyForHttpEndpoint(n)]=n;return r}getEndpointKeyForReadmeEndpoint(t){return this.getEndpointKey({method:t.method,path:t.path,stream:t.stream??!1})}getEndpointKeyForHttpEndpoint(t){return this.getEndpointKey({method:t.method,path:vQD(t),stream:t.response?.body?.type==="streaming"})}getEndpointKey({method:t,path:r,stream:i}){return`${t}|${r}|${i}`}};function vQD(e){let t="";e.fullPath.head.length>0&&(t=zv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=zv(t,"{"+r.pathParameter+"}"),r.tail.length>0&&(t=zv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function bQD({endpoint:e}){if(typeof e=="string"){let t=e.split(" ");if(t.length!==2||t[0]==null||t[1]==null)throw new Error(`invalid endpoint string: ${e}`);return{method:t[0],path:t[1]}}return e}function eb_({webhooks:e,file:t,typeResolver:r,exampleResolver:i,workspace:n}){let a=[];for(let[u,l]of Object.entries(e))a.push({id:Tg.generateWebhookId(t.fernFilepath,u),availability:Mie(l.availability),displayName:l["display-name"],docs:l.docs,method:l.method,name:t.casingsGenerator.generateName(u),headers:l.headers!=null?Object.entries(l.headers).map(([d,s])=>sze({headerKey:d,header:s,file:t})):[],payload:gQD({payload:l.payload,file:t}),examples:l.examples!=null?mQD({webhook:l,examples:l.examples,file:t,typeResolver:r,exampleResolver:i,workspace:n}):void 0});return a}function gQD({payload:e,file:t}){return typeof e=="string"?$te.reference({docs:void 0,payloadType:t.parseTypeReference(e)}):DAo(e)?$te.reference({docs:void 0,payloadType:t.parseTypeReference(e.type)}):$te.inlinedPayload({name:t.casingsGenerator.generateName(e.name),extends:l8t(e.extends).map(r=>d5({typeName:r,file:t})),properties:e.properties!=null?Object.entries(e.properties).map(([r,i])=>OQD({propertyKey:r,propertyDefinition:i,docs:typeof i!="string"?i.docs:void 0,availability:typeof i!="string"?Mie(i.availability):void 0,file:t})):[]})}function OQD({propertyKey:e,propertyDefinition:t,docs:r,availability:i,file:n}){return{docs:r,availability:i,name:n.casingsGenerator.generateNameAndWireValue({wireValue:e,name:cV({propertyKey:e,property:t}).name}),valueType:n.parseTypeReference(t)}}function mQD({webhook:e,examples:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=typeof e.payload=="string"?e.payload:DAo(e.payload)?e.payload.type:void 0;if(u!=null)return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:YD({example:l.payload,rawTypeBeingExemplified:u,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}));if(!bg(e.payload))throw new Error(`Example webhook payload is not an object. Got: ${JSON.stringify(e.payload)}`);return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:YD({example:l.payload,rawTypeBeingExemplified:"map<string, unknown>",fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}))}function DAo(e){return e.type!=null}function kbn(e){let t={};for(let[r,i]of Object.entries(e))if(typeof i!="string")for(let n of i.audiences??[])t[n]==null&&(t[n]=new Set),t[n]?.add(r);return t}function tb_({name:e,source:t}){return ZP.userDefined({file:PAo({source:t}),name:cai.generateName(e)})}function rb_({encoding:e}){if(e.proto!=null&&e.proto.type!=null){let t=PQD({type:e.proto.type});if(t!=null)return t}}function PQD({type:e}){switch(e){case"google.protobuf.Any":return ZP.wellKnown(Kf.any());case"google.protobuf.Api":return ZP.wellKnown(Kf.api());case"google.protobuf.BoolValue":return ZP.wellKnown(Kf.boolValue());case"google.protobuf.BytesValue":return ZP.wellKnown(Kf.bytesValue());case"google.protobuf.DoubleValue":return ZP.wellKnown(Kf.doubleValue());case"google.protobuf.Duration":return ZP.wellKnown(Kf.duration());case"google.protobuf.Empty":return ZP.wellKnown(Kf.empty());case"google.protobuf.Enum":return ZP.wellKnown(Kf.enum());case"google.protobuf.EnumValue":return ZP.wellKnown(Kf.enumValue());case"google.protobuf.Field":return ZP.wellKnown(Kf.field());case"google.protobuf.FieldCardinality":return ZP.wellKnown(Kf.fieldCardinality());case"google.protobuf.FieldKind":return ZP.wellKnown(Kf.fieldKind());case"google.protobuf.FieldMask":return ZP.wellKnown(Kf.fieldMask());case"google.protobuf.FloatVlaue":return ZP.wellKnown(Kf.floatValue());case"google.protobuf.Int32Value":return ZP.wellKnown(Kf.int32Value());case"google.protobuf.Int64Value":return ZP.wellKnown(Kf.int64Value());case"google.protobuf.ListValue":return ZP.wellKnown(Kf.listValue());case"google.protobuf.Method":return ZP.wellKnown(Kf.method());case"google.protobuf.Mixin":return ZP.wellKnown(Kf.mixin());case"google.protobuf.NullValue":return ZP.wellKnown(Kf.nullValue());case"google.protobuf.Option":return ZP.wellKnown(Kf.option());case"google.protobuf.SourceContext":return ZP.wellKnown(Kf.sourceContext());case"google.protobuf.StringValue":return ZP.wellKnown(Kf.stringValue());case"google.protobuf.Struct":return ZP.wellKnown(Kf.struct());case"google.protobuf.Syntax":return ZP.wellKnown(Kf.syntax());case"google.protobuf.Timestamp":return ZP.wellKnown(Kf.timestamp());case"google.protobuf.Type":return ZP.wellKnown(Kf.type());case"google.protobuf.Uint32Value":return ZP.wellKnown(Kf.uint32Value());case"google.protobuf.Uint64Value":return ZP.wellKnown(Kf.uint64Value());case"google.protobuf.Value":return ZP.wellKnown(Kf.value())}}function ib_({generic:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type,n=TI(i);if(n==null)throw new Error(`Invalid generic type definition: ${i}`);let a=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:i,file:t});if(n.arguments&&L1(a.declaration)){let u=TI(a.typeName)?.arguments??[],l=Object.entries(a.declaration.properties??{}).map(([d,s])=>{let o=s;return typeof s=="string"&&u?.includes(s)&&(o=n.arguments?.[u.indexOf(s)]??s),[d,o]});return Nq.object({extends:l8t(a.declaration.extends).map(d=>d5({typeName:d,file:t})),properties:qoa({properties:Object.fromEntries(l)},t),extraProperties:a.declaration["extra-properties"]??!1,extendedProperties:void 0})}throw new Error(`Generic type definition not supported: ${i}`)}function nb_({alias:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type;return yBe(i)?ib_({generic:i,file:t,typeResolver:r}):Nq.alias({aliasOf:t.parseTypeReference(e),resolvedType:jQD({aliasOf:i,file:t,typeResolver:r})})}function jQD({aliasOf:e,file:t,typeResolver:r}){let i=r.resolveTypeOrThrow({type:e,file:t});switch(i._type){case"primitive":return hU.primitive(i.originalTypeReference.primitive);case"container":return hU.container(i.originalTypeReference.container);case"unknown":return hU.unknown();case"named":{let n=L1(i.declaration)?v4t.Object:Ekr(i.declaration)?v4t.Union:P4t(i.declaration)?v4t.Enum:isn(i.declaration)?v4t.UndiscriminatedUnion:Go(i.declaration);return hU.named({name:i.name,shape:n})}}}function ab_({union:e,file:t}){return Nq.undiscriminatedUnion({members:e.union.map(r=>typeof r=="string"?{docs:void 0,type:t.parseTypeReference(r)}:{type:t.parseTypeReference(r),docs:r.docs})})}function ob_(e){let t=[];if(e.extends!=null){let r=typeof e.extends=="string"?[e.extends]:e.extends;t.push(...r)}return e.properties!=null&&t.push(...Object.values(e.properties).map(r=>typeof r=="string"?r:r.type)),t}function EUs({typeDeclaration:e,file:t,typeResolver:r,seenTypeNames:i=new DUs}){let n=A3(e,{alias:u=>{let l=typeof u=="string"?u:u.type,d=TI(l);if(d!=null){let s=new Set(d.arguments??[]),o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:l,file:t}),c=TI(o.typeName)?.arguments;if(L1(o.declaration)){let b=ob_(o.declaration);c&&b.filter(g=>!c.includes(g)).forEach(g=>s.add(g))}return Array.from(s)}return[l]},object:u=>ob_(u),discriminatedUnion:u=>{let l=[];return u["base-properties"]!=null&&l.push(...Object.values(u["base-properties"]).map(d=>typeof d=="string"?d:d.type)),l.push(...Object.values(u.union).reduce((d,s)=>{let o=typeof s=="string"?s:s.type;return typeof o=="string"&&d.push(o),d},[])),l},undiscriminatedUnion:u=>Object.values(u.union).reduce((l,d)=>{let s=typeof d=="string"?d:d.type;return typeof s=="string"&&l.push(s),l},[]),enum:()=>[]}),a=[];for(let u of n){let l=yU({type:u,_default:void 0,validation:void 0,visitor:{primitive:()=>[],map:({keyType:d,valueType:s})=>[...d,...s],list:d=>d,optional:d=>d,nullable:d=>d,set:d=>d,named:d=>[d],literal:()=>[],unknown:()=>[]}});for(let d of l){let s=d5({typeName:d,file:t});if(!i.hasTypeNameBeenSeen(s)){i.addTypeName(s),a.push(s);let o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:d,file:t});if(yBe(o.typeName))continue;a.push(...EUs({typeDeclaration:o.declaration,file:o.file,typeResolver:r,seenTypeNames:i}))}}}return a}var DUs=class{cache=new Set;addTypeName(t){this.cache.add(this.computeCacheKey(t))}hasTypeNameBeenSeen(t){return this.cache.has(this.computeCacheKey(t))}computeCacheKey(t){return t.fernFilepath.allParts.map(r=>r.originalName).join("/")+":"+t.name.originalName}};function ub_({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,sourceResolver:a,workspace:u}){let l=oG(t),d=d5({typeName:e,file:r}),s=EUs({typeDeclaration:t,file:r,typeResolver:i}),o={};L1(t)&&(o=kbn(t.properties??{}));let c=SQD({file:r,typeDeclaration:t,typeName:e,sourceResolver:a});return{propertiesByAudience:o,typeDeclaration:{...l,inline:AQD(t),name:d,shape:wQD({typeDeclaration:t,file:r,typeResolver:i}),referencedTypes:new Set(s.map(b=>b.typeId)),encoding:DQD({typeDeclaration:t,source:c}),source:c,userProvidedExamples:typeof t!="string"&&t.examples!=null?t.examples.map(b=>({name:b.name!=null?r.casingsGenerator.generateName(b.name):void 0,docs:b.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:b.value,file:r}).resolvedExample,shape:PUs({typeName:d,example:b.value,typeResolver:i,exampleResolver:n,typeDeclaration:t,fileContainingType:r,fileContainingExample:r,workspace:u})})):[],autogeneratedExamples:[]},descendantFilepaths:new Set(s.map(b=>b.fernFilepath))}}function wQD({typeDeclaration:e,file:t,typeResolver:r}){return A3(e,{alias:i=>nb_({alias:i,file:t,typeResolver:r}),object:i=>$y_({object:i,file:t}),discriminatedUnion:i=>ov_({union:i,file:t,typeResolver:r}),undiscriminatedUnion:i=>ab_({union:i,file:t}),enum:i=>Nq.enum(OAo({_enum:i,file:t}))})}function SQD({file:e,typeDeclaration:t,typeName:r,sourceResolver:i}){if(typeof t=="string"||t.source==null&&t.encoding==null)return;if(t.encoding!=null){let a=rb_({encoding:t.encoding});if(a!=null)return U8r.proto(a)}if(t.source==null)return;let n=i.resolveSourceOrThrow({source:t.source,relativeFilepath:e.relativeFilepath});if(!(n==null||n.type!=="protobuf"))return U8r.proto(tb_({source:n,name:r}))}function DQD({typeDeclaration:e,source:t}){return typeof e!="string"&&e.encoding!=null?EQD(e.encoding):MQD(t)}function EQD(e){return e.proto!=null?{json:void 0,proto:{}}:{json:{},proto:void 0}}function MQD(e){return e!=null&&e.type==="proto"?{json:void 0,proto:{}}:{json:{},proto:void 0}}function AQD(e){if(typeof e!="string"&&"inline"in e)return e.inline}var sb_="1.0.0";var EAo=class{ir;auth;constructor(t){this.ir=t,this.auth=this.convertAuth(t.auth)}convert(){return{version:sb_,types:this.convertNamedTypes(),headers:this.convertHeaders(),endpoints:this.convertEndpoints(),environments:this.ir.environments}}convertNamedTypes(){return Object.fromEntries(Object.entries(this.ir.types).map(([t,r])=>[t,this.convertTypeDeclaration(r)]))}convertHeaders(){return this.convertWireValueParameters({wireValueParameters:this.ir.headers})}convertEndpoints(){let t=this.getAllHttpEndpoints();return Object.fromEntries(t.map(r=>[r.id,this.convertEndpoint(r)]))}convertEndpoint(t){return{auth:this.auth,declaration:this.convertDeclaration({name:t.name,fernFilepath:t.fernFilepath}),location:this.convertEndpointLocation({endpoint:t}),request:this.convertRequest({endpoint:t}),response:Uc.Response.json()}}convertRequest({endpoint:t}){let r=this.convertPathParameters({pathParameters:t.allPathParameters});if(t.sdkRequest==null&&t.requestBody==null)return Uc.Request.body({pathParameters:r,body:void 0});if(t.sdkRequest==null)throw new Error(`Internal error; endpoint "${t.id}" has a request body but no SDK request`);switch(t.sdkRequest.shape.type){case"justRequestBody":return Uc.Request.body({pathParameters:r,body:this.convertReferencedRequestBodyType({body:t.sdkRequest.shape.value})});case"wrapper":return this.convertInlinedRequest({fernFilepath:t.fernFilepath,wrapper:t.sdkRequest.shape,pathParameters:r,queryParameters:this.convertQueryParameters({queryParameters:t.queryParameters}),headers:this.convertWireValueParameters({wireValueParameters:[...t.serviceHeaders,...t.headers]}),body:t.requestBody});default:Go(t.sdkRequest.shape)}}convertReferencedRequestBodyType({body:t}){switch(t.type){case"bytes":return Uc.ReferencedRequestBodyType.bytes();case"typeReference":return Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(t.requestBodyType));default:Go(t)}}convertInlinedRequest({fernFilepath:t,wrapper:r,pathParameters:i,queryParameters:n,headers:a,body:u}){return Uc.Request.inlined({declaration:this.convertDeclaration({name:r.wrapperName,fernFilepath:t}),pathParameters:i,queryParameters:n,headers:a,body:u!=null?this.convertInlinedRequestBody({wrapper:r,body:u}):void 0,metadata:this.convertInlinedRequestMetadata({wrapper:r})})}convertInlinedRequestMetadata({wrapper:t}){return{includePathParameters:t.includePathParameters??!1,onlyPathParameters:t.onlyPathParameters??!1}}convertInlinedRequestBody({wrapper:t,body:r}){switch(r.type){case"inlinedRequestBody":{let i=[...r.extendedProperties??[],...r.properties];return Uc.InlinedRequestBody.properties(this.convertWireValueParameters({wireValueParameters:i}))}case"reference":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(r.requestBodyType))});case"bytes":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.bytes()});case"fileUpload":return this.convertFileUploadRequestBody({properties:r.properties});default:Go(r)}}convertFileUploadRequestBody({properties:t}){return Uc.InlinedRequestBody.fileUpload({properties:this.convertFileUploadRequestBodyProperties({properties:t})})}convertFileUploadRequestBodyProperties({properties:t}){return t.map(r=>{switch(r.type){case"file":return this.convertFileUploadRequestBodyFileProperty({fileProperty:r.value});case"bodyProperty":return Uc.FileUploadRequestBodyProperty.bodyProperty({name:r.name,typeReference:this.convertTypeReference(r.valueType)});default:Go(r)}})}convertFileUploadRequestBodyFileProperty({fileProperty:t}){switch(t.type){case"file":return Uc.FileUploadRequestBodyProperty.file(t.key);case"fileArray":return Uc.FileUploadRequestBodyProperty.fileArray(t.key);default:Go(t)}}convertPathParameters({pathParameters:t}){return t.map(r=>({name:{name:r.name,wireValue:r.name.originalName},typeReference:this.convertTypeReference(r.valueType)}))}convertWireValueParameters({wireValueParameters:t}){return t.map(r=>({name:{name:r.name.name,wireValue:r.name.wireValue},typeReference:this.convertTypeReference(r.valueType)}))}convertQueryParameters({queryParameters:t}){let r=[];for(let i of t){let n=this.convertTypeReference(i.valueType);i.allowMultiple&&(n=Uc.TypeReference.list(n)),r.push({name:{name:i.name.name,wireValue:i.name.wireValue},typeReference:n})}return r}convertTypeReference(t){switch(t.type){case"container":return this.convertContainerType(t.container);case"named":return this.convertNamedType(t);case"primitive":return this.convertPrimitiveType(t.primitive);case"unknown":return this.convertUnknownType();default:Go(t)}}convertContainerType(t){switch(t.type){case"list":return Uc.TypeReference.list(this.convertTypeReference(t.list));case"map":return Uc.TypeReference.map({key:this.convertTypeReference(t.keyType),value:this.convertTypeReference(t.valueType)});case"optional":return Uc.TypeReference.optional(this.convertTypeReference(t.optional));case"nullable":return Uc.TypeReference.nullable(this.convertTypeReference(t.nullable));case"set":return Uc.TypeReference.set(this.convertTypeReference(t.set));case"literal":return Uc.TypeReference.literal(this.convertLiteral(t.literal));default:Go(t)}}convertNamedType(t){return Uc.TypeReference.named(t.typeId)}convertTypeDeclaration(t){let r=this.convertDeclaration(t.name);switch(t.shape.type){case"alias":return this.convertAlias({declaration:r,alias:t.shape});case"enum":return this.convertEnum({declaration:r,enum_:t.shape});case"object":return this.convertObject({declaration:r,object:t.shape});case"union":return this.convertDiscriminatedUnion({declaration:r,union:t.shape});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({declaration:r,union:t.shape});default:Go(t.shape)}}convertAlias({declaration:t,alias:r}){return Uc.NamedType.alias({declaration:t,typeReference:this.convertTypeReference(r.aliasOf)})}convertEnum({declaration:t,enum_:r}){return Uc.NamedType.enum({declaration:t,values:r.values.map(i=>i.name)})}convertObject({declaration:t,object:r}){let i=[...r.extendedProperties??[],...r.properties];return this.convertObjectProperties({declaration:t,properties:i})}convertObjectProperties({declaration:t,properties:r}){return Uc.NamedType.object({declaration:t,properties:this.convertWireValueParameters({wireValueParameters:r})})}convertDiscriminatedUnion({declaration:t,union:r}){let i=[...this.resolveProperties(r.extends),...r.baseProperties];return Uc.NamedType.discriminatedUnion({declaration:t,discriminant:r.discriminant,types:Object.fromEntries(r.types.map(n=>[n.discriminantValue.wireValue,this.convertDiscriminatedUnionType({inheritedProperties:i,discriminantValue:n.discriminantValue,singleUnionTypeProperties:n.shape})]))})}convertDiscriminatedUnionType({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperties:i}){switch(i.propertiesType){case"samePropertiesAsObject":return this.convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i});case"singleProperty":return this.convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i});case"noProperties":return this.convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r});default:Go(i)}}convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i}){return Uc.SingleDiscriminatedUnionType.samePropertiesAsObject({typeId:i.typeId,discriminantValue:r,properties:this.convertWireValueParameters({wireValueParameters:t})})}convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i}){return Uc.SingleDiscriminatedUnionType.singleProperty({typeReference:this.convertTypeReference(i.type),discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r}){return Uc.SingleDiscriminatedUnionType.noProperties({discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertUndiscriminatedUnion({declaration:t,union:r}){return Uc.NamedType.undiscriminatedUnion({declaration:t,types:r.members.map(i=>this.convertTypeReference(i.type))})}convertLiteral(t){switch(t.type){case"boolean":return Uc.LiteralType.boolean(t.boolean);case"string":return Uc.LiteralType.string(t.string);default:Go(t)}}convertPrimitiveType(t){return Uc.TypeReference.primitive(t.v1)}convertUnknownType(){return Uc.TypeReference.unknown()}convertAuth(t){if(t.schemes[0]==null)return;let r=t.schemes[0];switch(r.type){case"basic":return Uc.Auth.basic(r);case"bearer":return Uc.Auth.bearer(r);case"header":return Uc.Auth.header({header:{name:r.name,typeReference:this.convertTypeReference(r.valueType)}});case"oauth":return;default:Go(r)}}convertDeclaration({name:t,fernFilepath:r}){return{name:t,fernFilepath:r}}convertEndpointLocation({endpoint:t}){return{method:t.method,path:this.getFullPathForEndpoint(t)}}getAllHttpEndpoints(){return Object.values(this.ir.services).flatMap(t=>t.endpoints.map(r=>({...r,serviceHeaders:t.headers,fernFilepath:t.name.fernFilepath})))}resolveProperties(t){let r=[];for(let i of t){let n=this.resolveObjectTypeOrThrow(i.typeId);r.push(...this.resolveProperties(n.extends)),r.push(...n.properties)}return Object.values(r)}resolveObjectTypeOrThrow(t){let r=this.ir.types[t];if(r==null)throw new Error(`Internal error; type "${t}" not found`);if(r.shape.type!=="object")throw new Error(`Internal error; type "${t}" is not an object`);return r.shape}getFullPathForEndpoint(t){let r="";t.fullPath.head.length>0&&(r=zv(r,t.fullPath.head));for(let i of t.fullPath.parts)r=zv(r,"{"+i.pathParameter+"}"),i.tail.length>0&&(r=zv(r,i.tail));return r.startsWith("/")?r:`/${r}`}};function cb_(e){return new EAo(e).convert()}function lb_({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return tYt({containerType:t});switch(t.type){case"list":{let u=PC({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:TO.literal({literal:t.literal._visit({boolean:u=>Hp.boolean(u),string:u=>Hp.string({original:u}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:t.literal._visit({boolean:u=>u,string:u=>u,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":{if(a)return tYt({containerType:t});let u=PC({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return tYt({containerType:t});let u=PC({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=PC({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=PC({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=PC({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:Go(t)}}function tYt({containerType:e}){switch(e.type){case"list":return{type:"success",example:TO.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:TO.literal({literal:e.literal._visit({boolean:t=>Hp.boolean(t),string:t=>Hp.string({original:t}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:e.literal._visit({boolean:t=>t,string:t=>t,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":return{type:"success",example:TO.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:TO.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:TO.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:TO.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Go(e)}}function db_({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return BQD({fieldName:e,validation:qQD(t.v2)});case"BASE_64":return{type:"success",example:Hp.base64(tg.BASE64),jsonExample:tg.BASE64};case"BOOLEAN":return{type:"success",example:Hp.boolean(tg.BOOLEAN),jsonExample:tg.BOOLEAN};case"DATE":return{type:"success",example:Hp.date(tg.DATE),jsonExample:tg.DATE};case"DATE_TIME":return{type:"success",example:Hp.datetime({datetime:new Date(tg.DATE_TIME),raw:tg.DATE_TIME}),jsonExample:tg.DATE_TIME};case"DOUBLE":return xQD({fieldName:e,validation:TQD(t.v2)});case"FLOAT":return{type:"success",example:Hp.float(tg.FLOAT),jsonExample:tg.FLOAT};case"INTEGER":return IQD({fieldName:e,validation:CQD(t.v2)});case"UINT_64":return{type:"success",example:Hp.uint64(tg.INT64),jsonExample:tg.INT64};case"UINT":return{type:"success",example:Hp.uint(tg.UINT),jsonExample:tg.UINT};case"BIG_INTEGER":return{type:"success",example:Hp.bigInteger(tg.INT64.toString()),jsonExample:`${tg.INT64}`};case"LONG":return{type:"success",example:Hp.long(tg.INT64),jsonExample:tg.INT64};case"UUID":return{type:"success",example:Hp.uuid(tg.UUID),jsonExample:tg.UUID};default:Go(t.v1)}}function qQD(e){if(e?.type==="string")return e.validation}function TQD(e){if(e?.type==="double")return e.validation}function CQD(e){if(e?.type==="integer")return e.validation}function fb_(e){if(e<=tg.SAMPLE_STRINGS.length){let t=tg.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return tg.SAMPLE_STRINGS[tg.SAMPLE_STRINGS.length-1]+".".repeat(e-tg.SAMPLE_STRINGS.length)}function BQD({fieldName:e,validation:t}){if(t){let i=t.minLength,n=t.maxLength;if(i){let a=fb_(i);return{type:"success",example:Hp.string({original:a}),jsonExample:a}}else if(n){let a=fb_(n);return{type:"success",example:Hp.string({original:a}),jsonExample:a}}}let r=e??tg.STRING;return{type:"success",example:Hp.string({original:r}),jsonExample:r}}function xQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Hp.double(r),jsonExample:r};if(i)return{type:"success",example:Hp.double(i),jsonExample:i}}return{type:"success",example:Hp.double(tg.DOUBLE),jsonExample:tg.DOUBLE}}function IQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Hp.integer(r),jsonExample:r};if(i)return{type:"success",example:Hp.integer(i),jsonExample:i}}return{type:"success",example:Hp.integer(tg.INT),jsonExample:tg.INT}}function e0n({typeReference:e,typeDeclarations:t}){if(e.type==="container"&&e.container.type==="optional")return!0;if(e.type==="named"){let r=t[e.typeId];if(r?.shape.type==="alias"&&r?.shape.resolvedType.type==="container"&&r?.shape.resolvedType.container.type==="optional")return!0}return!1}function _b_({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=PC({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Lj.alias({value:l}),jsonExample:d}}case"enum":{let u=r.shape.values[0];return u==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Lj.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u=pb_({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Lj.object(l),jsonExample:d}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let d=PC({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure"){++u;continue}let{example:s,jsonExample:o}=d;return{type:"success",example:Lj.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant;for(let l of r.shape.types){let d=l.shape._visit({noProperties:()=>({type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.noProperties()}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue}}),samePropertiesAsObject:s=>{let o=t[s.typeId];if(o==null)throw new Error(`Failed to find type declaration with id ${s.typeId}`);if(o.shape.type!=="object")throw new Error(`Same properties as object union is not an object ${o.shape.type}`);let c=pb_({currentDepth:n,maxDepth:i,fieldName:e,objectTypeDeclaration:o.shape,typeDeclaration:o,typeDeclarations:t,skipOptionalProperties:a});if(c.type==="failure")return c;let{example:b,jsonExample:g}=c;return{type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.samePropertiesAsObject({typeId:o.name.typeId,object:b})}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,...typeof g=="object"?g:{}}}},singleProperty:s=>{let o=PC({currentDepth:n+1,maxDepth:i,fieldName:e,typeReference:s.type,typeDeclarations:t,skipOptionalProperties:a});if(o.type==="failure")return o;let{example:c,jsonExample:b}=o;return{type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.singleProperty(c)}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,[s.name.wireValue]:b}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(d.type!=="failure")return d}}}return{type:"failure",message:"Failed to generate example for type reference"}}function pb_({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:i,maxDepth:n,currentDepth:a,skipOptionalProperties:u}){let l={},d=[];for(let s of[...r.properties??[],...r.extendedProperties??[]]){let o=PC({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!e0n({typeDeclarations:i,typeReference:s.valueType}))return{type:"failure",message:`Failed to generate required property ${s.name.wireValue} b/c ${o.message}`};if(o.type==="failure")continue;let{example:c,jsonExample:b}=o;d.push({name:s.name,originalTypeDeclaration:t.name,value:c}),l[s.name.wireValue]=b}return{type:"success",example:Lj.object({properties:d}),jsonExample:l}}function PC({fieldName:e,typeReference:t,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){if(n>i)return{type:"failure",message:"Exceeded max depth"};switch(t.type){case"named":{let u=r[t.typeId];if(u==null)throw new Error(`Failed to find type declaration with id ${t.typeId}`);let l=_b_({fieldName:e,typeDeclaration:u,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(l.type==="failure")return l;let{example:d,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:ub.named({shape:d,typeName:u.name})},jsonExample:s}}case"container":{let u=lb_({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=tYt({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:ub.container(s)},jsonExample:o}}let{example:l,jsonExample:d}=u;return{type:"success",example:{jsonExample:d,shape:ub.container(l)},jsonExample:d}}case"primitive":{let{jsonExample:u,example:l}=db_({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:ub.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:ub.unknown(u)},jsonExample:u}}}}var MUs=F1.primitive({v1:Kb.String,v2:AP.string({default:void 0,validation:void 0})});function Noa({ir:e,endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n,generationResponse:a}){let u={name:void 0,endpointHeaders:[],endpointPathParameters:[],queryParameters:[],servicePathParameters:[],serviceHeaders:[],rootPathParameters:[],request:void 0,response:cq.ok(ET.body(void 0)),docs:void 0},l=[{params:t.pathParameters,add:s=>u.endpointPathParameters.push(s)},{params:r.pathParameters,add:s=>u.servicePathParameters.push(s)},{params:e.pathParameters,add:s=>u.rootPathParameters.push(s)}];for(let s of l)for(let o of s.params){let c=PC({fieldName:o.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}for(let s of t.queryParameters){if(n&&e0n({typeDeclarations:i,typeReference:s.valueType}))continue;let o=PC({fieldName:s.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:s.valueType,skipOptionalProperties:n});if(o.type==="failure")return o;let{example:c}=o;u.queryParameters.push({name:s.name,shape:s.allowMultiple?U2.exploded():U2.single(),value:c})}let d=[{params:t.headers,add:s=>u.endpointHeaders.push(s)},{params:r.headers,add:s=>u.serviceHeaders.push(s)}];for(let s of d)for(let o of s.params){if(n&&e0n({typeDeclarations:i,typeReference:o.valueType}))continue;let c=PC({fieldName:o.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}if(t.requestBody!=null)switch(t.requestBody.type){case"bytes":return{type:"failure",message:"Bytes request unsupported"};case"fileUpload":return{type:"failure",message:"File upload unsupported"};case"inlinedRequestBody":{let s={},o=[];for(let c of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let b=PC({fieldName:c.name.wireValue,typeReference:c.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(b.type==="failure"&&!e0n({typeDeclarations:i,typeReference:c.valueType}))return{type:"failure",message:`Failed to generate required property ${c.name.wireValue} b/c ${b.message}`};if(b.type==="failure")continue;let{example:g,jsonExample:O}=b;o.push({name:c.name,originalTypeDeclaration:void 0,value:g}),s[c.name.wireValue]=O}u.request=d$.inlinedRequestBody({jsonExample:s,properties:o});break}case"reference":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.request=d$.reference(o);break}default:Go(t.requestBody)}if(a.type==="success"&&t.response?.body!=null)switch(t.response.body.type){case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"streamParameter":{let s;switch(t.response.body.nonStreamResponse.type){case"bytes":return{type:"failure",message:"Bytes unsupported"};case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1});break;default:Go(t.response.body.nonStreamResponse)}if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"streaming":{let s;switch(t.response.body.value.type){case"sse":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.sse([{data:{...o,jsonExample:c},event:""}]));break}case"json":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.stream([{...o,jsonExample:c}]));break}case"text":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.stream([{...o,jsonExample:c}]));break}default:Go(t.response.body.value)}break}case"text":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Go(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=cq.error({body:void 0,error:a.declaration.name});else{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.response=cq.error({body:o,error:a.declaration.name})}try{return{type:"success",example:{id:bAo(u),url:zQD(t,u),...u},jsonExample:void 0}}catch(s){return{type:"failure",message:`Parse failure with exceptions ${s}`}}}function zQD(e,t){let r={};[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters].forEach(n=>{let a=n.value.jsonExample,u=typeof a=="string"?a:JSON.stringify(a);r[n.name.originalName]=u});let i=e.fullPath.head+e.fullPath.parts.map(n=>r[n.pathParameter]+n.tail).join("");return i.startsWith("/")||i===""?i:`/${i}`}function hb_(e,t){let r=t[e];if(r==null)throw new y8r(`Illegal Error: Failed to load type declaration for type ${e}`);return r}function yb_(e){return{types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,NQD({typeDeclaration:r,ir:e})])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(i=>RQD({endpoint:i,ir:e}))}]))}}function RQD({endpoint:e,ir:t}){return e.requestBody?.type!=="inlinedRequestBody"?e:{...e,requestBody:{...e.requestBody,extendedProperties:e.requestBody.extends.flatMap(r=>vb_(r,t))}}}function NQD({typeDeclaration:e,ir:t}){switch(e.shape.type){case"object":return{...e,shape:{...e.shape,extendedProperties:e.shape.extends.flatMap(r=>vb_(r,t))}}}return e}function vb_(e,t){let r=AUs(e.typeId,t);return bb_({objectTypeDeclaration:r,ir:t})}function AUs(e,t){let r=hb_(e,t.types);switch(r.shape.type){case"object":return r.shape;case"alias":if(r.shape.resolvedType.type==="named")return AUs(r.shape.resolvedType.name.typeId,t)}throw new y8r(`Unexpected error: ${e} is extended but has shape ${r.shape.type}`)}function bb_({objectTypeDeclaration:e,ir:t}){let r=e.extends.flatMap(i=>{let n=AUs(i.typeId,t);return bb_({objectTypeDeclaration:n,ir:t})});return[...e.properties,...r]}function Ob_({filteredIr:e,singleUnionTypeProperties:t}){return t._visit({samePropertiesAsObject:r=>{let i=e.hasTypeId(r.typeId)?{...r,object:{properties:r.object.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:JI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?E3.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=JI({filteredIr:e,exampleTypeReference:r});return i!==void 0?E3.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function JI({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:ub.container(TO.list({...i,list:i.list.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:ub.container(TO.set({...i,set:i.set.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?JI({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:ub.container(TO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?JI({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:ub.container(TO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:ub.container(TO.map({...i,map:i.map.map(n=>{let a=JI({filteredIr:e,exampleTypeReference:n.key}),u=JI({filteredIr:e,exampleTypeReference:n.value});return a!==void 0&&u!==void 0?{key:a,value:u}:void 0}).filter(n=>n!==void 0)}))}),literal:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}}),named:r=>e.hasTypeId(r.typeName.typeId)?r.shape._visit({alias:i=>{let n=JI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:ub.named({...r,shape:Lj.enum(i)})}),object:i=>({...t,shape:ub.named({...r,shape:Lj.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:JI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=Ob_({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=JI({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function qUs({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function FQD({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function gb_({filteredIr:e,headers:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function LQD({filteredIr:e,requestBody:t}){return t._visit({inlinedRequestBody:r=>({...t,properties:r.properties.filter(i=>i.originalTypeDeclaration?e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue):!0).map(i=>{let n=JI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=JI({filteredIr:e,exampleTypeReference:r});return i!==void 0?d$.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function UQD({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>cq.ok(ET.body(i!=null?JI({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>cq.ok(ET.stream(i.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(vg))),sse:i=>cq.ok(ET.sse(i.map(({event:n,data:a})=>{let u=JI({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(vg))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>cq.error({error:r,body:i!=null?JI({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function TUs({filteredIr:e,example:t}){return{...t,rootPathParameters:qUs({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:qUs({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:qUs({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:gb_({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:gb_({filteredIr:e,headers:t.endpointHeaders}),queryParameters:FQD({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?LQD({filteredIr:e,requestBody:t.request}):void 0,response:UQD({filteredIr:e,response:t.response})}}function mb_({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:Lj.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:Lj.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:JI({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=Ob_({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:Lj.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=JI({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:Lj.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}var MAo=class{environments=new Set;types=new Set;properties;errors=new Set;services=new Set;endpoints=new Set;requestProperties;queryParameters;webhooks=new Set;webhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,properties:r,errors:i,environments:n,services:a,endpoints:u,webhooks:l,subpackages:d,queryParameters:s,requestProperties:o,webhookPayloadProperties:c,channels:b}){this.environments=n,this.types=t,this.properties=r,this.errors=i,this.services=a,this.endpoints=u,this.webhooks=l,this.webhookPayloadProperties=c,this.subpackages=d,this.requestProperties=o,this.queryParameters=s,this.channels=b}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Tg.generateTypeId(t.name);return this.types.has(r)}hasProperty(t,r){let i=this.properties[t];return i==null?!0:i.has(r)}hasError(t){let r=Tg.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Tg.generateServiceId(t.name);return this.services.has(r)}hasEnvironmentId(t){return this.environments.has(t)}hasEndpoint(t){return this.endpoints.has(t.id)}hasRequestProperty(t,r){let i=this.requestProperties[t];return i==null?!0:i.has(r)}hasQueryParameter(t,r){let i=this.queryParameters[t];return i==null?!0:i.has(r)}hasSubpackage(t){return this.subpackages.has(t)}hasWebhook(t){return t.id?this.webhooks.has(t.id):!0}hasChannel(t){return t.name.originalName?this.channels.has(t.name.originalName):!0}hasWebhookPayloadProperty(t,r){let i=this.webhookPayloadProperties[t];return i==null?!0:i.has(r)}};var qAo=class{types={};properties={};queryParameters={};requestProperties={};webhookProperties={};errors={};endpoints={};webhooks={};channels={};audiences;typesReferencedByService={};environmentsNeededForAudience=new Set;typesNeededForAudience=new Set;servicesNeededForAudience=new Set;endpointsNeededForAudience=new Set;webhooksNeededForAudience=new Set;channelsNeededForAudience=new Set;subpackagesNeededForAudience=new Set;constructor(t){this.audiences=VQD(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=Tg.generateTypeId(t),l={typeId:u,allDescendants:r,descendantsByAudience:n,referencedSubpackages:i};this.types[u]=l,this.typesReferencedByService[u]==null&&(this.typesReferencedByService[u]=new Set),this.properties[u]={typeId:u,propertiesByAudience:a}}markTypeForAudiences(t,r){let i=Tg.generateTypeId(t);this.hasAudience(r)&&(this.typesNeededForAudience.add(i),this.addSubpackages(t.fernFilepath),this.types[i]?.referencedSubpackages.forEach(n=>{this.addSubpackages(n)}))}markEnvironmentForAudiences(t,r,i){t&&(this.hasAudience(r)||i)&&this.environmentsNeededForAudience.add(t.id)}getTypesReferencedByService(){for(let t of Object.values(this.endpoints))for(let r of t.referencedTypes)this.markTypeForService(r,t.serviceId);return this.typesReferencedByService}addError(t){let r=Tg.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&KI(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=Tg.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,d=new Set;for(let s of[...t.headers,...r.headers])KI(s.valueType,u,d);for(let s of[...t.pathParameters,...r.pathParameters])KI(s.valueType,u,d);for(let s of r.queryParameters)KI(s.valueType,u,d);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=kbn(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&R7._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)AAo(o,u,d);for(let o of s.properties)KI(o.valueType,u,d);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&DT(i.request.body)){let o=kbn(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{KI(s,u,d)},fileUpload:({properties:s})=>{for(let o of s)Lte._visit(o,{file:ru,bodyProperty:({valueType:c})=>{KI(c,u,d)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&nC._visit(r.response.body,{fileDownload:ru,json:s=>{KI(s.responseBodyType,u,d)},streaming:s=>{s._visit({sse:o=>KI(o.payload,u,d),json:o=>KI(o.payload,u,d),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>KI(o.payload,u,d),json:o=>KI(o.payload,u,d),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&KI(s.nonStreamResponse.value.responseBodyType,u,d)},text:ru,bytes:ru,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(Tg.generateErrorId(s.error)),d.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:d}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=Tg.generateServiceId(t);this.servicesNeededForAudience.add(n),r.forEach(a=>{let u=a.id;this.endpointsNeededForAudience.add(u),this.endpoints[u]?.referencedSubpackages.forEach(l=>{this.addSubpackages(l)})}),this.servicesNeededForAudience.add(n),this.addSubpackages(t.fernFilepath)}}addWebhook(t,r,i){let n=r.id;if(n==null)return;let a=new Set,u=new Set;r.payload!=null&&$te._visit(r.payload,{inlinedPayload:l=>{for(let d of l.extends)AAo(d,a,u);for(let d of l.properties)KI(d.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!DAo(i.payload)){let d=kbn(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:d}}},reference:({payloadType:l})=>{KI(l,a,u)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),u.add(t.fernFilepath),this.webhooks[n]={webhookId:n,referencedTypes:a,referencedSubpackages:u}}markWebhookForAudiences(t,r,i){let n=r.id;n!=null&&this.hasAudience(i)&&(this.webhooksNeededForAudience.add(n),this.addSubpackages(t.fernFilepath))}addChannel(t,r,i,n){if(r==null)return;let a=new Set,u=new Set;for(let l of i.messages)Gte._visit(l.body,{reference:({bodyType:d})=>{KI(d,a,u)},inlinedBody:d=>{for(let s of d.extends)AAo(s,a,u);for(let s of d.properties)KI(s.valueType,a,u)},_other:()=>{}});u.add(t.fernFilepath),this.channels[r]={channelId:r,referencedTypes:a,referencedSubpackages:u}}markChannelForAudiences(t,r,i){r!=null&&this.hasAudience(i)&&(this.channelsNeededForAudience.add(r),this.addSubpackages(t.fernFilepath))}build(){let t=new Set,r=new Set;for(let l of this.endpointsNeededForAudience.keys()){let d=this.getEndpointNode(l);for(let s of d.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,d.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let d=this.getWebhookNode(l);this.addReferencedTypes(t,d.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let d=this.getChannelNode(l);this.addReferencedTypes(t,d.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,d]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}s.size>0&&(i[l]=s),i[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new MAo({types:t,properties:i,errors:r,requestProperties:n,queryParameters:a,environments:this.environmentsNeededForAudience,services:this.servicesNeededForAudience,endpoints:this.endpointsNeededForAudience,webhooks:this.webhooksNeededForAudience,webhookPayloadProperties:u,subpackages:this.subpackagesNeededForAudience,channels:this.channelsNeededForAudience})}markTypeForService(t,r){let i=this.typesReferencedByService[t]??=new Set;if(i.has(r))return;i.add(r);let n=this.getTypeNode(t);for(let a of n.allDescendants)this.markTypeForService(a,r)}addReferencedTypes(t,r){for(let i of r){if(t.has(i))continue;t.add(i);let n=this.getTypeNode(i);if(this.audiences.type==="filtered")for(let a of this.audiences.audiences){let u=n.descendantsByAudience[a];if(u!=null)u.forEach(l=>{t.add(l)});else{n.allDescendants.forEach(l=>{t.add(l)});break}}else n.allDescendants.forEach(a=>{t.add(a)})}}getTypeNode(t){let r=this.types[t];if(r==null)throw new Error(`Failed to find type node with id ${t}`);return r}getErrorNode(t){let r=this.errors[t];if(r==null)throw new Error(`Failed to find error node with id ${t}`);return r}getEndpointNode(t){let r=this.endpoints[t];if(r==null)throw new Error(`Failed to find endpoint node with id ${t}`);return r}getWebhookNode(t){let r=this.webhooks[t];if(r==null)throw new Error(`Failed to find webhook node with id ${t}`);return r}getChannelNode(t){let r=this.channels[t];if(r==null)throw new Error(`Failed to find channel node with id ${t}`);return r}hasNoAudiences(){return this.audiences.type==="none"}hasAudience(t){let r=this.audiences;switch(r.type){case"none":return!0;case"filtered":return t.some(i=>r.audiences.has(i));default:Go(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Tg.generateSubpackageId(i))}}};function VQD(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Go(e)}}function KI(e,t,r){F1._visit(e,{container:i=>{WQD(i,t,r)},named:i=>{AAo(i,t,r)},primitive:ru,unknown:ru,_other:ru})}function AAo(e,t,r){t.add(Tg.generateTypeId(e)),r.add(e.fernFilepath)}function WQD(e,t,r){ZE._visit(e,{list:i=>{KI(i,t,r)},map:i=>{KI(i.keyType,t,r),KI(i.valueType,t,r)},optional:i=>{KI(i,t,r)},nullable:i=>{KI(i,t,r)},set:i=>{KI(i,t,r)},literal:ru,_other:ru})}function Pb_({reference:e,referencedIn:t,imports:r}){let[i,n,...a]=e.split(".");if(i==null||a.length>0)return;if(n==null)return{endpointName:i,relativeFilepath:t};let l=r[i];if(l!=null)return{endpointName:n,relativeFilepath:uai({referencedIn:t,importPath:l})}}var Uqi=class{workspace;constructor(t){this.workspace=t}resolveEndpointOrThrow({endpoint:t,file:r}){let i=this.resolveEndpoint({endpoint:t,file:r});if(i==null)throw new Error("Cannot resolve endpoint: "+t+" in file "+r.relativeFilepath);return i}resolveEndpointByMethodAndPath({method:t,path:r}){let i;return Z3(this.workspace,(n,a,u)=>{let l=Xb({relativeFilepath:n,definitionFile:a,casingsGenerator:cai,rootApiFile:this.workspace.definition.rootApiFile.contents,defaultUrl:u.defaultUrl});for(let[d,s]of Object.entries(a.service?.endpoints??{}))s.method===t&&s.path===r&&(i={endpointId:d,endpoint:s,file:l})}),SAi(this.workspace,(n,a)=>{let u=Xb({relativeFilepath:n,definitionFile:a,casingsGenerator:cai,rootApiFile:this.workspace.definition.rootApiFile.contents});for(let[l,d]of Object.entries(a.service?.endpoints??{}))d.method===t&&d.path===r&&(i={endpointId:l,endpoint:d,file:u})}),i}resolveEndpoint({endpoint:t,file:r}){let n=new b1i().tryParse(t);if(n!=null)return this.resolveEndpointByMethodAndPath(n);let a=this.getDeclarationOfEndpoint({referenceToEndpoint:t,file:r});if(a==null)return;let u=a.file.definitionFile.service?.endpoints?.[a.endpointName];if(u!=null)return{endpointId:a.endpointName,endpoint:u,file:a.file}}getDeclarationOfEndpoint({referenceToEndpoint:t,file:r}){let i=Pb_({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(!(n==null||n.service?.endpoints?.[i.endpointName]==null))return{endpointName:i.endpointName,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var Vqi=class{workspace;constructor(t){this.workspace=t}getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Error does not exist: "+t);return i}getDeclaration(t,r){let i=RSe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.errors?.[i.typeName];if(a!=null)return{declaration:a,file:Xb({definitionFile:n,relativeFilepath:i.relativeFilepath,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var FSe=class{typeResolver;constructor(t){this.typeResolver=t}resolveAllReferencesInExample({example:t,file:r}){if(typeof t=="string"){let i=this.resolveExample({example:t,file:r});return i==null||typeof i.resolvedExample=="string"?i:this.resolveAllReferencesInExample({example:i.resolvedExample,file:i.file})}else if(bg(t)){let i={};for(let[n,a]of Object.entries(t)){let u=this.resolveAllReferencesInExample({example:a,file:r});if(u==null)return;i[n]=u.resolvedExample}return{resolvedExample:i}}else if(Array.isArray(t)){let i=[];for(let n of t){let a=this.resolveAllReferencesInExample({example:n,file:r});if(a==null)return;i.push(a.resolvedExample)}return{resolvedExample:i}}return{resolvedExample:t}}resolveAllReferencesInExampleOrThrow({example:t,file:r}){let i=this.resolveAllReferencesInExample({example:t,file:r});if(i==null)throw new Error("Failed to resolve examples");return i}resolveExample({example:t,file:r}){if(typeof t!="string")return{resolvedExample:t,file:r};if(t.startsWith(`\\${T$t}`))return{resolvedExample:t.slice(1),file:r};if(!t.startsWith(T$t))return{resolvedExample:t,file:r};let i=this.parseExampleReference(t);if(i==null)return;let n=this.typeResolver.getDeclarationOfNamedType({referenceToNamedType:i.rawTypeReference,file:r});if(n==null||typeof n.declaration=="string"||n.declaration.examples==null)return;let a=n.declaration.examples.find(u=>u.name===i.exampleName);if(a!=null)return this.resolveExample({example:a.value,file:n.file})}resolveExampleOrThrow({example:t,file:r}){let i=this.resolveExample({example:t,file:r});if(i==null)throw new Error("Cannot resolve example: "+t);return i}parseExampleReference(t){let[r,i,n,...a]=t.split(".");if(!(r==null||i==null||a.length>0))return n==null?{rawTypeReference:r.slice(T$t.length),exampleName:i}:{rawTypeReference:`${r}.${i}`.slice(T$t.length),exampleName:n}}};var TAo=class{typeResolver;endpointResolver;constructor(t,r){this.typeResolver=t,this.endpointResolver=r,this.typeResolver=t,this.endpointResolver=r}resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveRequestProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve request property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveRequestProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t});if(n.endpoint.request==null)return;if(typeof n.endpoint.request!="string")return this.resolveRequestPropertyFromInlinedRequest({typeResolver:this.typeResolver,file:n.file,requestType:n.endpoint.request,propertyComponents:i});let a=this.resolveObjectProperty({file:n.file,typeName:n.endpoint.request,propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:Vte.body(a)}}resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveResponseProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve response property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveResponseProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t}),a=this.resolveObjectProperty({file:n.file,typeName:(typeof n.endpoint.response!="string"?n.endpoint.response?.type:n.endpoint.response)??"",propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:a}}resolveRequestPropertyFromInlinedRequest({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(n.length===1){let a=n[0]??"",u=i["query-parameters"]?.[a]??void 0;if(u!=null)return{property:Vte.query(mAo({file:r,queryParameterKey:a,queryParameter:u})),propertyPath:void 0}}return this.resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n})}resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(i.body==null)return;if(typeof i.body=="string"){let u=this.resolveObjectProperty({file:r,typeName:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(u)}}if(DT(i.body)){let u=bUs({typeResolver:t,file:r,objectSchema:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(u)}}let a=this.resolveObjectProperty({file:r,typeName:i.body.type,propertyComponents:n});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(a)}}resolveObjectProperty({file:t,typeName:r,propertyComponents:i}){let n=this.typeResolver.resolveTypeOrThrow({type:r,file:t});return vUs({typeResolver:this.typeResolver,file:Coa(n)??t,resolvedType:n,propertyComponents:i})}propertyPathFromPropertyComponents({propertyComponents:t,file:r}){return t.length<=1?[]:t.slice(0,-1).map(i=>r.casingsGenerator.generateName(i))}};var wS=class{workspace;constructor(t){this.workspace=t}resolveTypeOrThrow({type:t,file:r}){let i=this.resolveType({type:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot find declaration of type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedType({referenceToNamedType:t,file:r}){let i=RSe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.types?.[i.typeName];if(a==null){let u=TI(i.typeName);if(u!=null){for(let l of Object.keys(n.types??{})??[])if(u.name&&l.startsWith(u.name)&&l.endsWith(">")){let d=n.types?.[l];return d!=null?{typeName:l,declaration:d,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}:void 0}}return}return{typeName:i.typeName,declaration:a,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}resolveType({type:t,file:r,objectPath:i=[]}){return yU({type:t,_default:void 0,validation:void 0,visitor:{primitive:n=>({_type:"primitive",primitive:n,originalTypeReference:F1.primitive(n)}),unknown:()=>({_type:"unknown",originalTypeReference:F1.unknown()}),map:({keyType:n,valueType:a})=>n!=null&&a!=null?{_type:"container",container:{_type:"map",keyType:n,valueType:a},originalTypeReference:F1.container(ZE.map({keyType:n.originalTypeReference,valueType:a.originalTypeReference}))}:void 0,list:n=>n!=null?{_type:"container",container:{_type:"list",itemType:n},originalTypeReference:F1.container(ZE.list(n.originalTypeReference))}:void 0,optional:n=>n!=null?{_type:"container",container:{_type:"optional",itemType:n},originalTypeReference:F1.container(ZE.optional(n.originalTypeReference))}:void 0,nullable:n=>n!=null?{_type:"container",container:{_type:"nullable",itemType:n},originalTypeReference:F1.container(ZE.nullable(n.originalTypeReference))}:void 0,set:n=>n!=null?{_type:"container",container:{_type:"set",itemType:n},originalTypeReference:F1.container(ZE.set(n.originalTypeReference))}:void 0,literal:n=>({_type:"container",container:{_type:"literal",literal:n},originalTypeReference:F1.container(ZE.literal(n))}),named:n=>{let a=this.getDeclarationOfNamedType({referenceToNamedType:n,file:r});if(a==null)return;let u={typeName:a.typeName,file:a.file.relativeFilepath,reference:n};if(!i.some(l=>l.file===u.file&&l.typeName===u.typeName))return this.resolveNamedTypeFromDeclaration({referenceToNamedType:n,referencedIn:r,rawDeclaration:a,objectPath:[...i,u]})}}})}resolveNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.resolveNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t);return i}resolveNamedType({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i!=null)return this.resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i})}resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i,objectPath:n=[]}){let{declaration:a,file:u}=i;if(Dkr(a))return this.resolveType({type:typeof a=="string"?a:a.type,file:u,objectPath:n});let l=xoa({type:t,_default:void 0,validation:void 0,file:r});if(!(l.type!=="named"||vie(this.workspace,u.relativeFilepath)==null))return{_type:"named",rawName:i.typeName,name:l,declaration:a,filepath:u.relativeFilepath,objectPath:n,originalTypeReference:l,file:u}}};var _8t=class e{static VARIABLE_PREFIX="$";getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Variable does not exist: "+t);return i}getDeclaration(t,r){if(!t.startsWith(e.VARIABLE_PREFIX))return;let i=r.rootApiFile.variables?.[t.substring(1)];if(i!=null)return{declaration:i,file:RLr({casingsGenerator:r.casingsGenerator,rootApiFile:r.rootApiFile})}}getVariableIdOrThrow(t){let r=this.getVariableId(t);if(r==null)throw new Error("Variable reference does not start with "+e.VARIABLE_PREFIX);return r}getVariableId(t){if(t.startsWith(e.VARIABLE_PREFIX))return t.substring(e.VARIABLE_PREFIX.length)}};function CAo(e,t){if(t){for(let[r,i]of Object.entries(t))if(typeof i!="string"&&r===e)return i.audiences}}function d4({workspace:e,generationLanguage:t,keywords:r,smartCasing:i,disableExamples:n,audiences:a,readme:u,packageName:l,version:d,context:s,fdrApiDefinitionId:o,includeOptionalRequestPropertyExamples:c,sourceResolver:b}){let g=ZKt({generationLanguage:t,keywords:r,smartCasing:i}),O=new qAo(a),m=RLr({casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents}),w=(e.definition.rootApiFile.contents.errors??[]).map(ut=>({error:sai({errorName:ut,file:m}),docs:void 0})),M=new wS(e),A=new Uqi(e),q=new TAo(M,A),D=new Vqi(e),C=new FSe(M),F=new _8t,G={fdrApiDefinitionId:o,apiVersion:Qv_({file:m,rawApiFileSchema:e.definition.rootApiFile.contents}),apiName:g.generateName(e.definition.rootApiFile.contents.name),apiDisplayName:e.definition.rootApiFile.contents["display-name"],apiDocs:_Ao(e.definition.rootApiFile.contents.docs),auth:Gv_({rawApiFileSchema:e.definition.rootApiFile.contents,file:m,propertyResolver:q,endpointResolver:A}),headers:e.definition.rootApiFile.contents.headers!=null?Object.entries(e.definition.rootApiFile.contents.headers).map(([ut,he])=>sze({headerKey:ut,header:he,file:m})):[],idempotencyHeaders:e.definition.rootApiFile.contents["idempotency-headers"]!=null?Object.entries(e.definition.rootApiFile.contents["idempotency-headers"]).map(([ut,he])=>sze({headerKey:ut,header:he,file:m})):[],types:{},errors:{},services:{},constants:Iv_(g),environments:wUs({casingsGenerator:g,rawApiFileSchema:e.definition.rootApiFile.contents}),errorDiscriminationStrategy:Zv_(e.definition.rootApiFile.contents["error-discrimination"],m),basePath:e.definition.rootApiFile.contents["base-path"]!=null?oze(e.definition.rootApiFile.contents["base-path"]):void 0,pathParameters:Zbn({pathParameters:e.definition.rootApiFile.contents["path-parameters"],file:m,location:bBe.Root,variableResolver:F}),variables:e.definition.rootApiFile.contents.variables!=null?Object.entries(e.definition.rootApiFile.contents.variables).map(([ut,he])=>({docs:typeof he!="string"?he.docs:void 0,id:ut,name:m.casingsGenerator.generateName(ut),type:m.parseTypeReference(he)})):[],serviceTypeReferenceInfo:{typesReferencedOnlyByService:{},sharedTypes:[]},webhookGroups:{},websocketChannels:{},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0},I=new wAo,V=ut=>{I.addSubpackage(ut.fernFilepath),Nj(ut.definitionFile,{imports:ru,docs:he=>{he!=null&&I.addDocs(ut.fernFilepath,he)},types:he=>{if(he!=null)for(let[Pe,Ot]of Object.entries(he)){if(yBe(Pe))continue;let wt=ub_({typeName:Pe,typeDeclaration:Ot,file:ut,typeResolver:M,exampleResolver:C,sourceResolver:b,workspace:e}),sr=wt.typeDeclaration;n&&(sr.userProvidedExamples=[],sr.autogeneratedExamples=[]);let ur=wt.descendantFilepaths,ii=Tg.generateTypeId(sr.name);G.types[ii]=sr,I.addType(ii,sr),O.addType({declaredTypeName:sr.name,descendantTypeIds:sr.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:wt.propertiesByAudience,descendantFilepaths:ur}),O.markTypeForAudiences(sr.name,Hy_(Ot))}},errors:he=>{if(he==null)return;if(e.definition.rootApiFile.contents["error-discrimination"]==null)throw new Error("error-discrimination is missing in api.yml but there are declared errors.");for(let[Ot,wt]of Object.entries(he)){let sr=Yv_({errorName:Ot,errorDeclaration:wt,file:ut,typeResolver:M,exampleResolver:C,workspace:e}),ur=Tg.generateErrorId(sr.name);G.errors[ur]=sr,I.addError(ur,sr),O.addError(sr)}},service:he=>{if(he==null)return;let Pe=Bv_({rootDefaultUrl:ut.defaultUrl??e.definition.rootApiFile.contents["default-url"],rootPathParameters:G.pathParameters,serviceDefinition:he,file:ut,errorResolver:D,typeResolver:M,propertyResolver:q,exampleResolver:C,sourceResolver:b,globalErrors:w,variableResolver:F,workspace:e}),Ot=Tg.generateServiceId(Pe.name);G.services[Ot]=Pe,I.addService(Ot,Pe);let wt={};Pe.endpoints.forEach(sr=>{n&&(sr.autogeneratedExamples=[],sr.userSpecifiedExamples=[]);let ur=he.endpoints[sr.name.originalName];O.addEndpoint(Pe,sr,ur),wt[sr.name.originalName]=sr}),he.audiences!=null&&O.markEndpointForAudience(Pe.name,Pe.endpoints,he.audiences),Object.entries(he.endpoints).map(([sr,ur])=>{let ii=wt[sr];ii!=null&&ur.audiences!=null&&O.markEndpointForAudience(Pe.name,[ii],ur.audiences)})},webhooks:he=>{if(he==null)return;let Pe=Tg.generateWebhookGroupId(ut.fernFilepath),Ot=eb_({webhooks:he,file:ut,typeResolver:M,exampleResolver:C,workspace:e}),wt={};for(let sr of Ot)wt[sr.name.originalName]=sr;Object.entries(he).forEach(([sr,ur])=>{let ii=wt[sr];ii!=null&&(O.addWebhook(ut,ii,ur),ur.audiences!=null&&O.markWebhookForAudiences(ut,ii,ur.audiences))}),G.webhookGroups[Pe]=Ot,I.addWebhookGroup(Pe,ut.fernFilepath)},channel:he=>{if(he==null)return;let Pe=Tg.generateWebSocketChannelId(ut.fernFilepath),Ot=Jv_({channel:he,file:ut,variableResolver:F,typeResolver:M,exampleResolver:C,workspace:e});O.addChannel(ut,Pe,Ot,he),he.audiences!=null&&O.markChannelForAudiences(ut,Pe,he.audiences),G.websocketChannels!=null&&(G.websocketChannels[Pe]=Ot,I.addWebSocketChannel(Pe,ut.fernFilepath))}})};Z3(e,(ut,he,Pe)=>{V(Xb({relativeFilepath:ut,definitionFile:he,casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents,defaultUrl:Pe.defaultUrl}))}),SAi(e,(ut,he)=>{if(he.navigation!=null)if(typeof he.navigation=="string")I.addPackageRedirection({from:Eie({relativeFilepath:ut,casingsGenerator:g}),to:Eie({relativeFilepath:nR(FCe(ut),Vh.of(he.navigation)),casingsGenerator:g})});else{let Pe=he.navigation.map(Ot=>Tg.generateSubpackageId(Eie({relativeFilepath:nR(FCe(ut),Vh.of(Ot)),casingsGenerator:g})));ut===I1?I.sortRootPackage(Pe):I.sortSubpackage(Tg.generateSubpackageId(Eie({relativeFilepath:ut,casingsGenerator:g})),Pe)}}),G.serviceTypeReferenceInfo=$QD(O);let H=n?G:HQD(G,s,!c),te=e.definition.rootApiFile.contents,J=wUs({casingsGenerator:g,rawApiFileSchema:te}),k=J?.environments._visit({singleBaseUrl:ut=>ut.environments.filter(he=>CAo(he.id,te.environments)!=null).length===0,multipleBaseUrls:ut=>ut.environments.filter(he=>CAo(he.id,te.environments)!=null).length===0,_other:()=>!1});J?.environments.environments.forEach(ut=>{O.markEnvironmentForAudiences(ut,CAo(ut.id,te.environments)??[],k)});let de=O.hasNoAudiences()?void 0:O.build(),me=GQD(H,de),ve=e.definition.rootApiFile.contents.auth!=null&&Object.values(me.services).every(ut=>ut.endpoints.every(he=>he.auth)),we=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.response?.body?.type==="streaming")),Xe=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.pagination!=null)),Mt=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.response?.body?.type==="fileDownload")),De={isAuthMandatory:ve,hasStreamingEndpoints:we,hasPaginatedEndpoints:Xe,hasFileDownloadEndpoints:Mt,platformHeaders:{language:"X-Fern-Language",sdkName:"X-Fern-SDK-Name",sdkVersion:"X-Fern-SDK-Version",userAgent:d!=null&&l!=null?{header:"User-Agent",value:`${l}/${d}`}:void 0}},Te=u!=null?kv_({readme:u,services:G.services}):void 0,{types:xt,services:Ee}=yb_(me),It={...me,...I.build(de),types:xt,services:Ee,sdkConfig:De,readmeConfig:Te};return{...It,dynamic:cb_(It)}}function HQD(e,t,r){for(let[i,n]of Object.entries(e.services))for(let a of n.endpoints){t.logger.debug(`Generating example for ${a.id}`);let u=Noa({ir:e,service:n,endpoint:a,typeDeclarations:e.types,skipOptionalRequestProperties:r??!0,generationResponse:{type:"success"}});if(u.type==="failure"){t.logger.debug(`Failed to generate example for ${a.id}. ${u.message}`);continue}let{example:l}=u;a.autogeneratedExamples=[{example:l}]}return e}function $QD(e){let t={},r=[],i=e.getTypesReferencedByService();for(let[n,a]of Object.entries(i)){if(a.size===1){let u=a.values().next().value;if(u==null)break;t[u]===void 0&&(t[u]=[]),t[u]?.push(n);continue}r.push(n)}return{typesReferencedOnlyByService:t,sharedTypes:r}}function GQD(e,t){if(t==null)return e;let r=Oji(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let d=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>mb_({filteredIr:t,exampleType:s})).filter(s=>s!==void 0),l.shape.type==="object"){for(let s of l.shape.properties)t.hasProperty(u,s.name.wireValue)&&d.push(s);return[u,{...l,shape:Nq.object({...l.shape,properties:d})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let d=l.filter(s=>t.hasWebhook(s)).map(s=>{let o=s.id;return s.payload.type==="inlinedPayload"&&o!=null&&(s.payload={...s.payload,properties:s.payload.properties.filter(c=>t.hasWebhookPayloadProperty(o,c.name.wireValue))}),s});return[u,d]})),a=e.environments;if(a){switch(a.environments.type){case"singleBaseUrl":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}case"multipleBaseUrls":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}}a.defaultEnvironment&&(t.hasEnvironmentId(a.defaultEnvironment)||(a.defaultEnvironment=void 0))}return{...e,environments:a,types:i,errors:Oji(e.errors,u=>t.hasError(u)),services:ud(Oji(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(d=>({...d,example:TUs({filteredIr:t,example:d.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(d=>({...d,example:d.example!=null?TUs({filteredIr:t,example:d.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(d=>t.hasQueryParameter(l.id,d.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(d=>t.hasRequestProperty(l.id,d.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:QQD(e.serviceTypeReferenceInfo,t)}}function QQD(e,t){if(t==null)return e;let r={};return Object.entries(e.typesReferencedOnlyByService).forEach(([i,n])=>{t.hasServiceId(i)&&(r[i]=n.filter(a=>t.hasTypeId(a)))}),{sharedTypes:e.sharedTypes.filter(i=>t.hasTypeId(i)),typesReferencedOnlyByService:r}}function jb_(e){throw new Error("Unexpected value: "+JSON.stringify(e))}var Sb_=Ei(fZu(),1);var wb_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function LSe(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,Sb_.default)(e,{special:wb_}).replace(/V\s(\d)/g,"V$1")}function Foa(e,t="type"){return{_visit:r=>{let i=r[e[t]];return i!=null?i(e):(r._other==null&&jb_(e),r._other(e))}}}function rYt(e){return typeof e.subpackageId=="string"}function YI(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function Wqi(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}var CUs="__package__",fai=class e{api;context;static create(t,r){return new e(t,r)}#e=new Map;#t=new Map;#r=new Map;#n=new Map;#i=new Map;#a=new Map;#o=new Map;#c=new Map;#l=new Map;#u=new Map;#s=new Map;static getSubpackageId(t){return rYt(t)?t.subpackageId:CUs}getSubpackageByIdOrLocator(t){if(t==null)return;let r=f4.SubpackageId(t);return r===CUs?this.api.rootPackage:this.api.subpackages[r]??this.#s.get(r)}resolveSubpackage(t){if(t!=null){for(;t?.pointsTo!=null;)t=this.api.subpackages[t.pointsTo];return t}}constructor(t,r){this.api=t,this.context=r,[t.rootPackage,...Object.values(t.subpackages)].forEach(i=>{let n=f4.SubpackageId(e.getSubpackageId(i)),a={endpoints:new Map,webSockets:new Map,webhooks:new Map};this.#o.set(n,a),i.endpoints.forEach(u=>{a.endpoints.set(u.id,u);let l=e.createEndpointId(u,n);this.#e.set(l,u);let d=[],s=[u.method];u.response?.type.type==="stream"&&s.push("STREAM"),s.forEach(o=>{d.push(`${o} ${YI(u.path.parts)}`),d.push(`${o} ${Wqi(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${zv(c.baseUrl,YI(u.path.parts))}`),d.push(`${o} ${zv(c.baseUrl,Wqi(u.path.parts))}`);let b=Db_(c);b!=null&&(d.push(`${o} ${zv(b,YI(u.path.parts))}`),d.push(`${o} ${zv(b,Wqi(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering endpoint locator: ${o}`),this.#c.set(o,u)})}),i.websockets.forEach(u=>{a.webSockets.set(u.id,u);let l=e.createWebSocketId(u,n);this.#t.set(l,u);let d=[];["GET","WSS"].forEach(o=>{d.push(`${o} ${YI(u.path.parts)}`),d.push(`${o} ${Wqi(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${zv(c.baseUrl,YI(u.path.parts))}`),d.push(`${o} ${zv(c.baseUrl,Wqi(u.path.parts))}`);let b=Db_(c);b!=null&&(d.push(`${o} ${zv(b,YI(u.path.parts))}`),d.push(`${o} ${zv(b,Wqi(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering websocket locator: ${o}`),this.#l.set(o,u)})}),i.webhooks.forEach(u=>{a.webhooks.set(u.id,u),this.#r.set(e.createWebhookId(u,n),u)})}),this.#e.forEach((i,n)=>{this.#n.set(i,n)}),this.#t.forEach((i,n)=>{this.#i.set(i,n)}),this.#r.forEach((i,n)=>{this.#a.set(i,n)}),this.#d(t.rootPackage,[])}#d(t,r){if(t==null)return;let i=rYt(t)?[...r,t.name]:r,n=i.length===0?[CUs]:i;if([n.join("."),n.join("/"),`${n.join(".")}.yml`].forEach(u=>{this.context?.logger.trace(`Registering subpackage locator: ${u}`),this.#s.set(u,t)}),t.pointsTo!=null)return this.#d(this.api.subpackages[t.pointsTo],i);t.endpoints.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering endpoint locator: ${s}`),this.#c.set(s,u)})}),t.websockets.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering websocket locator: ${s}`),this.#l.set(s,u)})}),t.webhooks.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering webhook locator: ${s}`),this.#u.set(s,u)})}),t.subpackages.forEach(u=>{this.#d(this.api.subpackages[u],i)})}get endpoints(){return this.#e}get webSockets(){return this.#t}get webhooks(){return this.#r}get endpointsByLocator(){return this.#c}get webSocketsByLocator(){return this.#l}get webhooksByLocator(){return this.#u}get subpackages(){return this.#o}get subpackagesByLocator(){return this.#s}getEndpointId(t){return this.#n.get(t)}getWebSocketId(t){return this.#i.get(t)}getWebhookId(t){return this.#a.get(t)}static createEndpointId(t,r){return zo.EndpointId(t.originalEndpointId??`${r}.${t.id}`)}static createWebSocketId(t,r){return zo.WebSocketId(`${r}.${t.id}`)}static createWebhookId(t,r){return zo.WebhookId(`${r}.${t.id}`)}};function Db_(e){if(e!=null){if(e.baseUrl.startsWith("/"))return e.baseUrl;if(e.baseUrl.startsWith("http")||e.baseUrl.startsWith("ws"))try{return new URL(e.baseUrl).pathname}catch{return}}}var t0n=Ei(vMo(),1),Mb_=Ei(bMo(),1);function Eb_(e){let t=e.split(".")[0];if(t==null)return;let i=/(^\d{1,4})-(\d{1,2})-(\d{1,4})/.exec(t)?.[0];if(i!=null)try{return new Date(i)}catch{}}t0n.default.extend(Mb_.default);var JQD="Changelog",KQD=["summary","index","overview"],FLr=class{markdownToFullSlug;changelogFiles;docsWorkspace;idgen;constructor(t,r,i,n){this.markdownToFullSlug=t,this.changelogFiles=r,this.docsWorkspace=i,this.idgen=n}toChangelogNode(t){let r=t.title??JQD,i=[],n;for(let c of this.changelogFiles??[]){let b=kXu(c.split("/"));if(b==null)continue;let g=Eb_(b);if(g==null){let m=b.split(".")[0]?.toLowerCase();m!=null&&KQD.includes(m)&&(n=c);continue}let O=this.toRelativeFilepath(c);i.push({date:g,pageId:zo.PageId(O),absoluteFilepath:c})}let a=t.parentSlug.apply({fullSlug:n!=null?this.markdownToFullSlug.get(n)?.split("/"):void 0,skipUrlSlug:!1,urlSlug:t.slug??x1(r)}),u=i.map(c=>{let b=t0n.default.utc(c.date);return{id:this.idgen.get(c.pageId),type:"changelogEntry",title:b.format("MMMM D, YYYY"),slug:a.apply({fullSlug:this.markdownToFullSlug.get(c.absoluteFilepath)?.split("/"),urlSlug:b.format("YYYY/M/D")}).get(),icon:void 0,hidden:void 0,date:c.date.toISOString(),pageId:c.pageId,noindex:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),l=BUs(u,c=>c.date,"desc"),d=n!=null?zo.PageId(this.toRelativeFilepath(n)):void 0,s=this.idgen.get(d??"changelog"),o=this.groupByYear(s,l,a);return{id:s,type:"changelog",title:r,slug:a.get(),icon:t.icon,hidden:t.hidden,children:o,overviewPageId:d,noindex:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:void 0}}orUndefined(){return this.changelogFiles!=null&&this.changelogFiles.length>0?this:void 0}groupByYear(t,r,i){let n=new Map;for(let a of r){let u=t0n.default.utc(a.date).year(),l=n.get(u)??[];l.push(a),n.set(u,l)}return BUs(Array.from(n.entries()).map(([a,u])=>{let l=i.append(a.toString()).get(),d=this.idgen.get(`${t}/year/${a}`);return{id:d,type:"changelogYear",title:a.toString(),year:a,slug:l,icon:void 0,hidden:void 0,children:this.groupByMonth(d,u,i),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"year","desc")}groupByMonth(t,r,i){let n=new Map;for(let a of r){let u=t0n.default.utc(a.date).month()+1,l=n.get(u)??[];l.push(a),n.set(u,l)}return BUs(Array.from(n.entries()).map(([a,u])=>{let l=(0,t0n.default)(new Date(0,a-1));return{id:this.idgen.get(`${t}/month/${a}`),type:"changelogMonth",title:l.format("MMMM YYYY"),month:a,slug:i.append(a.toString()).get(),icon:void 0,hidden:void 0,children:u,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"month","desc")}toRelativeFilepath(t){if(t!=null)return OT(this.docsWorkspace.absoluteFilePath,t)}};function BUs(e,t,r="asc"){return e.concat().sort((i,n)=>{let a=typeof t=="function"?t(i):i[t],u=typeof t=="function"?t(n):n[t];return a<u?r==="asc"?-1:1:a>u?r==="asc"?1:-1:0})}function BAo(e){if(e)return{environments:e.environments!=null&&e.environments.length>0?e.environments.map(t=>zo.V1.EnvironmentId(t)):void 0,button:e.button!=null&&e.button.href?{href:zo.V1.Url(e.button.href)}:void 0,"limit-websocket-messages-per-connection":e.limitWebsocketMessagesPerConnection!=null?e.limitWebsocketMessagesPerConnection:void 0}}function Loa({child:e,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i}){if(e.type==="apiPackage"){let n=zo.V1.SlugGenerator.init(e.slug),u=(t.get(e.id)??[]).flatMap(s=>r(s,n)),l=e.children.map(s=>Loa({child:s,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i})),d=i(l,u);return{...e,children:d,pointsTo:void 0}}return e}function r0n({children:e,findEndpointById:t,stringifyEndpointPathParts:r,disableEndpointPairs:i,apiDefinitionId:n}){if(i)return e;let a=[],u=new Map;return e.forEach(l=>{if(l.type!=="endpoint"){a.push(l);return}let d=t(l.endpointId);if(d==null)throw new Error(`Endpoint ${l.endpointId} not found`);let s=`${d.method} ${r(d)}`,o=u.get(s);if(u.set(s,l),o==null||o.isResponseStream===l.isResponseStream){a.push(l);return}let c=a.indexOf(o),b=l.isResponseStream?l:o,g=l.isResponseStream?o:l,O={id:zo.V1.NodeId(`${n}:${g.endpointId}+${b.endpointId}`),type:"endpointPair",stream:b,nonStream:g};a[c]=O}),a}function xAo({left:e,right:t,findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}){return r0n({children:[...e,...t],findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}).filter(u=>u.type==="apiPackage"?u.children.length>0:!0)}function iYt(e,t){if(t!=null)return OT(e.absoluteFilePath,t)}function IAo({docsWorkspace:e,page:t,parentSlug:r,idgen:i,markdownFilesToFullSlugs:n}){let a=zo.V1.PageId(iYt(e,t.absolutePath)),u=r.apply({fullSlug:n.get(t.absolutePath)?.split("/"),urlSlug:t.slug??x1(t.title)});return{id:i.get(a),type:"page",pageId:a,title:t.title,slug:u.get(),icon:t.icon,hidden:t.hidden,noindex:t.noindex,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}var zAo=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#e=fai.create(r,u),this.#u=d,this.#c=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??x1(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#s(this.apiSection.navigation,this.#e.api.rootPackage,this.#l)),this.#o=this.#y(this.#o.map(o=>this.#O(o)),this.#j(this.#e.api.rootPackage,this.#l))}get(){let t=zo.V1.followRedirects(this.#o),r=new FLr(this.markdownFilesToFullSlugs,this.workspace.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#u).orUndefined();return{id:this.#u.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#c,paginated:this.apiSection.paginated,slug:this.#l.get(),icon:this.apiSection.icon,hidden:this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#g(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#s(t,r,i){r=this.#e.resolveSubpackage(r);let n=r!=null?fai.getSubpackageId(r):void 0;return t.map(a=>Foa(a)._visit({link:u=>({id:this.#u.get(u.url),type:"link",title:u.text,icon:u.icon,url:zo.Url(u.url)}),page:u=>this.#d(u,i),package:u=>this.#h(u,i),section:u=>this.#_(u,i),item:({value:u})=>this.#p(u,n,i),endpoint:u=>this.#b(u,n,i)})).filter(vg)}#d(t,r){return IAo({page:t,parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,idgen:this.#u})}#h(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#e.getSubpackageByIdOrLocator(t.package);if(a!=null){let u=fai.getSubpackageId(a),l=this.#u.get(i??`${this.apiDefinitionId}:${u}`);this.#i.has(u)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${u}`),this.#i.add(u),this.#a.set(l,[u]);let d=t.slug??(rYt(a)?a.urlSlug:this.apiSection.slug??x1(this.apiSection.title)),s=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),o=this.#s(t.contents,a,s);return{id:l,type:"apiPackage",children:o,title:t.title??(rYt(a)?a.displayName??LSe(a.name):this.apiSection.title),slug:s.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??x1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#s(t.contents,void 0,l);return{id:this.#u.get(i??`${this.apiDefinitionId}:${x1(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#_(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#e.getSubpackageByIdOrLocator(o);return c!=null?fai.getSubpackageId(c):void 0}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(vg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??x1(t.title),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#s(t.contents,void 0,d);return{id:a,type:"apiPackage",children:s,title:t.title,slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#p(t,r,i){t=t.trim();let n=this.#e.getSubpackageByIdOrLocator(t);if(n!=null){let a=fai.getSubpackageId(n),u=this.#u.get(`${this.apiDefinitionId}:${a}`);this.#i.has(a)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a}`),this.#i.add(a),this.#a.set(u,[a]);let l=rYt(n)?n.urlSlug:"",d=i.apply({urlSlug:l});return{id:u,type:"apiPackage",children:[],title:rYt(n)?n.displayName??LSe(n.name):this.apiSection.title,slug:d.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}return this.#b({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i)}#b(t,r,i){let n=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.endpoints.get(f4.EndpointId(t.endpoint)):void 0)??this.#e.endpointsByLocator.get(t.endpoint);if(n!=null){let l=this.#e.getEndpointId(n);if(l==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);this.#t.has(l)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${l}`),this.#t.add(l);let d=t.slug!=null?i.append(t.slug):i.apply(n);return{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"endpoint",method:n.method,endpointId:l,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:t.title??n.name??YI(n.path.parts),slug:d.get(),icon:t.icon,hidden:t.hidden,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.webSockets.get(f4.WebSocketId(t.endpoint)):void 0)??this.#e.webSocketsByLocator.get(t.endpoint);if(a!=null){let l=this.#e.getWebSocketId(a);if(l==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return this.#r.has(l)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${l}`),this.#r.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webSocket",webSocketId:l,title:t.title??a.name??YI(a.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(a)).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let u=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.webhooks.get(f4.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(zo.V1.WebhookId(t.endpoint));if(u!=null){let l=this.#e.getWebhookId(u);if(l==null)throw new Error(`Expected Webhook ID for ${u.id}. Got undefined.`);return this.#n.has(l)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${l}`),this.#n.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webhook",webhookId:l,method:u.method,title:t.title??u.name??zv("/",...u.path),slug:(t.slug!=null?i.append(t.slug):i.apply(u)).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#y(t,r){return xAo({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>YI(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#O(t){return Loa({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#m(r,i),mergeAndFilterChildren:this.#y.bind(this)})}#j(t,r){let i=[];return t.endpoints.forEach(n=>{let a=this.#e.getEndpointId(n);if(a==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);if(this.#t.has(a))return;let u=r.apply(n);i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"endpoint",method:n.method,endpointId:a,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:n.name??YI(n.path.parts),slug:u.get(),icon:void 0,hidden:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.websockets.forEach(n=>{let a=this.#e.getWebSocketId(n);if(a==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);this.#r.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webSocket",webSocketId:a,title:n.name??YI(n.path.parts),slug:r.apply(n).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.webhooks.forEach(n=>{let a=this.#e.getWebhookId(n);if(a==null)throw new Error(`Expected Webhook ID for ${n.id}. Got undefined.`);this.#n.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webhook",webhookId:a,method:n.method,title:n.name??LSe(n.id),slug:r.apply(n).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.subpackages.forEach(n=>{if(this.#i.has(n))return;let a=this.#e.getSubpackageByIdOrLocator(n);if(a==null){this.taskContext.logger.error(`Subpackage ${n} not found in ${this.apiDefinitionId}`);return}let u=rYt(a)?r.apply(a):r,l=this.#m(n,u);l.length>0&&i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:l,title:rYt(a)?a.displayName??LSe(a.name):this.apiSection.title,slug:u.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&(i=i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)})),i}#m(t,r){let i=t!=null?this.#e.resolveSubpackage(this.#e.getSubpackageByIdOrLocator(t)):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#j(i,r)}#g(t){return BAo(t)}mergeEndpointPairs(t){return r0n({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>YI(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};function Ab_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}function qb_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}function Tb_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}var Uoa=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;#s=new Map;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.#e=r,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#u=d,this.#c=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??x1(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#b(this.apiSection.navigation,this.#l)),this.#o=this.#S(this.#o.map(o=>this.#P(o)),this.#M(this.#e,this.#l))}get(){let t=zo.V1.followRedirects(this.#o),r=new FLr(this.markdownFilesToFullSlugs,this.workspace?.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#u).orUndefined();return{id:this.#u.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#c,paginated:this.apiSection.paginated,slug:this.#l.get(),icon:this.apiSection.icon,hidden:this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#D(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#d(t){return this.#e?.subpackages[RP.api.v1.SubpackageId(t)]??this.#e?.subpackages[RP.api.v1.SubpackageId(t.replace(".yml","").replace(".yaml","").split(".").pop()??"")]??this.#e?.subpackages[RP.api.v1.SubpackageId(t.split("/").pop()??"")]}#h(t){return this.#e?.endpoints[RP.EndpointId(t)]??this.#e?.endpoints[RP.EndpointId(t.split(".").pop()??"")]??this.#e?.endpoints[RP.EndpointId(t.split("/").pop()??"")]??Object.values(this.#e?.endpoints??{}).find(r=>r.id.includes(t))??Object.values(this.#e?.endpoints??{}).find(r=>`${r.method} ${YI(r.path)}`===t)??Object.values(this.#e?.endpoints??{}).find(r=>`STREAM ${YI(r.path)}`===t)}#_(t){return this.#e?.websockets[RP.WebSocketId(t)]??this.#e?.websockets[RP.WebSocketId(t.split(".").pop()??"")]??this.#e?.websockets[RP.WebSocketId(t.split("/").pop()??"")]??Object.values(this.#e?.websockets??{}).find(r=>r.id.includes(t))}#p(t){return this.#e?.webhooks[RP.WebhookId(t)]??this.#e?.webhooks[RP.WebhookId(t.split(".").pop()??"")]??this.#e?.webhooks[RP.WebhookId(t.split("/").pop()??"")]??Object.values(this.#e?.webhooks??{}).find(r=>r.id.includes(t))}#b(t,r){return t.map(i=>Foa(i)._visit({link:n=>({id:this.#u.get(n.url),type:"link",title:n.text,icon:n.icon,url:zo.Url(n.url)}),page:n=>this.#y(n,r),package:n=>this.#O(n,r),section:n=>this.#j(n,r),item:({value:n})=>this.#m(n,r),endpoint:n=>this.#g(n,r)})).filter(vg)}#y(t,r){return IAo({docsWorkspace:this.docsWorkspace,page:t,parentSlug:r,idgen:this.#u,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs})}#O(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#d(t.package);if(a!=null){let u=this.#u.get(i??`${this.apiDefinitionId}:${a.id}`);this.#i.has(a.id)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a.id}`),this.#i.add(a.id),this.#a.set(u,[a.id]);let l=t.slug??a.name,d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,d),o={id:u,type:"apiPackage",children:s,title:t.title??a.displayName??LSe(a.name),slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.set(a.id,o),o}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??x1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#b(t.contents,l),s={id:this.#u.get(i??`${this.apiDefinitionId}:${x1(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.set(t.package,s),s}}#j(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#d(o);return c?.id}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(vg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??x1(t.title),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,d);return{id:a,type:"apiPackage",children:s,title:t.title,slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#m(t,r){t=t.trim();let i=this.#d(t);if(i!=null){let n=i.id,a=this.#u.get(`${this.apiDefinitionId}:${n}`);this.#i.has(n)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${n}`),this.#i.add(n),this.#a.set(a,[n]);let u=x1(i.name),l=r.apply({urlSlug:u}),d={id:a,type:"apiPackage",children:[],title:i.displayName??LSe(i.name),slug:l.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};return this.#s.set(n,d),d}return this.#g({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r)}#g(t,r){let i=this.#h(t.endpoint);if(i!=null){if(i.id==null)throw new Error(`Expected Endpoint ID for ${i.id}. Got undefined.`);this.#t.has(i.id)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${i.id}`),this.#t.add(i.id);let u=t.slug!=null?r.append(t.slug):r.apply({urlSlug:Ab_(i)});return{id:this.#u.get(`${this.apiDefinitionId}:${i.id}`),type:"endpoint",method:i.method,endpointId:i.id,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(i.availability),isResponseStream:i.responses?.[0]?.body.type==="stream",title:t.title??i.displayName??YI(i.path),slug:u.get(),icon:t.icon,hidden:t.hidden,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let n=this.#_(t.endpoint);if(n!=null){if(n.id==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);return this.#r.has(n.id)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${n.id}`),this.#r.add(n.id),{id:this.#u.get(`${this.apiDefinitionId}:${n.id}`),type:"webSocket",webSocketId:n.id,title:t.title??n.displayName??YI(n.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:qb_(n)})).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=this.#p(t.endpoint);if(a!=null){if(a.id==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);return this.#n.has(a.id)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${a.id}`),this.#n.add(a.id),{id:this.#u.get(`${this.apiDefinitionId}:${a.id}`),type:"webhook",webhookId:a.id,method:a.method,title:t.title??a.displayName??zv("/",...a.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:Tb_(a)})).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#S(t,r){return xAo({left:t,right:r,findEndpointById:i=>this.#h(i),stringifyEndpointPathParts:i=>YI(i.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#P(t){return Loa({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#f(r,i),mergeAndFilterChildren:this.#S.bind(this)})}#M(t,r){let i=[];return Object.entries(t.subpackages).forEach(([n,a])=>{if(this.#i.has(n))return;let u=r.apply({urlSlug:x1(a.name)}),l={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:[],title:a.displayName??LSe(a.name),slug:u.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};this.#s.set(n,l),i.push(l)}),Object.entries(t.endpoints).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Endpoint ID for ${a.id}. Got undefined.`);if(this.#t.has(RP.EndpointId(n)))return;let u=r.apply({urlSlug:Ab_(a)}),l={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"endpoint",method:a.method,endpointId:RP.EndpointId(n),apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),isResponseStream:a.responses?.[0]?.body.type==="stream",title:a.displayName??YI(a.path),slug:u.get(),icon:void 0,hidden:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let d=gg(a.namespace[0]);if(d!=null){let s=this.#s.get(d);if(s==null){this.taskContext.logger.error(`Subpackage ${d} not found in ${this.apiDefinitionId}`);return}let o=r.apply({urlSlug:x1(s.slug)});for(let c of a.namespace.slice(1)){let b=s.children.find(g=>g.type==="apiPackage"&&g.id===gg(c.toString()));o=o.append(x1(c)),b==null&&(b={id:zo.V1.NodeId(`${this.apiDefinitionId}:${c}`),type:"apiPackage",children:[],title:LSe(c),slug:o.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),b!=null&&b.type==="apiPackage"&&(s=b)}s.children.push(l)}}else i.push(l)}),Object.entries(t.websockets).forEach(([n,a])=>{if(n==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);if(this.#r.has(RP.WebSocketId(n)))return;let u={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webSocket",webSocketId:RP.WebSocketId(n),title:a.displayName??YI(a.path),slug:r.apply({urlSlug:qb_(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=gg(a.namespace[0]);if(l!=null){let d=this.#s.get(l);if(d==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:d.slug});for(let o of a.namespace.slice(1)){let c=d.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:zo.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:LSe(o),slug:s.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),c!=null&&c.type==="apiPackage"&&(d=c)}d.children.push(u)}}else i.push(u)}),Object.entries(t.webhooks).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);if(this.#n.has(RP.WebhookId(n)))return;let u={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webhook",webhookId:RP.WebhookId(n),method:a.method,title:a.displayName??LSe(a.id),slug:r.apply({urlSlug:Tb_(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=gg(a.namespace[0]);if(l!=null){let d=this.#s.get(l);if(d==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:d.slug});for(let o of a.namespace.slice(1)){let c=d.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:zo.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:o,slug:s.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),c!=null&&c.type==="apiPackage"&&(d=c)}d.children.push(u)}}else i.push(u)}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&(i=i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)})),i}#E(t){let r=Object.fromEntries(Object.entries(this.#e?.endpoints??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t))),i=Object.fromEntries(Object.entries(this.#e?.websockets??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t))),n=Object.fromEntries(Object.entries(this.#e?.webhooks??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t)));return{id:RP.ApiDefinitionId(t),endpoints:r,websockets:i,webhooks:n,types:{},subpackages:{},auths:{},globalHeaders:void 0}}#f(t,r){let i=t!=null?this.#E(t):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#M(i,r)}#D(t){return BAo(t)}mergeEndpointPairs(t){return r0n({children:t,findEndpointById:r=>this.#e?.endpoints[r],stringifyEndpointPathParts:r=>YI(r.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};var Cb_=Ei(require("crypto"),1);function YQD(e){return Cb_.default.createHash("sha256").update(e).digest("hex")}var RAo=class e{static init(){return new e}constructor(){}#e=new Map;#t=new Set;#r(t){let r=this.#e.get(t)??0;return this.#e.set(t,r+1),YQD(r===0?t:`${t}-${r}`)}#n(t){let r=this.#r(t),i=0;for(;this.#t.has(r);)if(r=this.#r(t),i++,i>100)throw new Error(`Infinite loop detected for id: ${t}`);return r}get(t){return zo.V1.NodeId(this.#n(t))}};function Bb_(e){return e==null?{}:{pythonSdk:e.python!=null?{package:typeof e.python=="string"?e.python:e.python.package,version:typeof e.python=="string"?void 0:e.python.version}:void 0,typescriptSdk:e.typescript!=null?{package:typeof e.typescript=="string"?e.typescript:e.typescript.package,version:typeof e.typescript=="string"?void 0:e.typescript.version}:void 0,goSdk:e.go!=null?{githubRepo:typeof e.go=="string"?e.go:e.go.package,version:typeof e.go=="string"?void 0:e.go.version}:void 0,javaSdk:e.java!=null?{coordinate:typeof e.java=="string"?e.java:e.java.package,version:typeof e.java=="string"?void 0:e.java.version}:void 0,rubySdk:e.ruby!=null?{gem:typeof e.ruby=="string"?e.ruby:e.ruby.package,version:typeof e.ruby=="string"?void 0:e.ruby.version}:void 0}}var NAo=Ei(C1e(),1);var xUs=Ei(C1e(),1);function xb_(e,t,r){let i=e.schemes[0];if(e.schemes.length===1&&i!=null)switch(i.type){case"basic":return{type:"basicAuth",passwordName:i.password.originalName,usernameName:i.username.originalName};case"bearer":return{type:"bearerAuth",tokenName:i.token.originalName};case"header":return{type:"header",headerWireValue:i.name.wireValue,nameOverride:i.name.name.originalName,prefix:i.prefix};case"oauth":{let n=i.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(a=>a.originalName).join(".")||"$.body.access_token";return r?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:xUs.FernRegistry.EndpointId(i.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:xUs.FernRegistry.JqString(n),headerName:i.configuration.tokenHeader,tokenPrefix:i.configuration.tokenPrefix}}}:{type:"bearerAuth",tokenName:"token"}}default:Go(i)}}var rj=Ei(C1e(),1);var dai=Ei(C1e(),1);function zb_(e){return e._visit({alias:t=>({type:"alias",value:jD(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:hN(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>dai.FernRegistry.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:dai.FernRegistry.PropertyKey(r.name.wireValue),valueType:jD(r.valueType),availability:hN(r.availability)})),extraProperties:kQD(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:dai.FernRegistry.PropertyKey(i.name.wireValue),valueType:jD(i.valueType),availability:hN(i.availability),description:i.docs}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?hN(i.availability):void 0,additionalProperties:Bc.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[dai.FernRegistry.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:dai.FernRegistry.PropertyKey(n.name.wireValue),valueType:jD(n.type),description:void 0,availability:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:jD(r.type),availability:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function jD(e){return e._visit({container:t=>Bc.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:jD(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:jD(r),valueType:jD(i)}),optional:r=>({type:"optional",itemType:jD(r),defaultValue:void 0}),nullable:r=>({type:"optional",itemType:jD(r),defaultValue:void 0}),set:r=>({type:"set",itemType:jD(r)}),literal:r=>Bc.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:dai.FernRegistry.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:Bc.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>ZQD(t.v2),float:()=>Ib_(t.v2),double:()=>Ib_(t.v2),string:()=>XQD(t.v2),long:()=>({type:"long",default:t.v2?.type==="long"?t.v2.default:void 0,minimum:void 0,maximum:void 0}),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>({type:"uint"}),uint64:()=>({type:"uint64"}),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function XQD(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function ZQD(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="integer"?e.default:void 0}}function Ib_(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="double"?e.default:void 0}}function kQD(e){return typeof e=="boolean"?e?F1.unknown():void 0:typeof e=="string"?{type:"id",value:dai.FernRegistry.TypeId(e),default:void 0}:jD(e)}function zUs(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?tJD(r,t):[],webhooks:i!=null?eJD(i):[],websockets:n!=null?[rJD(n,t)]:[],types:e.types.map(a=>rj.FernRegistry.TypeId(a)),subpackages:e.subpackages.map(a=>rj.FernRegistry.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?rj.FernRegistry.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function eJD(e){return e.map(t=>({description:t.docs??void 0,id:rj.FernRegistry.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??s$n(t.name.originalName),headers:t.headers.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:jD(r.valueType),availability:hN(r.availability)})),payload:lJD(t.payload),examples:t.examples!=null?t.examples.map(r=>({payload:r.payload.jsonExample})):[]}))}function tJD(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(l=>IUs({userSpecifiedExample:l,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(vg));else if(n!=null){let l=IUs({autogeneratedExample:n,irEndpoint:i,ir:t});l!=null&&a.push(l)}else if(i.response?.body?.type==="fileDownload"){let l=Noa({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(l.type==="success"){let d=IUs({autogeneratedExample:l,irEndpoint:i,ir:t});if(d!=null){let s={...d,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let u={availability:hN(i.availability??e.availability),auth:i.auth,description:i.docs??void 0,method:oJD(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?rj.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?iJD({environmentsConfig:t.environments,endpoint:i}):void 0,id:rj.FernRegistry.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??s$n(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(l=>({description:l.docs??void 0,key:rj.FernRegistry.PropertyKey(l.name.originalName),type:jD(l.valueType),availability:void 0})),parts:[...i0n(i.basePath),...i0n(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(l=>({description:l.docs??void 0,key:rj.FernRegistry.PropertyKey(l.name.originalName),type:jD(l.valueType),availability:void 0})),parts:[...t.basePath!=null?i0n(t.basePath):[],...i0n(e.basePath),...i0n(i.path)]},queryParameters:i.queryParameters.map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:jD(l.valueType),availability:hN(l.availability)})),headers:[...e.headers,...i.headers].map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:jD(l.valueType),availability:hN(l.availability)})),request:i.requestBody!=null?uJD(i.requestBody):void 0,response:i.response!=null?sJD(i.response):void 0,errors:void 0,errorsV2:cJD(i.errors,t),examples:a};r.push(u)}return r}function rJD(e,t){return{auth:e.auth,availability:hN(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?rj.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?nJD({environmentsConfig:t.environments,channel:e}):[],id:rj.FernRegistry.WebSocketId(e.name.originalName),name:e.displayName??s$n(e.name.originalName),path:{pathParameters:e.pathParameters.map(r=>({description:r.docs??void 0,key:rj.FernRegistry.PropertyKey(r.name.originalName),type:jD(r.valueType),availability:void 0})),parts:i0n(e.path)},headers:e.headers.map(r=>({key:r.name.wireValue,type:jD(r.valueType),description:r.docs,availability:hN(r.availability)})),queryParameters:e.queryParameters.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:jD(r.valueType),availability:hN(r.availability)})),messages:e.messages.map(r=>({type:rj.FernRegistry.api.v1.WebSocketMessageId(r.type),displayName:r.displayName,origin:r.origin,body:fJD(r.body),description:r.docs,availability:hN(r.availability)})),examples:e.examples.map(r=>({name:r.name?.originalName,description:r.docs,path:r.url,pathParameters:r.pathParameters.reduce((i,n)=>(i[rj.FernRegistry.PropertyKey(n.name.originalName)]=n.value.jsonExample,i),{}),queryParameters:r.queryParameters.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),headers:r.headers.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),messages:r.messages.map(i=>({type:rj.FernRegistry.api.v1.WebSocketMessageId(i.type),body:i.body.jsonExample}))}))}}function hN(e){if(e!=null)switch(e.status){case"DEPRECATED":return rj.FernRegistry.Availability.Deprecated;case"PRE_RELEASE":return rj.FernRegistry.Availability.Beta;case"GENERAL_AVAILABILITY":return rj.FernRegistry.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return rj.FernRegistry.Availability.Beta;default:Go(e.status)}}function iJD({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:rj.FernRegistry.EnvironmentId(n.id),baseUrl:n.url}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Expected environment ${n.id} to contain url for ${i}`);return{id:rj.FernRegistry.EnvironmentId(n.id),baseUrl:a}});default:Go(r)}}function nJD({environmentsConfig:e,channel:t}){let r=e.environments;switch(r.type){case"singleBaseUrl":return r.environments.map(i=>({id:rj.FernRegistry.EnvironmentId(i.id),baseUrl:aJD(i.url,"wss")}));case"multipleBaseUrls":throw new Error(`Multiple base URLs are not supported for WebSocket "${t.name.originalName}"`);default:Go(r)}}function aJD(e,t){return e.replace(/^[^:]+/,t)}function oJD(e){return Bc.http.HttpMethod._visit(e,{get:()=>rj.FernRegistry.HttpMethod.Get,post:()=>rj.FernRegistry.HttpMethod.Post,put:()=>rj.FernRegistry.HttpMethod.Put,patch:()=>rj.FernRegistry.HttpMethod.Patch,delete:()=>rj.FernRegistry.HttpMethod.Delete,_other:()=>{throw new Error("Unknown http method: "+e)}})}function i0n(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:rj.FernRegistry.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function uJD(e){let t=Bc.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??DB.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>rj.FernRegistry.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:rj.FernRegistry.PropertyKey(i.name.wireValue),valueType:jD(i.valueType),availability:hN(i.availability)})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??DB.APPLICATION_JSON,shape:{type:"reference",value:jD(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:u=>({type:"file",key:rj.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),fileArray:u=>({type:"fileArray",key:rj.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:rj.FernRegistry.PropertyKey(n.name.wireValue),valueType:jD(n.valueType),contentType:n.contentType,description:n.docs,availability:hN(n.availability)}),_other:()=>{}})).filter(vg)},description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function sJD(e){if(e.body==null)return;let t,r=Bc.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:jD(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:jD(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:jD(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}});if(r!=null)return{type:r,statusCode:e.statusCode,description:t}}function cJD(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:jD(n.type)},statusCode:n.statusCode,description:n.docs??void 0,name:n.name.name.originalName,availability:void 0,examples:n.examples.map(a=>({name:a.name?.originalName,responseBody:{type:"json",value:a.jsonExample},description:a.docs}))})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:rj.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0}];n.type!=null&&a.push({key:rj.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:jD(n.type),description:n.docs,availability:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,description:n.docs??void 0,availability:void 0,name:n.name.name.originalName,examples:n.examples.map(u=>({name:u.name?.originalName,responseBody:{type:"json",value:u.jsonExample},description:u.docs}))})}}return r}function IUs({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(l=>{let d=l.valueType.type==="container"&&l.valueType.container.type==="literal"?l.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):void 0;if(d!=null)return{name:l.name,value:{jsonExample:d,shape:Bc.ExampleTypeReferenceShape.primitive(Bc.ExamplePrimitive.string({original:d}))}}}).filter(vg),a=e?.example??t?.example;if(a==null)return;let{codeSamples:u}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((l,d)=>(l[rj.FernRegistry.PropertyKey(d.name.originalName)]=d.value.jsonExample,l),{}),queryParameters:a.queryParameters.reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:l=>{if(a.request==null)return;let d={};if(bg(a.request.jsonExample)){let s=a.request.jsonExample;for(let o of l.properties)o._visit({file:c=>{let b=s[c.key.wireValue];if(c.type==="file")d[c.key.wireValue]={type:"filename",value:typeof b=="string"?b:"<file1>"};else if(c.type==="fileArray"){let g=(Array.isArray(b)?b:[b]).filter(O=>typeof O=="string");d[c.key.wireValue]={type:"filenames",value:g}}},bodyProperty:c=>{d[c.name.wireValue]={type:"json",value:s[c.name.wireValue]}},_other:T2t})}return{type:"form",value:d}},bytes:()=>{},_other:()=>{}}),responseStatusCode:Bc.http.ExampleResponse._visit(a.response,{ok:l=>l._visit({body:d=>d!=null?200:204,stream:d=>d.length>0?200:204,sse:d=>d.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:({error:l})=>{let d=i.errors[l.errorId];if(d==null)throw new Error("Cannot find error "+l.errorId);return d.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:l=>l._visit({body:d=>d?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:l=>l.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:l=>l._visit({body:d=>d!=null?{type:"json",value:d.jsonExample}:void 0,stream:d=>({type:"stream",value:d.map(s=>s.jsonExample)}),sse:d=>({type:"sse",value:d.map(({event:s,data:o})=>({event:s,data:o.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:l=>l.body!=null?{type:"json",value:l.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:u?.map(l=>x1e._visit(l,{language:d=>({language:d.language,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:d.install}),sdk:d=>({language:d.sdk,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:void 0}),_other:()=>{}})).filter(vg)}}function lJD(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>rj.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:rj.FernRegistry.PropertyKey(t.name.wireValue),valueType:jD(t.valueType),availability:hN(t.availability)})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:jD(e.payloadType)},description:e.docs};default:Go(e)}}function fJD(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>rj.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:rj.FernRegistry.PropertyKey(t.name.wireValue),valueType:jD(t.valueType),availability:hN(t.availability)})),extraProperties:void 0};case"reference":return{type:"reference",value:jD(e.bodyType)};default:Go(e)}}function USe({ir:e,snippetsConfig:t,playgroundConfig:r}){let i={types:{},subpackages:{},rootPackage:zUs(e.rootPackage,e),auth:xb_(e.auth,e,r),snippetsConfiguration:t,globalHeaders:e.headers.map(n=>({availability:hN(n.availability),description:n.docs??void 0,key:n.name.wireValue,type:jD(n.valueType)})),navigation:void 0};for(let[n,a]of Object.entries(e.types))i.types[NAo.FernRegistry.TypeId(n)]={description:a.docs??void 0,name:a.name.name.originalName,shape:zb_(a.shape),availability:hN(a.availability)};for(let[n,a]of Object.entries(e.subpackages)){let u=a.service!=null?e.services[a.service]:void 0;i.subpackages[NAo.FernRegistry.api.v1.SubpackageId(n)]={subpackageId:NAo.FernRegistry.api.v1.SubpackageId(n),displayName:u?.displayName,name:a.name.originalName,description:a.docs??void 0,...zUs(a,e)}}return i}var RUs=Ei(C1e(),1);async function NUs({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:u}){let l=d4({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new l4(r,t)}),d=V1i({token:i.value}),s=USe({ir:l,snippetsConfig:a,playgroundConfig:u}),o=await d.api.v1.register.registerApiDefinition({orgId:RUs.FernRegistry.OrgId(e),apiId:RUs.FernRegistry.ApiId(l.apiName.originalName),definition:s});if(o.ok)return r.logger.debug(`Registered API Definition ${o.body.apiDefinitionId}`),{id:o.body.apiDefinitionId,ir:l};switch(o.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",o.error)}}var dJD=new Cqi({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function Voa(e,t,r){return voa(_oa(USe({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0},playgroundConfig:r}),f4.ApiDefinitionId(t),dJD))}var n0n=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};var ch={};Wo(ch,{AlgoliaSearchIndex:()=>Rb_,ApiDefinitionId:()=>n0_,ApiId:()=>s0_,Availability:()=>j0_,DocsConfigId:()=>c0_,EndpointId:()=>f0_,EndpointPathLiteral:()=>m0_,EnvironmentId:()=>l0_,FileId:()=>y0_,HttpMethod:()=>P0_,IndexSegmentId:()=>Nb_,JqString:()=>b0_,OrgId:()=>o0_,PageId:()=>h0_,PayloadLocation:()=>Y0_,PropertyKey:()=>g0_,PullRequestState:()=>$0_,RoleId:()=>O0_,TokenId:()=>u0_,TypeId:()=>_0_,Url:()=>v0_,VersionId:()=>a0_,WebSocketId:()=>d0_,WebhookId:()=>p0_,algolia:()=>FUs,api:()=>KUs,commons:()=>YUs,diff:()=>w0_,docs:()=>aVs,generators:()=>uVs,git:()=>sVs,navigation:()=>fVs,sdks:()=>pVs,snippets:()=>J0_,snippetsFactory:()=>K0_,templates:()=>_Vs,tokens:()=>X0_});var FUs={};Wo(FUs,{AlgoliaSearchIndex:()=>Rb_,IndexSegmentId:()=>Nb_});function Rb_(e){return e}function Nb_(e){return e}var KUs={};Wo(KUs,{latest:()=>VUs,v1:()=>JUs});var VUs={};Wo(VUs,{AuthSchemeId:()=>Fb_,WebhookHttpMethod:()=>Wb_,auth:()=>LUs,commons:()=>Lb_,endpoint:()=>Ub_,type_:()=>Vb_,webhook:()=>UUs,websocket:()=>Hb_});var LUs={};Wo(LUs,{AuthSchemeId:()=>Fb_});function Fb_(e){return e}var Lb_={};var Ub_={};var Vb_={};var UUs={};Wo(UUs,{WebhookHttpMethod:()=>Wb_});var Wb_={Get:"GET",Post:"POST"};var Hb_={};var JUs={};Wo(JUs,{SubpackageId:()=>e0_,WebSocketMessageId:()=>t0_,WebSocketMessageOrigin:()=>r0_,WebhookHttpMethod:()=>i0_,commons:()=>QUs,db:()=>WUs,read:()=>$Us,register:()=>GUs});var WUs={};Wo(WUs,{endpoint:()=>$b_});var $b_={};var $Us={};Wo($Us,{SupportedLanguage:()=>Gb_,endpoint:()=>HUs,type_:()=>Qb_,webhook:()=>Jb_,websocket:()=>Kb_});var HUs={};Wo(HUs,{SupportedLanguage:()=>Gb_});var Gb_={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby"};var Qb_={};var Jb_={};var Kb_={};var GUs={};Wo(GUs,{SourceId:()=>pJD,endpoint:()=>Yb_,type_:()=>Xb_,webhook:()=>Zb_,websocket:()=>kb_});var Yb_={};var Xb_={};var Zb_={};var kb_={};function pJD(e){return e}var QUs={};Wo(QUs,{SubpackageId:()=>e0_,WebSocketMessageId:()=>t0_,WebSocketMessageOrigin:()=>r0_,WebhookHttpMethod:()=>i0_});function e0_(e){return e}function t0_(e){return e}var r0_={Client:"client",Server:"server"};var i0_={Get:"GET",Post:"POST"};var YUs={};Wo(YUs,{ApiDefinitionId:()=>n0_,ApiId:()=>s0_,Availability:()=>j0_,DocsConfigId:()=>c0_,EndpointId:()=>f0_,EndpointPathLiteral:()=>m0_,EnvironmentId:()=>l0_,FileId:()=>y0_,HttpMethod:()=>P0_,JqString:()=>b0_,OrgId:()=>o0_,PageId:()=>h0_,PropertyKey:()=>g0_,RoleId:()=>O0_,TokenId:()=>u0_,TypeId:()=>_0_,Url:()=>v0_,VersionId:()=>a0_,WebSocketId:()=>d0_,WebhookId:()=>p0_});function n0_(e){return e}function a0_(e){return e}function o0_(e){return e}function u0_(e){return e}function s0_(e){return e}function c0_(e){return e}function l0_(e){return e}function f0_(e){return e}function d0_(e){return e}function p0_(e){return e}function _0_(e){return e}function h0_(e){return e}function y0_(e){return e}function v0_(e){return e}function b0_(e){return e}function g0_(e){return e}function O0_(e){return e}function m0_(e){return e}var P0_={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var j0_={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var w0_={};var aVs={};Wo(aVs,{latest:()=>kUs,v1:()=>iVs,v2:()=>nVs});var kUs={};Wo(kUs,{Layout:()=>D0_,MdxEngine:()=>_JD,TwitterCardSetting:()=>E0_,commons:()=>S0_,frontmatter:()=>XUs,seo:()=>ZUs});var _JD={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var S0_={};var XUs={};Wo(XUs,{Layout:()=>D0_});var D0_={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var ZUs={};Wo(ZUs,{TwitterCardSetting:()=>E0_});var E0_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var iVs={};Wo(iVs,{commons:()=>rVs,db:()=>M0_,read:()=>A0_,write:()=>eVs});var M0_={};var A0_={};var eVs={};Wo(eVs,{DocsRegistrationId:()=>yJD,FilePath:()=>hJD});function hJD(e){return e}function yJD(e){return e}var rVs={};Wo(rVs,{ContentAlignment:()=>B0_,FontDisplay:()=>N0_,FontStyle:()=>R0_,HeaderPosition:()=>x0_,JsScriptStrategy:()=>z0_,ProgrammingLanguage:()=>q0_,SearchbarPlacement:()=>T0_,TabsPlacement:()=>C0_,TwitterCardSetting:()=>I0_,commons:()=>tVs});var tVs={};Wo(tVs,{ContentAlignment:()=>B0_,FontDisplay:()=>N0_,FontStyle:()=>R0_,HeaderPosition:()=>x0_,JsScriptStrategy:()=>z0_,ProgrammingLanguage:()=>q0_,SearchbarPlacement:()=>T0_,TabsPlacement:()=>C0_,TwitterCardSetting:()=>I0_});var q0_={Typescript:"typescript",Javascript:"javascript",Python:"python",Java:"java",Go:"go",Ruby:"ruby",Csharp:"csharp",Nodets:"nodets",Nodejs:"nodejs",Dotnet:"dotnet",Curl:"curl",Jvm:"jvm",Ts:"ts",Js:"js"};var T0_={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var C0_={Header:"HEADER",Sidebar:"SIDEBAR"};var B0_={Center:"CENTER",Left:"LEFT"};var x0_={Fixed:"FIXED",Absolute:"ABSOLUTE"};var I0_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var z0_={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var R0_={Normal:"normal",Italic:"italic"};var N0_={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var nVs={};Wo(nVs,{read:()=>F0_,write:()=>L0_});var F0_={};var L0_={};var uVs={};Wo(uVs,{ChangelogEntryType:()=>V0_,GeneratorId:()=>vJD,GeneratorLanguage:()=>bJD,ReleaseType:()=>W0_,cli:()=>U0_,commons:()=>oVs,versions:()=>H0_});var U0_={};var oVs={};Wo(oVs,{ChangelogEntryType:()=>V0_,ReleaseType:()=>W0_});var V0_={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var W0_={Ga:"GA",Rc:"RC"};var H0_={};function vJD(e){return e}var bJD={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var sVs={};Wo(sVs,{PullRequestState:()=>$0_});var $0_={Open:"open",Closed:"closed",Merged:"merged"};var fVs={};Wo(fVs,{latest:()=>cVs,v1:()=>lVs});var cVs={};Wo(cVs,{NodeId:()=>mJD,ProductId:()=>PJD,Slug:()=>gJD,TabId:()=>OJD});function gJD(e){return e}function OJD(e){return e}function mJD(e){return e}function PJD(e){return e}var lVs={};Wo(lVs,{NavigationV1Availability:()=>EJD,NodeId:()=>SJD,ProductId:()=>DJD,Slug:()=>jJD,TabId:()=>wJD});function jJD(e){return e}function wJD(e){return e}function SJD(e){return e}function DJD(e){return e}var EJD={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var pVs={};Wo(pVs,{Language:()=>G0_,VersionBump:()=>Q0_,versions:()=>dVs});var dVs={};Wo(dVs,{Language:()=>G0_,VersionBump:()=>Q0_});var G0_={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var Q0_={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var J0_={};var K0_={};var _Vs={};Wo(_Vs,{PayloadLocation:()=>Y0_});var Y0_={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var X0_={};function FAo({endpoints:e,webhookEndpoints:t}){let r={};return e!=null&&Object.values(e).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[ch.api.v1.SubpackageId(KKt(n))]={id:ch.api.v1.SubpackageId(KKt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),t!=null&&Object.values(t).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[ch.api.v1.SubpackageId(KKt(n))]={id:ch.api.v1.SubpackageId(KKt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),r}var LAo=class{errors=new n0n},a0n=class{input;context;constructor(t,r){this.input=t,this.context=r}errors(){return this.context.errors.errors}warnings(){return this.context.errors.warnings}};function Z0_(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var UAo=class extends LAo{},tp=class extends a0n{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,this.pathId!=null&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(...Array.isArray(this.pathId)?this.pathId:[this.pathId]),r.logger.debug(`Processing ${Z0_(this.accessPath)}`))}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}},lM=class extends tp{};var k0_="x-fern-base-path",eg_="x-fern-availability",tg_="x-fern-sdk-group-name",rg_="x-fern-global-headers",ig_="x-fern-sdk-method-name",ng_="x-fern-groups",ag_="x-fern-webhook",og_="x-fern-access-token-locator",ug_="x-fern-basic",sg_="x-fern-username-variable-name",cg_="x-fern-password-variable-name",lg_="x-fern-bearer",fg_="x-fern-token-variable-name",dg_="x-fern-header",pg_="x-fern-header-variable-name",_g_="x-fern-server-name",hg_="x-fern-examples";var VAo=class extends tp{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_g_]}convert(){if(this.serverName!=null)return this.serverName}};var WAo=class extends tp{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=this.input.url,this.serverName=new VAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.serverName?.convert()??this.url;if(!(this.url==null||t==null))return{id:ch.EnvironmentId(t),baseUrl:this.url}}};function nYt(e,t,r,i){return[...e??[],...(t??[]).map((n,a)=>new WAo({input:n,context:r,accessPath:i,pathId:["servers",`${a}`]}))]}function rp(e){return e!=null}function fM(e){return typeof e=="object"&&rp(e)&&"$ref"in e&&typeof e.$ref=="string"}function p4(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(fM(n)&&(n=p4(n,t,r)),n)}function yg_(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return fM(r)?p4(r,t,void 0):r}var jg_=Ei(xT());var HAo=class extends tp{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ug_];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var $Ao=class extends tp{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[cg_]}convert(){return this.passwordVariableName}};var GAo=class extends tp{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[sg_]}convert(){return this.usernameVariableName}};var QAo=class extends tp{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[lg_];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var JAo=class extends tp{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[fg_]}convert(){return this.tokenVariableName}};function vg_(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var bg_="x-bearer-format",gg_="x-code-samples",Og_="x-codeSamples";var KAo=class extends tp{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[bg_]}convert(){return this.bearerFormat}};var YAo=class extends tp{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[dg_];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var XAo=class extends tp{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[pg_]}convert(){return this.headerVariableName}};function mg_(e){return e.type==="apiKey"}var o0n=class extends tp{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){mg_(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new YAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new XAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new KAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function ZAo(e,t,r,i){if(t==null)return;let n=t.split("/").at(-1);if(n!=null)return`endpoint_${KKt(e!=null?typeof e=="string"?e:e.join("_"):"")}.${KKt(r??"")||i||KKt(n)}`}function Pg_(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var kAo=class extends tp{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[og_],this.accessTokenLocator!=null&&(Pg_(this.accessTokenLocator)||(this.context.errors.error({message:"Invalid access token locator, must be a valid jq path",path:this.accessPath}),this.accessTokenLocator=void 0))}convert(){return this.accessTokenLocator}};var eqo=class extends tp{authorizationUrl;headerAuthNode;accessTokenLocatorNode;constructor(t){super(t),this.safeParse()}parse(){if(this.input.flows.clientCredentials!=null){let t=this.input.flows.clientCredentials;this.authorizationUrl=t.tokenUrl,this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.headerAuthNode=new o0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new kAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.accessTokenLocatorNode?.accessTokenLocator==null&&this.context.errors.error({message:"Expected 'x-fern-access-token-locator' property to be specified",path:this.accessPath})}}convert(){let t=this.accessTokenLocatorNode?.convert();if(t==null||this.authorizationUrl==null)return;let r=ZAo("post",this.authorizationUrl,void 0,void 0);if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:ch.EndpointId(r),accessTokenLocator:ch.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var tqo=class extends tp{authScheme;headerAuthNode;bearerTokenNode;bearerTokenVariableNameNode;basicAuthNode;basicUsernameVariableNameNode;basicPasswordVariableNameNode;oauth2Node;constructor(t){super(t),this.safeParse()}parse(){switch(this.input.type){case"http":switch(this.input.scheme){case"basic":{this.authScheme="basic",this.basicAuthNode=new HAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new GAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new $Ao({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),(this.basicAuthNode==null||this.basicAuthNode.username==null&&this.basicUsernameVariableNameNode?.usernameVariableName==null||this.basicAuthNode.password==null&&this.basicPasswordVariableNameNode?.passwordVariableName==null)&&this.context.errors.warning({message:"Basic auth should specify either a username or a username variable name",path:this.accessPath});break}case"bearer":{this.authScheme="bearer",this.bearerTokenNode=new QAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new JAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}default:{this.context.errors.warning({message:`Unsupported HTTP auth scheme: ${this.input.scheme}`,path:this.accessPath});break}}break;case"apiKey":{vg_(this.input)?(this.authScheme="header",this.headerAuthNode=new o0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})):this.context.errors.error({message:`Unsupported API key location: ${this.input.in}`,path:this.accessPath});break}case"oauth2":{this.authScheme="oauth",this.oauth2Node=new eqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}case"openIdConnect":{this.authScheme="bearer";break}}}convert(){switch(this.authScheme){case"basic":{let t=this.basicAuthNode?.convert();return{type:"basicAuth",usernameName:t?.username?.name??this.basicUsernameVariableNameNode?.convert(),passwordName:t?.password?.name??this.basicPasswordVariableNameNode?.convert()}}case"bearer":return{type:"bearerAuth",tokenName:this.bearerTokenNode?.convert()?.tokenVariableName??this.bearerTokenVariableNameNode?.convert()};case"header":return this.headerAuthNode?.convert();case"oauth":return this.oauth2Node?.convert();case void 0:return;default:new jg_.UnreachableCaseError(this.authScheme);return}}};var u0n=class extends tp{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=yg_(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new tqo({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(rp))}};var rqo=class extends tp{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[k0_],this.basePath!=null?(this.basePath.startsWith("/")&&(this.basePath=this.basePath.slice(1)),this.basePath.endsWith("/")&&(this.basePath=this.basePath.slice(0,-1))):this.basePath=void 0}convert(){return this.basePath}};function AA(e){if(e!=null)return Array.isArray(e)?e:[e]}var Ng_=Ei(xT());function LLr(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}var wg_=Ei(xT());var hVs=["decimal","decimal128","double-int","double","float","sf-decimal"],yVs=["int16","int32","int64","int8","sf-integer","uint8"],vVs=["base64url","binary","byte","char","commonmark","date-time","date","decimal","decimal128","duration","email","hostname","html","http-date","idn-email","idn-hostname","int64","ipv4","ipv6","iri-reference","iri","json-pointer","media-range","password","regex","relative-json-pointer","sf-binary","sf-boolean","sf-string","sf-token","time","uri-reference","uri-template","uri","uuid"],bVs=["beta","pre-release","in-development","generally-available","deprecated"];function _4(e,t){return fM(e)?p4(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var cze=class extends tp{availability;constructor(t){super(t),this.safeParse()}parse(){if(_4(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[eg_];r!=null&&(bVs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${bVs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return ch.Availability.Beta;case"in-development":return ch.Availability.InDevelopment;case"generally-available":return ch.Availability.GenerallyAvailable;case"deprecated":return ch.Availability.Deprecated;case void 0:return;default:new wg_.UnreachableCaseError(this.availability);return}}};function s0n(e){return typeof e.type=="string"&&e.type==="array"}function Sg_(e){return e.type==="boolean"}function Dg_(e){return e.type==="integer"}function c0n(e){return!Array.isArray(e.type)&&!s0n(e)}function Eg_(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||c0n(t)||s0n(t))}function Mg_(e){return"nullable"in e&&typeof e.nullable=="boolean"}function Ag_(e){return e.type==="null"}function qg_(e){return e.type==="number"}function Woa(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function Tg_(e){return e.type==="string"}var iqo=class extends lM{constValue;description;availability;constructor(t){super(t),this.safeParse()}parse(){this.input.const!=null&&(typeof this.input.const=="string"||typeof this.input.const=="number"||typeof this.input.const=="boolean")?this.constValue=this.input.const.toString():this.context.errors.warning({message:`Unsupported const type: ${typeof this.input}`,path:this.accessPath}),this.description=this.input.description,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"})}convert(){if(this.constValue!=null)return{type:"enum",default:this.constValue,values:[{value:this.constValue,description:this.description,availability:this.availability?.convert()}]}}example(){return this.input.example??this.input.examples?.[0]??this.constValue}};var nqo=class extends lM{typeNodes;nullable;constructor(t){super(t),this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}).filter(rp)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>AA(n.convert())?.map(u=>({displayName:n.name,shape:u,description:n.description,availability:n.availability?.convert()}))).filter(rp).reduce((n,a)=>n.flatMap(u=>a.length>0?a.map(l=>[...u,l]):[[...u]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(LLr).filter(rp):i}example(){return this.typeNodes?.[0]?.example()}};function Cg_(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function aqo(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>AA(n.convert())?.map(u=>(t!=null&&!t.includes(i)&&(u=Cg_(u,u.type==="enum"?u.default:void 0)),{key:ch.PropertyKey(i),valueShape:u,description:n.description,availability:n.availability?.convert()})).filter(rp)).filter(rp).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]])}var Bg_="#/components/schemas/";function oqo(e){if(e.$ref.startsWith(Bg_))return e.$ref.replace(Bg_,"")}function l0n(e){return e!=null&&e.length>0?e:[void 0]}var pai=class extends lM{description;extends=[];properties;extraProperties;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new qA({input:r,context:this.context,accessPath:this.accessPath,pathId:this.pathId})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new qA({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:this.pathId}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map(t=>{if(fM(t))return oqo(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([r,i])=>[r,new qA({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]))}}).filter(rp))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return aqo(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"unknown",displayName:this.extraProperties}]:AA(this.extraProperties.convert())?.map(r=>r.type==="alias"?r.value:void 0).filter(rp)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>l0n(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:{type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:{type:"alias",value:n}}}:{type:"object",extends:this.extends.map(a=>ch.TypeId(a)),properties:i,extraProperties:n}))}example(){let t={...this.properties};return this.input.allOf?.forEach(r=>{let i=_4(r,this.context.document);i!=null&&(t={...t,...Object.fromEntries(Object.entries(i.properties??{}).map(([n,a])=>[n,new qA({input:a,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]))})}),this.input.example??this.input.examples?.[0]??(this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((r,i)=>(r[i]=t?.[i]?.example(),r),{}):Object.entries(t).reduce((r,[i,n])=>(r[i]=n?.example(),r),{}))}};var uqo=class extends lM{isUnionOfObjects;isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;constructor(t){super(t),this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isUnionOfObjects=(this.input.oneOf??this.input.anyOf)?.every(t=>_4(t,this.context.document)?.type==="object"),this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>_4(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>_4(t,this.context.document)?.type!=="null"?new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId}):void 0).filter(rp);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=_4({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new qA({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i})})}}}convert(){if(!this.isUnionOfObjects&&!this.discriminated){let i=this.undiscriminatedMapping?.flatMap(n=>n.convert()).filter(rp);return this.isNullable&&i!=null?i.map(LLr).filter(rp):i}if(this.discriminated==null||this.discriminated&&(this.discriminant==null||this.discriminatedMapping==null)||!this.discriminated&&this.undiscriminatedMapping==null)return;let t=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:ch.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,n])=>AA(n.convert())?.map(u=>{if(!(u==null||u.type!=="object"))return{discriminantValue:i,displayName:n.name,availability:n.availability?.convert(),description:n.description,...u}}).filter(rp)).filter(rp)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>AA(i.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{displayName:i.name,shape:a,description:i.description,availability:i.availability?.convert()}}).filter(rp)).filter(rp)}:void 0,r=this.isNullable?LLr(t):t;return r!=null?[r]:void 0}example(){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example()??Object.values(this.discriminatedMapping??{})[0]?.example()}};var sqo=class extends lM{default;constructor(t){super(t),this.safeParse()}parse(){this.input.default!=null&&typeof this.input.default!="boolean"&&this.context.errors.warning({message:`Expected default value to be a boolean. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default}convert(){return{type:"alias",value:{type:"primitive",value:{type:"boolean",default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??!1}};var f0n=class extends lM{default;values=[];constructor(t){super(t),this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(fM(r)){let n=_4(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(rp),this.values=Array.from(new Set(this.values))}this.default=this.input.default}convert(){return{type:"enum",values:this.values.map(t=>({value:t,description:void 0,availability:void 0})),default:this.default}}example(){return this.input.example??this.input.examples?.[0]??this.default??this.values[0]}};var xg_=Ei(xT());function MJD(e){return yVs.includes(e)}var cqo=class extends lM{format;minimum;maximum;default;constructor(t){super(t),this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be an integer. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(MJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${yVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="integer";if(this.format!=null)switch(this.format){case"int64":t="long";break;case"int8":case"int16":case"int32":case"uint8":case"sf-integer":case void 0:t="integer";break;default:new xg_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??0}};var lqo=class extends lM{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return LLr({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var Ig_=Ei(xT());function AJD(e){return hVs.includes(e)}var fqo=class extends lM{format;minimum;maximum;default;constructor(t){super(t),this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be a number. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(AJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${hVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="double";if(this.format!=null)switch(this.format){case"decimal":case"decimal128":case"double-int":case"double":case"float":case"sf-decimal":case void 0:t="double";break;default:new Ig_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??0}};var zg_=Ei(xT());function qJD(e){return vVs.includes(e)}var dqo=class extends lM{format;regex;default;minLength;maxLength;enum;mimeType;constructor(t){super(t),this.safeParse()}mapToFdrType(t){switch(t){case"base64url":case"binary":case"byte":case"sf-binary":return"base64";case"date-time":return"datetime";case"int64":return"bigInteger";case"date":return"date";case"uuid":return"uuid";case"char":case"commonmark":case"decimal":case"decimal128":case"duration":case"email":case"hostname":case"html":case"http-date":case"idn-email":case"idn-hostname":case"ipv4":case"ipv6":case"iri-reference":case"iri":case"json-pointer":case"media-range":case"password":case"regex":case"relative-json-pointer":case"sf-boolean":case"sf-string":case"sf-token":case"time":case"uri-reference":case"uri-template":case"uri":case void 0:return"string";default:return new zg_.UnreachableCaseError(t),"string"}}parse(){this.regex=this.input.pattern,this.minLength=this.input.minLength,this.maxLength=this.input.maxLength,this.mimeType=this.input.contentMediaType,this.input.default!=null&&typeof this.input.default!="string"&&this.context.errors.warning({message:`Expected default value to be a string. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(qJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${vVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new f0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum"}))}convert(){if(this.enum!=null)return this.enum.convert();let t="string";return this.format!=null&&(t=this.mapToFdrType(this.format)),{type:"alias",value:{type:"primitive",value:t==="base64"?{type:t,mimeType:this.mimeType,default:this.default}:{type:t,format:t==="string"?this.format:void 0,regex:this.regex,minLength:this.minLength,maxLength:this.maxLength,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??"string"}};var Rg_=Ei(xT());var pqo=class extends lM{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,Rg_.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var d0n=class extends lM{schemaId;constructor(t){super(t),this.safeParse()}parse(){this.schemaId=oqo(this.input),this.schemaId==null&&this.context.errors.error({message:`Unprocessable reference: ${this.input.$ref}`,path:this.accessPath})}convert(){if(this.schemaId!=null)return{type:"alias",value:{type:"id",id:ch.TypeId(this.schemaId),default:void 0}}}example(){let t=_4(this.input,this.context.document);if(t!=null)return new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).example()}};var qA=class extends lM{typeShapeNode;nullable;description;name;examples;availability;constructor(t){super(t),this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.nullable=c0n(this.input)&&Mg_(this.input)?this.input.nullable:void 0,fM(this.input))this.typeShapeNode=new d0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new iqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(Eg_(this.input))this.typeShapeNode=new nqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(c0n(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new uqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(Woa(this.input)&&this.input.allOf!=null)this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(c0n(this.input)&&this.input.enum!=null)this.typeShapeNode=new f0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(typeof this.input.type=="string")switch(this.input.type){case"object":Woa(this.input)&&(this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"array":s0n(this.input)&&(this.typeShapeNode=new _qo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"boolean":Sg_(this.input)&&(this.typeShapeNode=new sqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"integer":Dg_(this.input)&&(this.typeShapeNode=new cqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"number":qg_(this.input)&&(this.typeShapeNode=new fqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"string":Tg_(this.input)&&(this.typeShapeNode=new dqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"null":Ag_(this.input)&&(this.typeShapeNode=new lqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;default:new Ng_.UnreachableCaseError(this.input.type);break}else this.input.properties!=null&&(this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));this.typeShapeNode==null&&(this.typeShapeNode=new pqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.context.errors.error({message:"Expected type declaration. Received: null",path:this.accessPath}))}convert(){let t=this.typeShapeNode?.convert();if(t==null)return;let r=AA(t)?.map(i=>this.nullable?LLr(i):i).filter(rp);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(){return this.typeShapeNode?.example()}};var _qo=class extends lM{item;constructor(t){super(t),this.safeParse()}parse(){this.item=new qA({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items"}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return AA(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(){return this.input.example??this.input.examples?.[0]??[this.item?.example()]}};var p0n=class extends tp{typeSchemas;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas==null?this.context.errors.warning({message:"Expected 'schemas' property to be specified",path:this.accessPath}):this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new qA({input:r,context:this.context,accessPath:this.accessPath,pathId:t})]))}convert(){if(this.typeSchemas!=null)return Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=AA(r.convert());return n==null?[t,void 0]:[ch.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>rp(r)))}};var hqo=class extends tp{globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.globalHeaders=this.input[rg_]?.map(t=>{let{header:r,...i}=t;return[r,new qA({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]})}convert(){return this.globalHeaders?.flatMap(([t,r])=>AA(r.convert())?.map(n=>({key:ch.PropertyKey(t),valueShape:n,description:r.description,availability:r.availability?.convert()}))).filter(rp)}};var Fg_=Ei(xT());var yqo=class extends tp{groups;constructor(t){super(t),this.safeParse()}parse(){this.groups=this.input[ng_]}convert(){(0,Fg_.noop)()}};function Lg_(e){return"payloads"in e&&e.payloads!=null}function Ug_(e,t){return p4(e,t,void 0)}function Vg_(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function Wg_(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var bqo=Ei(xT());function Hg_(e){return typeof e=="object"&&e!=null&&"language"in e}function $g_(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Gg_(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Qg_(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function vqo(e){return typeof e=="object"&&e!=null&&"event"in e}function gVs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(vqo)}function _ai(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Jg_(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var gqo=class extends tp{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[hg_]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let u=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return _ai(u)?[n,{type:"filenameWithData",filename:u.filename,data:ch.FileId(u.data)}]:u!=null?[n,{type:"filename",value:u}]:void 0;case"files":{if(Array.isArray(u)){if(u.every(l=>_ai(l)))return[n,{type:"filenamesWithData",value:u.map(l=>({filename:l.filename,data:ch.FileId(l.data)}))}];if(u.every(l=>typeof l=="string"))return[n,{type:"filenames",value:u}]}return}case"property":return[n,{type:"json",value:u}];case void 0:return;default:new bqo.UnreachableCaseError(a.multipartType);return}}).filter(rp))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=Jg_(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a={type:"json",value:r.request};break;case"bytes":a=typeof r.request=="string"?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new bqo.UnreachableCaseError(n.contentType);break}let u;switch(i.contentType){case"application/json":{Gg_(r.response)&&(u={type:"json",value:r.response.body});break}case"text/event-stream":{gVs(r.response)&&(u={type:"sse",value:r.response.stream.map(c=>({event:c.event,data:c.data}))});break}case"application/octet-stream":!gVs(r.response)&&Qg_(r.response)&&(u={type:"stream",value:r.response.stream});break;case void 0:break;default:new bqo.UnreachableCaseError(i.contentType);break}let l={};r["code-samples"]?.forEach(c=>{Hg_(c)?c.language!=null&&(l[c.language]??=[],l[c.language]?.push({name:c.name,language:c.language,install:c.install,code:c.code,generated:!1,description:c.docs})):$g_(c)&&c.sdk!=null&&(l[c.sdk]??=[],l[c.sdk]?.push({name:c.name,language:c.sdk,install:void 0,code:c.code,generated:!1,description:c.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([c,b])=>[ch.PropertyKey(c),b])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([c,b])=>[ch.PropertyKey(c),b])),o=Object.fromEntries(Object.entries(r.headers??{}).map(([c,b])=>[ch.PropertyKey(c),b]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(o).length>0?o:void 0,requestBody:a,responseBody:u,snippets:l}}))}};var Oqo=class extends tp{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[tg_]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>ch.api.v1.SubpackageId(r))}};var mqo=class extends tp{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[ig_]}convert(){return this.sdkMethodName}};var Pqo=class extends tp{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[ag_]}convert(){return this.isWebhook}};var jqo=class extends tp{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[gg_]??[],...this.input[Og_]??[]],this.codeSamples.forEach(t=>{[...Object.values(ch.api.v1.read.SupportedLanguage),"Kotlin","Swift","PHP"].map(r=>r.toLowerCase()).includes(t.lang.toLowerCase())||this.context.errors.warning({message:`Unsupported language: ${t.lang}. This may not render correctly.`,path:this.accessPath})})}convert(){let t={};if(this.codeSamples?.forEach(r=>{t[r.lang.toLowerCase()]??=[],t[r.lang.toLowerCase()]?.push({name:r.label,language:r.lang,code:r.source,install:void 0,generated:!1,description:void 0})}),Object.keys(t).length!==0)return t}};function Kg_(e,t){return fM(e)?p4(e,t,void 0):e}function Hqi(e){if(e!=null)return aqo(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(rp))}var hai=class extends lM{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse()}parse(){this.description=this.input.description;let t;fM(this.input)?t=this.input:this.input.schema!=null?(t=this.input.schema,this.required=this.input.required):(t={type:"string"},this.required=!1),this.availability=new cze({input:t,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:"schema"});let r=Kg_(this.input,this.context.document);this.inputExample=r?.example??Object.values(r?.examples??{})[0]}convert(){return this.schema?.convert()}example(){return this.inputExample??this.schema?.example()}};function Yg_(e,t){return fM(e)?p4(e,t,void 0):e}var Zg_=Ei(xT());var Xg_=Ei(WXu(),1),_0n=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,u){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=u}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=Xg_.default.parse(t);return r==null?null:new e(r.type,r.subtype,r.essence,r.parameters,r,t)}toString(){return this.input}isText(){return this.type==="text"}isImage(){return this.type==="image"}isAudio(){return this.type==="audio"}isVideo(){return this.type==="video"}isFont(){return this.type==="font"}isMultipart(){return this.type==="multipart"}isApplication(){return this.type==="application"}isMessage(){return this.type==="message"}isModel(){return this.type==="model"}isCSS(){return this.isText()&&this.subtype==="css"}isCSV(){return this.isText()&&this.subtype==="csv"}isMarkdown(){return this.isText()&&this.subtype==="markdown"}isPlainText(){return this.isText()&&this.subtype==="plain"}isEventStream(){return this.isText()&&this.subtype==="event-stream"}isMultiPartFormData(){return this.isMultipart()&&this.subtype==="form-data"}isJSON(){return this.isApplication()&&this.subtype==="json"}containsJSON(){return this.isApplication()&&this.subtype.includes("json")}isURLEncoded(){return this.isApplication()&&this.subtype==="x-www-form-urlencoded"}isOctetStream(){return this.isApplication()&&this.subtype==="octet-stream"}isPDF(){return this.isApplication()&&this.subtype==="pdf"}isZip(){return this.isApplication()&&this.subtype==="zip"}isGzip(){return this.isApplication()&&this.subtype==="gzip"}isTar(){return this.isApplication()&&this.subtype==="tar"}isBrotli(){return this.isApplication()&&this.subtype==="br"}isDeflate(){return this.isApplication()&&this.subtype==="deflate"}isProtobuf(){return this.isApplication()&&this.subtype==="protobuf"}isAvif(){return this.isImage()&&this.subtype==="avif"}isWebP(){return this.isImage()&&this.subtype==="webp"}isSVG(){return this.isImage()&&this.subtype==="svg+xml"}isPNG(){return this.isImage()&&this.subtype==="png"}isJPEG(){return this.isImage()&&this.subtype==="jpeg"}isGIF(){return this.isImage()&&this.subtype==="gif"}isMPEG(){return this.isAudio()&&this.subtype==="mpeg"}isWAV(){return this.isAudio()&&this.subtype==="wav"}isHTML(){return this.mimeType.isHTML()}isXML(){return this.mimeType.isXML()}isJavaScript(){return this.mimeType.isJavaScript()}};var $qi=Ei(xT());function Hoa(e,t){return fM(e)?p4(e,t,void 0):e}var Aie="",wqo=class extends tp{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(_ai(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>_ai(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new $qi.UnreachableCaseError(i.multipartType),t}},!0)}parse(){if(this.resolvedRequestInput=Hoa(this.input?.requestExample,this.context.document),this.resolvedResponseInput=Hoa(this.input?.responseExample,this.context.document),this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody?.contentType){case"json":{if(typeof this.resolvedRequestInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break}case"bytes":{if(typeof this.resolvedRequestInput.value!="string"){this.context.errors.error({message:"Invalid example, expected string for bytes",path:this.accessPath});return}break}case"form-data":{if(!this.validateFormDataRequestExample()){this.context.errors.error({message:"Invalid example, expected valid form-data",path:this.accessPath});return}break}case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.requestBody?.contentType),this.context.errors.error({message:"Invalid example, unsupported content type",path:this.accessPath});return}if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody?.contentType){case"application/json":if(this.resolvedResponseInput!=null&&typeof this.resolvedResponseInput!="object"||this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break;case"text/event-stream":if(this.resolvedResponseInput.value!=null&&!Array.isArray(this.resolvedResponseInput.value)&&!this.resolvedResponseInput.value.every(vqo)){this.context.errors.error({message:"Invalid example, expected array of SSE events for event-stream",path:this.accessPath});return}break;case"application/octet-stream":if(this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="string"&&!Array.isArray(this.resolvedResponseInput.value)){this.context.errors.error({message:"Invalid example, expected string or array for octet-stream",path:this.accessPath});return}break;case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return _ai(n)?[r,{type:"filenameWithData",filename:n.filename,data:ch.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>_ai(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:ch.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new $qi.UnreachableCaseError(i.multipartType);return}}).filter(rp))};case"json":return{type:"json",value:this.resolvedRequestInput.value};case"bytes":return typeof this.resolvedRequestInput.value=="string"?{type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}}:void 0;default:return}}convertDescription(){if(this.resolvedRequestInput!=null&&this.resolvedResponseInput!=null)return this.resolvedResponseInput.description;if(this.resolvedRequestInput!=null)return this.resolvedRequestInput.description;if(this.resolvedResponseInput!=null)return this.resolvedResponseInput.description}convert(){let t;if(this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody.contentType){case"form-data":t=this.convertFormDataExampleRequest();break;case"json":t={type:"json",value:this.resolvedRequestInput.value};break;case"bytes":t={type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}};break;case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.requestBody?.contentType);break}let r;if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody.contentType){case"application/json":{r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break}case"text/event-stream":r={type:"sse",value:this.resolvedResponseInput?.value};break;case"application/octet-stream":r={type:typeof this.resolvedResponseInput?.value=="string"?"filename":"stream",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;case void 0:r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;default:new $qi.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([u,l])=>[u,l.example()])),n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([u,l])=>[u,l.example()])),a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([u,l])=>[u,l.example()]));return{path:this.path,responseStatusCode:this.responseStatusCode,name:this.name,description:this.convertDescription(),pathParameters:Object.keys(i).length>0?i:void 0,queryParameters:Object.keys(n).length>0?n:void 0,headers:Object.keys(a).length>0?a:void 0,requestBody:t,responseBody:r,snippets:void 0}}};var Sqo=class extends qA{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=_4(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${fM(this.input)?`Received undefined reference: ${this.input.$ref}`:""}`,path:this.accessPath});return}if(t.type==="string"&&t.format==="binary")this.multipartType="file",this.contentType=t.contentMediaType;else if(t.type==="array"){let r=_4(t.items,this.context.document);r?.type==="string"&&r?.format==="binary"?(this.multipartType="files",this.contentType=r?.contentMediaType):(this.context.errors.warning({message:"Expected multipart form data files definition with array type with internal string type and binary format.",path:this.accessPath}),this.multipartType=void 0,this.contentType=void 0)}else this.multipartType="property",this.contentType=t.contentMediaType}};var Dqo=class extends tp{path;description;schema;isOptional;contentType;availability;requiredFields;fields;resolvedSchema;examples;constructor(t,r,i){super(t),this.path=i,this.safeParse(r)}parse(t){if(this.examples={...this.input.example!=null||this.schema?.example()!=null?{[Aie]:{value:this.input.example??this.schema?.example()}}:{},...this.input.examples},this.input.schema!=null){if(fM(this.input.schema))this.resolvedSchema=p4(this.input.schema,this.context.document,void 0),this.schema=new d0n({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema"});else if(Woa(this.input.schema)){this.resolvedSchema=this.input.schema;let r=_0n.parse(t);r?.containsJSON()?(this.contentType="json",this.schema=new pai({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema"})):r?.isOctetStream()?(this.contentType="bytes",this.isOptional=this.input.schema.required==null):r?.isMultiPartFormData()?(this.contentType="form-data",this.description=this.input.schema.description,this.availability=new cze({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.requiredFields=this.input.schema.required,this.fields=Object.fromEntries(Object.entries(this.input.schema?.properties??{}).map(([i,n])=>{if(n!=null)return[i,new Sqo({input:n,context:this.context,accessPath:this.accessPath,pathId:`schema.${i}`})]}).filter(rp))):this.context.errors.warning({message:`Expected request body of reference or object with json, streaming or form-data content types. Received: ${t}`,path:this.accessPath})}}else this.context.errors.warning({message:"Expected media type schema or reference.",path:this.accessPath})}convert(){switch(this.contentType){case"json":return this.schema?.convert();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:ch.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:ch.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=AA(n.convert()),u=n.multipartType;return a?.map(l=>({type:u,key:ch.PropertyKey(i),contentType:n.contentType,valueShape:l,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Zg_.UnreachableCaseError(n.multipartType),[]}}).filter(rp).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.schema?.convert();default:return}}};var Eqo=class extends tp{path;description;requestBodiesByContentType;constructor(t,r){super(t),this.path=r,this.safeParse()}parse(){let t=Yg_(this.input,this.context.document);if(t==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(t.content).forEach(([r,i])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[r]=new Dqo({input:i,context:this.context,accessPath:this.accessPath,pathId:"content"},r,this.path)})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>AA(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(rp)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>AA(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(rp)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example()}}};var kg_={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function eO_(e,t){if(fM(e)){let r=p4(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Mqo=Ei(xT());function tO_(e){return e!=null&&Object.keys(e).length>0?e:{[Aie]:void 0}}function TJD(e,t){return e===t||t===Aie||e===Aie}var Aqo=class extends tp{streamingFormat;path;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;constructor(t,r,i,n,a,u,l){super(t),this.streamingFormat=i,this.path=n,this.statusCode=a,this.requests=u,this.shapes=l,this.safeParse(r)}isExampleDefined(t){return t!=null&&Hoa(t,this.context.document)?.value!=null}parse(t){let r=_0n.parse(t);if(r?.isJSON()||r?.isEventStream())this.contentType="application/json",this.input.schema==null?(this.streamingFormat==null||this.streamingFormat==="json")&&this.context.errors.error({message:"Expected schema for JSON response body. Received null",path:this.accessPath}):this.schema=new qA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type"});else if(r?.isOctetStream())this.contentType="application/octet-stream",this.contentSubtype=_4(this.input.schema,this.context.document)?.contentMediaType;else if(this.unsupportedContentType=t,this.input.schema==null){this.context.errors.error({message:"Expected schema for plain text response body. Received null",path:this.accessPath});return}else this.schema=new qA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId});let i={};if(this.input.example!=null&&(i[Aie]=[{value:this.input.example}]),this.input.examples!=null&&(i={...i,...c5(this.input.examples,n=>[n])}),this.contentType!=null||this.unsupportedContentType!=null){let n=_4(this.input.schema,this.context.document);n!=null&&(n.example!=null&&(i[Aie]??=[],i[Aie]?.push({value:n.example})),n.examples!=null&&(i[Aie]??=[],i[Aie]?.push(...n.examples.map(a=>({value:a}))))),i[Aie]??=[],i[Aie]?.push({value:this.schema?.example()})}this.examples=l0n(this.requests).flatMap(n=>Object.entries(tO_(n?.examples)).flatMap(([a,u])=>Object.entries(i).flatMap(([l,d])=>d.map(s=>TJD(l,a)&&(this.isExampleDefined(u)||this.isExampleDefined(s))?new wqo({input:{requestExample:u,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:["examples",""]},this.path,this.statusCode,l===""?void 0:l,{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}):void 0)).filter(rp)))}convertStreamingFormat(){switch(this.streamingFormat){case"json":return AA(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new Mqo.UnreachableCaseError(this.streamingFormat);return}}convert(){if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?AA(this.schema?.convert())?.map(r=>{if(!(r==null||r.type!=="object"&&r.type!=="alias"))return r}).filter(rp):this.convertStreamingFormat();case"application/octet-stream":return{type:"fileDownload",contentType:this.contentSubtype};case"text/event-stream":return this.convertStreamingFormat();case void 0:return;default:new Mqo.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?AA(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return r;default:new Mqo.UnreachableCaseError(i);return}}).filter(rp):void 0}};var $oa=class extends tp{path;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a){super(t),this.path=r,this.statusCode=i,this.requests=n,this.shapes=a,this.safeParse()}parse(t){this.description=this.input.description;let r=eO_(this.input,this.context.document);if(r==null){this.context.errors.error({message:fM(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new hai({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers"})}),Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new Aqo({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(rp)}};var qqo=class extends tp{path;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n){super(t),this.path=r,this.requests=i,this.shapes=n,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new $oa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new $oa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,parseInt(r),this.requests,this.shapes))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return l0n(Hqi(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(u=>(u.examples??[]).map(l=>l.convert()).filter(rp))})))}).filter(rp)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=AA(n?.convert());if(n!=null)return a?.map(u=>({statusCode:parseInt(t),shape:u,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??kg_[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(l=>{let d=l.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(rp)})).filter(rp)})).filter(rp)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var yai=class extends tp{servers;globalAuth;path;method;basePath;isWebhook;endpointId;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespace;xFernExamplesNode;redocExamplesNode;constructor(t,r,i,n,a,u,l){super(t),this.servers=r,this.globalAuth=i,this.path=n,this.method=a,this.basePath=u,this.isWebhook=l,this.safeParse()}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new Pqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(fM(i)){let a=Ug_(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});this.redocExamplesNode=new jqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new Eqo({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody"},this.path):void 0,this.responses=this.input.responses!=null?new qqo({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0;let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new u0n({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespace=new Oqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"}),this.namespace?.groupName==null&&this.input.tags!=null&&(this.namespace.groupName=this.input.tags);let r=new mqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointId=ZAo(this.namespace?.groupName,this.path,r.sdkMethodName,this.input.operationId),this.xFernExamplesNode=new gqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-examples"},this.path,t,this.requests?.requestBodiesByContentType,this.responses?.responsesByStatusCode?.[t]?.responses)}extractPathParameterIds(){if(this.path!=null)return this.path.split("/").map(t=>{if(t.startsWith("{")&&t.endsWith("}"))return t.slice(1,-1).trim()}).filter(rp)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:ch.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointId==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=Wg_(this.xFernExamplesNode?.convert(),t?.flatMap(s=>s.examples))?.map(s=>({...s,snippets:Vg_(s.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.method!=="POST"&&this.method!=="GET"?void 0:{id:ch.WebhookId(this.endpointId),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespace?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(s=>s.value.toString())??[],headers:Hqi(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(rp)};let n=this.servers?.map(s=>s.convert()).filter(rp),a=this.convertPathToPathParts();if(a==null)return;let u,l=this.auth?.convert();l!=null&&(u=Object.keys(l));let d=t?.flatMap(s=>s.headers).filter(rp);return{id:ch.EndpointId(this.endpointId),description:this.description,availability:this.availability?.convert(),namespace:this.namespace?.convert(),displayName:this.displayName,operationId:this.operationId,method:this.method,path:a,auth:u?.map(s=>ch.api.latest.AuthSchemeId(s)),defaultEnvironment:n?.[0]?.id,environments:n,pathParameters:Hqi(this.pathParameters)?.flat(),queryParameters:Hqi(this.queryParameters)?.flat(),requestHeaders:Hqi(this.requestHeaders)?.flat(),responseHeaders:d!=null&&d.length>0?d:void 0,requests:this.requests?.convert(),responses:t?.map(s=>s.response),errors:r,examples:i,snippetTemplates:void 0}}};var h0n=class extends tp{servers;globalAuth;basePath;isWebhook;description;get;post;put;patch;delete;path;constructor(t,r,i,n,a){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.isWebhook=a,this.safeParse()}parse(){this.description=this.input.description,this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath);let t=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new yai({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get"},this.servers,this.globalAuth,t,"GET",this.basePath,this.isWebhook)),this.input.post!=null&&(this.post=new yai({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post"},this.servers,this.globalAuth,t,"POST",this.basePath,this.isWebhook)),this.input.put!=null&&(this.put=new yai({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put"},this.servers,this.globalAuth,t,"PUT",this.basePath)),this.input.patch!=null&&(this.patch=new yai({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch"},this.servers,this.globalAuth,t,"PATCH",this.basePath)),this.input.delete!=null&&(this.delete=new yai({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete"},this.servers,this.globalAuth,t,"DELETE",this.basePath))}convert(){return[this.get?.convert(),this.post?.convert(),this.put?.convert(),this.patch?.convert(),this.delete?.convert()].filter(rp)}};var Tqo=class extends tp{servers;globalAuth;basePath;paths;constructor(t,r,i,n){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.safeParse()}parse(){this.paths=Object.entries(this.input).map(([t,r])=>{if(r!=null)return new h0n({input:r,context:this.context,accessPath:this.accessPath,pathId:t},nYt(this.servers,r.servers,this.context,this.accessPath),this.globalAuth,this.basePath,void 0)}).filter(rp)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{Lg_(a)?r[ch.WebhookId(a.id)]=a:t[ch.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var Cqo=class extends tp{name;constructor(t){super(t),this.safeParse()}parse(){this.name=this.input.name}convert(){}};function rO_(e,t){if(fM(e)){let r=p4(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Bqo=class extends tp{basePath;servers;globalAuth;webhooks;constructor(t,r,i,n){super(t),this.basePath=r,this.servers=i,this.globalAuth=n,this.safeParse()}parse(){this.webhooks=Object.fromEntries(Object.entries(this.input??{}).map(([t,r])=>{let i=rO_(r,this.context.document);if(i!=null)return[t,new h0n({input:i,context:this.context,accessPath:this.accessPath,pathId:t},this.servers,this.globalAuth,this.basePath,!0)]}).filter(rp))}convert(){return{}}};var xqo=class extends tp{paths;webhooks;components;servers;auth;basePath;fernGroups;tags;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath),this.input.security!=null&&(this.auth=new u0n({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.basePath=new rqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.input.tags!=null&&(this.tags=this.input.tags.map((t,r)=>new Cqo({input:t,context:this.context,accessPath:this.accessPath,pathId:["tags",`${r}`]}))),this.fernGroups=new yqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-groups"}),this.input.paths==null&&this.input.webhooks==null&&this.context.errors.warning({message:"Expected 'paths' or 'webhooks' property to be specified",path:this.accessPath}),this.input.paths!=null&&(this.paths=new Tqo({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths"},this.servers,this.auth,this.basePath)),this.input.webhooks!=null&&(this.webhooks=new Bqo({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks"},this.basePath,this.servers,this.auth)),this.input.components==null?this.context.errors.warning({message:"Expected 'components' property to be specified",path:this.accessPath}):this.components=new p0n({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"}),this.globalHeaders=new hqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Uxe(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n=FAo({endpoints:i,webhookEndpoints:r}),a=this.components?.convert();if(a!=null)return{id:ch.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:{...this.webhooks?.convert()??{},...r??{}},types:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l])),subpackages:n,auths:this.auth?.convert()??{},globalHeaders:this.globalHeaders?.convert()}}};var y0n=class extends a0n{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,this.pathId&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(this.pathId),r.logger.debug(`Processing #/${this.accessPath.join("/")}`))}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}};function lze(e){return typeof e=="object"&&rp(e)&&"$ref"in e&&typeof e.$ref=="string"}function h8t(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(lze(n)&&(n=h8t(n,t,r)),n)}function iO_(e,t){return lze(e)?h8t(e,t,{name:"",params:[],result:{name:"",schema:{type:"object"}}}):e}var uO_=Ei(xT());function ULr(e){if(typeof e=="boolean")return e;if(e.enum!=null&&e.enum.length>0)return e.enum[0];if(e.const!=null)return e.const;if(e.examples!=null&&e.examples.length>0)return e.examples[0];if(e.type==="object"){let t={};if(e.properties!=null)for(let[r,i]of Object.entries(e.properties))t[r]=ULr(i);return t}if(e.type==="array")return e.items==null?[]:Array.isArray(e.items)?e.items.map(t=>ULr(t)):[ULr(e.items)];if(e.type==="string")return e.default??"string";if(e.type==="number"||e.type==="integer")return e.default??0;if(e.type==="boolean")return e.default??!1;if(e.type==="null")return null;if(e.oneOf?.[0]!=null)return ULr(e.oneOf[0]);if(e.anyOf?.[0]!=null)return ULr(e.anyOf[0]);if(e.allOf!=null&&e.allOf.length>0){let t={};for(let r of e.allOf)r!=null&&Object.assign(t,ULr(r));return t}}function Goa(e,t){return lze(e)?h8t(e,t,{name:"",schema:{type:"object"}}):e}function nO_(e,t){return lze(e)?h8t(e,t,void 0):e}function aO_(e,t){return lze(e)?h8t(e,t,void 0):e}function oO_(e,t){return lze(e)?h8t(e,t,void 0):e}var CJD={key:ch.PropertyKey("apiKey"),description:void 0,availability:void 0,valueShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}}},Iqo=class extends y0n{method;servers=[];constructor(t,r){super(t),this.method=t.input,this.servers=r,this.safeParse()}parse(){}convert(){try{let t=this.method.result?Goa(this.method.result,this.context.openrpc):void 0,r=t?new qA({input:t.schema,context:this.context,accessPath:this.accessPath,pathId:"result"}).convert():void 0,n=this.method.params?.map(d=>Goa(d,this.context.openrpc)).filter(rp)?.map(d=>{let s=new qA({input:d.schema,context:this.context,accessPath:this.accessPath,pathId:["params",d.name]}).convert();if(!s)return;let o=Array.isArray(s)?s[0]:s;if(o)return{key:ch.PropertyKey(d.name),valueShape:o,description:d.description,availability:void 0}}).filter(rp),a=n.length>0?{contentType:"application/json",body:{type:"object",extends:[],properties:n,extraProperties:void 0},description:void 0}:void 0,u=this.method.examples?.map(d=>{let s=aO_(d,this.context.openrpc);if(s)return{name:s.name??"Example",path:"",description:void 0,snippets:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:s.params.length>0?{type:"json",value:s.params.map(o=>{let c=nO_(o,this.context.openrpc);if(c)return c.value})}:void 0,responseStatusCode:200,responseBody:s.result?{type:"json",value:s.result}:void 0}}).filter(rp)??[];if(u.length<=0){let d={name:"Example",path:"",pathParameters:{},queryParameters:{},headers:{},requestBody:{type:"json",value:ULr({type:"object",properties:Object.fromEntries(this.method.params?.map(s=>{let o=Goa(s,this.context.openrpc);return[o?.name??"",o?.schema??{}]})??[])})},responseStatusCode:200,responseBody:{type:"json",value:ULr(Goa(this.method.result,this.context.openrpc)?.schema??{})},snippets:void 0,description:void 0};u.push(d)}let l=u.map(d=>{let s=d.requestBody?.value;return{...d,requestBody:{type:"json",value:{id:1,jsonrpc:"2.0",method:this.method.name,params:s}}}});return{id:ch.EndpointId(this.input.name),displayName:this.input.name,method:"POST",path:[{type:"pathParameter",value:ch.PropertyKey("apiKey")}],auth:void 0,pathParameters:[CJD],queryParameters:[],requests:a!=null?[a]:void 0,responses:r!=null?[this.convertToHttpResponse(r,this.input.description)].filter(rp):[],errors:[],examples:l,description:this.input.description??this.input.summary,operationId:this.input.name,defaultEnvironment:void 0,environments:this.servers.map(d=>d.convert()).filter(rp),availability:this.method.deprecated?"Deprecated":void 0,requestHeaders:[],responseHeaders:[],snippetTemplates:void 0,namespace:this.getNamespace()}}catch{this.context.errors.error({message:"Failed to convert method",path:this.accessPath});return}}getNamespace(){if(this.method.tags?.[0]==null)return;let t=oO_(this.method.tags[0],this.context.openrpc);if(t?.name!=null)return[ch.api.v1.SubpackageId(t.name)]}convertToHttpResponse(t,r){if(t==null)return;let n=AA(t)?.map(a=>{let u=a.type;switch(u){case"alias":return a;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return a;default:new uO_.UnreachableCaseError(u);return}}).filter(rp)[0];if(n)return{statusCode:200,body:n,description:r}}};var Qoa=class extends y0n{servers=[];methods=[];components;constructor(t){super(t),this.safeParse()}parse(){if(this.context.openrpc.servers!=null&&(this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath)),this.input.methods!=null)for(let t of this.input.methods){let r=iO_(t,this.context.openrpc);r!=null&&this.methods.push(new Iqo({input:r,context:this.context,accessPath:this.accessPath,pathId:"methods"},this.servers))}this.context.openrpc.components!=null&&(this.components=new p0n({input:this.context.openrpc.components,context:this.context,accessPath:this.accessPath,pathId:"components"}))}convert(){let t=Uxe(),r=this.components?.convert(),i=this.methods?.map(u=>u.convert()).filter(rp),n=Object.fromEntries(i?.map(u=>[u.id,u])??[]),a=FAo({endpoints:n});return{id:ch.ApiDefinitionId(t),types:Object.fromEntries(Object.entries(r??{}).map(([u,l])=>[u,l])),endpoints:n,websockets:{},webhooks:{},subpackages:a,auths:{},globalHeaders:[]}}};var Joa=class extends UAo{openrpc;logger;constructor(t){super(),this.openrpc=t.openrpc,this.logger=t.logger}get document(){return{openapi:"3.1.0",info:{title:"Mock API",version:"1.0.0"},paths:{},components:this.openrpc.components}}};async function Koa(e,t){if(e instanceof Lni){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof o5))return;let r=new kFt(e.absoluteFilePath),i=await e8t({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i}),a;for(let u of n){if(u.type!=="openapi")continue;let l={document:u.value,logger:t.logger,errors:new n0n},d=new xqo({input:u.value,context:l,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=aZu(a,d.convert())}return a}var sO_=require("fs/promises");async function cO_(e,t){let r=await(0,sO_.readFile)(e,"utf-8"),i=JSON.parse(r),n=new Joa({openrpc:i,logger:t.logger});return new Qoa({input:i,context:n,accessPath:[],pathId:"openrpc"}).convert()}function lO_(e){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.js!=null&&e.js.files.forEach(r=>{t.add(r.absolutePath)}),t}async function fO_({navigation:e,fernWorkspaces:t,visitor:r,context:i}){xJD(e)?await Promise.all(e.map(async n=>{n.layout!=null&&await Promise.all(n.layout.map(async a=>{await OVs({navigationItem:a,visitor:r,fernWorkspaces:t,context:i})}))})):await Promise.all(e.map(async n=>{await OVs({navigationItem:n,visitor:r,fernWorkspaces:t,context:i})}))}async function OVs({navigationItem:e,visitor:t,fernWorkspaces:r,context:i}){if(await MWt(e,{alphabetized:ru,api:ru,apiName:ru,audiences:ru,displayErrors:ru,snippets:ru,summary:ru,title:ru,layout:ru,icon:ru,slug:ru,hidden:ru,skipSlug:ru,paginated:ru,playground:ru,flattened:ru,path:ru,page:ru,featureFlag:ru,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await OVs({navigationItem:a,visitor:t,fernWorkspaces:r,context:i})}))},viewers:ru,orphaned:ru}),BJD(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function BJD(e){return e.api!=null}function xJD(e){return e[0]?.tab!=null}function VSe(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}dO_.default.extend(pO_.default);var IJD=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),zqo=0,zJD=async({ir:e})=>(zqo++,`${e.apiName.snakeCase.unsafeName}-${zqo}`),RJD=async({api:e})=>(zqo++,`${e.id}-${zqo}`),y8t=class{domain;docsWorkspace;ossWorkspaces;fernWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;registerApiV2;constructor(t,r,i,n,a,u,l=IJD,d=zJD,s=RJD){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.fernWorkspaces=n,this.taskContext=a,this.editThisPage=u,this.uploadFiles=l,this.registerApi=d,this.registerApiV2=s}#e=RAo.init();_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;async resolve(){this._parsedDocsConfig=await Xns({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig}),this.docsWorkspace.config.navigation!=null&&await fO_({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:s})=>{(await s.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1})).changelog?.files.forEach(c=>{let b=OT(this.docsWorkspace.absoluteFilePath,c.absoluteFilepath);this.parsedDocsConfig.pages[b]=c.contents})}},fernWorkspaces:this.fernWorkspaces,context:this.taskContext}),this.markdownFilesToFullSlugs=this.getMarkdownFilesToFullSlugs(this.parsedDocsConfig.pages);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=await c5s({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=await l5s({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});let t=lO_(this.parsedDocsConfig);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages)){let{filepaths:c,markdown:b}=coa(o,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath});this.parsedDocsConfig.pages[Oo.of(s)]=b;for(let g of c)t.add(g)}let r=Array.from(t).map(s=>({absoluteFilePath:s,relativeFilePath:this.toRelativeFilepath(s)}));(await this.uploadFiles(r)).forEach(s=>{this.collectedFileIds.set(s.absoluteFilePath,s.fileId)});let n=this.getDocsBasePath(),a={};this.markdownFilesToFullSlugs.forEach((s,o)=>{a[o]=zv(n,s)});for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=s5s(o,this.collectedFileIds,a,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let u={};Object.entries(this.parsedDocsConfig.pages).forEach(([s,o])=>{let c=NJD(this.editThisPage,s);u[c8t.PageId(s)]={markdown:o,editThisPageUrl:c?c8t.Url(c):void 0}});let l=await this.convertDocsConfiguration(),d={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){let s=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async o=>{let c=DO(this.docsWorkspace.absoluteFilePath,o);(await(0,Rqo.stat)(c)).isDirectory()?(await CK(c,"{js,ts,jsx,tsx,md,mdx}")).forEach(O=>{s.add(O)}):c.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&s.add(c)})),d=Object.fromEntries(await Promise.all([...s].map(async o=>{let c=this.toRelativeFilepath(o),b=(await(0,Rqo.readFile)(o)).toString();return[c,b]})))}return{config:l,pages:u,jsFiles:d}}resolveFilepath(t){if(t!=null)return DO(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return OT(this.docsWorkspace.absoluteFilePath,t)}getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let u=(0,_O_.default)(n).data.slug;typeof u=="string"&&u.trim().length>0&&r.set(this.resolveFilepath(i),u.trim())}return r}getDocsBasePath(){return new URL(VSe(this.domain)).pathname}async convertDocsConfiguration(){let t=await this.toRootNode();return{hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?c8t.Url(this.parsedDocsConfig.logo?.href):void 0,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>({...i,url:c8t.Url(i.url)})),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:c8t.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0}}getFernWorkspaceForApiSection(t){if(this.fernWorkspaces.length===1&&this.fernWorkspaces[0]!=null)return this.fernWorkspaces[0];if(t.apiName!=null){let r=this.fernWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}getOpenApiWorkspaceForApiSection(t){if(this.ossWorkspaces.length===1&&this.ossWorkspaces[0]!=null)return this.ossWorkspaces[0];if(t.apiName!=null){let r=this.ossWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}async toRootNode(){let t=zo.V1.SlugGenerator.init(zo.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),i=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:i,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(n=>zo.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return cnn(this.parsedDocsConfig.navigation)._visit({untabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),tabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),versioned:r=>this.toVersionedNode(r,t)})}toLandingPageNode(t,r){let i=zo.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??x1(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(i),title:t.title,slug:n.get(),icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:void 0,featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:i}){let n=this.#e.get("unversioned"),a=t!=null?this.toLandingPageNode(t,i):void 0,u=r.type==="tabbed"?await this.convertTabbedNavigation(n,r.items,i):await this.toSidebarRootNode(n,r.items,i);return{type:"unversioned",id:n,landingPage:a,child:u}}async toVersionedNode(t,r){return{id:this.#e.get("versioned"),type:"versioned",children:await Promise.all(t.versions.map((n,a)=>this.toVersionNode(n,r,a===0)))}}async toVersionNode(t,r,i){let n=this.#e.get(t.version),a=r.setVersionSlug(t.slug??x1(t.version)),u=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(n,t.navigation.items,a):await this.toSidebarRootNode(n,t.navigation.items,a);return{type:"version",id:n,versionId:zo.VersionId(t.version),title:t.version,slug:a.get(),child:u,default:i,availability:t.availability!=null?FJD(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,r):void 0,hidden:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags}}async toSidebarRootNode(t,r,i){let n=this.#e.get(`${t}/root`),a=await Promise.all(r.map(l=>this.toNavigationChild(n,l,i))),u=[];return a.forEach(l=>{if(l.type==="apiReference"){u.push(l);return}if(l.type==="section"&&!l.collapsed){u.push(l);return}let d=u.length>0?u[u.length-1]:void 0,s;d?.type==="sidebarGroup"?s=d:(s={id:this.#e.get(`${n}/group`),type:"sidebarGroup",children:[]},u.push(s)),s.children.push(l)}),{type:"sidebarRoot",id:n,children:u}}async toNavigationChild(t,r,i){return cnn(r)._visit({page:async n=>this.toPageNode(n,i),apiSection:async n=>this.toApiSectionNode(n,i),section:async n=>this.toSectionNode(t,n,i),link:async n=>this.toLinkNode(n),changelog:async n=>this.toChangelogNode(n,i)})}async toApiSectionNode(t,r){if(t.openrpc!=null){let s=DO(this.docsWorkspace.absoluteFilePath,Oo.of(t.openrpc));if(!await zf(s))throw new Error(`OpenRPC file does not exist at path: ${s}`);let o=await cO_(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenRPC document");return await this.registerApiV2({api:o,apiName:t.apiName}),new Uoa(t,o,r,void 0,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}if(this.parsedDocsConfig.experimental?.openapiParserV2){let s=this.getOpenApiWorkspaceForApiSection(t),o=await Koa(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenAPI workspace");return await this.registerApiV2({api:o,apiName:t.apiName}),new Uoa(t,o,r,s,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}let i=this.getFernWorkspaceForApiSection(t),n=Bb_(t.snippetsConfiguration),a=d4({workspace:i,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new l4(this.taskContext,i)}),u=await this.registerApi({ir:a,snippetsConfig:n,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName}),l=Voa(a,u,{oauth:t.playground?.oauth});return new zAo(t,l,r,i,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}async toChangelogNode(t,r){return new FLr(this.markdownFilesToFullSlugs,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:zo.V1.Url(t.url),icon:t.icon}}async toPageNode(t,r){let i=zo.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??x1(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(i),type:"page",slug:n.get(),title:t.title,icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:void 0,featureFlags:t.featureFlags}}async toSectionNode(t,r,i){let n=this.toRelativeFilepath(r.overviewAbsolutePath),a=n?zo.PageId(n):void 0,u=this.#e.get(a??`${t}/section`),l=i.apply({urlSlug:r.slug??x1(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug});return{id:u,type:"section",overviewPageId:a,slug:l.get(),title:r.title,icon:r.icon,collapsed:r.collapsed,hidden:r.hidden,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(d=>this.toNavigationChild(u,d,l))),authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:r.featureFlags}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return cnn(r.child)._visit({link:({href:n})=>this.toTabLinkNode(r,n),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i)})}async toTabChangelogNode(t,r,i){return new FLr(this.markdownFilesToFullSlugs,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r){return{type:"link",id:this.#e.get(r),title:t.title,url:zo.V1.Url(r),icon:t.icon}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),u=n.apply({urlSlug:r.slug??x1(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:u.get(),icon:r.icon,hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(a,i,u),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):c8t.FileId(r)}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(vg),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:c8t.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return cnn(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:c8t.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function NJD(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${VSe(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function FJD(e){switch(e){case"beta":return zo.V1.NavigationV1Availability.Beta;case"deprecated":return zo.V1.NavigationV1Availability.Deprecated;case"ga":return zo.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return zo.V1.NavigationV1Availability.Stable;default:Go(e)}}async function qie(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof o5?t:null))).filter(vg)}var yWs=Ei(LYu(),1),fw_=Ei(cTo(),1),sYt=require("fs/promises"),DTo=require("os"),vWs=Ei(require("path"),1),dw_=Ei(ite(),1),pw_=Ei(lw_(),1);var qXD="etag",bWs="preview",TXD="bundle",gWs=".fern";function CXD(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs))}function ETo(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs),Oo.of(TXD))}function BXD(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs),Oo.of(qXD))}async function _w_({bucketUrl:e,logger:t,preferCached:r}){t.debug("Setting up docs preview bundle...");let i=await(0,yWs.fetcher)({url:e,method:"GET",responseType:"text",duplex:"half"});if(!i.ok)return{type:"failure"};let n=i.body,u=await new pw_.default.Parser().parseStringPromise(n),l=u?.ListBucketResult?.Contents?.[0]?.ETag?.[0],d=u?.ListBucketResult?.Contents?.[0]?.Key?.[0],s=BXD();if(r){let A=await zf(s),q;if(A&&(t.debug("Reading existing ETag"),q=(await(0,sYt.readFile)(s)).toString()),q!=null&&q===l)return t.debug("ETag matches. Using already downloaded bundle"),{type:"success"};t.debug("ETag is different. Downloading latest preview bundle")}t.debug("Creating tmp directory to download docs preview bundle");let o=await dw_.default.dir({prefix:"fern"}),c=nf.of(o.path);t.debug(`Downloading docs preview bundle from ${vWs.default.join(e,d)}`);let b=await(0,yWs.fetcher)({url:`${vWs.default.join(e,d)}`,method:"GET",responseType:"arrayBuffer",duplex:"half"});if(!b.ok)return t.error("Failed to download docs preview bundle."),{type:"failure"};let g=us(c,Oo.of("output.zip")),O=b.body;if(O==null)return{type:"failure"};let m=Buffer.from(O);await(0,sYt.writeFile)(g,new Uint8Array(m)),t.debug(`Wrote output.zip to ${g}`);let w=CXD();await zf(w)&&await(0,sYt.rm)(w,{recursive:!0}),await(0,sYt.mkdir)(w,{recursive:!0}),t.debug(`rm -rf ${w}`);let M=ETo();return await(0,sYt.mkdir)(M,{recursive:!0}),await(0,fw_.default)(g,M),await(0,sYt.writeFile)(s,l),t.debug(`Downloaded bundle to ${M}`),{type:"success"}}var wWs=require("fs/promises");var dV=Ei(C1e(),1);function hw_(e={accentPrimary:void 0,background:void 0},t){e.accentPrimary=e.accentPrimary??e.accentPrimaryDeprecated;let r=xXD(e);switch(r){case"dark":return{type:"dark",...MTo(e,t,"dark")};case"light":return{type:"light",...MTo(e,t,"light")};case"darkAndLight":return{type:"darkAndLight",dark:MTo(e,t,"dark"),light:MTo(e,t,"light")};default:Go(r)}}function xXD({background:e,accentPrimary:t,accentPrimaryDeprecated:r}){if(t=t??r,typeof e=="string"&&typeof t=="string")return Xd(e).isDark()?"dark":"light";if(e!=null){if(typeof e=="string")return Xd(e).isDark()?"dark":"light";if(e.dark!=null&&e.light!=null)return"darkAndLight"}if(t!=null){if(typeof t=="string")return Xd(t).isLight()?"dark":"light";if(t.dark!=null&&t.light!=null)return"darkAndLight"}if(t!=null&&e!=null){if(e.dark!=null&&t.dark!=null)return"dark";if(e.light!=null&&t.light!=null)return"light"}return"darkAndLight"}function MTo(e,t,r){let i=A0n(e.accentPrimary??e.accentPrimaryDeprecated,t,"accent-primary",r)??Xd.random(),n=A0n(e.background,t,"background",r);return{accentPrimary:i.toRgb(),background:n?.toRgb(),border:A0n(e.border,t,"border",r)?.toRgb(),sidebarBackground:A0n(e.sidebarBackground,t,"sidebar-background",r)?.toRgb(),headerBackground:A0n(e.headerBackground,t,"header-background",r)?.toRgb(),cardBackground:A0n(e.cardBackground,t,"card-background",r)?.toRgb(),logo:void 0,backgroundImage:void 0}}function IXD(e,t,r){if(e==null)return;let i=typeof e=="string"?e:e[r];if(i==null&&t==="accent-primary"&&typeof e!="string"&&(i=e[r==="dark"?"light":"dark"]),i!=null)return i}function A0n(e,t,r,i){let n=IXD(e,r,i);if(n==null)return;let a=Xd(n);return a.isValid()||t.failAndThrow(`'${typeof e=="string"?r:`colors.${r}.${i}`}' should be a hex color of the format #FFFFFF`),a}var vw_=require("fs/promises");var yw_=100;async function zXD({files:e,absolutePathToFernFolder:t}){let r=await Promise.all(e.map(async i=>{let n=await(0,vw_.readFile)(i,"utf-8");return[await KWt(t,i),n]}));return Object.fromEntries(r)}async function bw_({files:e,absolutePathToFernFolder:t}){let r={};for(let i=0;i<e.length;i+=yw_){let n=e.slice(i,i+yw_),a=await zXD({files:n,absolutePathToFernFolder:t});Object.assign(r,a)}return r}function mWs({landingPage:e,navigation:t}){return SK([e?.absolutePath,...RXD(t)])}function RXD(e){switch(e.type){case"tabbed":return e.items.flatMap(t=>t.child.type==="layout"?t.child.layout.flatMap(r=>OWs({item:r})):t.child.type==="changelog"?t.child.changelog:[]);case"untabbed":return e.items.flatMap(t=>OWs({item:t}));case"versioned":return e.versions.flatMap(t=>mWs({landingPage:t.landingPage,navigation:t.navigation}));default:Go(e)}}function OWs({item:e}){switch(e.type){case"apiSection":return SK([e.overviewAbsolutePath,...e.navigation.flatMap(t=>gw_({item:t}))]);case"link":return[];case"page":return[e.absolutePath];case"section":return SK([e.overviewAbsolutePath,...e.contents.flatMap(t=>OWs({item:t}))]);case"changelog":return e.changelog;default:Go(e)}}function gw_({item:e}){return e.type==="page"?[e.absolutePath]:e.type==="package"||e.type==="section"?SK([e.overviewAbsolutePath,...e.contents.flatMap(t=>gw_({item:t}))]):[]}async function mw_({rawDocsConfiguration:e,absolutePathToFernFolder:t,absoluteFilepathToDocsConfig:r,context:i}){let{instances:n,title:a,tabs:u,versions:l,navigation:d,navbarLinks:s,footerLinks:o,defaultLanguage:c,metadata:b,redirects:g,logo:O,favicon:m,backgroundImage:w,colors:M,typography:A,layout:q,analytics:D,integrations:C,css:F,js:G,experimental:I}=e,V=TTo(e.landingPage,r),H=$XD({tabs:u,versions:l,navigation:d,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}),te=H.then(ut=>bw_({files:mWs({navigation:ut,landingPage:V}),absolutePathToFernFolder:t})),J=NXD(O,r),k=_5(m,r),de=FXD(w,r),me=A!=null?GXD({rawTypography:A,absoluteFilepathToDocsConfig:r}):void 0,ve=LXD(F,r),we=WXD(G,r),Xe=uZD(b,r),[Mt,De,Te,xt,Ee,It]=await Promise.all([H,te,me,ve,we,Xe]);return{title:a,instances:n,roles:e.roles,pages:De,landingPage:V,navigation:Mt,navbarLinks:aZD(s),footerLinks:oZD(o),defaultLanguage:c,announcement:e.announcement,metadata:It,redirects:g?.map(ut=>({...ut,permanent:ut?.permanent})),logo:J,favicon:k,backgroundImage:de,colors:hw_(M,i),typography:Te,layout:HXD(q),analyticsConfig:{...e.analytics,intercom:e.analytics?.intercom?{...e.analytics.intercom,appId:e.analytics.intercom.appId,apiBase:e.analytics.intercom.apiBase}:void 0,fullstory:e.analytics?.fullstory,posthog:e.analytics?.posthog?{...e.analytics.posthog,apiKey:e.analytics.posthog.apiKey,endpoint:e.analytics.posthog.endpoint}:void 0,segment:e.analytics?.segment,gtm:e.analytics?.gtm,ga4:e.analytics?.ga4,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},integrations:{...C,intercom:C?.intercom?C.intercom:void 0},css:xt,js:Ee,experimental:I}}function NXD(e,t){return e!=null?{dark:_5(e.dark,t),light:_5(e.light,t),height:e.height,href:e.href!=null?dV.FernRegistry.Url(e.href):void 0}:void 0}function FXD(e,t){if(e!=null)if(typeof e=="string"){let r=_5(e,t);return{dark:r,light:r}}else{let r=_5(e.dark,t),i=_5(e.light,t);return{dark:r,light:i}}}async function LXD(e,t){if(e==null)return;let r=typeof e=="string"?[e]:e;return{inline:await Promise.all(r.map(async i=>(await(0,wWs.readFile)(_5(i,t))).toString()))}}function UXD(e){return Object.hasOwn(e,"url")}function VXD(e){return Object.hasOwn(e,"path")}async function WXD(e,t){let r=[],i=[];if(e==null)return{files:[]};let n=Array.isArray(e)?e:[e];for(let a of n)typeof a=="string"?i.push({absolutePath:_5(a,t)}):UXD(a)?r.push({strategy:a.strategy,url:dV.FernRegistry.Url(a.url)}):VXD(a)&&i.push({absolutePath:_5(a.path,t),strategy:a.strategy});return{remote:r,files:i}}function HXD(e){if(e!=null)return{pageWidth:e.pageWidth?.trim().toLowerCase()==="full"?{type:"full"}:ATo(e.pageWidth),contentWidth:ATo(e.contentWidth),sidebarWidth:ATo(e.sidebarWidth),headerHeight:ATo(e.headerHeight),searchbarPlacement:e.searchbarPlacement==="header"?dV.FernRegistry.docs.v1.commons.SearchbarPlacement.Header:e.searchbarPlacement==="header-tabs"?dV.FernRegistry.docs.v1.commons.SearchbarPlacement.HeaderTabs:dV.FernRegistry.docs.v1.commons.SearchbarPlacement.Sidebar,tabsPlacement:e.tabsPlacement==="header"?dV.FernRegistry.docs.v1.commons.TabsPlacement.Header:dV.FernRegistry.docs.v1.commons.TabsPlacement.Sidebar,contentAlignment:e.contentAlignment==="left"?dV.FernRegistry.docs.v1.commons.ContentAlignment.Left:dV.FernRegistry.docs.v1.commons.ContentAlignment.Center,headerPosition:e.headerPosition==="static"?dV.FernRegistry.docs.v1.commons.HeaderPosition.Absolute:dV.FernRegistry.docs.v1.commons.HeaderPosition.Fixed,disableHeader:e.disableHeader??!1}}function ATo(e){if(e==null)return;let t=e.trim().toLowerCase(),r=t.match(/^(\d+)px$/);if(r!=null&&r[1]!=null)return{type:"px",value:parseFloat(r[1])};let i=t.match(/^(\d+)rem$/);if(i!=null&&i[1]!=null)return{type:"rem",value:parseFloat(i[1])}}async function $XD({tabs:e,versions:t,navigation:r,absolutePathToFernFolder:i,absolutePathToConfig:n,context:a}){if(r!=null)return await Ow_({tabs:e,rawNavigationConfig:r,absolutePathToFernFolder:i,absolutePathToConfig:n,context:a});if(t!=null){let u=[];for(let l of t){let d=DO(i,l.path),s=ap.load((await(0,wWs.readFile)(d)).toString()),o=await tte.RawSchemas.Serializer.VersionFileConfig.parseOrThrow(s),c=await Ow_({tabs:o.tabs,rawNavigationConfig:o.navigation,absolutePathToFernFolder:i,absolutePathToConfig:d,context:a});u.push({landingPage:TTo(o.landingPage,d),version:l.displayName,navigation:c,availability:l.availability,slug:l.slug,viewers:b8t(l.viewers),orphaned:l.orphaned,featureFlags:v8t(l.featureFlag)})}return{type:"versioned",versions:u}}throw new Error("Unexpected. Docs have neither navigation or versions defined.")}function v8t(e){if(e!=null)return typeof e=="string"?[{flag:e,match:!0,fallbackValue:void 0}]:Array.isArray(e)?e.map(t=>({flag:t.flag,match:t.match,fallbackValue:t.fallbackValue})):[{flag:e.flag,match:e.match??!0,fallbackValue:e.fallbackValue}]}async function GXD({rawTypography:e,absoluteFilepathToDocsConfig:t}){return{headingsFont:e.headingsFont!=null?await PWs({rawFontConfig:e.headingsFont,absoluteFilepathToDocsConfig:t}):void 0,bodyFont:e.bodyFont!=null?await PWs({rawFontConfig:e.bodyFont,absoluteFilepathToDocsConfig:t}):void 0,codeFont:e.codeFont!=null?await PWs({rawFontConfig:e.codeFont,absoluteFilepathToDocsConfig:t}):void 0}}async function PWs({rawFontConfig:e,absoluteFilepathToDocsConfig:t}){return{name:e.name,variants:await QXD(e,t),display:e.display,fallback:e.fallback,fontVariationSettings:e.fontVariationSettings}}function QXD(e,t){let r=[];return e.path!=null&&r.push({path:e.path,weight:e.weight,style:e.style}),e.paths?.forEach(i=>{typeof i=="string"?r.push({path:i,weight:e.weight,style:e.style}):r.push({path:i.path,weight:i.weight??e.weight,style:i.style??e.style})}),Promise.all(r.map(async i=>({absolutePath:_5(i.path,t),weight:JXD(i.weight),style:i.style})))}function JXD(e){return e==null?void 0:typeof e=="number"?[e.toString()]:e.split(/\D+/).filter(r=>r!==""&&["100","200","300","400","500","600","700","800","900"].includes(r))}async function KXD({tabs:e,item:t,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n}){let a=e[t.tab];if(a==null)throw new Error(`Tab ${t.tab} is not defined in the tabs config.`);if(t.layout!=null){let u=await Promise.all(t.layout.map(l=>SWs({rawConfig:l,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})));return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"layout",layout:u},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)}}if(a.href!=null)return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"link",href:a.href},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)};if(a.changelog!=null)return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"changelog",changelog:await CK(_5(a.changelog,i),"{md,mdx}")},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)};Go(a)}async function Ow_({tabs:e={},rawNavigationConfig:t,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n}){return nZD(t)?{type:"tabbed",items:await Promise.all(t.map(u=>KXD({tabs:e,item:u,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})))}:{type:"untabbed",items:await Promise.all(t.map(a=>SWs({rawConfig:a,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})))}}var YXD="Changelog";async function SWs({rawConfig:e,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}){if(Pw_(e))return TTo(e,r);if(ZXD(e))return{type:"section",title:e.section,icon:e.icon,contents:await Promise.all(e.contents.map(n=>SWs({rawConfig:n,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}))),slug:e.slug??void 0,collapsed:e.collapsed??void 0,hidden:e.hidden??void 0,skipUrlSlug:e.skipSlug??!1,overviewAbsolutePath:_5(e.path,r),viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};if(kXD(e))return{type:"apiSection",openrpc:e.openrpc,title:e.api,icon:e.icon,apiName:e.apiName??void 0,audiences:e.audiences!=null?{type:"select",audiences:e.audiences}:{type:"all"},showErrors:e.displayErrors??!1,snippetsConfiguration:e.snippets!=null?XXD({rawConfig:e.snippets}):void 0,navigation:e.layout?.flatMap(n=>qTo(n,r))??[],overviewAbsolutePath:_5(e.summary,r),hidden:e.hidden??void 0,slug:e.slug,skipUrlSlug:e.skipSlug??!1,flattened:e.flattened??!1,alphabetized:e.alphabetized??!1,paginated:e.paginated??!1,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};if(jw_(e))return{type:"link",text:e.link,url:e.href,icon:e.icon};if(eZD(e))return{type:"changelog",changelog:await CK(_5(e.changelog,r),"{md,mdx}"),hidden:e.hidden??!1,icon:e.icon,title:e.title??YXD,slug:e.slug,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};Go(e)}function TTo(e,t){if(e!=null)return{type:"page",title:e.page,absolutePath:_5(e.path,t),slug:e.slug,icon:e.icon,hidden:e.hidden,noindex:void 0,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}}function qTo(e,t){return typeof e=="string"?[{type:"item",value:e}]:Pw_(e)?[TTo(e,t)]:jw_(e)?[{type:"link",text:e.link,url:e.href,icon:e.icon}]:tZD(e)?[{type:"section",title:e.section,referencedSubpackages:e.referencedPackages??[],overviewAbsolutePath:_5(e.summary,t),contents:e.contents?.flatMap(r=>qTo(r,t))??[],slug:e.slug,hidden:e.hidden,skipUrlSlug:e.skipSlug,icon:e.icon,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}]:rZD(e)?[{type:"endpoint",endpoint:e.endpoint,title:e.title,icon:e.icon,slug:e.slug,hidden:e.hidden,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}]:Object.entries(e).map(([r,i])=>iZD(i)?{type:"package",title:i.title,package:r,overviewAbsolutePath:_5(i.summary,t),contents:i.contents?.flatMap(n=>qTo(n,t))??[],slug:i.slug,hidden:i.hidden,skipUrlSlug:i.skipSlug,icon:i.icon,playground:i.playground,viewers:b8t(i.viewers),orphaned:i.orphaned,featureFlags:v8t(i.featureFlag)}:{type:"package",title:void 0,package:r,overviewAbsolutePath:void 0,contents:i.flatMap(n=>qTo(n,t)),hidden:!1,slug:void 0,skipUrlSlug:!1,icon:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}function XXD({rawConfig:e}){return{python:e.python,typescript:e.typescript,go:e.go,java:e.java,ruby:e.ruby}}function Pw_(e){return bg(e)&&typeof e.page=="string"&&typeof e.path=="string"}function ZXD(e){return e.section!=null}function kXD(e){return e.api!=null}function jw_(e){return tte.RawSchemas,bg(e)&&typeof e.link=="string"&&typeof e.href=="string"}function eZD(e){return bg(e)&&typeof e.changelog=="string"}function tZD(e){return bg(e)&&typeof e.section=="string"&&Array.isArray(e.contents)}function rZD(e){return bg(e)&&typeof e.endpoint=="string"}function iZD(e){return!Array.isArray(e)}function _5(e,t){if(e!=null)return DO(Wp(t),e)}function nZD(e){return Array.isArray(e)&&e.length>0&&e[0].tab!=null}function aZD(e){return e?.map(t=>t.type==="github"?{type:"github",url:dV.FernRegistry.Url(t.value)}:{type:t.type,text:t.text,url:dV.FernRegistry.Url(t.href??t.url??"/"),icon:t.icon,rightIcon:t.rightIcon,rounded:t.rounded})}function oZD(e){if(e==null)return;let t=[];if(Object.keys(e).forEach(r=>{let i=e[r];i!=null&&t.push({type:r,value:dV.FernRegistry.Url(i)})}),t.length!==0)return t}async function uZD(e,t){if(e!=null)return{"og:site_name":e.ogSiteName,"og:title":e.ogTitle,"og:description":e.ogDescription,"og:url":e.ogUrl,"og:image":await jWs(e.ogImage,t),"og:image:width":e.ogImageWidth,"og:image:height":e.ogImageHeight,"og:locale":e.ogLocale,"og:logo":await jWs(e.ogLogo,t),"twitter:title":e.twitterTitle,"twitter:description":e.twitterDescription,"twitter:image":await jWs(e.twitterImage,t),"twitter:handle":e.twitterHandle,"twitter:site":e.twitterSite,"twitter:url":e.twitterUrl,"twitter:card":e.twitterCard,nofollow:void 0,noindex:void 0}}async function jWs(e,t){if(e==null)return;if(e.startsWith("http"))return{type:"url",value:e};let r=_5(e,t);return await zf(r)?{type:"filepath",value:r}:{type:"url",value:e}}function b8t(e){if(e!=null){if(typeof e=="string")return[dV.FernRegistry.RoleId(e)];if(e.length!==0)return e.map(dV.FernRegistry.RoleId)}}async function ww_({domain:e,project:t,context:r}){let i=t.docsWorkspaces,n=t.apiWorkspaces;if(i==null)throw new Error("No docs workspace found in project");let a=await Promise.all(n.map(async m=>await m.toFernWorkspace({context:r},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0}))),u=await qie(t),l=new DWs(r),d=new EWs(r),s={},o=await mw_({rawDocsConfiguration:i.config,context:r,absolutePathToFernFolder:i.absoluteFilePath,absoluteFilepathToDocsConfig:i.absoluteFilepathToDocsConfig}),b=await new y8t(e,i,u,a,r,void 0,async m=>m.map(w=>{let M=Uxe();return s[M]={type:"url",url:zo.Url(`/_local${Ges(w.absoluteFilePath)}`)},{absoluteFilePath:w.absoluteFilePath,relativeFilePath:w.relativeFilePath,fileId:M}}),async m=>l.addReferencedAPI(m),async m=>d.addReferencedAPI(m)).resolve(),g=MLs({writeShape:b,files:{}}),O=qLs({dbShape:g.config});return{apis:l.getAPIsForDefinition(),apisV2:d.getAPIsForDefinition(),config:O,files:{},filesV2:s,pages:g.pages,search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0}}var DWs=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({ir:t,snippetsConfig:r,playgroundConfig:i}){try{let n=Uxe(),a=_oa(USe({ir:t,snippetsConfig:r,playgroundConfig:i}),RP.ApiDefinitionId(n),new Cqi({snippetsConfigWithSdkId:{},snippetsBySdkId:{},snippetTemplatesByEndpoint:{},snippetTemplatesByEndpointId:{},snippetsBySdkIdAndEndpointId:{}})),u=voa(a);return this.apis[n]=u,n}catch(n){let a=n;throw this.context.logger.debug(`Failed to read referenced API: ${a?.message} ${a?.stack}`),this.context.logger.error("An error occured while trying to read an API definition. Please reach out to support."),a.stack!=null&&this.context.logger.error(a?.stack),n}}getAPIsForDefinition(){return this.apis}},EWs=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({api:t}){try{return this.apis[t.id]=t,t.id}catch(r){let i=r;throw this.context.logger.debug(`Failed to read referenced API: ${i?.message} ${i?.stack}`),this.context.logger.error("An error occured while trying to read an API definition. Please reach out to support."),i.stack!=null&&this.context.logger.error(i?.stack),r}}getAPIsForDefinition(){return this.apis}};var sZD={pages:{},apis:{},apisV2:{},files:{},filesV2:{},config:{hideNavLinks:void 0,navigation:void 0,root:void 0,title:void 0,defaultLanguage:void 0,announcement:void 0,navbarLinks:void 0,footerLinks:void 0,logoHeight:void 0,logoHref:void 0,favicon:void 0,metadata:void 0,redirects:void 0,colorsV3:void 0,layout:void 0,typographyV2:void 0,analyticsConfig:void 0,integrations:void 0,css:void 0,js:void 0},search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0};async function AWs({initialProject:e,reloadProject:t,validateProject:r,context:i,port:n,bundlePath:a}){if(a!=null)i.logger.info(`Using bundle from path: ${a}`);else try{let q="https://prod-local-preview-bundle2.s3.amazonaws.com/";if(q==null)throw new Error("Failed to connect to the docs preview server. Please contact support@buildwithfern.com");await _w_({bucketUrl:q,logger:i.logger,preferCached:!0})}catch(q){let D=ETo();if(q instanceof Error&&i.logger.debug(`Failed to download latest docs bundle: ${q.message}`),await zf(D))i.logger.warn("Falling back to cached bundle...");else{i.logger.warn("Please reach out to support@buildwithfern.com.");return}}let u=Wp(e.config._absolutePath),l=(0,MWs.default)(),d=Dw_.default.createServer(l),s=new K8s.default({server:d}),o=new Set;function c(q){for(let D of o)D.send(JSON.stringify(q))}s.on("connection",function(D){o.add(D),D.on("close",function(){o.delete(D)})}),l.use((0,Sw_.default)());let b=new URL(VSe(e.docsWorkspaces?.config.instances[0]?.url??`http://localhost:${n}`)),g=e,O,m=async()=>{i.logger.info("Reloading docs...");let q=Date.now();try{g=await t(),i.logger.info("Validating docs..."),await r(g);let D=await ww_({domain:`${b.host}${b.pathname}`,project:g,context:i});return i.logger.info(`Reload completed in ${Date.now()-q}ms`),D}catch(D){return O==null?i.logger.error("Failed to read docs configuration. Rendering blank page."):i.logger.error("Failed to read docs configuration. Rendering last successful configuration."),D instanceof Error&&(i.logger.error(D.message),D instanceof Error&&D.stack&&i.logger.debug(`Stack Trace:
|
|
1962
|
+
${JSON.stringify(r)}"`)}}function Cv_(e,t,r,i){let n=r.resolveSourceOrThrow({source:t,relativeFilepath:e.relativeFilepath});if(n==null||n.type!=="protobuf")throw new Error(`Expected a protobuf source for ${t.proto}.`);let a=Av_({source:n,serviceNameOverride:i});if(a==null)throw new Error(`Failed to resolve service name from ${n.relativeFilePath}.`);return vBe.grpc({service:a})}function Bv_({rootDefaultUrl:e,rootPathParameters:t,serviceDefinition:r,file:i,errorResolver:n,typeResolver:a,propertyResolver:u,exampleResolver:l,variableResolver:d,sourceResolver:s,globalErrors:o,workspace:c}){let b=Zbn({pathParameters:r["path-parameters"],location:bBe.Service,file:i,variableResolver:d}),g=qv_({file:i,serviceDeclaration:r,sourceResolver:s}),O={fernFilepath:i.fernFilepath};return{availability:Mie(r.availability),name:O,displayName:r["display-name"]??void 0,basePath:oze(r["base-path"]),headers:r.headers!=null?Object.entries(r.headers).map(([w,M])=>sze({headerKey:w,header:M,file:i})):[],pathParameters:b,encoding:kGD(g,r),transport:g,endpoints:Object.entries(r.endpoints).map(([w,M])=>{let A=Zbn({pathParameters:d8t(M),location:bBe.Endpoint,file:i,variableResolver:d}),q={...oG(M),id:"",name:i.casingsGenerator.generateName(w),displayName:M["display-name"],auth:M.auth??r.auth,idempotent:M.idempotent??r.idempotent??!1,baseUrl:M.url??r.url??e,method:M.method!=null?ZGD(M.method):Fte.Post,basePath:M["base-path"]!=null?oze(M["base-path"]):void 0,path:oze(M.path),fullPath:oze(M["base-path"]!=null?zv(M["base-path"],M.path):i.rootApiFile["base-path"]!=null?zv(i.rootApiFile["base-path"],r["base-path"],M.path):zv(r["base-path"],M.path)),pathParameters:A,allPathParameters:M["base-path"]!=null?A:[...t,...b,...A],queryParameters:typeof M.request!="string"&&M.request?.["query-parameters"]!=null?Object.entries(M.request["query-parameters"]).map(([D,C])=>mAo({file:i,queryParameterKey:D,queryParameter:C})):[],headers:typeof M.request!="string"&&M.request?.headers!=null?Object.entries(M.request.headers).map(([D,C])=>sze({headerKey:D,header:C,file:i})):[],requestBody:Qy_({request:M.request,file:i}),sdkRequest:Zy_({service:r,request:M.request,endpoint:M,endpointKey:w,file:i,typeResolver:a,propertyResolver:u}),response:wv_({endpoint:M,file:i,typeResolver:a}),errors:[...Wy_({errors:M.errors,file:i}),...o],userSpecifiedExamples:M.examples!=null?M.examples.map(D=>({example:jv_({service:r,endpoint:M,example:D,typeResolver:a,errorResolver:n,exampleResolver:l,variableResolver:d,file:i,workspace:c}),codeSamples:D["code-samples"]?.map(C=>ky_({codeSample:C,file:i}))})):[],autogeneratedExamples:[],pagination:Mv_({propertyResolver:u,file:i,endpointName:w,endpointSchema:M}),transport:Tv_({file:i,serviceTransport:g,endpointDeclaration:M,sourceResolver:s})};return q.id=Tg.generateEndpointId(O,q),q})}}function Zbn({pathParameters:e,location:t,file:r,variableResolver:i}){return e==null?[]:Object.entries(e).map(([n,a])=>YGD({parameterName:n,parameter:a,location:t,file:r,variableResolver:i}))}function YGD({parameterName:e,parameter:t,location:r,file:i,variableResolver:n}){return{...oG(t),name:i.casingsGenerator.generateName(e),valueType:XGD({parameter:t,variableResolver:n,file:i}),location:r,variable:rsn(t)?n.getVariableIdOrThrow(typeof t=="string"?t:t.variable):void 0}}function XGD({parameter:e,variableResolver:t,file:r}){let i=zoa({parameter:e,variableResolver:t,file:r});return i.file.parseTypeReference(i.rawType)}function zoa({parameter:e,variableResolver:t,file:r}){let i=jAo({parameter:e,variableResolver:t,file:r});if(i==null)throw new Error("Cannot resolve path parameter");return i}function jAo({parameter:e,variableResolver:t,file:r}){if(rsn(e)){let i=typeof e=="string"?e:e.variable,n=t.getDeclaration(i,r);return n==null?void 0:{rawType:typeof n.declaration=="string"?n.declaration:n.declaration.type,file:n.file}}else return{file:r,rawType:typeof e=="string"?e:e.type}}function ZGD(e){switch(e){case"GET":return Fte.Get;case"POST":return Fte.Post;case"PUT":return Fte.Put;case"PATCH":return Fte.Patch;case"DELETE":return Fte.Delete;default:Go(e)}}function sze({headerKey:e,header:t,file:r}){let{name:i}=eYt({headerKey:e,header:t});return{...oG(t),name:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:i}),valueType:r.parseTypeReference(t),env:typeof t=="string"?void 0:t.env}}function eYt({headerKey:e,header:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function kGD(e,t){switch(e.type){case"http":return{json:{},proto:void 0};case"grpc":return{json:void 0,proto:{}};default:Go(e)}}var uG={};Wo(uG,{validateObjectExample:()=>Fqi,validateTypeExample:()=>gAo,validateTypeReferenceExample:()=>p5});var wAo=class{subpackages={};rootPackage={docs:void 0,fernFilepath:{allParts:[],packagePath:[],file:void 0},websocket:void 0,service:void 0,types:[],errors:[],subpackages:[],webhooks:void 0,navigationConfig:void 0};addPackageRedirection({from:t,to:r}){let i=this.getPackageForFernFilepath(t);if(i.navigationConfig!=null)throw new Error("Found duplicate navigationConfig for package");i.navigationConfig={pointsTo:Tg.generateSubpackageId(r)}}addDocs(t,r){let i=this.getPackageForFernFilepath(t);if(i.docs!=null)throw new Error("Found duplicate docs for package");i.docs=r}addSubpackage(t){this.getPackageForFernFilepath(t)}addType(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).types.push(t)}addError(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).errors.push(t)}addService(t,r){let i=this.getPackageForFernFilepath(r.name.fernFilepath);if(i.service!=null)throw new Error("Found duplicate service for "+t);i.service=t}addWebhookGroup(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.webhooks=t}addWebSocketChannel(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.websocket=t}build(t){t!=null&&(Object.entries(this.subpackages).forEach(([i,n])=>{t.hasSubpackageId(i)?this.subpackages[i]={...n,types:n.types.filter(a=>t.hasTypeId(a)),errors:n.errors.filter(a=>t.hasErrorId(a)),service:n.service!=null&&t.hasServiceId(n.service)?n.service:void 0,subpackages:n.subpackages.filter(a=>t.hasSubpackageId(a))}:delete this.subpackages[i]}),this.rootPackage={...this.rootPackage,types:this.rootPackage.types.filter(i=>t.hasTypeId(i)),errors:this.rootPackage.errors.filter(i=>t.hasErrorId(i)),service:this.rootPackage.service!=null&&t.hasServiceId(this.rootPackage.service)?this.rootPackage.service:void 0,subpackages:this.rootPackage.subpackages.filter(i=>t.hasSubpackageId(i)),webhooks:this.rootPackage.webhooks!=null?this.rootPackage.webhooks:void 0});let r=new Set(this.getAllChildrenWithEndpoints(this.rootPackage));return{subpackages:ud(this.subpackages,(i,n)=>({...i,hasEndpointsInTree:r.has(n)})),rootPackage:{...this.rootPackage,hasEndpointsInTree:r.size>0||this.rootPackage.service!=null}}}sortRootPackage(t){if(!xv_(this.rootPackage.subpackages,t))throw new Error("Sorted subpackages differ from unsorted packages in root");this.rootPackage.subpackages=t}sortSubpackage(t,r){let i=this.subpackages[t];if(i==null)throw new Error("Subpackage does not exist: "+t);if(!xv_(i.subpackages,r))throw new Error("Sorted subpackages differ from unsorted packages");i.subpackages=r}getAllSubpackagesWithEndpoints(t){let r=this.subpackages[t];if(r==null)throw new Error("Subpackage does not exist: "+t);let i=this.getAllChildrenWithEndpoints(r);return(i.length>0||r.service!=null)&&i.push(t),i}getAllChildrenWithEndpoints(t){return t.subpackages.flatMap(r=>[...this.getAllSubpackagesWithEndpoints(r)])}getPackageForFernFilepath(t,r=0,i=this.rootPackage){let n=t.allParts[r];if(n==null)return i;let a=i.subpackages.map(s=>{let o=this.subpackages[s];if(o==null)throw new Error("Subpackage ID is invalid: "+s);return o}),u=r+1,l={allParts:t.allParts.slice(0,u),packagePath:t.packagePath.slice(0,u),file:u===t.allParts.length?t.file:void 0},d=a.find(s=>s.name.originalName===n.originalName);if(d==null){let s=Tg.generateSubpackageId(l),o={docs:void 0,fernFilepath:l,name:n,service:void 0,types:[],errors:[],subpackages:[],navigationConfig:void 0,webhooks:void 0,websocket:void 0};this.subpackages[s]=o,i.subpackages.push(s),d=o}return this.getPackageForFernFilepath(t,u,d)}};function xv_(e,t){if(e.length!==t.length)return!1;let r=new Set(e);for(let i of t)if(!r.has(i))return!1;return!0}function Iv_(e){return{errorInstanceIdKey:e.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}}function SAo({fernFilePath:e}){return e.packagePath.length===0&&e.file==null}function zv_({endpointResolver:e,propertyResolver:t,file:r,refreshTokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r});return{endpointReference:{endpointId:Tg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Tg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:SAo({fernFilePath:n.file.fernFilepath})?void 0:Tg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{refreshToken:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.refresh_token})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}function Rv_({endpointResolver:e,propertyResolver:t,file:r,tokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r}),a=typeof n.endpoint.request=="object"&&n.endpoint.request.body!=null&&typeof n.endpoint.request.body=="object"&&"properties"in n.endpoint.request.body?n.endpoint.request.body.properties??{}:{};return{endpointReference:{endpointId:Tg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Tg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:SAo({fernFilePath:n.file.fernFilepath})?void 0:Tg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{clientId:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_id}),clientSecret:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_secret}),scopes:i.requestProperties.scopes!=null?t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.scopes}):void 0,customProperties:eQD({requestBodyProperties:a,tokenEndpoint:i,file:r,propertyResolver:t})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}var eQD=({requestBodyProperties:e,tokenEndpoint:t,file:r,propertyResolver:i})=>{let n=Object.keys(e).filter(a=>!t.requestProperties.client_id.includes(a)&&!t.requestProperties.client_secret.includes(a)&&(t.requestProperties.scopes==null||!t.requestProperties.scopes.includes(a)));return n.length>0?n.map(a=>i.resolveRequestPropertyOrThrow({file:r,endpoint:t.endpoint,propertyComponents:[a]})):void 0};function Nv_({propertyResolver:e,endpointResolver:t,file:r,oauthScheme:i,tokenEndpoint:n,refreshTokenEndpoint:a}){let u=Rv_({propertyResolver:e,endpointResolver:t,file:r,tokenEndpoint:n});if(u==null)throw new Error("Failed to convert OAuth token endpoint.");let l=a!=null?zv_({propertyResolver:e,endpointResolver:t,file:r,refreshTokenEndpoint:a}):void 0;return{clientIdEnvVar:i["client-id-env"],clientSecretEnvVar:i["client-secret-env"],tokenPrefix:i["token-prefix"],tokenHeader:i["token-header"],scopes:i.scopes,tokenEndpoint:u,refreshEndpoint:l}}var Roa={requestProperties:{type:"access_token",client_id:["client_id"],client_secret:["client_secret"],scopes:void 0},responseProperties:{type:"access_token",access_token:["access_token"],expires_in:void 0,refresh_token:void 0}},jUs={requestProperties:{type:"refresh_token",refresh_token:["refresh_token"]},responseProperties:{type:"access_token",access_token:["access_token"],refresh_token:void 0,expires_in:void 0}};function Fv_(e){return{endpoint:e["get-token"].endpoint,requestProperties:tQD({requestProperties:e["get-token"]?.["request-properties"]}),responseProperties:rQD({responseProperties:e["get-token"]?.["response-properties"]})}}function Lv_(e){if(e["refresh-token"]!=null)return{endpoint:e["refresh-token"].endpoint,requestProperties:iQD({requestProperties:e["refresh-token"]?.["request-properties"]}),responseProperties:nQD({responseProperties:e["refresh-token"]?.["response-properties"]})}}function tQD({requestProperties:e}){if(e==null)return Roa.requestProperties;let t=e["client-id"],r=e["client-secret"],i=e.scopes;return{type:"access_token",client_id:t!=null?f8t(t):Roa.requestProperties.client_id,client_secret:r!=null?f8t(r):Roa.requestProperties.client_secret,scopes:i!=null?f8t(i):Roa.requestProperties.scopes}}function rQD({responseProperties:e}){return Uv_({responseProperties:e,defaultValue:Roa.responseProperties})}function iQD({requestProperties:e}){if(e==null)return jUs.requestProperties;let t=e["refresh-token"];return{type:"refresh_token",refresh_token:t!=null?f8t(t):jUs.requestProperties.refresh_token}}function nQD({responseProperties:e}){return Uv_({responseProperties:e,defaultValue:jUs.responseProperties})}function Uv_({responseProperties:e,defaultValue:t}){if(e==null)return t;let r=e["access-token"],i=e["expires-in"],n=e["refresh-token"];return{type:"access_token",access_token:r!=null?zLr(r):t.access_token,expires_in:i!=null?zLr(i):t.expires_in,refresh_token:n!=null?zLr(n):t.refresh_token}}function Gv_({rawApiFileSchema:e,file:t,propertyResolver:r,endpointResolver:i}){if(e.auth==null)return{docs:void 0,requirement:pkr.All,schemes:[]};let n=typeof e.auth!="string"?e.auth.docs:void 0;return rJn(e.auth,{single:a=>{let u=Vv_({reference:a,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i});return{docs:n,requirement:pkr.All,schemes:[u]}},any:({any:a})=>({docs:n,requirement:pkr.Any,schemes:a.map(u=>Vv_({reference:u,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i}))})})}function Vv_({reference:e,authSchemeDeclarations:t,file:r,propertyResolver:i,endpointResolver:n}){let a=(l,d)=>{let s=t?.[l];if(s==null)throw new Error("Unknown auth scheme: "+l);return bss(s,{header:o=>pU.header({docs:d,name:r.casingsGenerator.generateNameAndWireValue({name:o.name??l,wireValue:o.header}),valueType:r.parseTypeReference(o.type??"string"),prefix:o.prefix,headerEnvVar:o.env}),basic:o=>Hv_({file:r,docs:d,rawScheme:o}),bearer:o=>Wv_({file:r,docs:d,rawScheme:o}),oauth:o=>$v_({file:r,docs:d,rawScheme:o,propertyResolver:i,endpointResolver:n})})},u=typeof e=="string"?e:e.scheme;switch(u){case"bearer":return Wv_({file:r,docs:void 0,rawScheme:void 0});case"basic":return Hv_({file:r,docs:void 0,rawScheme:void 0});case"oauth":return $v_({file:r,docs:void 0,rawScheme:void 0,propertyResolver:i,endpointResolver:n});default:return a(u,typeof e!="string"?e.docs:void 0)}}function Wv_({file:e,docs:t,rawScheme:r}){return pU.bearer({docs:t,token:e.casingsGenerator.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function Hv_({file:e,docs:t,rawScheme:r}){return pU.basic({docs:t,username:e.casingsGenerator.generateName(r?.username?.name??"username"),usernameEnvVar:r?.username?.env,password:e.casingsGenerator.generateName(r?.password?.name??"password"),passwordEnvVar:r?.password?.env})}function $v_({file:e,docs:t,rawScheme:r,propertyResolver:i,endpointResolver:n}){switch(r?.type){case"client-credentials":return pU.oauth({docs:t,configuration:_kr.clientCredentials(Nv_({propertyResolver:i,endpointResolver:n,file:e,oauthScheme:r,tokenEndpoint:Fv_(r),refreshTokenEndpoint:Lv_(r)}))});default:throw new Error(`Unknown OAuth type: '${r?.type}'`)}}function Qv_({file:e,rawApiFileSchema:t}){if(t.version!=null)return ykr.header({header:aQD({file:e,header:t.version.header}),value:oQD({file:e,versionDeclaration:t.version})})}function aQD({file:e,header:t}){return typeof t=="string"?sze({file:e,headerKey:t,header:{type:"string"}}):sze({file:e,headerKey:t.value,header:{type:"string",name:t.name,env:t.env}})}function oQD({file:e,versionDeclaration:t}){return OAo({_enum:{default:t.default,enum:t.values},file:e})}function Jv_({channel:e,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a}){let u=[];for(let[l,d]of Object.entries(e.messages??{}))u.push({type:l,availability:Mie(d.availability),docs:d.docs,origin:d.origin,body:cQD({body:d.body,file:n}),displayName:d["display-name"]});return{availability:Mie(e.availability),path:oze(e.path),auth:e.auth,name:n.fernFilepath.file??n.casingsGenerator.generateName(e["display-name"]??e.path),displayName:e["display-name"],headers:e.headers!=null?Object.entries(e.headers).map(([l,d])=>sze({headerKey:l,header:d,file:n})):[],docs:e.docs,pathParameters:e["path-parameters"]!=null?Zbn({pathParameters:e["path-parameters"],location:bBe.Endpoint,file:n,variableResolver:i}):[],queryParameters:e["query-parameters"]!=null?Object.entries(e["query-parameters"]).map(([l,d])=>{let{name:s}=NLr({queryParameterKey:l,queryParameter:d}),o=n.parseTypeReference(d);return{...oG(d),name:n.casingsGenerator.generateNameAndWireValue({wireValue:l,name:s}),valueType:o,allowMultiple:typeof d!="string"&&d["allow-multiple"]!=null?d["allow-multiple"]:!1}}):[],messages:Object.values(u),examples:(e.examples??[]).map(l=>{let d=fQD({channel:e,example:l,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a});return{name:l.name!=null?n.casingsGenerator.generateName(l.name):void 0,docs:l.docs,url:pQD({channel:e,example:l,pathParams:d}),...d,...dQD({channel:e,example:l,typeResolver:t,exampleResolver:r,file:n,workspace:a}),queryParameters:l["query-parameters"]!=null?Object.entries(l["query-parameters"]).map(([s,o])=>{let c=e["query-parameters"]?.[s];if(c==null)throw new Error(`Query parameter ${s} does not exist`);return{name:n.casingsGenerator.generateNameAndWireValue({name:NLr({queryParameterKey:s,queryParameter:c}).name,wireValue:s}),value:YD({example:o,rawTypeBeingExemplified:typeof c=="string"?c:c.type,typeResolver:t,exampleResolver:r,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),shape:uQD({queryParameter:c})}}):[],messages:l.messages.map(s=>{let o=e.messages?.[s.type];if(o==null)throw new Error(`Message ${s.type} does not exist`);return{type:s.type,body:sQD({message:o,example:s.body,typeResolver:t,exampleResolver:r,file:n,workspace:a})}})}})}}function uQD({queryParameter:e}){return(typeof e!="string"&&e["allow-multiple"]!=null?e["allow-multiple"]:!1)?U2.exploded():U2.single()}function sQD({message:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){if(!_QD(e.body))return b4t.reference(YD({example:t,rawTypeBeingExemplified:typeof e.body!="string"?e.body.type:e.body,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}));if(!bg(t))throw new Error("Example must be an object");let u=[];for(let[l,d]of Object.entries(t)){let s=e.body.properties?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:l,property:s}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof s!="string"?s.type:s,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),originalTypeDeclaration:void 0});else{let o=Ioa({extends_:e.body.extends,wirePropertyKey:l,typeResolver:r,file:n});if(o==null)throw new Error("Could not find original type declaration for property: "+l);u.push({name:n.casingsGenerator.generateNameAndWireValue({name:cV({propertyKey:l,property:o.rawPropertyType}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof o.rawPropertyType=="string"?o.rawPropertyType:o.rawPropertyType.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:o.file,fileContainingExample:n,workspace:a}),originalTypeDeclaration:o.typeName})}}return b4t.inlinedBody({jsonExample:i.resolveAllReferencesInExampleOrThrow({example:t,file:n}).resolvedExample,properties:u})}function cQD({body:e,file:t}){return typeof e=="string"?Gte.reference({docs:void 0,bodyType:t.parseTypeReference(e)}):lQD(e)?Gte.reference({docs:void 0,bodyType:t.parseTypeReference(e.type)}):Gte.inlinedBody({name:t.casingsGenerator.generateName(e.name),extends:l8t(e.extends??[]).map(r=>d5({typeName:r,file:t})),properties:[]})}function lQD(e){return e.type!=null}function fQD({channel:e,example:t,typeResolver:r,exampleResolver:i,variableResolver:n,file:a,workspace:u}){let l=[],d=({name:s,pathParameterDeclaration:o,examplePathParameter:c})=>{let b=zoa({parameter:o,variableResolver:n,file:a});return{name:s,value:YD({example:c,rawTypeBeingExemplified:b.rawType,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:b.file,fileContainingExample:a,workspace:u})}};if(t["path-parameters"]!=null){let s=d8t(e);for(let[o,c]of Object.entries(t["path-parameters"])){let b=s[o];if(b!=null)l.push(d({name:a.casingsGenerator.generateName(o),pathParameterDeclaration:b,examplePathParameter:c}));else throw new Error(`Path parameter ${o} does not exist`)}}return{pathParameters:l}}function dQD({channel:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=[];if(t.headers!=null)for(let[l,d]of Object.entries(t.headers)){let s=e.headers?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:eYt({headerKey:l,header:s}).name,wireValue:l}),value:YD({example:d,rawTypeBeingExemplified:typeof s=="string"?s:s.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a})});else throw new Error(`Heder ${l} does not exist`)}return{headers:u}}function pQD({channel:e,example:t,pathParams:r}){let i=e.path;if(t["path-parameters"]!=null)for(let n of[...r.pathParameters])i=i.replaceAll(`{${n.name.originalName}}`,`${n.value.jsonExample}`);return i}function _QD(e){return typeof e=="string"?!1:e.extends!=null||e.properties!=null}function wUs({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let i=Object.values(t)[0];if(i!=null)return{defaultEnvironment:e??void 0,environments:W8r(i,{singleBaseUrl:()=>d4t.singleBaseUrl(hQD({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>d4t.multipleBaseUrls(yQD({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})}}function hQD({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>W8r(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:Kv_(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function yQD({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>W8r(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:ud(a.urls,u=>Kv_(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function Kv_(e){return e.endsWith("/")?e.slice(0,-1):e}function Yv_({errorName:e,errorDeclaration:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=[];if(t.type!=null&&t.examples!=null)for(let l of t.examples)u.push({name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,docs:l.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:l.value,file:r}).resolvedExample,shape:YD({example:l.value,rawTypeBeingExemplified:t.type,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})});return{name:sai({errorName:e,file:r}),discriminantValue:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:e}),docs:typeof t!="string"?t.docs:void 0,statusCode:t["status-code"],type:t.type!=null?r.parseTypeReference(t.type):void 0,examples:u}}var Xv_="content";function Zv_(e,t){if(e==null||e.strategy==="status-code")return y4t.statusCode();switch(e.strategy){case"property":return y4t.property({discriminant:t.casingsGenerator.generateNameAndWireValue({name:e["property-name"],wireValue:e["property-name"]}),contentProperty:t.casingsGenerator.generateNameAndWireValue({name:Xv_,wireValue:Xv_})});default:Go(e)}}function kv_({readme:e,services:t}){let r=new SUs(t);return{apiReferenceLink:e.apiReferenceLink,bannerLink:e.bannerLink,introduction:e.introduction,defaultEndpoint:e.defaultEndpoint!=null?r.getEndpointForReadmeOrThrow(e.defaultEndpoint).id:void 0,features:e.features!=null?Object.fromEntries(Object.entries(e.features).map(([i,n])=>[i,n.map(a=>r.getEndpointForReadmeOrThrow(a).id)])):void 0}}var SUs=class{endpoints={};constructor(t){this.endpoints=this.buildEndpoints(t)}getEndpointForReadme(t){let r=bQD({endpoint:t}),i=this.getEndpointKeyForReadmeEndpoint(r);return this.endpoints[i]}getEndpointForReadmeOrThrow(t){let r=this.getEndpointForReadme(t);if(r==null)throw new Error(`Endpoint not found for ${JSON.stringify(t)}`);return r}buildEndpoints(t){let r={};for(let i of Object.values(t))for(let n of i.endpoints)r[this.getEndpointKeyForHttpEndpoint(n)]=n;return r}getEndpointKeyForReadmeEndpoint(t){return this.getEndpointKey({method:t.method,path:t.path,stream:t.stream??!1})}getEndpointKeyForHttpEndpoint(t){return this.getEndpointKey({method:t.method,path:vQD(t),stream:t.response?.body?.type==="streaming"})}getEndpointKey({method:t,path:r,stream:i}){return`${t}|${r}|${i}`}};function vQD(e){let t="";e.fullPath.head.length>0&&(t=zv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=zv(t,"{"+r.pathParameter+"}"),r.tail.length>0&&(t=zv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function bQD({endpoint:e}){if(typeof e=="string"){let t=e.split(" ");if(t.length!==2||t[0]==null||t[1]==null)throw new Error(`invalid endpoint string: ${e}`);return{method:t[0],path:t[1]}}return e}function eb_({webhooks:e,file:t,typeResolver:r,exampleResolver:i,workspace:n}){let a=[];for(let[u,l]of Object.entries(e))a.push({id:Tg.generateWebhookId(t.fernFilepath,u),availability:Mie(l.availability),displayName:l["display-name"],docs:l.docs,method:l.method,name:t.casingsGenerator.generateName(u),headers:l.headers!=null?Object.entries(l.headers).map(([d,s])=>sze({headerKey:d,header:s,file:t})):[],payload:gQD({payload:l.payload,file:t}),examples:l.examples!=null?mQD({webhook:l,examples:l.examples,file:t,typeResolver:r,exampleResolver:i,workspace:n}):void 0});return a}function gQD({payload:e,file:t}){return typeof e=="string"?$te.reference({docs:void 0,payloadType:t.parseTypeReference(e)}):DAo(e)?$te.reference({docs:void 0,payloadType:t.parseTypeReference(e.type)}):$te.inlinedPayload({name:t.casingsGenerator.generateName(e.name),extends:l8t(e.extends).map(r=>d5({typeName:r,file:t})),properties:e.properties!=null?Object.entries(e.properties).map(([r,i])=>OQD({propertyKey:r,propertyDefinition:i,docs:typeof i!="string"?i.docs:void 0,availability:typeof i!="string"?Mie(i.availability):void 0,file:t})):[]})}function OQD({propertyKey:e,propertyDefinition:t,docs:r,availability:i,file:n}){return{docs:r,availability:i,name:n.casingsGenerator.generateNameAndWireValue({wireValue:e,name:cV({propertyKey:e,property:t}).name}),valueType:n.parseTypeReference(t)}}function mQD({webhook:e,examples:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=typeof e.payload=="string"?e.payload:DAo(e.payload)?e.payload.type:void 0;if(u!=null)return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:YD({example:l.payload,rawTypeBeingExemplified:u,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}));if(!bg(e.payload))throw new Error(`Example webhook payload is not an object. Got: ${JSON.stringify(e.payload)}`);return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:YD({example:l.payload,rawTypeBeingExemplified:"map<string, unknown>",fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}))}function DAo(e){return e.type!=null}function kbn(e){let t={};for(let[r,i]of Object.entries(e))if(typeof i!="string")for(let n of i.audiences??[])t[n]==null&&(t[n]=new Set),t[n]?.add(r);return t}function tb_({name:e,source:t}){return ZP.userDefined({file:PAo({source:t}),name:cai.generateName(e)})}function rb_({encoding:e}){if(e.proto!=null&&e.proto.type!=null){let t=PQD({type:e.proto.type});if(t!=null)return t}}function PQD({type:e}){switch(e){case"google.protobuf.Any":return ZP.wellKnown(Kf.any());case"google.protobuf.Api":return ZP.wellKnown(Kf.api());case"google.protobuf.BoolValue":return ZP.wellKnown(Kf.boolValue());case"google.protobuf.BytesValue":return ZP.wellKnown(Kf.bytesValue());case"google.protobuf.DoubleValue":return ZP.wellKnown(Kf.doubleValue());case"google.protobuf.Duration":return ZP.wellKnown(Kf.duration());case"google.protobuf.Empty":return ZP.wellKnown(Kf.empty());case"google.protobuf.Enum":return ZP.wellKnown(Kf.enum());case"google.protobuf.EnumValue":return ZP.wellKnown(Kf.enumValue());case"google.protobuf.Field":return ZP.wellKnown(Kf.field());case"google.protobuf.FieldCardinality":return ZP.wellKnown(Kf.fieldCardinality());case"google.protobuf.FieldKind":return ZP.wellKnown(Kf.fieldKind());case"google.protobuf.FieldMask":return ZP.wellKnown(Kf.fieldMask());case"google.protobuf.FloatVlaue":return ZP.wellKnown(Kf.floatValue());case"google.protobuf.Int32Value":return ZP.wellKnown(Kf.int32Value());case"google.protobuf.Int64Value":return ZP.wellKnown(Kf.int64Value());case"google.protobuf.ListValue":return ZP.wellKnown(Kf.listValue());case"google.protobuf.Method":return ZP.wellKnown(Kf.method());case"google.protobuf.Mixin":return ZP.wellKnown(Kf.mixin());case"google.protobuf.NullValue":return ZP.wellKnown(Kf.nullValue());case"google.protobuf.Option":return ZP.wellKnown(Kf.option());case"google.protobuf.SourceContext":return ZP.wellKnown(Kf.sourceContext());case"google.protobuf.StringValue":return ZP.wellKnown(Kf.stringValue());case"google.protobuf.Struct":return ZP.wellKnown(Kf.struct());case"google.protobuf.Syntax":return ZP.wellKnown(Kf.syntax());case"google.protobuf.Timestamp":return ZP.wellKnown(Kf.timestamp());case"google.protobuf.Type":return ZP.wellKnown(Kf.type());case"google.protobuf.Uint32Value":return ZP.wellKnown(Kf.uint32Value());case"google.protobuf.Uint64Value":return ZP.wellKnown(Kf.uint64Value());case"google.protobuf.Value":return ZP.wellKnown(Kf.value())}}function ib_({generic:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type,n=TI(i);if(n==null)throw new Error(`Invalid generic type definition: ${i}`);let a=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:i,file:t});if(n.arguments&&L1(a.declaration)){let u=TI(a.typeName)?.arguments??[],l=Object.entries(a.declaration.properties??{}).map(([d,s])=>{let o=s;return typeof s=="string"&&u?.includes(s)&&(o=n.arguments?.[u.indexOf(s)]??s),[d,o]});return Nq.object({extends:l8t(a.declaration.extends).map(d=>d5({typeName:d,file:t})),properties:qoa({properties:Object.fromEntries(l)},t),extraProperties:a.declaration["extra-properties"]??!1,extendedProperties:void 0})}throw new Error(`Generic type definition not supported: ${i}`)}function nb_({alias:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type;return yBe(i)?ib_({generic:i,file:t,typeResolver:r}):Nq.alias({aliasOf:t.parseTypeReference(e),resolvedType:jQD({aliasOf:i,file:t,typeResolver:r})})}function jQD({aliasOf:e,file:t,typeResolver:r}){let i=r.resolveTypeOrThrow({type:e,file:t});switch(i._type){case"primitive":return hU.primitive(i.originalTypeReference.primitive);case"container":return hU.container(i.originalTypeReference.container);case"unknown":return hU.unknown();case"named":{let n=L1(i.declaration)?v4t.Object:Ekr(i.declaration)?v4t.Union:P4t(i.declaration)?v4t.Enum:isn(i.declaration)?v4t.UndiscriminatedUnion:Go(i.declaration);return hU.named({name:i.name,shape:n})}}}function ab_({union:e,file:t}){let r=e.union.filter((i,n)=>{let a=typeof i=="string"?i:i.type;return e.union.findIndex(u=>(typeof u=="string"?u:u.type)===a)===n});return Nq.undiscriminatedUnion({members:r.map(i=>typeof i=="string"?{docs:void 0,type:t.parseTypeReference(i)}:{type:t.parseTypeReference(i.type),docs:i.docs})})}function ob_(e){let t=[];if(e.extends!=null){let r=typeof e.extends=="string"?[e.extends]:e.extends;t.push(...r)}return e.properties!=null&&t.push(...Object.values(e.properties).map(r=>typeof r=="string"?r:r.type)),t}function EUs({typeDeclaration:e,file:t,typeResolver:r,seenTypeNames:i=new DUs}){let n=A3(e,{alias:u=>{let l=typeof u=="string"?u:u.type,d=TI(l);if(d!=null){let s=new Set(d.arguments??[]),o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:l,file:t}),c=TI(o.typeName)?.arguments;if(L1(o.declaration)){let b=ob_(o.declaration);c&&b.filter(g=>!c.includes(g)).forEach(g=>s.add(g))}return Array.from(s)}return[l]},object:u=>ob_(u),discriminatedUnion:u=>{let l=[];return u["base-properties"]!=null&&l.push(...Object.values(u["base-properties"]).map(d=>typeof d=="string"?d:d.type)),l.push(...Object.values(u.union).reduce((d,s)=>{let o=typeof s=="string"?s:s.type;return typeof o=="string"&&d.push(o),d},[])),l},undiscriminatedUnion:u=>Object.values(u.union).reduce((l,d)=>{let s=typeof d=="string"?d:d.type;return typeof s=="string"&&l.push(s),l},[]),enum:()=>[]}),a=[];for(let u of n){let l=yU({type:u,_default:void 0,validation:void 0,visitor:{primitive:()=>[],map:({keyType:d,valueType:s})=>[...d,...s],list:d=>d,optional:d=>d,nullable:d=>d,set:d=>d,named:d=>[d],literal:()=>[],unknown:()=>[]}});for(let d of l){let s=d5({typeName:d,file:t});if(!i.hasTypeNameBeenSeen(s)){i.addTypeName(s),a.push(s);let o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:d,file:t});if(yBe(o.typeName))continue;a.push(...EUs({typeDeclaration:o.declaration,file:o.file,typeResolver:r,seenTypeNames:i}))}}}return a}var DUs=class{cache=new Set;addTypeName(t){this.cache.add(this.computeCacheKey(t))}hasTypeNameBeenSeen(t){return this.cache.has(this.computeCacheKey(t))}computeCacheKey(t){return t.fernFilepath.allParts.map(r=>r.originalName).join("/")+":"+t.name.originalName}};function ub_({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,sourceResolver:a,workspace:u}){let l=oG(t),d=d5({typeName:e,file:r}),s=EUs({typeDeclaration:t,file:r,typeResolver:i}),o={};L1(t)&&(o=kbn(t.properties??{}));let c=SQD({file:r,typeDeclaration:t,typeName:e,sourceResolver:a});return{propertiesByAudience:o,typeDeclaration:{...l,inline:AQD(t),name:d,shape:wQD({typeDeclaration:t,file:r,typeResolver:i}),referencedTypes:new Set(s.map(b=>b.typeId)),encoding:DQD({typeDeclaration:t,source:c}),source:c,userProvidedExamples:typeof t!="string"&&t.examples!=null?t.examples.map(b=>({name:b.name!=null?r.casingsGenerator.generateName(b.name):void 0,docs:b.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:b.value,file:r}).resolvedExample,shape:PUs({typeName:d,example:b.value,typeResolver:i,exampleResolver:n,typeDeclaration:t,fileContainingType:r,fileContainingExample:r,workspace:u})})):[],autogeneratedExamples:[]},descendantFilepaths:new Set(s.map(b=>b.fernFilepath))}}function wQD({typeDeclaration:e,file:t,typeResolver:r}){return A3(e,{alias:i=>nb_({alias:i,file:t,typeResolver:r}),object:i=>$y_({object:i,file:t}),discriminatedUnion:i=>ov_({union:i,file:t,typeResolver:r}),undiscriminatedUnion:i=>ab_({union:i,file:t}),enum:i=>Nq.enum(OAo({_enum:i,file:t}))})}function SQD({file:e,typeDeclaration:t,typeName:r,sourceResolver:i}){if(typeof t=="string"||t.source==null&&t.encoding==null)return;if(t.encoding!=null){let a=rb_({encoding:t.encoding});if(a!=null)return U8r.proto(a)}if(t.source==null)return;let n=i.resolveSourceOrThrow({source:t.source,relativeFilepath:e.relativeFilepath});if(!(n==null||n.type!=="protobuf"))return U8r.proto(tb_({source:n,name:r}))}function DQD({typeDeclaration:e,source:t}){return typeof e!="string"&&e.encoding!=null?EQD(e.encoding):MQD(t)}function EQD(e){return e.proto!=null?{json:void 0,proto:{}}:{json:{},proto:void 0}}function MQD(e){return e!=null&&e.type==="proto"?{json:void 0,proto:{}}:{json:{},proto:void 0}}function AQD(e){if(typeof e!="string"&&"inline"in e)return e.inline}var sb_="1.0.0";var EAo=class{ir;auth;constructor(t){this.ir=t,this.auth=this.convertAuth(t.auth)}convert(){return{version:sb_,types:this.convertNamedTypes(),headers:this.convertHeaders(),endpoints:this.convertEndpoints(),environments:this.ir.environments}}convertNamedTypes(){return Object.fromEntries(Object.entries(this.ir.types).map(([t,r])=>[t,this.convertTypeDeclaration(r)]))}convertHeaders(){return this.convertWireValueParameters({wireValueParameters:this.ir.headers})}convertEndpoints(){let t=this.getAllHttpEndpoints();return Object.fromEntries(t.map(r=>[r.id,this.convertEndpoint(r)]))}convertEndpoint(t){return{auth:this.auth,declaration:this.convertDeclaration({name:t.name,fernFilepath:t.fernFilepath}),location:this.convertEndpointLocation({endpoint:t}),request:this.convertRequest({endpoint:t}),response:Uc.Response.json()}}convertRequest({endpoint:t}){let r=this.convertPathParameters({pathParameters:t.allPathParameters});if(t.sdkRequest==null&&t.requestBody==null)return Uc.Request.body({pathParameters:r,body:void 0});if(t.sdkRequest==null)throw new Error(`Internal error; endpoint "${t.id}" has a request body but no SDK request`);switch(t.sdkRequest.shape.type){case"justRequestBody":return Uc.Request.body({pathParameters:r,body:this.convertReferencedRequestBodyType({body:t.sdkRequest.shape.value})});case"wrapper":return this.convertInlinedRequest({fernFilepath:t.fernFilepath,wrapper:t.sdkRequest.shape,pathParameters:r,queryParameters:this.convertQueryParameters({queryParameters:t.queryParameters}),headers:this.convertWireValueParameters({wireValueParameters:[...t.serviceHeaders,...t.headers]}),body:t.requestBody});default:Go(t.sdkRequest.shape)}}convertReferencedRequestBodyType({body:t}){switch(t.type){case"bytes":return Uc.ReferencedRequestBodyType.bytes();case"typeReference":return Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(t.requestBodyType));default:Go(t)}}convertInlinedRequest({fernFilepath:t,wrapper:r,pathParameters:i,queryParameters:n,headers:a,body:u}){return Uc.Request.inlined({declaration:this.convertDeclaration({name:r.wrapperName,fernFilepath:t}),pathParameters:i,queryParameters:n,headers:a,body:u!=null?this.convertInlinedRequestBody({wrapper:r,body:u}):void 0,metadata:this.convertInlinedRequestMetadata({wrapper:r})})}convertInlinedRequestMetadata({wrapper:t}){return{includePathParameters:t.includePathParameters??!1,onlyPathParameters:t.onlyPathParameters??!1}}convertInlinedRequestBody({wrapper:t,body:r}){switch(r.type){case"inlinedRequestBody":{let i=[...r.extendedProperties??[],...r.properties];return Uc.InlinedRequestBody.properties(this.convertWireValueParameters({wireValueParameters:i}))}case"reference":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(r.requestBodyType))});case"bytes":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.bytes()});case"fileUpload":return this.convertFileUploadRequestBody({properties:r.properties});default:Go(r)}}convertFileUploadRequestBody({properties:t}){return Uc.InlinedRequestBody.fileUpload({properties:this.convertFileUploadRequestBodyProperties({properties:t})})}convertFileUploadRequestBodyProperties({properties:t}){return t.map(r=>{switch(r.type){case"file":return this.convertFileUploadRequestBodyFileProperty({fileProperty:r.value});case"bodyProperty":return Uc.FileUploadRequestBodyProperty.bodyProperty({name:r.name,typeReference:this.convertTypeReference(r.valueType)});default:Go(r)}})}convertFileUploadRequestBodyFileProperty({fileProperty:t}){switch(t.type){case"file":return Uc.FileUploadRequestBodyProperty.file(t.key);case"fileArray":return Uc.FileUploadRequestBodyProperty.fileArray(t.key);default:Go(t)}}convertPathParameters({pathParameters:t}){return t.map(r=>({name:{name:r.name,wireValue:r.name.originalName},typeReference:this.convertTypeReference(r.valueType)}))}convertWireValueParameters({wireValueParameters:t}){return t.map(r=>({name:{name:r.name.name,wireValue:r.name.wireValue},typeReference:this.convertTypeReference(r.valueType)}))}convertQueryParameters({queryParameters:t}){let r=[];for(let i of t){let n=this.convertTypeReference(i.valueType);i.allowMultiple&&(n=Uc.TypeReference.list(n)),r.push({name:{name:i.name.name,wireValue:i.name.wireValue},typeReference:n})}return r}convertTypeReference(t){switch(t.type){case"container":return this.convertContainerType(t.container);case"named":return this.convertNamedType(t);case"primitive":return this.convertPrimitiveType(t.primitive);case"unknown":return this.convertUnknownType();default:Go(t)}}convertContainerType(t){switch(t.type){case"list":return Uc.TypeReference.list(this.convertTypeReference(t.list));case"map":return Uc.TypeReference.map({key:this.convertTypeReference(t.keyType),value:this.convertTypeReference(t.valueType)});case"optional":return Uc.TypeReference.optional(this.convertTypeReference(t.optional));case"nullable":return Uc.TypeReference.nullable(this.convertTypeReference(t.nullable));case"set":return Uc.TypeReference.set(this.convertTypeReference(t.set));case"literal":return Uc.TypeReference.literal(this.convertLiteral(t.literal));default:Go(t)}}convertNamedType(t){return Uc.TypeReference.named(t.typeId)}convertTypeDeclaration(t){let r=this.convertDeclaration(t.name);switch(t.shape.type){case"alias":return this.convertAlias({declaration:r,alias:t.shape});case"enum":return this.convertEnum({declaration:r,enum_:t.shape});case"object":return this.convertObject({declaration:r,object:t.shape});case"union":return this.convertDiscriminatedUnion({declaration:r,union:t.shape});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({declaration:r,union:t.shape});default:Go(t.shape)}}convertAlias({declaration:t,alias:r}){return Uc.NamedType.alias({declaration:t,typeReference:this.convertTypeReference(r.aliasOf)})}convertEnum({declaration:t,enum_:r}){return Uc.NamedType.enum({declaration:t,values:r.values.map(i=>i.name)})}convertObject({declaration:t,object:r}){let i=[...r.extendedProperties??[],...r.properties];return this.convertObjectProperties({declaration:t,properties:i})}convertObjectProperties({declaration:t,properties:r}){return Uc.NamedType.object({declaration:t,properties:this.convertWireValueParameters({wireValueParameters:r})})}convertDiscriminatedUnion({declaration:t,union:r}){let i=[...this.resolveProperties(r.extends),...r.baseProperties];return Uc.NamedType.discriminatedUnion({declaration:t,discriminant:r.discriminant,types:Object.fromEntries(r.types.map(n=>[n.discriminantValue.wireValue,this.convertDiscriminatedUnionType({inheritedProperties:i,discriminantValue:n.discriminantValue,singleUnionTypeProperties:n.shape})]))})}convertDiscriminatedUnionType({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperties:i}){switch(i.propertiesType){case"samePropertiesAsObject":return this.convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i});case"singleProperty":return this.convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i});case"noProperties":return this.convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r});default:Go(i)}}convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i}){return Uc.SingleDiscriminatedUnionType.samePropertiesAsObject({typeId:i.typeId,discriminantValue:r,properties:this.convertWireValueParameters({wireValueParameters:t})})}convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i}){return Uc.SingleDiscriminatedUnionType.singleProperty({typeReference:this.convertTypeReference(i.type),discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r}){return Uc.SingleDiscriminatedUnionType.noProperties({discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertUndiscriminatedUnion({declaration:t,union:r}){return Uc.NamedType.undiscriminatedUnion({declaration:t,types:r.members.map(i=>this.convertTypeReference(i.type))})}convertLiteral(t){switch(t.type){case"boolean":return Uc.LiteralType.boolean(t.boolean);case"string":return Uc.LiteralType.string(t.string);default:Go(t)}}convertPrimitiveType(t){return Uc.TypeReference.primitive(t.v1)}convertUnknownType(){return Uc.TypeReference.unknown()}convertAuth(t){if(t.schemes[0]==null)return;let r=t.schemes[0];switch(r.type){case"basic":return Uc.Auth.basic(r);case"bearer":return Uc.Auth.bearer(r);case"header":return Uc.Auth.header({header:{name:r.name,typeReference:this.convertTypeReference(r.valueType)}});case"oauth":return;default:Go(r)}}convertDeclaration({name:t,fernFilepath:r}){return{name:t,fernFilepath:r}}convertEndpointLocation({endpoint:t}){return{method:t.method,path:this.getFullPathForEndpoint(t)}}getAllHttpEndpoints(){return Object.values(this.ir.services).flatMap(t=>t.endpoints.map(r=>({...r,serviceHeaders:t.headers,fernFilepath:t.name.fernFilepath})))}resolveProperties(t){let r=[];for(let i of t){let n=this.resolveObjectTypeOrThrow(i.typeId);r.push(...this.resolveProperties(n.extends)),r.push(...n.properties)}return Object.values(r)}resolveObjectTypeOrThrow(t){let r=this.ir.types[t];if(r==null)throw new Error(`Internal error; type "${t}" not found`);if(r.shape.type!=="object")throw new Error(`Internal error; type "${t}" is not an object`);return r.shape}getFullPathForEndpoint(t){let r="";t.fullPath.head.length>0&&(r=zv(r,t.fullPath.head));for(let i of t.fullPath.parts)r=zv(r,"{"+i.pathParameter+"}"),i.tail.length>0&&(r=zv(r,i.tail));return r.startsWith("/")?r:`/${r}`}};function cb_(e){return new EAo(e).convert()}function lb_({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return tYt({containerType:t});switch(t.type){case"list":{let u=PC({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:TO.literal({literal:t.literal._visit({boolean:u=>Hp.boolean(u),string:u=>Hp.string({original:u}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:t.literal._visit({boolean:u=>u,string:u=>u,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":{if(a)return tYt({containerType:t});let u=PC({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return tYt({containerType:t});let u=PC({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=PC({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=PC({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=PC({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?tYt({containerType:t}):{type:"success",example:TO.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:Go(t)}}function tYt({containerType:e}){switch(e.type){case"list":return{type:"success",example:TO.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:TO.literal({literal:e.literal._visit({boolean:t=>Hp.boolean(t),string:t=>Hp.string({original:t}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:e.literal._visit({boolean:t=>t,string:t=>t,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":return{type:"success",example:TO.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:TO.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:TO.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:TO.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Go(e)}}function db_({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return BQD({fieldName:e,validation:qQD(t.v2)});case"BASE_64":return{type:"success",example:Hp.base64(tg.BASE64),jsonExample:tg.BASE64};case"BOOLEAN":return{type:"success",example:Hp.boolean(tg.BOOLEAN),jsonExample:tg.BOOLEAN};case"DATE":return{type:"success",example:Hp.date(tg.DATE),jsonExample:tg.DATE};case"DATE_TIME":return{type:"success",example:Hp.datetime({datetime:new Date(tg.DATE_TIME),raw:tg.DATE_TIME}),jsonExample:tg.DATE_TIME};case"DOUBLE":return xQD({fieldName:e,validation:TQD(t.v2)});case"FLOAT":return{type:"success",example:Hp.float(tg.FLOAT),jsonExample:tg.FLOAT};case"INTEGER":return IQD({fieldName:e,validation:CQD(t.v2)});case"UINT_64":return{type:"success",example:Hp.uint64(tg.INT64),jsonExample:tg.INT64};case"UINT":return{type:"success",example:Hp.uint(tg.UINT),jsonExample:tg.UINT};case"BIG_INTEGER":return{type:"success",example:Hp.bigInteger(tg.INT64.toString()),jsonExample:`${tg.INT64}`};case"LONG":return{type:"success",example:Hp.long(tg.INT64),jsonExample:tg.INT64};case"UUID":return{type:"success",example:Hp.uuid(tg.UUID),jsonExample:tg.UUID};default:Go(t.v1)}}function qQD(e){if(e?.type==="string")return e.validation}function TQD(e){if(e?.type==="double")return e.validation}function CQD(e){if(e?.type==="integer")return e.validation}function fb_(e){if(e<=tg.SAMPLE_STRINGS.length){let t=tg.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return tg.SAMPLE_STRINGS[tg.SAMPLE_STRINGS.length-1]+".".repeat(e-tg.SAMPLE_STRINGS.length)}function BQD({fieldName:e,validation:t}){if(t){let i=t.minLength,n=t.maxLength;if(i){let a=fb_(i);return{type:"success",example:Hp.string({original:a}),jsonExample:a}}else if(n){let a=fb_(n);return{type:"success",example:Hp.string({original:a}),jsonExample:a}}}let r=e??tg.STRING;return{type:"success",example:Hp.string({original:r}),jsonExample:r}}function xQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Hp.double(r),jsonExample:r};if(i)return{type:"success",example:Hp.double(i),jsonExample:i}}return{type:"success",example:Hp.double(tg.DOUBLE),jsonExample:tg.DOUBLE}}function IQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Hp.integer(r),jsonExample:r};if(i)return{type:"success",example:Hp.integer(i),jsonExample:i}}return{type:"success",example:Hp.integer(tg.INT),jsonExample:tg.INT}}function e0n({typeReference:e,typeDeclarations:t}){if(e.type==="container"&&e.container.type==="optional")return!0;if(e.type==="named"){let r=t[e.typeId];if(r?.shape.type==="alias"&&r?.shape.resolvedType.type==="container"&&r?.shape.resolvedType.container.type==="optional")return!0}return!1}function _b_({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=PC({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Lj.alias({value:l}),jsonExample:d}}case"enum":{let u=r.shape.values[0];return u==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Lj.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u=pb_({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Lj.object(l),jsonExample:d}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let d=PC({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure"){++u;continue}let{example:s,jsonExample:o}=d;return{type:"success",example:Lj.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant;for(let l of r.shape.types){let d=l.shape._visit({noProperties:()=>({type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.noProperties()}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue}}),samePropertiesAsObject:s=>{let o=t[s.typeId];if(o==null)throw new Error(`Failed to find type declaration with id ${s.typeId}`);if(o.shape.type!=="object")throw new Error(`Same properties as object union is not an object ${o.shape.type}`);let c=pb_({currentDepth:n,maxDepth:i,fieldName:e,objectTypeDeclaration:o.shape,typeDeclaration:o,typeDeclarations:t,skipOptionalProperties:a});if(c.type==="failure")return c;let{example:b,jsonExample:g}=c;return{type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.samePropertiesAsObject({typeId:o.name.typeId,object:b})}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,...typeof g=="object"?g:{}}}},singleProperty:s=>{let o=PC({currentDepth:n+1,maxDepth:i,fieldName:e,typeReference:s.type,typeDeclarations:t,skipOptionalProperties:a});if(o.type==="failure")return o;let{example:c,jsonExample:b}=o;return{type:"success",example:Lj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:E3.singleProperty(c)}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,[s.name.wireValue]:b}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(d.type!=="failure")return d}}}return{type:"failure",message:"Failed to generate example for type reference"}}function pb_({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:i,maxDepth:n,currentDepth:a,skipOptionalProperties:u}){let l={},d=[];for(let s of[...r.properties??[],...r.extendedProperties??[]]){let o=PC({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!e0n({typeDeclarations:i,typeReference:s.valueType}))return{type:"failure",message:`Failed to generate required property ${s.name.wireValue} b/c ${o.message}`};if(o.type==="failure")continue;let{example:c,jsonExample:b}=o;d.push({name:s.name,originalTypeDeclaration:t.name,value:c}),l[s.name.wireValue]=b}return{type:"success",example:Lj.object({properties:d}),jsonExample:l}}function PC({fieldName:e,typeReference:t,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){if(n>i)return{type:"failure",message:"Exceeded max depth"};switch(t.type){case"named":{let u=r[t.typeId];if(u==null)throw new Error(`Failed to find type declaration with id ${t.typeId}`);let l=_b_({fieldName:e,typeDeclaration:u,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(l.type==="failure")return l;let{example:d,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:ub.named({shape:d,typeName:u.name})},jsonExample:s}}case"container":{let u=lb_({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=tYt({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:ub.container(s)},jsonExample:o}}let{example:l,jsonExample:d}=u;return{type:"success",example:{jsonExample:d,shape:ub.container(l)},jsonExample:d}}case"primitive":{let{jsonExample:u,example:l}=db_({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:ub.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:ub.unknown(u)},jsonExample:u}}}}var MUs=F1.primitive({v1:Kb.String,v2:AP.string({default:void 0,validation:void 0})});function Noa({ir:e,endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n,generationResponse:a}){let u={name:void 0,endpointHeaders:[],endpointPathParameters:[],queryParameters:[],servicePathParameters:[],serviceHeaders:[],rootPathParameters:[],request:void 0,response:cq.ok(ET.body(void 0)),docs:void 0},l=[{params:t.pathParameters,add:s=>u.endpointPathParameters.push(s)},{params:r.pathParameters,add:s=>u.servicePathParameters.push(s)},{params:e.pathParameters,add:s=>u.rootPathParameters.push(s)}];for(let s of l)for(let o of s.params){let c=PC({fieldName:o.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}for(let s of t.queryParameters){if(n&&e0n({typeDeclarations:i,typeReference:s.valueType}))continue;let o=PC({fieldName:s.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:s.valueType,skipOptionalProperties:n});if(o.type==="failure")return o;let{example:c}=o;u.queryParameters.push({name:s.name,shape:s.allowMultiple?U2.exploded():U2.single(),value:c})}let d=[{params:t.headers,add:s=>u.endpointHeaders.push(s)},{params:r.headers,add:s=>u.serviceHeaders.push(s)}];for(let s of d)for(let o of s.params){if(n&&e0n({typeDeclarations:i,typeReference:o.valueType}))continue;let c=PC({fieldName:o.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}if(t.requestBody!=null)switch(t.requestBody.type){case"bytes":return{type:"failure",message:"Bytes request unsupported"};case"fileUpload":return{type:"failure",message:"File upload unsupported"};case"inlinedRequestBody":{let s={},o=[];for(let c of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let b=PC({fieldName:c.name.wireValue,typeReference:c.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(b.type==="failure"&&!e0n({typeDeclarations:i,typeReference:c.valueType}))return{type:"failure",message:`Failed to generate required property ${c.name.wireValue} b/c ${b.message}`};if(b.type==="failure")continue;let{example:g,jsonExample:O}=b;o.push({name:c.name,originalTypeDeclaration:void 0,value:g}),s[c.name.wireValue]=O}u.request=d$.inlinedRequestBody({jsonExample:s,properties:o});break}case"reference":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.request=d$.reference(o);break}default:Go(t.requestBody)}if(a.type==="success"&&t.response?.body!=null)switch(t.response.body.type){case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"streamParameter":{let s;switch(t.response.body.nonStreamResponse.type){case"bytes":return{type:"failure",message:"Bytes unsupported"};case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1});break;default:Go(t.response.body.nonStreamResponse)}if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"streaming":{let s;switch(t.response.body.value.type){case"sse":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.sse([{data:{...o,jsonExample:c},event:""}]));break}case"json":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.stream([{...o,jsonExample:c}]));break}case"text":{if(s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.stream([{...o,jsonExample:c}]));break}default:Go(t.response.body.value)}break}case"text":{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:MUs,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=cq.ok(ET.body({...o,jsonExample:c}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Go(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=cq.error({body:void 0,error:a.declaration.name});else{let s=PC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.response=cq.error({body:o,error:a.declaration.name})}try{return{type:"success",example:{id:bAo(u),url:zQD(t,u),...u},jsonExample:void 0}}catch(s){return{type:"failure",message:`Parse failure with exceptions ${s}`}}}function zQD(e,t){let r={};[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters].forEach(n=>{let a=n.value.jsonExample,u=typeof a=="string"?a:JSON.stringify(a);r[n.name.originalName]=u});let i=e.fullPath.head+e.fullPath.parts.map(n=>r[n.pathParameter]+n.tail).join("");return i.startsWith("/")||i===""?i:`/${i}`}function hb_(e,t){let r=t[e];if(r==null)throw new y8r(`Illegal Error: Failed to load type declaration for type ${e}`);return r}function yb_(e){return{types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,NQD({typeDeclaration:r,ir:e})])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(i=>RQD({endpoint:i,ir:e}))}]))}}function RQD({endpoint:e,ir:t}){return e.requestBody?.type!=="inlinedRequestBody"?e:{...e,requestBody:{...e.requestBody,extendedProperties:e.requestBody.extends.flatMap(r=>vb_(r,t))}}}function NQD({typeDeclaration:e,ir:t}){switch(e.shape.type){case"object":return{...e,shape:{...e.shape,extendedProperties:e.shape.extends.flatMap(r=>vb_(r,t))}}}return e}function vb_(e,t){let r=AUs(e.typeId,t);return bb_({objectTypeDeclaration:r,ir:t})}function AUs(e,t){let r=hb_(e,t.types);switch(r.shape.type){case"object":return r.shape;case"alias":if(r.shape.resolvedType.type==="named")return AUs(r.shape.resolvedType.name.typeId,t)}throw new y8r(`Unexpected error: ${e} is extended but has shape ${r.shape.type}`)}function bb_({objectTypeDeclaration:e,ir:t}){let r=e.extends.flatMap(i=>{let n=AUs(i.typeId,t);return bb_({objectTypeDeclaration:n,ir:t})});return[...e.properties,...r]}function Ob_({filteredIr:e,singleUnionTypeProperties:t}){return t._visit({samePropertiesAsObject:r=>{let i=e.hasTypeId(r.typeId)?{...r,object:{properties:r.object.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:JI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?E3.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=JI({filteredIr:e,exampleTypeReference:r});return i!==void 0?E3.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function JI({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:ub.container(TO.list({...i,list:i.list.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:ub.container(TO.set({...i,set:i.set.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?JI({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:ub.container(TO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?JI({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:ub.container(TO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:ub.container(TO.map({...i,map:i.map.map(n=>{let a=JI({filteredIr:e,exampleTypeReference:n.key}),u=JI({filteredIr:e,exampleTypeReference:n.value});return a!==void 0&&u!==void 0?{key:a,value:u}:void 0}).filter(n=>n!==void 0)}))}),literal:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}}),named:r=>e.hasTypeId(r.typeName.typeId)?r.shape._visit({alias:i=>{let n=JI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:ub.named({...r,shape:Lj.enum(i)})}),object:i=>({...t,shape:ub.named({...r,shape:Lj.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:JI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=Ob_({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=JI({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:ub.named({...r,shape:Lj.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function qUs({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function FQD({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function gb_({filteredIr:e,headers:t}){return t.map(r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function LQD({filteredIr:e,requestBody:t}){return t._visit({inlinedRequestBody:r=>({...t,properties:r.properties.filter(i=>i.originalTypeDeclaration?e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue):!0).map(i=>{let n=JI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=JI({filteredIr:e,exampleTypeReference:r});return i!==void 0?d$.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function UQD({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>cq.ok(ET.body(i!=null?JI({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>cq.ok(ET.stream(i.map(n=>JI({filteredIr:e,exampleTypeReference:n})).filter(vg))),sse:i=>cq.ok(ET.sse(i.map(({event:n,data:a})=>{let u=JI({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(vg))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>cq.error({error:r,body:i!=null?JI({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function TUs({filteredIr:e,example:t}){return{...t,rootPathParameters:qUs({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:qUs({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:qUs({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:gb_({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:gb_({filteredIr:e,headers:t.endpointHeaders}),queryParameters:FQD({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?LQD({filteredIr:e,requestBody:t.request}):void 0,response:UQD({filteredIr:e,response:t.response})}}function mb_({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=JI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:Lj.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:Lj.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:JI({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=Ob_({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:Lj.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=JI({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:Lj.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}var MAo=class{environments=new Set;types=new Set;properties;errors=new Set;services=new Set;endpoints=new Set;requestProperties;queryParameters;webhooks=new Set;webhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,properties:r,errors:i,environments:n,services:a,endpoints:u,webhooks:l,subpackages:d,queryParameters:s,requestProperties:o,webhookPayloadProperties:c,channels:b}){this.environments=n,this.types=t,this.properties=r,this.errors=i,this.services=a,this.endpoints=u,this.webhooks=l,this.webhookPayloadProperties=c,this.subpackages=d,this.requestProperties=o,this.queryParameters=s,this.channels=b}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Tg.generateTypeId(t.name);return this.types.has(r)}hasProperty(t,r){let i=this.properties[t];return i==null?!0:i.has(r)}hasError(t){let r=Tg.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Tg.generateServiceId(t.name);return this.services.has(r)}hasEnvironmentId(t){return this.environments.has(t)}hasEndpoint(t){return this.endpoints.has(t.id)}hasRequestProperty(t,r){let i=this.requestProperties[t];return i==null?!0:i.has(r)}hasQueryParameter(t,r){let i=this.queryParameters[t];return i==null?!0:i.has(r)}hasSubpackage(t){return this.subpackages.has(t)}hasWebhook(t){return t.id?this.webhooks.has(t.id):!0}hasChannel(t){return t.name.originalName?this.channels.has(t.name.originalName):!0}hasWebhookPayloadProperty(t,r){let i=this.webhookPayloadProperties[t];return i==null?!0:i.has(r)}};var qAo=class{types={};properties={};queryParameters={};requestProperties={};webhookProperties={};errors={};endpoints={};webhooks={};channels={};audiences;typesReferencedByService={};environmentsNeededForAudience=new Set;typesNeededForAudience=new Set;servicesNeededForAudience=new Set;endpointsNeededForAudience=new Set;webhooksNeededForAudience=new Set;channelsNeededForAudience=new Set;subpackagesNeededForAudience=new Set;constructor(t){this.audiences=VQD(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=Tg.generateTypeId(t),l={typeId:u,allDescendants:r,descendantsByAudience:n,referencedSubpackages:i};this.types[u]=l,this.typesReferencedByService[u]==null&&(this.typesReferencedByService[u]=new Set),this.properties[u]={typeId:u,propertiesByAudience:a}}markTypeForAudiences(t,r){let i=Tg.generateTypeId(t);this.hasAudience(r)&&(this.typesNeededForAudience.add(i),this.addSubpackages(t.fernFilepath),this.types[i]?.referencedSubpackages.forEach(n=>{this.addSubpackages(n)}))}markEnvironmentForAudiences(t,r,i){t&&(this.hasAudience(r)||i)&&this.environmentsNeededForAudience.add(t.id)}getTypesReferencedByService(){for(let t of Object.values(this.endpoints))for(let r of t.referencedTypes)this.markTypeForService(r,t.serviceId);return this.typesReferencedByService}addError(t){let r=Tg.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&KI(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=Tg.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,d=new Set;for(let s of[...t.headers,...r.headers])KI(s.valueType,u,d);for(let s of[...t.pathParameters,...r.pathParameters])KI(s.valueType,u,d);for(let s of r.queryParameters)KI(s.valueType,u,d);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=kbn(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&R7._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)AAo(o,u,d);for(let o of s.properties)KI(o.valueType,u,d);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&DT(i.request.body)){let o=kbn(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{KI(s,u,d)},fileUpload:({properties:s})=>{for(let o of s)Lte._visit(o,{file:ru,bodyProperty:({valueType:c})=>{KI(c,u,d)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&nC._visit(r.response.body,{fileDownload:ru,json:s=>{KI(s.responseBodyType,u,d)},streaming:s=>{s._visit({sse:o=>KI(o.payload,u,d),json:o=>KI(o.payload,u,d),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>KI(o.payload,u,d),json:o=>KI(o.payload,u,d),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&KI(s.nonStreamResponse.value.responseBodyType,u,d)},text:ru,bytes:ru,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(Tg.generateErrorId(s.error)),d.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:d}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=Tg.generateServiceId(t);this.servicesNeededForAudience.add(n),r.forEach(a=>{let u=a.id;this.endpointsNeededForAudience.add(u),this.endpoints[u]?.referencedSubpackages.forEach(l=>{this.addSubpackages(l)})}),this.servicesNeededForAudience.add(n),this.addSubpackages(t.fernFilepath)}}addWebhook(t,r,i){let n=r.id;if(n==null)return;let a=new Set,u=new Set;r.payload!=null&&$te._visit(r.payload,{inlinedPayload:l=>{for(let d of l.extends)AAo(d,a,u);for(let d of l.properties)KI(d.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!DAo(i.payload)){let d=kbn(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:d}}},reference:({payloadType:l})=>{KI(l,a,u)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),u.add(t.fernFilepath),this.webhooks[n]={webhookId:n,referencedTypes:a,referencedSubpackages:u}}markWebhookForAudiences(t,r,i){let n=r.id;n!=null&&this.hasAudience(i)&&(this.webhooksNeededForAudience.add(n),this.addSubpackages(t.fernFilepath))}addChannel(t,r,i,n){if(r==null)return;let a=new Set,u=new Set;for(let l of i.messages)Gte._visit(l.body,{reference:({bodyType:d})=>{KI(d,a,u)},inlinedBody:d=>{for(let s of d.extends)AAo(s,a,u);for(let s of d.properties)KI(s.valueType,a,u)},_other:()=>{}});u.add(t.fernFilepath),this.channels[r]={channelId:r,referencedTypes:a,referencedSubpackages:u}}markChannelForAudiences(t,r,i){r!=null&&this.hasAudience(i)&&(this.channelsNeededForAudience.add(r),this.addSubpackages(t.fernFilepath))}build(){let t=new Set,r=new Set;for(let l of this.endpointsNeededForAudience.keys()){let d=this.getEndpointNode(l);for(let s of d.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,d.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let d=this.getWebhookNode(l);this.addReferencedTypes(t,d.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let d=this.getChannelNode(l);this.addReferencedTypes(t,d.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,d]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}s.size>0&&(i[l]=s),i[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new MAo({types:t,properties:i,errors:r,requestProperties:n,queryParameters:a,environments:this.environmentsNeededForAudience,services:this.servicesNeededForAudience,endpoints:this.endpointsNeededForAudience,webhooks:this.webhooksNeededForAudience,webhookPayloadProperties:u,subpackages:this.subpackagesNeededForAudience,channels:this.channelsNeededForAudience})}markTypeForService(t,r){let i=this.typesReferencedByService[t]??=new Set;if(i.has(r))return;i.add(r);let n=this.getTypeNode(t);for(let a of n.allDescendants)this.markTypeForService(a,r)}addReferencedTypes(t,r){for(let i of r){if(t.has(i))continue;t.add(i);let n=this.getTypeNode(i);if(this.audiences.type==="filtered")for(let a of this.audiences.audiences){let u=n.descendantsByAudience[a];if(u!=null)u.forEach(l=>{t.add(l)});else{n.allDescendants.forEach(l=>{t.add(l)});break}}else n.allDescendants.forEach(a=>{t.add(a)})}}getTypeNode(t){let r=this.types[t];if(r==null)throw new Error(`Failed to find type node with id ${t}`);return r}getErrorNode(t){let r=this.errors[t];if(r==null)throw new Error(`Failed to find error node with id ${t}`);return r}getEndpointNode(t){let r=this.endpoints[t];if(r==null)throw new Error(`Failed to find endpoint node with id ${t}`);return r}getWebhookNode(t){let r=this.webhooks[t];if(r==null)throw new Error(`Failed to find webhook node with id ${t}`);return r}getChannelNode(t){let r=this.channels[t];if(r==null)throw new Error(`Failed to find channel node with id ${t}`);return r}hasNoAudiences(){return this.audiences.type==="none"}hasAudience(t){let r=this.audiences;switch(r.type){case"none":return!0;case"filtered":return t.some(i=>r.audiences.has(i));default:Go(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Tg.generateSubpackageId(i))}}};function VQD(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Go(e)}}function KI(e,t,r){F1._visit(e,{container:i=>{WQD(i,t,r)},named:i=>{AAo(i,t,r)},primitive:ru,unknown:ru,_other:ru})}function AAo(e,t,r){t.add(Tg.generateTypeId(e)),r.add(e.fernFilepath)}function WQD(e,t,r){ZE._visit(e,{list:i=>{KI(i,t,r)},map:i=>{KI(i.keyType,t,r),KI(i.valueType,t,r)},optional:i=>{KI(i,t,r)},nullable:i=>{KI(i,t,r)},set:i=>{KI(i,t,r)},literal:ru,_other:ru})}function Pb_({reference:e,referencedIn:t,imports:r}){let[i,n,...a]=e.split(".");if(i==null||a.length>0)return;if(n==null)return{endpointName:i,relativeFilepath:t};let l=r[i];if(l!=null)return{endpointName:n,relativeFilepath:uai({referencedIn:t,importPath:l})}}var Uqi=class{workspace;constructor(t){this.workspace=t}resolveEndpointOrThrow({endpoint:t,file:r}){let i=this.resolveEndpoint({endpoint:t,file:r});if(i==null)throw new Error("Cannot resolve endpoint: "+t+" in file "+r.relativeFilepath);return i}resolveEndpointByMethodAndPath({method:t,path:r}){let i;return Z3(this.workspace,(n,a,u)=>{let l=Xb({relativeFilepath:n,definitionFile:a,casingsGenerator:cai,rootApiFile:this.workspace.definition.rootApiFile.contents,defaultUrl:u.defaultUrl});for(let[d,s]of Object.entries(a.service?.endpoints??{}))s.method===t&&s.path===r&&(i={endpointId:d,endpoint:s,file:l})}),SAi(this.workspace,(n,a)=>{let u=Xb({relativeFilepath:n,definitionFile:a,casingsGenerator:cai,rootApiFile:this.workspace.definition.rootApiFile.contents});for(let[l,d]of Object.entries(a.service?.endpoints??{}))d.method===t&&d.path===r&&(i={endpointId:l,endpoint:d,file:u})}),i}resolveEndpoint({endpoint:t,file:r}){let n=new b1i().tryParse(t);if(n!=null)return this.resolveEndpointByMethodAndPath(n);let a=this.getDeclarationOfEndpoint({referenceToEndpoint:t,file:r});if(a==null)return;let u=a.file.definitionFile.service?.endpoints?.[a.endpointName];if(u!=null)return{endpointId:a.endpointName,endpoint:u,file:a.file}}getDeclarationOfEndpoint({referenceToEndpoint:t,file:r}){let i=Pb_({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(!(n==null||n.service?.endpoints?.[i.endpointName]==null))return{endpointName:i.endpointName,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var Vqi=class{workspace;constructor(t){this.workspace=t}getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Error does not exist: "+t);return i}getDeclaration(t,r){let i=RSe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.errors?.[i.typeName];if(a!=null)return{declaration:a,file:Xb({definitionFile:n,relativeFilepath:i.relativeFilepath,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var FSe=class{typeResolver;constructor(t){this.typeResolver=t}resolveAllReferencesInExample({example:t,file:r}){if(typeof t=="string"){let i=this.resolveExample({example:t,file:r});return i==null||typeof i.resolvedExample=="string"?i:this.resolveAllReferencesInExample({example:i.resolvedExample,file:i.file})}else if(bg(t)){let i={};for(let[n,a]of Object.entries(t)){let u=this.resolveAllReferencesInExample({example:a,file:r});if(u==null)return;i[n]=u.resolvedExample}return{resolvedExample:i}}else if(Array.isArray(t)){let i=[];for(let n of t){let a=this.resolveAllReferencesInExample({example:n,file:r});if(a==null)return;i.push(a.resolvedExample)}return{resolvedExample:i}}return{resolvedExample:t}}resolveAllReferencesInExampleOrThrow({example:t,file:r}){let i=this.resolveAllReferencesInExample({example:t,file:r});if(i==null)throw new Error("Failed to resolve examples");return i}resolveExample({example:t,file:r}){if(typeof t!="string")return{resolvedExample:t,file:r};if(t.startsWith(`\\${T$t}`))return{resolvedExample:t.slice(1),file:r};if(!t.startsWith(T$t))return{resolvedExample:t,file:r};let i=this.parseExampleReference(t);if(i==null)return;let n=this.typeResolver.getDeclarationOfNamedType({referenceToNamedType:i.rawTypeReference,file:r});if(n==null||typeof n.declaration=="string"||n.declaration.examples==null)return;let a=n.declaration.examples.find(u=>u.name===i.exampleName);if(a!=null)return this.resolveExample({example:a.value,file:n.file})}resolveExampleOrThrow({example:t,file:r}){let i=this.resolveExample({example:t,file:r});if(i==null)throw new Error("Cannot resolve example: "+t);return i}parseExampleReference(t){let[r,i,n,...a]=t.split(".");if(!(r==null||i==null||a.length>0))return n==null?{rawTypeReference:r.slice(T$t.length),exampleName:i}:{rawTypeReference:`${r}.${i}`.slice(T$t.length),exampleName:n}}};var TAo=class{typeResolver;endpointResolver;constructor(t,r){this.typeResolver=t,this.endpointResolver=r,this.typeResolver=t,this.endpointResolver=r}resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveRequestProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve request property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveRequestProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t});if(n.endpoint.request==null)return;if(typeof n.endpoint.request!="string")return this.resolveRequestPropertyFromInlinedRequest({typeResolver:this.typeResolver,file:n.file,requestType:n.endpoint.request,propertyComponents:i});let a=this.resolveObjectProperty({file:n.file,typeName:n.endpoint.request,propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:Vte.body(a)}}resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveResponseProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve response property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveResponseProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t}),a=this.resolveObjectProperty({file:n.file,typeName:(typeof n.endpoint.response!="string"?n.endpoint.response?.type:n.endpoint.response)??"",propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:a}}resolveRequestPropertyFromInlinedRequest({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(n.length===1){let a=n[0]??"",u=i["query-parameters"]?.[a]??void 0;if(u!=null)return{property:Vte.query(mAo({file:r,queryParameterKey:a,queryParameter:u})),propertyPath:void 0}}return this.resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n})}resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(i.body==null)return;if(typeof i.body=="string"){let u=this.resolveObjectProperty({file:r,typeName:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(u)}}if(DT(i.body)){let u=bUs({typeResolver:t,file:r,objectSchema:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(u)}}let a=this.resolveObjectProperty({file:r,typeName:i.body.type,propertyComponents:n});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Vte.body(a)}}resolveObjectProperty({file:t,typeName:r,propertyComponents:i}){let n=this.typeResolver.resolveTypeOrThrow({type:r,file:t});return vUs({typeResolver:this.typeResolver,file:Coa(n)??t,resolvedType:n,propertyComponents:i})}propertyPathFromPropertyComponents({propertyComponents:t,file:r}){return t.length<=1?[]:t.slice(0,-1).map(i=>r.casingsGenerator.generateName(i))}};var wS=class{workspace;constructor(t){this.workspace=t}resolveTypeOrThrow({type:t,file:r}){let i=this.resolveType({type:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot find declaration of type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedType({referenceToNamedType:t,file:r}){let i=RSe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=vie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.types?.[i.typeName];if(a==null){let u=TI(i.typeName);if(u!=null){for(let l of Object.keys(n.types??{})??[])if(u.name&&l.startsWith(u.name)&&l.endsWith(">")){let d=n.types?.[l];return d!=null?{typeName:l,declaration:d,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}:void 0}}return}return{typeName:i.typeName,declaration:a,file:Xb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}resolveType({type:t,file:r,objectPath:i=[]}){return yU({type:t,_default:void 0,validation:void 0,visitor:{primitive:n=>({_type:"primitive",primitive:n,originalTypeReference:F1.primitive(n)}),unknown:()=>({_type:"unknown",originalTypeReference:F1.unknown()}),map:({keyType:n,valueType:a})=>n!=null&&a!=null?{_type:"container",container:{_type:"map",keyType:n,valueType:a},originalTypeReference:F1.container(ZE.map({keyType:n.originalTypeReference,valueType:a.originalTypeReference}))}:void 0,list:n=>n!=null?{_type:"container",container:{_type:"list",itemType:n},originalTypeReference:F1.container(ZE.list(n.originalTypeReference))}:void 0,optional:n=>n!=null?{_type:"container",container:{_type:"optional",itemType:n},originalTypeReference:F1.container(ZE.optional(n.originalTypeReference))}:void 0,nullable:n=>n!=null?{_type:"container",container:{_type:"nullable",itemType:n},originalTypeReference:F1.container(ZE.nullable(n.originalTypeReference))}:void 0,set:n=>n!=null?{_type:"container",container:{_type:"set",itemType:n},originalTypeReference:F1.container(ZE.set(n.originalTypeReference))}:void 0,literal:n=>({_type:"container",container:{_type:"literal",literal:n},originalTypeReference:F1.container(ZE.literal(n))}),named:n=>{let a=this.getDeclarationOfNamedType({referenceToNamedType:n,file:r});if(a==null)return;let u={typeName:a.typeName,file:a.file.relativeFilepath,reference:n};if(!i.some(l=>l.file===u.file&&l.typeName===u.typeName))return this.resolveNamedTypeFromDeclaration({referenceToNamedType:n,referencedIn:r,rawDeclaration:a,objectPath:[...i,u]})}}})}resolveNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.resolveNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t);return i}resolveNamedType({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i!=null)return this.resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i})}resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i,objectPath:n=[]}){let{declaration:a,file:u}=i;if(Dkr(a))return this.resolveType({type:typeof a=="string"?a:a.type,file:u,objectPath:n});let l=xoa({type:t,_default:void 0,validation:void 0,file:r});if(!(l.type!=="named"||vie(this.workspace,u.relativeFilepath)==null))return{_type:"named",rawName:i.typeName,name:l,declaration:a,filepath:u.relativeFilepath,objectPath:n,originalTypeReference:l,file:u}}};var _8t=class e{static VARIABLE_PREFIX="$";getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Variable does not exist: "+t);return i}getDeclaration(t,r){if(!t.startsWith(e.VARIABLE_PREFIX))return;let i=r.rootApiFile.variables?.[t.substring(1)];if(i!=null)return{declaration:i,file:RLr({casingsGenerator:r.casingsGenerator,rootApiFile:r.rootApiFile})}}getVariableIdOrThrow(t){let r=this.getVariableId(t);if(r==null)throw new Error("Variable reference does not start with "+e.VARIABLE_PREFIX);return r}getVariableId(t){if(t.startsWith(e.VARIABLE_PREFIX))return t.substring(e.VARIABLE_PREFIX.length)}};function CAo(e,t){if(t){for(let[r,i]of Object.entries(t))if(typeof i!="string"&&r===e)return i.audiences}}function d4({workspace:e,generationLanguage:t,keywords:r,smartCasing:i,disableExamples:n,audiences:a,readme:u,packageName:l,version:d,context:s,fdrApiDefinitionId:o,includeOptionalRequestPropertyExamples:c,sourceResolver:b}){let g=ZKt({generationLanguage:t,keywords:r,smartCasing:i}),O=new qAo(a),m=RLr({casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents}),w=(e.definition.rootApiFile.contents.errors??[]).map(ut=>({error:sai({errorName:ut,file:m}),docs:void 0})),M=new wS(e),A=new Uqi(e),q=new TAo(M,A),D=new Vqi(e),C=new FSe(M),F=new _8t,G={fdrApiDefinitionId:o,apiVersion:Qv_({file:m,rawApiFileSchema:e.definition.rootApiFile.contents}),apiName:g.generateName(e.definition.rootApiFile.contents.name),apiDisplayName:e.definition.rootApiFile.contents["display-name"],apiDocs:_Ao(e.definition.rootApiFile.contents.docs),auth:Gv_({rawApiFileSchema:e.definition.rootApiFile.contents,file:m,propertyResolver:q,endpointResolver:A}),headers:e.definition.rootApiFile.contents.headers!=null?Object.entries(e.definition.rootApiFile.contents.headers).map(([ut,he])=>sze({headerKey:ut,header:he,file:m})):[],idempotencyHeaders:e.definition.rootApiFile.contents["idempotency-headers"]!=null?Object.entries(e.definition.rootApiFile.contents["idempotency-headers"]).map(([ut,he])=>sze({headerKey:ut,header:he,file:m})):[],types:{},errors:{},services:{},constants:Iv_(g),environments:wUs({casingsGenerator:g,rawApiFileSchema:e.definition.rootApiFile.contents}),errorDiscriminationStrategy:Zv_(e.definition.rootApiFile.contents["error-discrimination"],m),basePath:e.definition.rootApiFile.contents["base-path"]!=null?oze(e.definition.rootApiFile.contents["base-path"]):void 0,pathParameters:Zbn({pathParameters:e.definition.rootApiFile.contents["path-parameters"],file:m,location:bBe.Root,variableResolver:F}),variables:e.definition.rootApiFile.contents.variables!=null?Object.entries(e.definition.rootApiFile.contents.variables).map(([ut,he])=>({docs:typeof he!="string"?he.docs:void 0,id:ut,name:m.casingsGenerator.generateName(ut),type:m.parseTypeReference(he)})):[],serviceTypeReferenceInfo:{typesReferencedOnlyByService:{},sharedTypes:[]},webhookGroups:{},websocketChannels:{},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0},I=new wAo,V=ut=>{I.addSubpackage(ut.fernFilepath),Nj(ut.definitionFile,{imports:ru,docs:he=>{he!=null&&I.addDocs(ut.fernFilepath,he)},types:he=>{if(he!=null)for(let[Pe,Ot]of Object.entries(he)){if(yBe(Pe))continue;let wt=ub_({typeName:Pe,typeDeclaration:Ot,file:ut,typeResolver:M,exampleResolver:C,sourceResolver:b,workspace:e}),sr=wt.typeDeclaration;n&&(sr.userProvidedExamples=[],sr.autogeneratedExamples=[]);let ur=wt.descendantFilepaths,ii=Tg.generateTypeId(sr.name);G.types[ii]=sr,I.addType(ii,sr),O.addType({declaredTypeName:sr.name,descendantTypeIds:sr.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:wt.propertiesByAudience,descendantFilepaths:ur}),O.markTypeForAudiences(sr.name,Hy_(Ot))}},errors:he=>{if(he==null)return;if(e.definition.rootApiFile.contents["error-discrimination"]==null)throw new Error("error-discrimination is missing in api.yml but there are declared errors.");for(let[Ot,wt]of Object.entries(he)){let sr=Yv_({errorName:Ot,errorDeclaration:wt,file:ut,typeResolver:M,exampleResolver:C,workspace:e}),ur=Tg.generateErrorId(sr.name);G.errors[ur]=sr,I.addError(ur,sr),O.addError(sr)}},service:he=>{if(he==null)return;let Pe=Bv_({rootDefaultUrl:ut.defaultUrl??e.definition.rootApiFile.contents["default-url"],rootPathParameters:G.pathParameters,serviceDefinition:he,file:ut,errorResolver:D,typeResolver:M,propertyResolver:q,exampleResolver:C,sourceResolver:b,globalErrors:w,variableResolver:F,workspace:e}),Ot=Tg.generateServiceId(Pe.name);G.services[Ot]=Pe,I.addService(Ot,Pe);let wt={};Pe.endpoints.forEach(sr=>{n&&(sr.autogeneratedExamples=[],sr.userSpecifiedExamples=[]);let ur=he.endpoints[sr.name.originalName];O.addEndpoint(Pe,sr,ur),wt[sr.name.originalName]=sr}),he.audiences!=null&&O.markEndpointForAudience(Pe.name,Pe.endpoints,he.audiences),Object.entries(he.endpoints).map(([sr,ur])=>{let ii=wt[sr];ii!=null&&ur.audiences!=null&&O.markEndpointForAudience(Pe.name,[ii],ur.audiences)})},webhooks:he=>{if(he==null)return;let Pe=Tg.generateWebhookGroupId(ut.fernFilepath),Ot=eb_({webhooks:he,file:ut,typeResolver:M,exampleResolver:C,workspace:e}),wt={};for(let sr of Ot)wt[sr.name.originalName]=sr;Object.entries(he).forEach(([sr,ur])=>{let ii=wt[sr];ii!=null&&(O.addWebhook(ut,ii,ur),ur.audiences!=null&&O.markWebhookForAudiences(ut,ii,ur.audiences))}),G.webhookGroups[Pe]=Ot,I.addWebhookGroup(Pe,ut.fernFilepath)},channel:he=>{if(he==null)return;let Pe=Tg.generateWebSocketChannelId(ut.fernFilepath),Ot=Jv_({channel:he,file:ut,variableResolver:F,typeResolver:M,exampleResolver:C,workspace:e});O.addChannel(ut,Pe,Ot,he),he.audiences!=null&&O.markChannelForAudiences(ut,Pe,he.audiences),G.websocketChannels!=null&&(G.websocketChannels[Pe]=Ot,I.addWebSocketChannel(Pe,ut.fernFilepath))}})};Z3(e,(ut,he,Pe)=>{V(Xb({relativeFilepath:ut,definitionFile:he,casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents,defaultUrl:Pe.defaultUrl}))}),SAi(e,(ut,he)=>{if(he.navigation!=null)if(typeof he.navigation=="string")I.addPackageRedirection({from:Eie({relativeFilepath:ut,casingsGenerator:g}),to:Eie({relativeFilepath:nR(FCe(ut),Vh.of(he.navigation)),casingsGenerator:g})});else{let Pe=he.navigation.map(Ot=>Tg.generateSubpackageId(Eie({relativeFilepath:nR(FCe(ut),Vh.of(Ot)),casingsGenerator:g})));ut===I1?I.sortRootPackage(Pe):I.sortSubpackage(Tg.generateSubpackageId(Eie({relativeFilepath:ut,casingsGenerator:g})),Pe)}}),G.serviceTypeReferenceInfo=$QD(O);let H=n?G:HQD(G,s,!c),te=e.definition.rootApiFile.contents,J=wUs({casingsGenerator:g,rawApiFileSchema:te}),k=J?.environments._visit({singleBaseUrl:ut=>ut.environments.filter(he=>CAo(he.id,te.environments)!=null).length===0,multipleBaseUrls:ut=>ut.environments.filter(he=>CAo(he.id,te.environments)!=null).length===0,_other:()=>!1});J?.environments.environments.forEach(ut=>{O.markEnvironmentForAudiences(ut,CAo(ut.id,te.environments)??[],k)});let de=O.hasNoAudiences()?void 0:O.build(),me=GQD(H,de),ve=e.definition.rootApiFile.contents.auth!=null&&Object.values(me.services).every(ut=>ut.endpoints.every(he=>he.auth)),we=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.response?.body?.type==="streaming")),Xe=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.pagination!=null)),Mt=Object.values(me.services).some(ut=>ut.endpoints.some(he=>he.response?.body?.type==="fileDownload")),De={isAuthMandatory:ve,hasStreamingEndpoints:we,hasPaginatedEndpoints:Xe,hasFileDownloadEndpoints:Mt,platformHeaders:{language:"X-Fern-Language",sdkName:"X-Fern-SDK-Name",sdkVersion:"X-Fern-SDK-Version",userAgent:d!=null&&l!=null?{header:"User-Agent",value:`${l}/${d}`}:void 0}},Te=u!=null?kv_({readme:u,services:G.services}):void 0,{types:xt,services:Ee}=yb_(me),It={...me,...I.build(de),types:xt,services:Ee,sdkConfig:De,readmeConfig:Te};return{...It,dynamic:cb_(It)}}function HQD(e,t,r){for(let[i,n]of Object.entries(e.services))for(let a of n.endpoints){t.logger.debug(`Generating example for ${a.id}`);let u=Noa({ir:e,service:n,endpoint:a,typeDeclarations:e.types,skipOptionalRequestProperties:r??!0,generationResponse:{type:"success"}});if(u.type==="failure"){t.logger.debug(`Failed to generate example for ${a.id}. ${u.message}`);continue}let{example:l}=u;a.autogeneratedExamples=[{example:l}]}return e}function $QD(e){let t={},r=[],i=e.getTypesReferencedByService();for(let[n,a]of Object.entries(i)){if(a.size===1){let u=a.values().next().value;if(u==null)break;t[u]===void 0&&(t[u]=[]),t[u]?.push(n);continue}r.push(n)}return{typesReferencedOnlyByService:t,sharedTypes:r}}function GQD(e,t){if(t==null)return e;let r=Oji(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let d=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>mb_({filteredIr:t,exampleType:s})).filter(s=>s!==void 0),l.shape.type==="object"){for(let s of l.shape.properties)t.hasProperty(u,s.name.wireValue)&&d.push(s);return[u,{...l,shape:Nq.object({...l.shape,properties:d})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let d=l.filter(s=>t.hasWebhook(s)).map(s=>{let o=s.id;return s.payload.type==="inlinedPayload"&&o!=null&&(s.payload={...s.payload,properties:s.payload.properties.filter(c=>t.hasWebhookPayloadProperty(o,c.name.wireValue))}),s});return[u,d]})),a=e.environments;if(a){switch(a.environments.type){case"singleBaseUrl":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}case"multipleBaseUrls":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}}a.defaultEnvironment&&(t.hasEnvironmentId(a.defaultEnvironment)||(a.defaultEnvironment=void 0))}return{...e,environments:a,types:i,errors:Oji(e.errors,u=>t.hasError(u)),services:ud(Oji(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(d=>({...d,example:TUs({filteredIr:t,example:d.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(d=>({...d,example:d.example!=null?TUs({filteredIr:t,example:d.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(d=>t.hasQueryParameter(l.id,d.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(d=>t.hasRequestProperty(l.id,d.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:QQD(e.serviceTypeReferenceInfo,t)}}function QQD(e,t){if(t==null)return e;let r={};return Object.entries(e.typesReferencedOnlyByService).forEach(([i,n])=>{t.hasServiceId(i)&&(r[i]=n.filter(a=>t.hasTypeId(a)))}),{sharedTypes:e.sharedTypes.filter(i=>t.hasTypeId(i)),typesReferencedOnlyByService:r}}function jb_(e){throw new Error("Unexpected value: "+JSON.stringify(e))}var Sb_=Ei(fZu(),1);var wb_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function LSe(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,Sb_.default)(e,{special:wb_}).replace(/V\s(\d)/g,"V$1")}function Foa(e,t="type"){return{_visit:r=>{let i=r[e[t]];return i!=null?i(e):(r._other==null&&jb_(e),r._other(e))}}}function rYt(e){return typeof e.subpackageId=="string"}function YI(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function Wqi(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}var CUs="__package__",fai=class e{api;context;static create(t,r){return new e(t,r)}#e=new Map;#t=new Map;#r=new Map;#n=new Map;#i=new Map;#a=new Map;#o=new Map;#c=new Map;#l=new Map;#u=new Map;#s=new Map;static getSubpackageId(t){return rYt(t)?t.subpackageId:CUs}getSubpackageByIdOrLocator(t){if(t==null)return;let r=f4.SubpackageId(t);return r===CUs?this.api.rootPackage:this.api.subpackages[r]??this.#s.get(r)}resolveSubpackage(t){if(t!=null){for(;t?.pointsTo!=null;)t=this.api.subpackages[t.pointsTo];return t}}constructor(t,r){this.api=t,this.context=r,[t.rootPackage,...Object.values(t.subpackages)].forEach(i=>{let n=f4.SubpackageId(e.getSubpackageId(i)),a={endpoints:new Map,webSockets:new Map,webhooks:new Map};this.#o.set(n,a),i.endpoints.forEach(u=>{a.endpoints.set(u.id,u);let l=e.createEndpointId(u,n);this.#e.set(l,u);let d=[],s=[u.method];u.response?.type.type==="stream"&&s.push("STREAM"),s.forEach(o=>{d.push(`${o} ${YI(u.path.parts)}`),d.push(`${o} ${Wqi(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${zv(c.baseUrl,YI(u.path.parts))}`),d.push(`${o} ${zv(c.baseUrl,Wqi(u.path.parts))}`);let b=Db_(c);b!=null&&(d.push(`${o} ${zv(b,YI(u.path.parts))}`),d.push(`${o} ${zv(b,Wqi(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering endpoint locator: ${o}`),this.#c.set(o,u)})}),i.websockets.forEach(u=>{a.webSockets.set(u.id,u);let l=e.createWebSocketId(u,n);this.#t.set(l,u);let d=[];["GET","WSS"].forEach(o=>{d.push(`${o} ${YI(u.path.parts)}`),d.push(`${o} ${Wqi(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${zv(c.baseUrl,YI(u.path.parts))}`),d.push(`${o} ${zv(c.baseUrl,Wqi(u.path.parts))}`);let b=Db_(c);b!=null&&(d.push(`${o} ${zv(b,YI(u.path.parts))}`),d.push(`${o} ${zv(b,Wqi(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering websocket locator: ${o}`),this.#l.set(o,u)})}),i.webhooks.forEach(u=>{a.webhooks.set(u.id,u),this.#r.set(e.createWebhookId(u,n),u)})}),this.#e.forEach((i,n)=>{this.#n.set(i,n)}),this.#t.forEach((i,n)=>{this.#i.set(i,n)}),this.#r.forEach((i,n)=>{this.#a.set(i,n)}),this.#d(t.rootPackage,[])}#d(t,r){if(t==null)return;let i=rYt(t)?[...r,t.name]:r,n=i.length===0?[CUs]:i;if([n.join("."),n.join("/"),`${n.join(".")}.yml`].forEach(u=>{this.context?.logger.trace(`Registering subpackage locator: ${u}`),this.#s.set(u,t)}),t.pointsTo!=null)return this.#d(this.api.subpackages[t.pointsTo],i);t.endpoints.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering endpoint locator: ${s}`),this.#c.set(s,u)})}),t.websockets.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering websocket locator: ${s}`),this.#l.set(s,u)})}),t.webhooks.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering webhook locator: ${s}`),this.#u.set(s,u)})}),t.subpackages.forEach(u=>{this.#d(this.api.subpackages[u],i)})}get endpoints(){return this.#e}get webSockets(){return this.#t}get webhooks(){return this.#r}get endpointsByLocator(){return this.#c}get webSocketsByLocator(){return this.#l}get webhooksByLocator(){return this.#u}get subpackages(){return this.#o}get subpackagesByLocator(){return this.#s}getEndpointId(t){return this.#n.get(t)}getWebSocketId(t){return this.#i.get(t)}getWebhookId(t){return this.#a.get(t)}static createEndpointId(t,r){return zo.EndpointId(t.originalEndpointId??`${r}.${t.id}`)}static createWebSocketId(t,r){return zo.WebSocketId(`${r}.${t.id}`)}static createWebhookId(t,r){return zo.WebhookId(`${r}.${t.id}`)}};function Db_(e){if(e!=null){if(e.baseUrl.startsWith("/"))return e.baseUrl;if(e.baseUrl.startsWith("http")||e.baseUrl.startsWith("ws"))try{return new URL(e.baseUrl).pathname}catch{return}}}var t0n=Ei(vMo(),1),Mb_=Ei(bMo(),1);function Eb_(e){let t=e.split(".")[0];if(t==null)return;let i=/(^\d{1,4})-(\d{1,2})-(\d{1,4})/.exec(t)?.[0];if(i!=null)try{return new Date(i)}catch{}}t0n.default.extend(Mb_.default);var JQD="Changelog",KQD=["summary","index","overview"],FLr=class{markdownToFullSlug;changelogFiles;docsWorkspace;idgen;constructor(t,r,i,n){this.markdownToFullSlug=t,this.changelogFiles=r,this.docsWorkspace=i,this.idgen=n}toChangelogNode(t){let r=t.title??JQD,i=[],n;for(let c of this.changelogFiles??[]){let b=kXu(c.split("/"));if(b==null)continue;let g=Eb_(b);if(g==null){let m=b.split(".")[0]?.toLowerCase();m!=null&&KQD.includes(m)&&(n=c);continue}let O=this.toRelativeFilepath(c);i.push({date:g,pageId:zo.PageId(O),absoluteFilepath:c})}let a=t.parentSlug.apply({fullSlug:n!=null?this.markdownToFullSlug.get(n)?.split("/"):void 0,skipUrlSlug:!1,urlSlug:t.slug??x1(r)}),u=i.map(c=>{let b=t0n.default.utc(c.date);return{id:this.idgen.get(c.pageId),type:"changelogEntry",title:b.format("MMMM D, YYYY"),slug:a.apply({fullSlug:this.markdownToFullSlug.get(c.absoluteFilepath)?.split("/"),urlSlug:b.format("YYYY/M/D")}).get(),icon:void 0,hidden:void 0,date:c.date.toISOString(),pageId:c.pageId,noindex:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),l=BUs(u,c=>c.date,"desc"),d=n!=null?zo.PageId(this.toRelativeFilepath(n)):void 0,s=this.idgen.get(d??"changelog"),o=this.groupByYear(s,l,a);return{id:s,type:"changelog",title:r,slug:a.get(),icon:t.icon,hidden:t.hidden,children:o,overviewPageId:d,noindex:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:void 0}}orUndefined(){return this.changelogFiles!=null&&this.changelogFiles.length>0?this:void 0}groupByYear(t,r,i){let n=new Map;for(let a of r){let u=t0n.default.utc(a.date).year(),l=n.get(u)??[];l.push(a),n.set(u,l)}return BUs(Array.from(n.entries()).map(([a,u])=>{let l=i.append(a.toString()).get(),d=this.idgen.get(`${t}/year/${a}`);return{id:d,type:"changelogYear",title:a.toString(),year:a,slug:l,icon:void 0,hidden:void 0,children:this.groupByMonth(d,u,i),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"year","desc")}groupByMonth(t,r,i){let n=new Map;for(let a of r){let u=t0n.default.utc(a.date).month()+1,l=n.get(u)??[];l.push(a),n.set(u,l)}return BUs(Array.from(n.entries()).map(([a,u])=>{let l=(0,t0n.default)(new Date(0,a-1));return{id:this.idgen.get(`${t}/month/${a}`),type:"changelogMonth",title:l.format("MMMM YYYY"),month:a,slug:i.append(a.toString()).get(),icon:void 0,hidden:void 0,children:u,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"month","desc")}toRelativeFilepath(t){if(t!=null)return OT(this.docsWorkspace.absoluteFilePath,t)}};function BUs(e,t,r="asc"){return e.concat().sort((i,n)=>{let a=typeof t=="function"?t(i):i[t],u=typeof t=="function"?t(n):n[t];return a<u?r==="asc"?-1:1:a>u?r==="asc"?1:-1:0})}function BAo(e){if(e)return{environments:e.environments!=null&&e.environments.length>0?e.environments.map(t=>zo.V1.EnvironmentId(t)):void 0,button:e.button!=null&&e.button.href?{href:zo.V1.Url(e.button.href)}:void 0,"limit-websocket-messages-per-connection":e.limitWebsocketMessagesPerConnection!=null?e.limitWebsocketMessagesPerConnection:void 0}}function Loa({child:e,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i}){if(e.type==="apiPackage"){let n=zo.V1.SlugGenerator.init(e.slug),u=(t.get(e.id)??[]).flatMap(s=>r(s,n)),l=e.children.map(s=>Loa({child:s,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i})),d=i(l,u);return{...e,children:d,pointsTo:void 0}}return e}function r0n({children:e,findEndpointById:t,stringifyEndpointPathParts:r,disableEndpointPairs:i,apiDefinitionId:n}){if(i)return e;let a=[],u=new Map;return e.forEach(l=>{if(l.type!=="endpoint"){a.push(l);return}let d=t(l.endpointId);if(d==null)throw new Error(`Endpoint ${l.endpointId} not found`);let s=`${d.method} ${r(d)}`,o=u.get(s);if(u.set(s,l),o==null||o.isResponseStream===l.isResponseStream){a.push(l);return}let c=a.indexOf(o),b=l.isResponseStream?l:o,g=l.isResponseStream?o:l,O={id:zo.V1.NodeId(`${n}:${g.endpointId}+${b.endpointId}`),type:"endpointPair",stream:b,nonStream:g};a[c]=O}),a}function xAo({left:e,right:t,findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}){return r0n({children:[...e,...t],findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}).filter(u=>u.type==="apiPackage"?u.children.length>0:!0)}function iYt(e,t){if(t!=null)return OT(e.absoluteFilePath,t)}function IAo({docsWorkspace:e,page:t,parentSlug:r,idgen:i,markdownFilesToFullSlugs:n}){let a=zo.V1.PageId(iYt(e,t.absolutePath)),u=r.apply({fullSlug:n.get(t.absolutePath)?.split("/"),urlSlug:t.slug??x1(t.title)});return{id:i.get(a),type:"page",pageId:a,title:t.title,slug:u.get(),icon:t.icon,hidden:t.hidden,noindex:t.noindex,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}var zAo=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#e=fai.create(r,u),this.#u=d,this.#c=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??x1(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#s(this.apiSection.navigation,this.#e.api.rootPackage,this.#l)),this.#o=this.#y(this.#o.map(o=>this.#O(o)),this.#j(this.#e.api.rootPackage,this.#l))}get(){let t=zo.V1.followRedirects(this.#o),r=new FLr(this.markdownFilesToFullSlugs,this.workspace.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#u).orUndefined();return{id:this.#u.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#c,paginated:this.apiSection.paginated,slug:this.#l.get(),icon:this.apiSection.icon,hidden:this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#g(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#s(t,r,i){r=this.#e.resolveSubpackage(r);let n=r!=null?fai.getSubpackageId(r):void 0;return t.map(a=>Foa(a)._visit({link:u=>({id:this.#u.get(u.url),type:"link",title:u.text,icon:u.icon,url:zo.Url(u.url)}),page:u=>this.#d(u,i),package:u=>this.#h(u,i),section:u=>this.#_(u,i),item:({value:u})=>this.#p(u,n,i),endpoint:u=>this.#b(u,n,i)})).filter(vg)}#d(t,r){return IAo({page:t,parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,idgen:this.#u})}#h(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#e.getSubpackageByIdOrLocator(t.package);if(a!=null){let u=fai.getSubpackageId(a),l=this.#u.get(i??`${this.apiDefinitionId}:${u}`);this.#i.has(u)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${u}`),this.#i.add(u),this.#a.set(l,[u]);let d=t.slug??(rYt(a)?a.urlSlug:this.apiSection.slug??x1(this.apiSection.title)),s=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),o=this.#s(t.contents,a,s);return{id:l,type:"apiPackage",children:o,title:t.title??(rYt(a)?a.displayName??LSe(a.name):this.apiSection.title),slug:s.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??x1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#s(t.contents,void 0,l);return{id:this.#u.get(i??`${this.apiDefinitionId}:${x1(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#_(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#e.getSubpackageByIdOrLocator(o);return c!=null?fai.getSubpackageId(c):void 0}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(vg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??x1(t.title),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#s(t.contents,void 0,d);return{id:a,type:"apiPackage",children:s,title:t.title,slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#p(t,r,i){t=t.trim();let n=this.#e.getSubpackageByIdOrLocator(t);if(n!=null){let a=fai.getSubpackageId(n),u=this.#u.get(`${this.apiDefinitionId}:${a}`);this.#i.has(a)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a}`),this.#i.add(a),this.#a.set(u,[a]);let l=rYt(n)?n.urlSlug:"",d=i.apply({urlSlug:l});return{id:u,type:"apiPackage",children:[],title:rYt(n)?n.displayName??LSe(n.name):this.apiSection.title,slug:d.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}return this.#b({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i)}#b(t,r,i){let n=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.endpoints.get(f4.EndpointId(t.endpoint)):void 0)??this.#e.endpointsByLocator.get(t.endpoint);if(n!=null){let l=this.#e.getEndpointId(n);if(l==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);this.#t.has(l)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${l}`),this.#t.add(l);let d=t.slug!=null?i.append(t.slug):i.apply(n);return{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"endpoint",method:n.method,endpointId:l,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:t.title??n.name??YI(n.path.parts),slug:d.get(),icon:t.icon,hidden:t.hidden,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.webSockets.get(f4.WebSocketId(t.endpoint)):void 0)??this.#e.webSocketsByLocator.get(t.endpoint);if(a!=null){let l=this.#e.getWebSocketId(a);if(l==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return this.#r.has(l)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${l}`),this.#r.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webSocket",webSocketId:l,title:t.title??a.name??YI(a.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(a)).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let u=(r!=null?this.#e.subpackages.get(f4.SubpackageId(r))?.webhooks.get(f4.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(zo.V1.WebhookId(t.endpoint));if(u!=null){let l=this.#e.getWebhookId(u);if(l==null)throw new Error(`Expected Webhook ID for ${u.id}. Got undefined.`);return this.#n.has(l)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${l}`),this.#n.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webhook",webhookId:l,method:u.method,title:t.title??u.name??zv("/",...u.path),slug:(t.slug!=null?i.append(t.slug):i.apply(u)).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#y(t,r){return xAo({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>YI(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#O(t){return Loa({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#m(r,i),mergeAndFilterChildren:this.#y.bind(this)})}#j(t,r){let i=[];return t.endpoints.forEach(n=>{let a=this.#e.getEndpointId(n);if(a==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);if(this.#t.has(a))return;let u=r.apply(n);i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"endpoint",method:n.method,endpointId:a,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:n.name??YI(n.path.parts),slug:u.get(),icon:void 0,hidden:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.websockets.forEach(n=>{let a=this.#e.getWebSocketId(n);if(a==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);this.#r.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webSocket",webSocketId:a,title:n.name??YI(n.path.parts),slug:r.apply(n).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.webhooks.forEach(n=>{let a=this.#e.getWebhookId(n);if(a==null)throw new Error(`Expected Webhook ID for ${n.id}. Got undefined.`);this.#n.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webhook",webhookId:a,method:n.method,title:n.name??LSe(n.id),slug:r.apply(n).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.subpackages.forEach(n=>{if(this.#i.has(n))return;let a=this.#e.getSubpackageByIdOrLocator(n);if(a==null){this.taskContext.logger.error(`Subpackage ${n} not found in ${this.apiDefinitionId}`);return}let u=rYt(a)?r.apply(a):r,l=this.#m(n,u);l.length>0&&i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:l,title:rYt(a)?a.displayName??LSe(a.name):this.apiSection.title,slug:u.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&(i=i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)})),i}#m(t,r){let i=t!=null?this.#e.resolveSubpackage(this.#e.getSubpackageByIdOrLocator(t)):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#j(i,r)}#g(t){return BAo(t)}mergeEndpointPairs(t){return r0n({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>YI(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};function Ab_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}function qb_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}function Tb_(e){let t=e.namespace?.map(r=>x1(r.toString()))??[];return t.push(x1(e.id.split(".").pop()??"")),e.operationId!=null?x1(e.operationId):zv(t)}var Uoa=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;#s=new Map;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.#e=r,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#u=d,this.#c=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??x1(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#b(this.apiSection.navigation,this.#l)),this.#o=this.#S(this.#o.map(o=>this.#P(o)),this.#M(this.#e,this.#l))}get(){let t=zo.V1.followRedirects(this.#o),r=new FLr(this.markdownFilesToFullSlugs,this.workspace?.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#u).orUndefined();return{id:this.#u.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#c,paginated:this.apiSection.paginated,slug:this.#l.get(),icon:this.apiSection.icon,hidden:this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#D(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#d(t){return this.#e?.subpackages[RP.api.v1.SubpackageId(t)]??this.#e?.subpackages[RP.api.v1.SubpackageId(t.replace(".yml","").replace(".yaml","").split(".").pop()??"")]??this.#e?.subpackages[RP.api.v1.SubpackageId(t.split("/").pop()??"")]}#h(t){return this.#e?.endpoints[RP.EndpointId(t)]??this.#e?.endpoints[RP.EndpointId(t.split(".").pop()??"")]??this.#e?.endpoints[RP.EndpointId(t.split("/").pop()??"")]??Object.values(this.#e?.endpoints??{}).find(r=>r.id.includes(t))??Object.values(this.#e?.endpoints??{}).find(r=>`${r.method} ${YI(r.path)}`===t)??Object.values(this.#e?.endpoints??{}).find(r=>`STREAM ${YI(r.path)}`===t)}#_(t){return this.#e?.websockets[RP.WebSocketId(t)]??this.#e?.websockets[RP.WebSocketId(t.split(".").pop()??"")]??this.#e?.websockets[RP.WebSocketId(t.split("/").pop()??"")]??Object.values(this.#e?.websockets??{}).find(r=>r.id.includes(t))}#p(t){return this.#e?.webhooks[RP.WebhookId(t)]??this.#e?.webhooks[RP.WebhookId(t.split(".").pop()??"")]??this.#e?.webhooks[RP.WebhookId(t.split("/").pop()??"")]??Object.values(this.#e?.webhooks??{}).find(r=>r.id.includes(t))}#b(t,r){return t.map(i=>Foa(i)._visit({link:n=>({id:this.#u.get(n.url),type:"link",title:n.text,icon:n.icon,url:zo.Url(n.url)}),page:n=>this.#y(n,r),package:n=>this.#O(n,r),section:n=>this.#j(n,r),item:({value:n})=>this.#m(n,r),endpoint:n=>this.#g(n,r)})).filter(vg)}#y(t,r){return IAo({docsWorkspace:this.docsWorkspace,page:t,parentSlug:r,idgen:this.#u,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs})}#O(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#d(t.package);if(a!=null){let u=this.#u.get(i??`${this.apiDefinitionId}:${a.id}`);this.#i.has(a.id)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a.id}`),this.#i.add(a.id),this.#a.set(u,[a.id]);let l=t.slug??a.name,d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,d),o={id:u,type:"apiPackage",children:s,title:t.title??a.displayName??LSe(a.name),slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.set(a.id,o),o}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??x1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#b(t.contents,l),s={id:this.#u.get(i??`${this.apiDefinitionId}:${x1(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.set(t.package,s),s}}#j(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iYt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#d(o);return c?.id}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(vg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??x1(t.title),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,d);return{id:a,type:"apiPackage",children:s,title:t.title,slug:d.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#m(t,r){t=t.trim();let i=this.#d(t);if(i!=null){let n=i.id,a=this.#u.get(`${this.apiDefinitionId}:${n}`);this.#i.has(n)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${n}`),this.#i.add(n),this.#a.set(a,[n]);let u=x1(i.name),l=r.apply({urlSlug:u}),d={id:a,type:"apiPackage",children:[],title:i.displayName??LSe(i.name),slug:l.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};return this.#s.set(n,d),d}return this.#g({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r)}#g(t,r){let i=this.#h(t.endpoint);if(i!=null){if(i.id==null)throw new Error(`Expected Endpoint ID for ${i.id}. Got undefined.`);this.#t.has(i.id)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${i.id}`),this.#t.add(i.id);let u=t.slug!=null?r.append(t.slug):r.apply({urlSlug:Ab_(i)});return{id:this.#u.get(`${this.apiDefinitionId}:${i.id}`),type:"endpoint",method:i.method,endpointId:i.id,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(i.availability),isResponseStream:i.responses?.[0]?.body.type==="stream",title:t.title??i.displayName??YI(i.path),slug:u.get(),icon:t.icon,hidden:t.hidden,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let n=this.#_(t.endpoint);if(n!=null){if(n.id==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);return this.#r.has(n.id)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${n.id}`),this.#r.add(n.id),{id:this.#u.get(`${this.apiDefinitionId}:${n.id}`),type:"webSocket",webSocketId:n.id,title:t.title??n.displayName??YI(n.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:qb_(n)})).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=this.#p(t.endpoint);if(a!=null){if(a.id==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);return this.#n.has(a.id)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${a.id}`),this.#n.add(a.id),{id:this.#u.get(`${this.apiDefinitionId}:${a.id}`),type:"webhook",webhookId:a.id,method:a.method,title:t.title??a.displayName??zv("/",...a.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:Tb_(a)})).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#S(t,r){return xAo({left:t,right:r,findEndpointById:i=>this.#h(i),stringifyEndpointPathParts:i=>YI(i.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#P(t){return Loa({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#f(r,i),mergeAndFilterChildren:this.#S.bind(this)})}#M(t,r){let i=[];return Object.entries(t.subpackages).forEach(([n,a])=>{if(this.#i.has(n))return;let u=r.apply({urlSlug:x1(a.name)}),l={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:[],title:a.displayName??LSe(a.name),slug:u.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};this.#s.set(n,l),i.push(l)}),Object.entries(t.endpoints).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Endpoint ID for ${a.id}. Got undefined.`);if(this.#t.has(RP.EndpointId(n)))return;let u=r.apply({urlSlug:Ab_(a)}),l={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"endpoint",method:a.method,endpointId:RP.EndpointId(n),apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),isResponseStream:a.responses?.[0]?.body.type==="stream",title:a.displayName??YI(a.path),slug:u.get(),icon:void 0,hidden:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let d=gg(a.namespace[0]);if(d!=null){let s=this.#s.get(d);if(s==null){this.taskContext.logger.error(`Subpackage ${d} not found in ${this.apiDefinitionId}`);return}let o=r.apply({urlSlug:x1(s.slug)});for(let c of a.namespace.slice(1)){let b=s.children.find(g=>g.type==="apiPackage"&&g.id===gg(c.toString()));o=o.append(x1(c)),b==null&&(b={id:zo.V1.NodeId(`${this.apiDefinitionId}:${c}`),type:"apiPackage",children:[],title:LSe(c),slug:o.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),b!=null&&b.type==="apiPackage"&&(s=b)}s.children.push(l)}}else i.push(l)}),Object.entries(t.websockets).forEach(([n,a])=>{if(n==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);if(this.#r.has(RP.WebSocketId(n)))return;let u={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webSocket",webSocketId:RP.WebSocketId(n),title:a.displayName??YI(a.path),slug:r.apply({urlSlug:qb_(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=gg(a.namespace[0]);if(l!=null){let d=this.#s.get(l);if(d==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:d.slug});for(let o of a.namespace.slice(1)){let c=d.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:zo.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:LSe(o),slug:s.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),c!=null&&c.type==="apiPackage"&&(d=c)}d.children.push(u)}}else i.push(u)}),Object.entries(t.webhooks).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);if(this.#n.has(RP.WebhookId(n)))return;let u={id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webhook",webhookId:RP.WebhookId(n),method:a.method,title:a.displayName??LSe(a.id),slug:r.apply({urlSlug:Tb_(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=gg(a.namespace[0]);if(l!=null){let d=this.#s.get(l);if(d==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:d.slug});for(let o of a.namespace.slice(1)){let c=d.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:zo.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:o,slug:s.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}),c!=null&&c.type==="apiPackage"&&(d=c)}d.children.push(u)}}else i.push(u)}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&(i=i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)})),i}#E(t){let r=Object.fromEntries(Object.entries(this.#e?.endpoints??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t))),i=Object.fromEntries(Object.entries(this.#e?.websockets??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t))),n=Object.fromEntries(Object.entries(this.#e?.webhooks??{}).filter(([a,u])=>u.namespace!=null&&gg(u.namespace[u.namespace.length-1])===RP.api.v1.SubpackageId(t)));return{id:RP.ApiDefinitionId(t),endpoints:r,websockets:i,webhooks:n,types:{},subpackages:{},auths:{},globalHeaders:void 0}}#f(t,r){let i=t!=null?this.#E(t):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#M(i,r)}#D(t){return BAo(t)}mergeEndpointPairs(t){return r0n({children:t,findEndpointById:r=>this.#e?.endpoints[r],stringifyEndpointPathParts:r=>YI(r.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};var Cb_=Ei(require("crypto"),1);function YQD(e){return Cb_.default.createHash("sha256").update(e).digest("hex")}var RAo=class e{static init(){return new e}constructor(){}#e=new Map;#t=new Set;#r(t){let r=this.#e.get(t)??0;return this.#e.set(t,r+1),YQD(r===0?t:`${t}-${r}`)}#n(t){let r=this.#r(t),i=0;for(;this.#t.has(r);)if(r=this.#r(t),i++,i>100)throw new Error(`Infinite loop detected for id: ${t}`);return r}get(t){return zo.V1.NodeId(this.#n(t))}};function Bb_(e){return e==null?{}:{pythonSdk:e.python!=null?{package:typeof e.python=="string"?e.python:e.python.package,version:typeof e.python=="string"?void 0:e.python.version}:void 0,typescriptSdk:e.typescript!=null?{package:typeof e.typescript=="string"?e.typescript:e.typescript.package,version:typeof e.typescript=="string"?void 0:e.typescript.version}:void 0,goSdk:e.go!=null?{githubRepo:typeof e.go=="string"?e.go:e.go.package,version:typeof e.go=="string"?void 0:e.go.version}:void 0,javaSdk:e.java!=null?{coordinate:typeof e.java=="string"?e.java:e.java.package,version:typeof e.java=="string"?void 0:e.java.version}:void 0,rubySdk:e.ruby!=null?{gem:typeof e.ruby=="string"?e.ruby:e.ruby.package,version:typeof e.ruby=="string"?void 0:e.ruby.version}:void 0}}var NAo=Ei(C1e(),1);var xUs=Ei(C1e(),1);function xb_(e,t,r){let i=e.schemes[0];if(e.schemes.length===1&&i!=null)switch(i.type){case"basic":return{type:"basicAuth",passwordName:i.password.originalName,usernameName:i.username.originalName};case"bearer":return{type:"bearerAuth",tokenName:i.token.originalName};case"header":return{type:"header",headerWireValue:i.name.wireValue,nameOverride:i.name.name.originalName,prefix:i.prefix};case"oauth":{let n=i.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(a=>a.originalName).join(".")||"$.body.access_token";return r?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:xUs.FernRegistry.EndpointId(i.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:xUs.FernRegistry.JqString(n),headerName:i.configuration.tokenHeader,tokenPrefix:i.configuration.tokenPrefix}}}:{type:"bearerAuth",tokenName:"token"}}default:Go(i)}}var rj=Ei(C1e(),1);var dai=Ei(C1e(),1);function zb_(e){return e._visit({alias:t=>({type:"alias",value:jD(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:hN(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>dai.FernRegistry.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:dai.FernRegistry.PropertyKey(r.name.wireValue),valueType:jD(r.valueType),availability:hN(r.availability)})),extraProperties:kQD(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:dai.FernRegistry.PropertyKey(i.name.wireValue),valueType:jD(i.valueType),availability:hN(i.availability),description:i.docs}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?hN(i.availability):void 0,additionalProperties:Bc.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[dai.FernRegistry.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:dai.FernRegistry.PropertyKey(n.name.wireValue),valueType:jD(n.type),description:void 0,availability:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:jD(r.type),availability:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function jD(e){return e._visit({container:t=>Bc.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:jD(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:jD(r),valueType:jD(i)}),optional:r=>({type:"optional",itemType:jD(r),defaultValue:void 0}),nullable:r=>({type:"optional",itemType:jD(r),defaultValue:void 0}),set:r=>({type:"set",itemType:jD(r)}),literal:r=>Bc.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:dai.FernRegistry.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:Bc.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>ZQD(t.v2),float:()=>Ib_(t.v2),double:()=>Ib_(t.v2),string:()=>XQD(t.v2),long:()=>({type:"long",default:t.v2?.type==="long"?t.v2.default:void 0,minimum:void 0,maximum:void 0}),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>({type:"uint"}),uint64:()=>({type:"uint64"}),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function XQD(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function ZQD(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="integer"?e.default:void 0}}function Ib_(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="double"?e.default:void 0}}function kQD(e){return typeof e=="boolean"?e?F1.unknown():void 0:typeof e=="string"?{type:"id",value:dai.FernRegistry.TypeId(e),default:void 0}:jD(e)}function zUs(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?tJD(r,t):[],webhooks:i!=null?eJD(i):[],websockets:n!=null?[rJD(n,t)]:[],types:e.types.map(a=>rj.FernRegistry.TypeId(a)),subpackages:e.subpackages.map(a=>rj.FernRegistry.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?rj.FernRegistry.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function eJD(e){return e.map(t=>({description:t.docs??void 0,id:rj.FernRegistry.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??s$n(t.name.originalName),headers:t.headers.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:jD(r.valueType),availability:hN(r.availability)})),payload:lJD(t.payload),examples:t.examples!=null?t.examples.map(r=>({payload:r.payload.jsonExample})):[]}))}function tJD(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(l=>IUs({userSpecifiedExample:l,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(vg));else if(n!=null){let l=IUs({autogeneratedExample:n,irEndpoint:i,ir:t});l!=null&&a.push(l)}else if(i.response?.body?.type==="fileDownload"){let l=Noa({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(l.type==="success"){let d=IUs({autogeneratedExample:l,irEndpoint:i,ir:t});if(d!=null){let s={...d,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let u={availability:hN(i.availability??e.availability),auth:i.auth,description:i.docs??void 0,method:oJD(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?rj.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?iJD({environmentsConfig:t.environments,endpoint:i}):void 0,id:rj.FernRegistry.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??s$n(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(l=>({description:l.docs??void 0,key:rj.FernRegistry.PropertyKey(l.name.originalName),type:jD(l.valueType),availability:void 0})),parts:[...i0n(i.basePath),...i0n(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(l=>({description:l.docs??void 0,key:rj.FernRegistry.PropertyKey(l.name.originalName),type:jD(l.valueType),availability:void 0})),parts:[...t.basePath!=null?i0n(t.basePath):[],...i0n(e.basePath),...i0n(i.path)]},queryParameters:i.queryParameters.map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:jD(l.valueType),availability:hN(l.availability)})),headers:[...e.headers,...i.headers].map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:jD(l.valueType),availability:hN(l.availability)})),request:i.requestBody!=null?uJD(i.requestBody):void 0,response:i.response!=null?sJD(i.response):void 0,errors:void 0,errorsV2:cJD(i.errors,t),examples:a};r.push(u)}return r}function rJD(e,t){return{auth:e.auth,availability:hN(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?rj.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?nJD({environmentsConfig:t.environments,channel:e}):[],id:rj.FernRegistry.WebSocketId(e.name.originalName),name:e.displayName??s$n(e.name.originalName),path:{pathParameters:e.pathParameters.map(r=>({description:r.docs??void 0,key:rj.FernRegistry.PropertyKey(r.name.originalName),type:jD(r.valueType),availability:void 0})),parts:i0n(e.path)},headers:e.headers.map(r=>({key:r.name.wireValue,type:jD(r.valueType),description:r.docs,availability:hN(r.availability)})),queryParameters:e.queryParameters.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:jD(r.valueType),availability:hN(r.availability)})),messages:e.messages.map(r=>({type:rj.FernRegistry.api.v1.WebSocketMessageId(r.type),displayName:r.displayName,origin:r.origin,body:fJD(r.body),description:r.docs,availability:hN(r.availability)})),examples:e.examples.map(r=>({name:r.name?.originalName,description:r.docs,path:r.url,pathParameters:r.pathParameters.reduce((i,n)=>(i[rj.FernRegistry.PropertyKey(n.name.originalName)]=n.value.jsonExample,i),{}),queryParameters:r.queryParameters.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),headers:r.headers.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),messages:r.messages.map(i=>({type:rj.FernRegistry.api.v1.WebSocketMessageId(i.type),body:i.body.jsonExample}))}))}}function hN(e){if(e!=null)switch(e.status){case"DEPRECATED":return rj.FernRegistry.Availability.Deprecated;case"PRE_RELEASE":return rj.FernRegistry.Availability.Beta;case"GENERAL_AVAILABILITY":return rj.FernRegistry.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return rj.FernRegistry.Availability.Beta;default:Go(e.status)}}function iJD({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:rj.FernRegistry.EnvironmentId(n.id),baseUrl:n.url}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Expected environment ${n.id} to contain url for ${i}`);return{id:rj.FernRegistry.EnvironmentId(n.id),baseUrl:a}});default:Go(r)}}function nJD({environmentsConfig:e,channel:t}){let r=e.environments;switch(r.type){case"singleBaseUrl":return r.environments.map(i=>({id:rj.FernRegistry.EnvironmentId(i.id),baseUrl:aJD(i.url,"wss")}));case"multipleBaseUrls":throw new Error(`Multiple base URLs are not supported for WebSocket "${t.name.originalName}"`);default:Go(r)}}function aJD(e,t){return e.replace(/^[^:]+/,t)}function oJD(e){return Bc.http.HttpMethod._visit(e,{get:()=>rj.FernRegistry.HttpMethod.Get,post:()=>rj.FernRegistry.HttpMethod.Post,put:()=>rj.FernRegistry.HttpMethod.Put,patch:()=>rj.FernRegistry.HttpMethod.Patch,delete:()=>rj.FernRegistry.HttpMethod.Delete,_other:()=>{throw new Error("Unknown http method: "+e)}})}function i0n(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:rj.FernRegistry.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function uJD(e){let t=Bc.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??DB.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>rj.FernRegistry.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:rj.FernRegistry.PropertyKey(i.name.wireValue),valueType:jD(i.valueType),availability:hN(i.availability)})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??DB.APPLICATION_JSON,shape:{type:"reference",value:jD(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:u=>({type:"file",key:rj.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),fileArray:u=>({type:"fileArray",key:rj.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:rj.FernRegistry.PropertyKey(n.name.wireValue),valueType:jD(n.valueType),contentType:n.contentType,description:n.docs,availability:hN(n.availability)}),_other:()=>{}})).filter(vg)},description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function sJD(e){if(e.body==null)return;let t,r=Bc.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:jD(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:jD(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:jD(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}});if(r!=null)return{type:r,statusCode:e.statusCode,description:t}}function cJD(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:jD(n.type)},statusCode:n.statusCode,description:n.docs??void 0,name:n.name.name.originalName,availability:void 0,examples:n.examples.map(a=>({name:a.name?.originalName,responseBody:{type:"json",value:a.jsonExample},description:a.docs}))})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:rj.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0}];n.type!=null&&a.push({key:rj.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:jD(n.type),description:n.docs,availability:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,description:n.docs??void 0,availability:void 0,name:n.name.name.originalName,examples:n.examples.map(u=>({name:u.name?.originalName,responseBody:{type:"json",value:u.jsonExample},description:u.docs}))})}}return r}function IUs({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(l=>{let d=l.valueType.type==="container"&&l.valueType.container.type==="literal"?l.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):void 0;if(d!=null)return{name:l.name,value:{jsonExample:d,shape:Bc.ExampleTypeReferenceShape.primitive(Bc.ExamplePrimitive.string({original:d}))}}}).filter(vg),a=e?.example??t?.example;if(a==null)return;let{codeSamples:u}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((l,d)=>(l[rj.FernRegistry.PropertyKey(d.name.originalName)]=d.value.jsonExample,l),{}),queryParameters:a.queryParameters.reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:l=>{if(a.request==null)return;let d={};if(bg(a.request.jsonExample)){let s=a.request.jsonExample;for(let o of l.properties)o._visit({file:c=>{let b=s[c.key.wireValue];if(c.type==="file")d[c.key.wireValue]={type:"filename",value:typeof b=="string"?b:"<file1>"};else if(c.type==="fileArray"){let g=(Array.isArray(b)?b:[b]).filter(O=>typeof O=="string");d[c.key.wireValue]={type:"filenames",value:g}}},bodyProperty:c=>{d[c.name.wireValue]={type:"json",value:s[c.name.wireValue]}},_other:T2t})}return{type:"form",value:d}},bytes:()=>{},_other:()=>{}}),responseStatusCode:Bc.http.ExampleResponse._visit(a.response,{ok:l=>l._visit({body:d=>d!=null?200:204,stream:d=>d.length>0?200:204,sse:d=>d.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:({error:l})=>{let d=i.errors[l.errorId];if(d==null)throw new Error("Cannot find error "+l.errorId);return d.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:l=>l._visit({body:d=>d?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:l=>l.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:l=>l._visit({body:d=>d!=null?{type:"json",value:d.jsonExample}:void 0,stream:d=>({type:"stream",value:d.map(s=>s.jsonExample)}),sse:d=>({type:"sse",value:d.map(({event:s,data:o})=>({event:s,data:o.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:l=>l.body!=null?{type:"json",value:l.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:u?.map(l=>x1e._visit(l,{language:d=>({language:d.language,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:d.install}),sdk:d=>({language:d.sdk,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:void 0}),_other:()=>{}})).filter(vg)}}function lJD(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>rj.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:rj.FernRegistry.PropertyKey(t.name.wireValue),valueType:jD(t.valueType),availability:hN(t.availability)})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:jD(e.payloadType)},description:e.docs};default:Go(e)}}function fJD(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>rj.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:rj.FernRegistry.PropertyKey(t.name.wireValue),valueType:jD(t.valueType),availability:hN(t.availability)})),extraProperties:void 0};case"reference":return{type:"reference",value:jD(e.bodyType)};default:Go(e)}}function USe({ir:e,snippetsConfig:t,playgroundConfig:r}){let i={types:{},subpackages:{},rootPackage:zUs(e.rootPackage,e),auth:xb_(e.auth,e,r),snippetsConfiguration:t,globalHeaders:e.headers.map(n=>({availability:hN(n.availability),description:n.docs??void 0,key:n.name.wireValue,type:jD(n.valueType)})),navigation:void 0};for(let[n,a]of Object.entries(e.types))i.types[NAo.FernRegistry.TypeId(n)]={description:a.docs??void 0,name:a.name.name.originalName,shape:zb_(a.shape),availability:hN(a.availability)};for(let[n,a]of Object.entries(e.subpackages)){let u=a.service!=null?e.services[a.service]:void 0;i.subpackages[NAo.FernRegistry.api.v1.SubpackageId(n)]={subpackageId:NAo.FernRegistry.api.v1.SubpackageId(n),displayName:u?.displayName,name:a.name.originalName,description:a.docs??void 0,...zUs(a,e)}}return i}var RUs=Ei(C1e(),1);async function NUs({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:u}){let l=d4({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new l4(r,t)}),d=V1i({token:i.value}),s=USe({ir:l,snippetsConfig:a,playgroundConfig:u}),o=await d.api.v1.register.registerApiDefinition({orgId:RUs.FernRegistry.OrgId(e),apiId:RUs.FernRegistry.ApiId(l.apiName.originalName),definition:s});if(o.ok)return r.logger.debug(`Registered API Definition ${o.body.apiDefinitionId}`),{id:o.body.apiDefinitionId,ir:l};switch(o.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",o.error)}}var dJD=new Cqi({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function Voa(e,t,r){return voa(_oa(USe({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0},playgroundConfig:r}),f4.ApiDefinitionId(t),dJD))}var n0n=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};var ch={};Wo(ch,{AlgoliaSearchIndex:()=>Rb_,ApiDefinitionId:()=>n0_,ApiId:()=>s0_,Availability:()=>j0_,DocsConfigId:()=>c0_,EndpointId:()=>f0_,EndpointPathLiteral:()=>m0_,EnvironmentId:()=>l0_,FileId:()=>y0_,HttpMethod:()=>P0_,IndexSegmentId:()=>Nb_,JqString:()=>b0_,OrgId:()=>o0_,PageId:()=>h0_,PayloadLocation:()=>Y0_,PropertyKey:()=>g0_,PullRequestState:()=>$0_,RoleId:()=>O0_,TokenId:()=>u0_,TypeId:()=>_0_,Url:()=>v0_,VersionId:()=>a0_,WebSocketId:()=>d0_,WebhookId:()=>p0_,algolia:()=>FUs,api:()=>KUs,commons:()=>YUs,diff:()=>w0_,docs:()=>aVs,generators:()=>uVs,git:()=>sVs,navigation:()=>fVs,sdks:()=>pVs,snippets:()=>J0_,snippetsFactory:()=>K0_,templates:()=>_Vs,tokens:()=>X0_});var FUs={};Wo(FUs,{AlgoliaSearchIndex:()=>Rb_,IndexSegmentId:()=>Nb_});function Rb_(e){return e}function Nb_(e){return e}var KUs={};Wo(KUs,{latest:()=>VUs,v1:()=>JUs});var VUs={};Wo(VUs,{AuthSchemeId:()=>Fb_,WebhookHttpMethod:()=>Wb_,auth:()=>LUs,commons:()=>Lb_,endpoint:()=>Ub_,type_:()=>Vb_,webhook:()=>UUs,websocket:()=>Hb_});var LUs={};Wo(LUs,{AuthSchemeId:()=>Fb_});function Fb_(e){return e}var Lb_={};var Ub_={};var Vb_={};var UUs={};Wo(UUs,{WebhookHttpMethod:()=>Wb_});var Wb_={Get:"GET",Post:"POST"};var Hb_={};var JUs={};Wo(JUs,{SubpackageId:()=>e0_,WebSocketMessageId:()=>t0_,WebSocketMessageOrigin:()=>r0_,WebhookHttpMethod:()=>i0_,commons:()=>QUs,db:()=>WUs,read:()=>$Us,register:()=>GUs});var WUs={};Wo(WUs,{endpoint:()=>$b_});var $b_={};var $Us={};Wo($Us,{SupportedLanguage:()=>Gb_,endpoint:()=>HUs,type_:()=>Qb_,webhook:()=>Jb_,websocket:()=>Kb_});var HUs={};Wo(HUs,{SupportedLanguage:()=>Gb_});var Gb_={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby"};var Qb_={};var Jb_={};var Kb_={};var GUs={};Wo(GUs,{SourceId:()=>pJD,endpoint:()=>Yb_,type_:()=>Xb_,webhook:()=>Zb_,websocket:()=>kb_});var Yb_={};var Xb_={};var Zb_={};var kb_={};function pJD(e){return e}var QUs={};Wo(QUs,{SubpackageId:()=>e0_,WebSocketMessageId:()=>t0_,WebSocketMessageOrigin:()=>r0_,WebhookHttpMethod:()=>i0_});function e0_(e){return e}function t0_(e){return e}var r0_={Client:"client",Server:"server"};var i0_={Get:"GET",Post:"POST"};var YUs={};Wo(YUs,{ApiDefinitionId:()=>n0_,ApiId:()=>s0_,Availability:()=>j0_,DocsConfigId:()=>c0_,EndpointId:()=>f0_,EndpointPathLiteral:()=>m0_,EnvironmentId:()=>l0_,FileId:()=>y0_,HttpMethod:()=>P0_,JqString:()=>b0_,OrgId:()=>o0_,PageId:()=>h0_,PropertyKey:()=>g0_,RoleId:()=>O0_,TokenId:()=>u0_,TypeId:()=>_0_,Url:()=>v0_,VersionId:()=>a0_,WebSocketId:()=>d0_,WebhookId:()=>p0_});function n0_(e){return e}function a0_(e){return e}function o0_(e){return e}function u0_(e){return e}function s0_(e){return e}function c0_(e){return e}function l0_(e){return e}function f0_(e){return e}function d0_(e){return e}function p0_(e){return e}function _0_(e){return e}function h0_(e){return e}function y0_(e){return e}function v0_(e){return e}function b0_(e){return e}function g0_(e){return e}function O0_(e){return e}function m0_(e){return e}var P0_={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var j0_={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var w0_={};var aVs={};Wo(aVs,{latest:()=>kUs,v1:()=>iVs,v2:()=>nVs});var kUs={};Wo(kUs,{Layout:()=>D0_,MdxEngine:()=>_JD,TwitterCardSetting:()=>E0_,commons:()=>S0_,frontmatter:()=>XUs,seo:()=>ZUs});var _JD={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var S0_={};var XUs={};Wo(XUs,{Layout:()=>D0_});var D0_={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var ZUs={};Wo(ZUs,{TwitterCardSetting:()=>E0_});var E0_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var iVs={};Wo(iVs,{commons:()=>rVs,db:()=>M0_,read:()=>A0_,write:()=>eVs});var M0_={};var A0_={};var eVs={};Wo(eVs,{DocsRegistrationId:()=>yJD,FilePath:()=>hJD});function hJD(e){return e}function yJD(e){return e}var rVs={};Wo(rVs,{ContentAlignment:()=>B0_,FontDisplay:()=>N0_,FontStyle:()=>R0_,HeaderPosition:()=>x0_,JsScriptStrategy:()=>z0_,ProgrammingLanguage:()=>q0_,SearchbarPlacement:()=>T0_,TabsPlacement:()=>C0_,TwitterCardSetting:()=>I0_,commons:()=>tVs});var tVs={};Wo(tVs,{ContentAlignment:()=>B0_,FontDisplay:()=>N0_,FontStyle:()=>R0_,HeaderPosition:()=>x0_,JsScriptStrategy:()=>z0_,ProgrammingLanguage:()=>q0_,SearchbarPlacement:()=>T0_,TabsPlacement:()=>C0_,TwitterCardSetting:()=>I0_});var q0_={Typescript:"typescript",Javascript:"javascript",Python:"python",Java:"java",Go:"go",Ruby:"ruby",Csharp:"csharp",Nodets:"nodets",Nodejs:"nodejs",Dotnet:"dotnet",Curl:"curl",Jvm:"jvm",Ts:"ts",Js:"js"};var T0_={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var C0_={Header:"HEADER",Sidebar:"SIDEBAR"};var B0_={Center:"CENTER",Left:"LEFT"};var x0_={Fixed:"FIXED",Absolute:"ABSOLUTE"};var I0_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var z0_={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var R0_={Normal:"normal",Italic:"italic"};var N0_={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var nVs={};Wo(nVs,{read:()=>F0_,write:()=>L0_});var F0_={};var L0_={};var uVs={};Wo(uVs,{ChangelogEntryType:()=>V0_,GeneratorId:()=>vJD,GeneratorLanguage:()=>bJD,ReleaseType:()=>W0_,cli:()=>U0_,commons:()=>oVs,versions:()=>H0_});var U0_={};var oVs={};Wo(oVs,{ChangelogEntryType:()=>V0_,ReleaseType:()=>W0_});var V0_={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var W0_={Ga:"GA",Rc:"RC"};var H0_={};function vJD(e){return e}var bJD={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var sVs={};Wo(sVs,{PullRequestState:()=>$0_});var $0_={Open:"open",Closed:"closed",Merged:"merged"};var fVs={};Wo(fVs,{latest:()=>cVs,v1:()=>lVs});var cVs={};Wo(cVs,{NodeId:()=>mJD,ProductId:()=>PJD,Slug:()=>gJD,TabId:()=>OJD});function gJD(e){return e}function OJD(e){return e}function mJD(e){return e}function PJD(e){return e}var lVs={};Wo(lVs,{NavigationV1Availability:()=>EJD,NodeId:()=>SJD,ProductId:()=>DJD,Slug:()=>jJD,TabId:()=>wJD});function jJD(e){return e}function wJD(e){return e}function SJD(e){return e}function DJD(e){return e}var EJD={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var pVs={};Wo(pVs,{Language:()=>G0_,VersionBump:()=>Q0_,versions:()=>dVs});var dVs={};Wo(dVs,{Language:()=>G0_,VersionBump:()=>Q0_});var G0_={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var Q0_={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var J0_={};var K0_={};var _Vs={};Wo(_Vs,{PayloadLocation:()=>Y0_});var Y0_={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var X0_={};function FAo({endpoints:e,webhookEndpoints:t}){let r={};return e!=null&&Object.values(e).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[ch.api.v1.SubpackageId(KKt(n))]={id:ch.api.v1.SubpackageId(KKt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),t!=null&&Object.values(t).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[ch.api.v1.SubpackageId(KKt(n))]={id:ch.api.v1.SubpackageId(KKt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),r}var LAo=class{errors=new n0n},a0n=class{input;context;constructor(t,r){this.input=t,this.context=r}errors(){return this.context.errors.errors}warnings(){return this.context.errors.warnings}};function Z0_(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var UAo=class extends LAo{},tp=class extends a0n{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,this.pathId!=null&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(...Array.isArray(this.pathId)?this.pathId:[this.pathId]),r.logger.debug(`Processing ${Z0_(this.accessPath)}`))}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}},lM=class extends tp{};var k0_="x-fern-base-path",eg_="x-fern-availability",tg_="x-fern-sdk-group-name",rg_="x-fern-global-headers",ig_="x-fern-sdk-method-name",ng_="x-fern-groups",ag_="x-fern-webhook",og_="x-fern-access-token-locator",ug_="x-fern-basic",sg_="x-fern-username-variable-name",cg_="x-fern-password-variable-name",lg_="x-fern-bearer",fg_="x-fern-token-variable-name",dg_="x-fern-header",pg_="x-fern-header-variable-name",_g_="x-fern-server-name",hg_="x-fern-examples";var VAo=class extends tp{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_g_]}convert(){if(this.serverName!=null)return this.serverName}};var WAo=class extends tp{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=this.input.url,this.serverName=new VAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.serverName?.convert()??this.url;if(!(this.url==null||t==null))return{id:ch.EnvironmentId(t),baseUrl:this.url}}};function nYt(e,t,r,i){return[...e??[],...(t??[]).map((n,a)=>new WAo({input:n,context:r,accessPath:i,pathId:["servers",`${a}`]}))]}function rp(e){return e!=null}function fM(e){return typeof e=="object"&&rp(e)&&"$ref"in e&&typeof e.$ref=="string"}function p4(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(fM(n)&&(n=p4(n,t,r)),n)}function yg_(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return fM(r)?p4(r,t,void 0):r}var jg_=Ei(xT());var HAo=class extends tp{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ug_];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var $Ao=class extends tp{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[cg_]}convert(){return this.passwordVariableName}};var GAo=class extends tp{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[sg_]}convert(){return this.usernameVariableName}};var QAo=class extends tp{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[lg_];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var JAo=class extends tp{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[fg_]}convert(){return this.tokenVariableName}};function vg_(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var bg_="x-bearer-format",gg_="x-code-samples",Og_="x-codeSamples";var KAo=class extends tp{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[bg_]}convert(){return this.bearerFormat}};var YAo=class extends tp{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[dg_];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var XAo=class extends tp{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[pg_]}convert(){return this.headerVariableName}};function mg_(e){return e.type==="apiKey"}var o0n=class extends tp{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){mg_(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new YAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new XAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new KAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function ZAo(e,t,r,i){if(t==null)return;let n=t.split("/").at(-1);if(n!=null)return`endpoint_${KKt(e!=null?typeof e=="string"?e:e.join("_"):"")}.${KKt(r??"")||i||KKt(n)}`}function Pg_(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var kAo=class extends tp{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[og_],this.accessTokenLocator!=null&&(Pg_(this.accessTokenLocator)||(this.context.errors.error({message:"Invalid access token locator, must be a valid jq path",path:this.accessPath}),this.accessTokenLocator=void 0))}convert(){return this.accessTokenLocator}};var eqo=class extends tp{authorizationUrl;headerAuthNode;accessTokenLocatorNode;constructor(t){super(t),this.safeParse()}parse(){if(this.input.flows.clientCredentials!=null){let t=this.input.flows.clientCredentials;this.authorizationUrl=t.tokenUrl,this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.headerAuthNode=new o0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new kAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.accessTokenLocatorNode?.accessTokenLocator==null&&this.context.errors.error({message:"Expected 'x-fern-access-token-locator' property to be specified",path:this.accessPath})}}convert(){let t=this.accessTokenLocatorNode?.convert();if(t==null||this.authorizationUrl==null)return;let r=ZAo("post",this.authorizationUrl,void 0,void 0);if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:ch.EndpointId(r),accessTokenLocator:ch.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var tqo=class extends tp{authScheme;headerAuthNode;bearerTokenNode;bearerTokenVariableNameNode;basicAuthNode;basicUsernameVariableNameNode;basicPasswordVariableNameNode;oauth2Node;constructor(t){super(t),this.safeParse()}parse(){switch(this.input.type){case"http":switch(this.input.scheme){case"basic":{this.authScheme="basic",this.basicAuthNode=new HAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new GAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new $Ao({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),(this.basicAuthNode==null||this.basicAuthNode.username==null&&this.basicUsernameVariableNameNode?.usernameVariableName==null||this.basicAuthNode.password==null&&this.basicPasswordVariableNameNode?.passwordVariableName==null)&&this.context.errors.warning({message:"Basic auth should specify either a username or a username variable name",path:this.accessPath});break}case"bearer":{this.authScheme="bearer",this.bearerTokenNode=new QAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new JAo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}default:{this.context.errors.warning({message:`Unsupported HTTP auth scheme: ${this.input.scheme}`,path:this.accessPath});break}}break;case"apiKey":{vg_(this.input)?(this.authScheme="header",this.headerAuthNode=new o0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})):this.context.errors.error({message:`Unsupported API key location: ${this.input.in}`,path:this.accessPath});break}case"oauth2":{this.authScheme="oauth",this.oauth2Node=new eqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}case"openIdConnect":{this.authScheme="bearer";break}}}convert(){switch(this.authScheme){case"basic":{let t=this.basicAuthNode?.convert();return{type:"basicAuth",usernameName:t?.username?.name??this.basicUsernameVariableNameNode?.convert(),passwordName:t?.password?.name??this.basicPasswordVariableNameNode?.convert()}}case"bearer":return{type:"bearerAuth",tokenName:this.bearerTokenNode?.convert()?.tokenVariableName??this.bearerTokenVariableNameNode?.convert()};case"header":return this.headerAuthNode?.convert();case"oauth":return this.oauth2Node?.convert();case void 0:return;default:new jg_.UnreachableCaseError(this.authScheme);return}}};var u0n=class extends tp{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=yg_(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new tqo({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(rp))}};var rqo=class extends tp{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[k0_],this.basePath!=null?(this.basePath.startsWith("/")&&(this.basePath=this.basePath.slice(1)),this.basePath.endsWith("/")&&(this.basePath=this.basePath.slice(0,-1))):this.basePath=void 0}convert(){return this.basePath}};function AA(e){if(e!=null)return Array.isArray(e)?e:[e]}var Ng_=Ei(xT());function LLr(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}var wg_=Ei(xT());var hVs=["decimal","decimal128","double-int","double","float","sf-decimal"],yVs=["int16","int32","int64","int8","sf-integer","uint8"],vVs=["base64url","binary","byte","char","commonmark","date-time","date","decimal","decimal128","duration","email","hostname","html","http-date","idn-email","idn-hostname","int64","ipv4","ipv6","iri-reference","iri","json-pointer","media-range","password","regex","relative-json-pointer","sf-binary","sf-boolean","sf-string","sf-token","time","uri-reference","uri-template","uri","uuid"],bVs=["beta","pre-release","in-development","generally-available","deprecated"];function _4(e,t){return fM(e)?p4(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var cze=class extends tp{availability;constructor(t){super(t),this.safeParse()}parse(){if(_4(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[eg_];r!=null&&(bVs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${bVs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return ch.Availability.Beta;case"in-development":return ch.Availability.InDevelopment;case"generally-available":return ch.Availability.GenerallyAvailable;case"deprecated":return ch.Availability.Deprecated;case void 0:return;default:new wg_.UnreachableCaseError(this.availability);return}}};function s0n(e){return typeof e.type=="string"&&e.type==="array"}function Sg_(e){return e.type==="boolean"}function Dg_(e){return e.type==="integer"}function c0n(e){return!Array.isArray(e.type)&&!s0n(e)}function Eg_(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||c0n(t)||s0n(t))}function Mg_(e){return"nullable"in e&&typeof e.nullable=="boolean"}function Ag_(e){return e.type==="null"}function qg_(e){return e.type==="number"}function Woa(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function Tg_(e){return e.type==="string"}var iqo=class extends lM{constValue;description;availability;constructor(t){super(t),this.safeParse()}parse(){this.input.const!=null&&(typeof this.input.const=="string"||typeof this.input.const=="number"||typeof this.input.const=="boolean")?this.constValue=this.input.const.toString():this.context.errors.warning({message:`Unsupported const type: ${typeof this.input}`,path:this.accessPath}),this.description=this.input.description,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"})}convert(){if(this.constValue!=null)return{type:"enum",default:this.constValue,values:[{value:this.constValue,description:this.description,availability:this.availability?.convert()}]}}example(){return this.input.example??this.input.examples?.[0]??this.constValue}};var nqo=class extends lM{typeNodes;nullable;constructor(t){super(t),this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}).filter(rp)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>AA(n.convert())?.map(u=>({displayName:n.name,shape:u,description:n.description,availability:n.availability?.convert()}))).filter(rp).reduce((n,a)=>n.flatMap(u=>a.length>0?a.map(l=>[...u,l]):[[...u]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(LLr).filter(rp):i}example(){return this.typeNodes?.[0]?.example()}};function Cg_(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function aqo(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>AA(n.convert())?.map(u=>(t!=null&&!t.includes(i)&&(u=Cg_(u,u.type==="enum"?u.default:void 0)),{key:ch.PropertyKey(i),valueShape:u,description:n.description,availability:n.availability?.convert()})).filter(rp)).filter(rp).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]])}var Bg_="#/components/schemas/";function oqo(e){if(e.$ref.startsWith(Bg_))return e.$ref.replace(Bg_,"")}function l0n(e){return e!=null&&e.length>0?e:[void 0]}var pai=class extends lM{description;extends=[];properties;extraProperties;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new qA({input:r,context:this.context,accessPath:this.accessPath,pathId:this.pathId})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new qA({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:this.pathId}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map(t=>{if(fM(t))return oqo(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([r,i])=>[r,new qA({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]))}}).filter(rp))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return aqo(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"unknown",displayName:this.extraProperties}]:AA(this.extraProperties.convert())?.map(r=>r.type==="alias"?r.value:void 0).filter(rp)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>l0n(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:{type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:{type:"alias",value:n}}}:{type:"object",extends:this.extends.map(a=>ch.TypeId(a)),properties:i,extraProperties:n}))}example(){let t={...this.properties};return this.input.allOf?.forEach(r=>{let i=_4(r,this.context.document);i!=null&&(t={...t,...Object.fromEntries(Object.entries(i.properties??{}).map(([n,a])=>[n,new qA({input:a,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]))})}),this.input.example??this.input.examples?.[0]??(this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((r,i)=>(r[i]=t?.[i]?.example(),r),{}):Object.entries(t).reduce((r,[i,n])=>(r[i]=n?.example(),r),{}))}};var uqo=class extends lM{isUnionOfObjects;isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;constructor(t){super(t),this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isUnionOfObjects=(this.input.oneOf??this.input.anyOf)?.every(t=>_4(t,this.context.document)?.type==="object"),this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>_4(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>_4(t,this.context.document)?.type!=="null"?new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId}):void 0).filter(rp);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=_4({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new qA({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i})})}}}convert(){if(!this.isUnionOfObjects&&!this.discriminated){let i=this.undiscriminatedMapping?.flatMap(n=>n.convert()).filter(rp);return this.isNullable&&i!=null?i.map(LLr).filter(rp):i}if(this.discriminated==null||this.discriminated&&(this.discriminant==null||this.discriminatedMapping==null)||!this.discriminated&&this.undiscriminatedMapping==null)return;let t=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:ch.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,n])=>AA(n.convert())?.map(u=>{if(!(u==null||u.type!=="object"))return{discriminantValue:i,displayName:n.name,availability:n.availability?.convert(),description:n.description,...u}}).filter(rp)).filter(rp)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>AA(i.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{displayName:i.name,shape:a,description:i.description,availability:i.availability?.convert()}}).filter(rp)).filter(rp)}:void 0,r=this.isNullable?LLr(t):t;return r!=null?[r]:void 0}example(){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example()??Object.values(this.discriminatedMapping??{})[0]?.example()}};var sqo=class extends lM{default;constructor(t){super(t),this.safeParse()}parse(){this.input.default!=null&&typeof this.input.default!="boolean"&&this.context.errors.warning({message:`Expected default value to be a boolean. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default}convert(){return{type:"alias",value:{type:"primitive",value:{type:"boolean",default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??!1}};var f0n=class extends lM{default;values=[];constructor(t){super(t),this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(fM(r)){let n=_4(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(rp),this.values=Array.from(new Set(this.values))}this.default=this.input.default}convert(){return{type:"enum",values:this.values.map(t=>({value:t,description:void 0,availability:void 0})),default:this.default}}example(){return this.input.example??this.input.examples?.[0]??this.default??this.values[0]}};var xg_=Ei(xT());function MJD(e){return yVs.includes(e)}var cqo=class extends lM{format;minimum;maximum;default;constructor(t){super(t),this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be an integer. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(MJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${yVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="integer";if(this.format!=null)switch(this.format){case"int64":t="long";break;case"int8":case"int16":case"int32":case"uint8":case"sf-integer":case void 0:t="integer";break;default:new xg_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??0}};var lqo=class extends lM{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return LLr({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var Ig_=Ei(xT());function AJD(e){return hVs.includes(e)}var fqo=class extends lM{format;minimum;maximum;default;constructor(t){super(t),this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be a number. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(AJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${hVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="double";if(this.format!=null)switch(this.format){case"decimal":case"decimal128":case"double-int":case"double":case"float":case"sf-decimal":case void 0:t="double";break;default:new Ig_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??0}};var zg_=Ei(xT());function qJD(e){return vVs.includes(e)}var dqo=class extends lM{format;regex;default;minLength;maxLength;enum;mimeType;constructor(t){super(t),this.safeParse()}mapToFdrType(t){switch(t){case"base64url":case"binary":case"byte":case"sf-binary":return"base64";case"date-time":return"datetime";case"int64":return"bigInteger";case"date":return"date";case"uuid":return"uuid";case"char":case"commonmark":case"decimal":case"decimal128":case"duration":case"email":case"hostname":case"html":case"http-date":case"idn-email":case"idn-hostname":case"ipv4":case"ipv6":case"iri-reference":case"iri":case"json-pointer":case"media-range":case"password":case"regex":case"relative-json-pointer":case"sf-boolean":case"sf-string":case"sf-token":case"time":case"uri-reference":case"uri-template":case"uri":case void 0:return"string";default:return new zg_.UnreachableCaseError(t),"string"}}parse(){this.regex=this.input.pattern,this.minLength=this.input.minLength,this.maxLength=this.input.maxLength,this.mimeType=this.input.contentMediaType,this.input.default!=null&&typeof this.input.default!="string"&&this.context.errors.warning({message:`Expected default value to be a string. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(qJD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${vVs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new f0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum"}))}convert(){if(this.enum!=null)return this.enum.convert();let t="string";return this.format!=null&&(t=this.mapToFdrType(this.format)),{type:"alias",value:{type:"primitive",value:t==="base64"?{type:t,mimeType:this.mimeType,default:this.default}:{type:t,format:t==="string"?this.format:void 0,regex:this.regex,minLength:this.minLength,maxLength:this.maxLength,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??"string"}};var Rg_=Ei(xT());var pqo=class extends lM{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,Rg_.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var d0n=class extends lM{schemaId;constructor(t){super(t),this.safeParse()}parse(){this.schemaId=oqo(this.input),this.schemaId==null&&this.context.errors.error({message:`Unprocessable reference: ${this.input.$ref}`,path:this.accessPath})}convert(){if(this.schemaId!=null)return{type:"alias",value:{type:"id",id:ch.TypeId(this.schemaId),default:void 0}}}example(){let t=_4(this.input,this.context.document);if(t!=null)return new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).example()}};var qA=class extends lM{typeShapeNode;nullable;description;name;examples;availability;constructor(t){super(t),this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.nullable=c0n(this.input)&&Mg_(this.input)?this.input.nullable:void 0,fM(this.input))this.typeShapeNode=new d0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new iqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(Eg_(this.input))this.typeShapeNode=new nqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(c0n(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new uqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(Woa(this.input)&&this.input.allOf!=null)this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(c0n(this.input)&&this.input.enum!=null)this.typeShapeNode=new f0n({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(typeof this.input.type=="string")switch(this.input.type){case"object":Woa(this.input)&&(this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"array":s0n(this.input)&&(this.typeShapeNode=new _qo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"boolean":Sg_(this.input)&&(this.typeShapeNode=new sqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"integer":Dg_(this.input)&&(this.typeShapeNode=new cqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"number":qg_(this.input)&&(this.typeShapeNode=new fqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"string":Tg_(this.input)&&(this.typeShapeNode=new dqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"null":Ag_(this.input)&&(this.typeShapeNode=new lqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;default:new Ng_.UnreachableCaseError(this.input.type);break}else this.input.properties!=null&&(this.typeShapeNode=new pai({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));this.typeShapeNode==null&&(this.typeShapeNode=new pqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.context.errors.error({message:"Expected type declaration. Received: null",path:this.accessPath}))}convert(){let t=this.typeShapeNode?.convert();if(t==null)return;let r=AA(t)?.map(i=>this.nullable?LLr(i):i).filter(rp);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(){return this.typeShapeNode?.example()}};var _qo=class extends lM{item;constructor(t){super(t),this.safeParse()}parse(){this.item=new qA({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items"}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return AA(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(){return this.input.example??this.input.examples?.[0]??[this.item?.example()]}};var p0n=class extends tp{typeSchemas;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas==null?this.context.errors.warning({message:"Expected 'schemas' property to be specified",path:this.accessPath}):this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new qA({input:r,context:this.context,accessPath:this.accessPath,pathId:t})]))}convert(){if(this.typeSchemas!=null)return Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=AA(r.convert());return n==null?[t,void 0]:[ch.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>rp(r)))}};var hqo=class extends tp{globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.globalHeaders=this.input[rg_]?.map(t=>{let{header:r,...i}=t;return[r,new qA({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId})]})}convert(){return this.globalHeaders?.flatMap(([t,r])=>AA(r.convert())?.map(n=>({key:ch.PropertyKey(t),valueShape:n,description:r.description,availability:r.availability?.convert()}))).filter(rp)}};var Fg_=Ei(xT());var yqo=class extends tp{groups;constructor(t){super(t),this.safeParse()}parse(){this.groups=this.input[ng_]}convert(){(0,Fg_.noop)()}};function Lg_(e){return"payloads"in e&&e.payloads!=null}function Ug_(e,t){return p4(e,t,void 0)}function Vg_(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function Wg_(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var bqo=Ei(xT());function Hg_(e){return typeof e=="object"&&e!=null&&"language"in e}function $g_(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Gg_(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Qg_(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function vqo(e){return typeof e=="object"&&e!=null&&"event"in e}function gVs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(vqo)}function _ai(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Jg_(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var gqo=class extends tp{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[hg_]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let u=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return _ai(u)?[n,{type:"filenameWithData",filename:u.filename,data:ch.FileId(u.data)}]:u!=null?[n,{type:"filename",value:u}]:void 0;case"files":{if(Array.isArray(u)){if(u.every(l=>_ai(l)))return[n,{type:"filenamesWithData",value:u.map(l=>({filename:l.filename,data:ch.FileId(l.data)}))}];if(u.every(l=>typeof l=="string"))return[n,{type:"filenames",value:u}]}return}case"property":return[n,{type:"json",value:u}];case void 0:return;default:new bqo.UnreachableCaseError(a.multipartType);return}}).filter(rp))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=Jg_(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a={type:"json",value:r.request};break;case"bytes":a=typeof r.request=="string"?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new bqo.UnreachableCaseError(n.contentType);break}let u;switch(i.contentType){case"application/json":{Gg_(r.response)&&(u={type:"json",value:r.response.body});break}case"text/event-stream":{gVs(r.response)&&(u={type:"sse",value:r.response.stream.map(c=>({event:c.event,data:c.data}))});break}case"application/octet-stream":!gVs(r.response)&&Qg_(r.response)&&(u={type:"stream",value:r.response.stream});break;case void 0:break;default:new bqo.UnreachableCaseError(i.contentType);break}let l={};r["code-samples"]?.forEach(c=>{Hg_(c)?c.language!=null&&(l[c.language]??=[],l[c.language]?.push({name:c.name,language:c.language,install:c.install,code:c.code,generated:!1,description:c.docs})):$g_(c)&&c.sdk!=null&&(l[c.sdk]??=[],l[c.sdk]?.push({name:c.name,language:c.sdk,install:void 0,code:c.code,generated:!1,description:c.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([c,b])=>[ch.PropertyKey(c),b])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([c,b])=>[ch.PropertyKey(c),b])),o=Object.fromEntries(Object.entries(r.headers??{}).map(([c,b])=>[ch.PropertyKey(c),b]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(o).length>0?o:void 0,requestBody:a,responseBody:u,snippets:l}}))}};var Oqo=class extends tp{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[tg_]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>ch.api.v1.SubpackageId(r))}};var mqo=class extends tp{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[ig_]}convert(){return this.sdkMethodName}};var Pqo=class extends tp{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[ag_]}convert(){return this.isWebhook}};var jqo=class extends tp{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[gg_]??[],...this.input[Og_]??[]],this.codeSamples.forEach(t=>{[...Object.values(ch.api.v1.read.SupportedLanguage),"Kotlin","Swift","PHP"].map(r=>r.toLowerCase()).includes(t.lang.toLowerCase())||this.context.errors.warning({message:`Unsupported language: ${t.lang}. This may not render correctly.`,path:this.accessPath})})}convert(){let t={};if(this.codeSamples?.forEach(r=>{t[r.lang.toLowerCase()]??=[],t[r.lang.toLowerCase()]?.push({name:r.label,language:r.lang,code:r.source,install:void 0,generated:!1,description:void 0})}),Object.keys(t).length!==0)return t}};function Kg_(e,t){return fM(e)?p4(e,t,void 0):e}function Hqi(e){if(e!=null)return aqo(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(rp))}var hai=class extends lM{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse()}parse(){this.description=this.input.description;let t;fM(this.input)?t=this.input:this.input.schema!=null?(t=this.input.schema,this.required=this.input.required):(t={type:"string"},this.required=!1),this.availability=new cze({input:t,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new qA({input:t,context:this.context,accessPath:this.accessPath,pathId:"schema"});let r=Kg_(this.input,this.context.document);this.inputExample=r?.example??Object.values(r?.examples??{})[0]}convert(){return this.schema?.convert()}example(){return this.inputExample??this.schema?.example()}};function Yg_(e,t){return fM(e)?p4(e,t,void 0):e}var Zg_=Ei(xT());var Xg_=Ei(WXu(),1),_0n=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,u){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=u}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=Xg_.default.parse(t);return r==null?null:new e(r.type,r.subtype,r.essence,r.parameters,r,t)}toString(){return this.input}isText(){return this.type==="text"}isImage(){return this.type==="image"}isAudio(){return this.type==="audio"}isVideo(){return this.type==="video"}isFont(){return this.type==="font"}isMultipart(){return this.type==="multipart"}isApplication(){return this.type==="application"}isMessage(){return this.type==="message"}isModel(){return this.type==="model"}isCSS(){return this.isText()&&this.subtype==="css"}isCSV(){return this.isText()&&this.subtype==="csv"}isMarkdown(){return this.isText()&&this.subtype==="markdown"}isPlainText(){return this.isText()&&this.subtype==="plain"}isEventStream(){return this.isText()&&this.subtype==="event-stream"}isMultiPartFormData(){return this.isMultipart()&&this.subtype==="form-data"}isJSON(){return this.isApplication()&&this.subtype==="json"}containsJSON(){return this.isApplication()&&this.subtype.includes("json")}isURLEncoded(){return this.isApplication()&&this.subtype==="x-www-form-urlencoded"}isOctetStream(){return this.isApplication()&&this.subtype==="octet-stream"}isPDF(){return this.isApplication()&&this.subtype==="pdf"}isZip(){return this.isApplication()&&this.subtype==="zip"}isGzip(){return this.isApplication()&&this.subtype==="gzip"}isTar(){return this.isApplication()&&this.subtype==="tar"}isBrotli(){return this.isApplication()&&this.subtype==="br"}isDeflate(){return this.isApplication()&&this.subtype==="deflate"}isProtobuf(){return this.isApplication()&&this.subtype==="protobuf"}isAvif(){return this.isImage()&&this.subtype==="avif"}isWebP(){return this.isImage()&&this.subtype==="webp"}isSVG(){return this.isImage()&&this.subtype==="svg+xml"}isPNG(){return this.isImage()&&this.subtype==="png"}isJPEG(){return this.isImage()&&this.subtype==="jpeg"}isGIF(){return this.isImage()&&this.subtype==="gif"}isMPEG(){return this.isAudio()&&this.subtype==="mpeg"}isWAV(){return this.isAudio()&&this.subtype==="wav"}isHTML(){return this.mimeType.isHTML()}isXML(){return this.mimeType.isXML()}isJavaScript(){return this.mimeType.isJavaScript()}};var $qi=Ei(xT());function Hoa(e,t){return fM(e)?p4(e,t,void 0):e}var Aie="",wqo=class extends tp{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(_ai(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>_ai(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new $qi.UnreachableCaseError(i.multipartType),t}},!0)}parse(){if(this.resolvedRequestInput=Hoa(this.input?.requestExample,this.context.document),this.resolvedResponseInput=Hoa(this.input?.responseExample,this.context.document),this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody?.contentType){case"json":{if(typeof this.resolvedRequestInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break}case"bytes":{if(typeof this.resolvedRequestInput.value!="string"){this.context.errors.error({message:"Invalid example, expected string for bytes",path:this.accessPath});return}break}case"form-data":{if(!this.validateFormDataRequestExample()){this.context.errors.error({message:"Invalid example, expected valid form-data",path:this.accessPath});return}break}case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.requestBody?.contentType),this.context.errors.error({message:"Invalid example, unsupported content type",path:this.accessPath});return}if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody?.contentType){case"application/json":if(this.resolvedResponseInput!=null&&typeof this.resolvedResponseInput!="object"||this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break;case"text/event-stream":if(this.resolvedResponseInput.value!=null&&!Array.isArray(this.resolvedResponseInput.value)&&!this.resolvedResponseInput.value.every(vqo)){this.context.errors.error({message:"Invalid example, expected array of SSE events for event-stream",path:this.accessPath});return}break;case"application/octet-stream":if(this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="string"&&!Array.isArray(this.resolvedResponseInput.value)){this.context.errors.error({message:"Invalid example, expected string or array for octet-stream",path:this.accessPath});return}break;case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return _ai(n)?[r,{type:"filenameWithData",filename:n.filename,data:ch.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>_ai(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:ch.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new $qi.UnreachableCaseError(i.multipartType);return}}).filter(rp))};case"json":return{type:"json",value:this.resolvedRequestInput.value};case"bytes":return typeof this.resolvedRequestInput.value=="string"?{type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}}:void 0;default:return}}convertDescription(){if(this.resolvedRequestInput!=null&&this.resolvedResponseInput!=null)return this.resolvedResponseInput.description;if(this.resolvedRequestInput!=null)return this.resolvedRequestInput.description;if(this.resolvedResponseInput!=null)return this.resolvedResponseInput.description}convert(){let t;if(this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody.contentType){case"form-data":t=this.convertFormDataExampleRequest();break;case"json":t={type:"json",value:this.resolvedRequestInput.value};break;case"bytes":t={type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}};break;case void 0:break;default:new $qi.UnreachableCaseError(this.shapes.requestBody?.contentType);break}let r;if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody.contentType){case"application/json":{r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break}case"text/event-stream":r={type:"sse",value:this.resolvedResponseInput?.value};break;case"application/octet-stream":r={type:typeof this.resolvedResponseInput?.value=="string"?"filename":"stream",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;case void 0:r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;default:new $qi.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([u,l])=>[u,l.example()])),n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([u,l])=>[u,l.example()])),a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([u,l])=>[u,l.example()]));return{path:this.path,responseStatusCode:this.responseStatusCode,name:this.name,description:this.convertDescription(),pathParameters:Object.keys(i).length>0?i:void 0,queryParameters:Object.keys(n).length>0?n:void 0,headers:Object.keys(a).length>0?a:void 0,requestBody:t,responseBody:r,snippets:void 0}}};var Sqo=class extends qA{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=_4(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${fM(this.input)?`Received undefined reference: ${this.input.$ref}`:""}`,path:this.accessPath});return}if(t.type==="string"&&t.format==="binary")this.multipartType="file",this.contentType=t.contentMediaType;else if(t.type==="array"){let r=_4(t.items,this.context.document);r?.type==="string"&&r?.format==="binary"?(this.multipartType="files",this.contentType=r?.contentMediaType):(this.context.errors.warning({message:"Expected multipart form data files definition with array type with internal string type and binary format.",path:this.accessPath}),this.multipartType=void 0,this.contentType=void 0)}else this.multipartType="property",this.contentType=t.contentMediaType}};var Dqo=class extends tp{path;description;schema;isOptional;contentType;availability;requiredFields;fields;resolvedSchema;examples;constructor(t,r,i){super(t),this.path=i,this.safeParse(r)}parse(t){if(this.examples={...this.input.example!=null||this.schema?.example()!=null?{[Aie]:{value:this.input.example??this.schema?.example()}}:{},...this.input.examples},this.input.schema!=null){if(fM(this.input.schema))this.resolvedSchema=p4(this.input.schema,this.context.document,void 0),this.schema=new d0n({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema"});else if(Woa(this.input.schema)){this.resolvedSchema=this.input.schema;let r=_0n.parse(t);r?.containsJSON()?(this.contentType="json",this.schema=new pai({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema"})):r?.isOctetStream()?(this.contentType="bytes",this.isOptional=this.input.schema.required==null):r?.isMultiPartFormData()?(this.contentType="form-data",this.description=this.input.schema.description,this.availability=new cze({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.requiredFields=this.input.schema.required,this.fields=Object.fromEntries(Object.entries(this.input.schema?.properties??{}).map(([i,n])=>{if(n!=null)return[i,new Sqo({input:n,context:this.context,accessPath:this.accessPath,pathId:`schema.${i}`})]}).filter(rp))):this.context.errors.warning({message:`Expected request body of reference or object with json, streaming or form-data content types. Received: ${t}`,path:this.accessPath})}}else this.context.errors.warning({message:"Expected media type schema or reference.",path:this.accessPath})}convert(){switch(this.contentType){case"json":return this.schema?.convert();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:ch.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:ch.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=AA(n.convert()),u=n.multipartType;return a?.map(l=>({type:u,key:ch.PropertyKey(i),contentType:n.contentType,valueShape:l,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Zg_.UnreachableCaseError(n.multipartType),[]}}).filter(rp).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.schema?.convert();default:return}}};var Eqo=class extends tp{path;description;requestBodiesByContentType;constructor(t,r){super(t),this.path=r,this.safeParse()}parse(){let t=Yg_(this.input,this.context.document);if(t==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(t.content).forEach(([r,i])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[r]=new Dqo({input:i,context:this.context,accessPath:this.accessPath,pathId:"content"},r,this.path)})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>AA(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(rp)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>AA(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(rp)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example()}}};var kg_={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function eO_(e,t){if(fM(e)){let r=p4(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Mqo=Ei(xT());function tO_(e){return e!=null&&Object.keys(e).length>0?e:{[Aie]:void 0}}function TJD(e,t){return e===t||t===Aie||e===Aie}var Aqo=class extends tp{streamingFormat;path;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;constructor(t,r,i,n,a,u,l){super(t),this.streamingFormat=i,this.path=n,this.statusCode=a,this.requests=u,this.shapes=l,this.safeParse(r)}isExampleDefined(t){return t!=null&&Hoa(t,this.context.document)?.value!=null}parse(t){let r=_0n.parse(t);if(r?.isJSON()||r?.isEventStream())this.contentType="application/json",this.input.schema==null?(this.streamingFormat==null||this.streamingFormat==="json")&&this.context.errors.error({message:"Expected schema for JSON response body. Received null",path:this.accessPath}):this.schema=new qA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type"});else if(r?.isOctetStream())this.contentType="application/octet-stream",this.contentSubtype=_4(this.input.schema,this.context.document)?.contentMediaType;else if(this.unsupportedContentType=t,this.input.schema==null){this.context.errors.error({message:"Expected schema for plain text response body. Received null",path:this.accessPath});return}else this.schema=new qA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId});let i={};if(this.input.example!=null&&(i[Aie]=[{value:this.input.example}]),this.input.examples!=null&&(i={...i,...c5(this.input.examples,n=>[n])}),this.contentType!=null||this.unsupportedContentType!=null){let n=_4(this.input.schema,this.context.document);n!=null&&(n.example!=null&&(i[Aie]??=[],i[Aie]?.push({value:n.example})),n.examples!=null&&(i[Aie]??=[],i[Aie]?.push(...n.examples.map(a=>({value:a}))))),i[Aie]??=[],i[Aie]?.push({value:this.schema?.example()})}this.examples=l0n(this.requests).flatMap(n=>Object.entries(tO_(n?.examples)).flatMap(([a,u])=>Object.entries(i).flatMap(([l,d])=>d.map(s=>TJD(l,a)&&(this.isExampleDefined(u)||this.isExampleDefined(s))?new wqo({input:{requestExample:u,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:["examples",""]},this.path,this.statusCode,l===""?void 0:l,{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}):void 0)).filter(rp)))}convertStreamingFormat(){switch(this.streamingFormat){case"json":return AA(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new Mqo.UnreachableCaseError(this.streamingFormat);return}}convert(){if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?AA(this.schema?.convert())?.map(r=>{if(!(r==null||r.type!=="object"&&r.type!=="alias"))return r}).filter(rp):this.convertStreamingFormat();case"application/octet-stream":return{type:"fileDownload",contentType:this.contentSubtype};case"text/event-stream":return this.convertStreamingFormat();case void 0:return;default:new Mqo.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?AA(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return r;default:new Mqo.UnreachableCaseError(i);return}}).filter(rp):void 0}};var $oa=class extends tp{path;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a){super(t),this.path=r,this.statusCode=i,this.requests=n,this.shapes=a,this.safeParse()}parse(t){this.description=this.input.description;let r=eO_(this.input,this.context.document);if(r==null){this.context.errors.error({message:fM(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new hai({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers"})}),Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new Aqo({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(rp)}};var qqo=class extends tp{path;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n){super(t),this.path=r,this.requests=i,this.shapes=n,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new $oa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new $oa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,parseInt(r),this.requests,this.shapes))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return l0n(Hqi(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(u=>(u.examples??[]).map(l=>l.convert()).filter(rp))})))}).filter(rp)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=AA(n?.convert());if(n!=null)return a?.map(u=>({statusCode:parseInt(t),shape:u,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??kg_[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(l=>{let d=l.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(rp)})).filter(rp)})).filter(rp)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var yai=class extends tp{servers;globalAuth;path;method;basePath;isWebhook;endpointId;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespace;xFernExamplesNode;redocExamplesNode;constructor(t,r,i,n,a,u,l){super(t),this.servers=r,this.globalAuth=i,this.path=n,this.method=a,this.basePath=u,this.isWebhook=l,this.safeParse()}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new cze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new Pqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(fM(i)){let a=Ug_(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new hai({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});this.redocExamplesNode=new jqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new Eqo({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody"},this.path):void 0,this.responses=this.input.responses!=null?new qqo({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0;let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new u0n({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespace=new Oqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"}),this.namespace?.groupName==null&&this.input.tags!=null&&(this.namespace.groupName=this.input.tags);let r=new mqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointId=ZAo(this.namespace?.groupName,this.path,r.sdkMethodName,this.input.operationId),this.xFernExamplesNode=new gqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-examples"},this.path,t,this.requests?.requestBodiesByContentType,this.responses?.responsesByStatusCode?.[t]?.responses)}extractPathParameterIds(){if(this.path!=null)return this.path.split("/").map(t=>{if(t.startsWith("{")&&t.endsWith("}"))return t.slice(1,-1).trim()}).filter(rp)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:ch.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointId==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=Wg_(this.xFernExamplesNode?.convert(),t?.flatMap(s=>s.examples))?.map(s=>({...s,snippets:Vg_(s.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.method!=="POST"&&this.method!=="GET"?void 0:{id:ch.WebhookId(this.endpointId),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespace?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(s=>s.value.toString())??[],headers:Hqi(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(rp)};let n=this.servers?.map(s=>s.convert()).filter(rp),a=this.convertPathToPathParts();if(a==null)return;let u,l=this.auth?.convert();l!=null&&(u=Object.keys(l));let d=t?.flatMap(s=>s.headers).filter(rp);return{id:ch.EndpointId(this.endpointId),description:this.description,availability:this.availability?.convert(),namespace:this.namespace?.convert(),displayName:this.displayName,operationId:this.operationId,method:this.method,path:a,auth:u?.map(s=>ch.api.latest.AuthSchemeId(s)),defaultEnvironment:n?.[0]?.id,environments:n,pathParameters:Hqi(this.pathParameters)?.flat(),queryParameters:Hqi(this.queryParameters)?.flat(),requestHeaders:Hqi(this.requestHeaders)?.flat(),responseHeaders:d!=null&&d.length>0?d:void 0,requests:this.requests?.convert(),responses:t?.map(s=>s.response),errors:r,examples:i,snippetTemplates:void 0}}};var h0n=class extends tp{servers;globalAuth;basePath;isWebhook;description;get;post;put;patch;delete;path;constructor(t,r,i,n,a){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.isWebhook=a,this.safeParse()}parse(){this.description=this.input.description,this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath);let t=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new yai({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get"},this.servers,this.globalAuth,t,"GET",this.basePath,this.isWebhook)),this.input.post!=null&&(this.post=new yai({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post"},this.servers,this.globalAuth,t,"POST",this.basePath,this.isWebhook)),this.input.put!=null&&(this.put=new yai({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put"},this.servers,this.globalAuth,t,"PUT",this.basePath)),this.input.patch!=null&&(this.patch=new yai({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch"},this.servers,this.globalAuth,t,"PATCH",this.basePath)),this.input.delete!=null&&(this.delete=new yai({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete"},this.servers,this.globalAuth,t,"DELETE",this.basePath))}convert(){return[this.get?.convert(),this.post?.convert(),this.put?.convert(),this.patch?.convert(),this.delete?.convert()].filter(rp)}};var Tqo=class extends tp{servers;globalAuth;basePath;paths;constructor(t,r,i,n){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.safeParse()}parse(){this.paths=Object.entries(this.input).map(([t,r])=>{if(r!=null)return new h0n({input:r,context:this.context,accessPath:this.accessPath,pathId:t},nYt(this.servers,r.servers,this.context,this.accessPath),this.globalAuth,this.basePath,void 0)}).filter(rp)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{Lg_(a)?r[ch.WebhookId(a.id)]=a:t[ch.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var Cqo=class extends tp{name;constructor(t){super(t),this.safeParse()}parse(){this.name=this.input.name}convert(){}};function rO_(e,t){if(fM(e)){let r=p4(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Bqo=class extends tp{basePath;servers;globalAuth;webhooks;constructor(t,r,i,n){super(t),this.basePath=r,this.servers=i,this.globalAuth=n,this.safeParse()}parse(){this.webhooks=Object.fromEntries(Object.entries(this.input??{}).map(([t,r])=>{let i=rO_(r,this.context.document);if(i!=null)return[t,new h0n({input:i,context:this.context,accessPath:this.accessPath,pathId:t},this.servers,this.globalAuth,this.basePath,!0)]}).filter(rp))}convert(){return{}}};var xqo=class extends tp{paths;webhooks;components;servers;auth;basePath;fernGroups;tags;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath),this.input.security!=null&&(this.auth=new u0n({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.basePath=new rqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.input.tags!=null&&(this.tags=this.input.tags.map((t,r)=>new Cqo({input:t,context:this.context,accessPath:this.accessPath,pathId:["tags",`${r}`]}))),this.fernGroups=new yqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-groups"}),this.input.paths==null&&this.input.webhooks==null&&this.context.errors.warning({message:"Expected 'paths' or 'webhooks' property to be specified",path:this.accessPath}),this.input.paths!=null&&(this.paths=new Tqo({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths"},this.servers,this.auth,this.basePath)),this.input.webhooks!=null&&(this.webhooks=new Bqo({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks"},this.basePath,this.servers,this.auth)),this.input.components==null?this.context.errors.warning({message:"Expected 'components' property to be specified",path:this.accessPath}):this.components=new p0n({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"}),this.globalHeaders=new hqo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Uxe(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n=FAo({endpoints:i,webhookEndpoints:r}),a=this.components?.convert();if(a!=null)return{id:ch.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:{...this.webhooks?.convert()??{},...r??{}},types:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l])),subpackages:n,auths:this.auth?.convert()??{},globalHeaders:this.globalHeaders?.convert()}}};var y0n=class extends a0n{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,this.pathId&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(this.pathId),r.logger.debug(`Processing #/${this.accessPath.join("/")}`))}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}};function lze(e){return typeof e=="object"&&rp(e)&&"$ref"in e&&typeof e.$ref=="string"}function h8t(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(lze(n)&&(n=h8t(n,t,r)),n)}function iO_(e,t){return lze(e)?h8t(e,t,{name:"",params:[],result:{name:"",schema:{type:"object"}}}):e}var uO_=Ei(xT());function ULr(e){if(typeof e=="boolean")return e;if(e.enum!=null&&e.enum.length>0)return e.enum[0];if(e.const!=null)return e.const;if(e.examples!=null&&e.examples.length>0)return e.examples[0];if(e.type==="object"){let t={};if(e.properties!=null)for(let[r,i]of Object.entries(e.properties))t[r]=ULr(i);return t}if(e.type==="array")return e.items==null?[]:Array.isArray(e.items)?e.items.map(t=>ULr(t)):[ULr(e.items)];if(e.type==="string")return e.default??"string";if(e.type==="number"||e.type==="integer")return e.default??0;if(e.type==="boolean")return e.default??!1;if(e.type==="null")return null;if(e.oneOf?.[0]!=null)return ULr(e.oneOf[0]);if(e.anyOf?.[0]!=null)return ULr(e.anyOf[0]);if(e.allOf!=null&&e.allOf.length>0){let t={};for(let r of e.allOf)r!=null&&Object.assign(t,ULr(r));return t}}function Goa(e,t){return lze(e)?h8t(e,t,{name:"",schema:{type:"object"}}):e}function nO_(e,t){return lze(e)?h8t(e,t,void 0):e}function aO_(e,t){return lze(e)?h8t(e,t,void 0):e}function oO_(e,t){return lze(e)?h8t(e,t,void 0):e}var CJD={key:ch.PropertyKey("apiKey"),description:void 0,availability:void 0,valueShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}}},Iqo=class extends y0n{method;servers=[];constructor(t,r){super(t),this.method=t.input,this.servers=r,this.safeParse()}parse(){}convert(){try{let t=this.method.result?Goa(this.method.result,this.context.openrpc):void 0,r=t?new qA({input:t.schema,context:this.context,accessPath:this.accessPath,pathId:"result"}).convert():void 0,n=this.method.params?.map(d=>Goa(d,this.context.openrpc)).filter(rp)?.map(d=>{let s=new qA({input:d.schema,context:this.context,accessPath:this.accessPath,pathId:["params",d.name]}).convert();if(!s)return;let o=Array.isArray(s)?s[0]:s;if(o)return{key:ch.PropertyKey(d.name),valueShape:o,description:d.description,availability:void 0}}).filter(rp),a=n.length>0?{contentType:"application/json",body:{type:"object",extends:[],properties:n,extraProperties:void 0},description:void 0}:void 0,u=this.method.examples?.map(d=>{let s=aO_(d,this.context.openrpc);if(s)return{name:s.name??"Example",path:"",description:void 0,snippets:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:s.params.length>0?{type:"json",value:s.params.map(o=>{let c=nO_(o,this.context.openrpc);if(c)return c.value})}:void 0,responseStatusCode:200,responseBody:s.result?{type:"json",value:s.result}:void 0}}).filter(rp)??[];if(u.length<=0){let d={name:"Example",path:"",pathParameters:{},queryParameters:{},headers:{},requestBody:{type:"json",value:ULr({type:"object",properties:Object.fromEntries(this.method.params?.map(s=>{let o=Goa(s,this.context.openrpc);return[o?.name??"",o?.schema??{}]})??[])})},responseStatusCode:200,responseBody:{type:"json",value:ULr(Goa(this.method.result,this.context.openrpc)?.schema??{})},snippets:void 0,description:void 0};u.push(d)}let l=u.map(d=>{let s=d.requestBody?.value;return{...d,requestBody:{type:"json",value:{id:1,jsonrpc:"2.0",method:this.method.name,params:s}}}});return{id:ch.EndpointId(this.input.name),displayName:this.input.name,method:"POST",path:[{type:"pathParameter",value:ch.PropertyKey("apiKey")}],auth:void 0,pathParameters:[CJD],queryParameters:[],requests:a!=null?[a]:void 0,responses:r!=null?[this.convertToHttpResponse(r,this.input.description)].filter(rp):[],errors:[],examples:l,description:this.input.description??this.input.summary,operationId:this.input.name,defaultEnvironment:void 0,environments:this.servers.map(d=>d.convert()).filter(rp),availability:this.method.deprecated?"Deprecated":void 0,requestHeaders:[],responseHeaders:[],snippetTemplates:void 0,namespace:this.getNamespace()}}catch{this.context.errors.error({message:"Failed to convert method",path:this.accessPath});return}}getNamespace(){if(this.method.tags?.[0]==null)return;let t=oO_(this.method.tags[0],this.context.openrpc);if(t?.name!=null)return[ch.api.v1.SubpackageId(t.name)]}convertToHttpResponse(t,r){if(t==null)return;let n=AA(t)?.map(a=>{let u=a.type;switch(u){case"alias":return a;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return a;default:new uO_.UnreachableCaseError(u);return}}).filter(rp)[0];if(n)return{statusCode:200,body:n,description:r}}};var Qoa=class extends y0n{servers=[];methods=[];components;constructor(t){super(t),this.safeParse()}parse(){if(this.context.openrpc.servers!=null&&(this.servers=nYt(this.servers,this.input.servers,this.context,this.accessPath)),this.input.methods!=null)for(let t of this.input.methods){let r=iO_(t,this.context.openrpc);r!=null&&this.methods.push(new Iqo({input:r,context:this.context,accessPath:this.accessPath,pathId:"methods"},this.servers))}this.context.openrpc.components!=null&&(this.components=new p0n({input:this.context.openrpc.components,context:this.context,accessPath:this.accessPath,pathId:"components"}))}convert(){let t=Uxe(),r=this.components?.convert(),i=this.methods?.map(u=>u.convert()).filter(rp),n=Object.fromEntries(i?.map(u=>[u.id,u])??[]),a=FAo({endpoints:n});return{id:ch.ApiDefinitionId(t),types:Object.fromEntries(Object.entries(r??{}).map(([u,l])=>[u,l])),endpoints:n,websockets:{},webhooks:{},subpackages:a,auths:{},globalHeaders:[]}}};var Joa=class extends UAo{openrpc;logger;constructor(t){super(),this.openrpc=t.openrpc,this.logger=t.logger}get document(){return{openapi:"3.1.0",info:{title:"Mock API",version:"1.0.0"},paths:{},components:this.openrpc.components}}};async function Koa(e,t){if(e instanceof Lni){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof o5))return;let r=new kFt(e.absoluteFilePath),i=await e8t({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i}),a;for(let u of n){if(u.type!=="openapi")continue;let l={document:u.value,logger:t.logger,errors:new n0n},d=new xqo({input:u.value,context:l,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=aZu(a,d.convert())}return a}var sO_=require("fs/promises");async function cO_(e,t){let r=await(0,sO_.readFile)(e,"utf-8"),i=JSON.parse(r),n=new Joa({openrpc:i,logger:t.logger});return new Qoa({input:i,context:n,accessPath:[],pathId:"openrpc"}).convert()}function lO_(e){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.js!=null&&e.js.files.forEach(r=>{t.add(r.absolutePath)}),t}async function fO_({navigation:e,fernWorkspaces:t,visitor:r,context:i}){xJD(e)?await Promise.all(e.map(async n=>{n.layout!=null&&await Promise.all(n.layout.map(async a=>{await OVs({navigationItem:a,visitor:r,fernWorkspaces:t,context:i})}))})):await Promise.all(e.map(async n=>{await OVs({navigationItem:n,visitor:r,fernWorkspaces:t,context:i})}))}async function OVs({navigationItem:e,visitor:t,fernWorkspaces:r,context:i}){if(await MWt(e,{alphabetized:ru,api:ru,apiName:ru,audiences:ru,displayErrors:ru,snippets:ru,summary:ru,title:ru,layout:ru,icon:ru,slug:ru,hidden:ru,skipSlug:ru,paginated:ru,playground:ru,flattened:ru,path:ru,page:ru,featureFlag:ru,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await OVs({navigationItem:a,visitor:t,fernWorkspaces:r,context:i})}))},viewers:ru,orphaned:ru}),BJD(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function BJD(e){return e.api!=null}function xJD(e){return e[0]?.tab!=null}function VSe(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}dO_.default.extend(pO_.default);var IJD=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),zqo=0,zJD=async({ir:e})=>(zqo++,`${e.apiName.snakeCase.unsafeName}-${zqo}`),RJD=async({api:e})=>(zqo++,`${e.id}-${zqo}`),y8t=class{domain;docsWorkspace;ossWorkspaces;fernWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;registerApiV2;constructor(t,r,i,n,a,u,l=IJD,d=zJD,s=RJD){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.fernWorkspaces=n,this.taskContext=a,this.editThisPage=u,this.uploadFiles=l,this.registerApi=d,this.registerApiV2=s}#e=RAo.init();_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;async resolve(){this._parsedDocsConfig=await Xns({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig}),this.docsWorkspace.config.navigation!=null&&await fO_({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:s})=>{(await s.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1})).changelog?.files.forEach(c=>{let b=OT(this.docsWorkspace.absoluteFilePath,c.absoluteFilepath);this.parsedDocsConfig.pages[b]=c.contents})}},fernWorkspaces:this.fernWorkspaces,context:this.taskContext}),this.markdownFilesToFullSlugs=this.getMarkdownFilesToFullSlugs(this.parsedDocsConfig.pages);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=await c5s({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=await l5s({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});let t=lO_(this.parsedDocsConfig);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages)){let{filepaths:c,markdown:b}=coa(o,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath});this.parsedDocsConfig.pages[Oo.of(s)]=b;for(let g of c)t.add(g)}let r=Array.from(t).map(s=>({absoluteFilePath:s,relativeFilePath:this.toRelativeFilepath(s)}));(await this.uploadFiles(r)).forEach(s=>{this.collectedFileIds.set(s.absoluteFilePath,s.fileId)});let n=this.getDocsBasePath(),a={};this.markdownFilesToFullSlugs.forEach((s,o)=>{a[o]=zv(n,s)});for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Oo.of(s)]=s5s(o,this.collectedFileIds,a,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let u={};Object.entries(this.parsedDocsConfig.pages).forEach(([s,o])=>{let c=NJD(this.editThisPage,s);u[c8t.PageId(s)]={markdown:o,editThisPageUrl:c?c8t.Url(c):void 0}});let l=await this.convertDocsConfiguration(),d={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){let s=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async o=>{let c=DO(this.docsWorkspace.absoluteFilePath,o);(await(0,Rqo.stat)(c)).isDirectory()?(await CK(c,"{js,ts,jsx,tsx,md,mdx}")).forEach(O=>{s.add(O)}):c.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&s.add(c)})),d=Object.fromEntries(await Promise.all([...s].map(async o=>{let c=this.toRelativeFilepath(o),b=(await(0,Rqo.readFile)(o)).toString();return[c,b]})))}return{config:l,pages:u,jsFiles:d}}resolveFilepath(t){if(t!=null)return DO(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return OT(this.docsWorkspace.absoluteFilePath,t)}getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let u=(0,_O_.default)(n).data.slug;typeof u=="string"&&u.trim().length>0&&r.set(this.resolveFilepath(i),u.trim())}return r}getDocsBasePath(){return new URL(VSe(this.domain)).pathname}async convertDocsConfiguration(){let t=await this.toRootNode();return{hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?c8t.Url(this.parsedDocsConfig.logo?.href):void 0,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>({...i,url:c8t.Url(i.url)})),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:c8t.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0}}getFernWorkspaceForApiSection(t){if(this.fernWorkspaces.length===1&&this.fernWorkspaces[0]!=null)return this.fernWorkspaces[0];if(t.apiName!=null){let r=this.fernWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}getOpenApiWorkspaceForApiSection(t){if(this.ossWorkspaces.length===1&&this.ossWorkspaces[0]!=null)return this.ossWorkspaces[0];if(t.apiName!=null){let r=this.ossWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}async toRootNode(){let t=zo.V1.SlugGenerator.init(zo.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),i=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:i,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(n=>zo.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return cnn(this.parsedDocsConfig.navigation)._visit({untabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),tabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),versioned:r=>this.toVersionedNode(r,t)})}toLandingPageNode(t,r){let i=zo.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??x1(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(i),title:t.title,slug:n.get(),icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:void 0,featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:i}){let n=this.#e.get("unversioned"),a=t!=null?this.toLandingPageNode(t,i):void 0,u=r.type==="tabbed"?await this.convertTabbedNavigation(n,r.items,i):await this.toSidebarRootNode(n,r.items,i);return{type:"unversioned",id:n,landingPage:a,child:u}}async toVersionedNode(t,r){return{id:this.#e.get("versioned"),type:"versioned",children:await Promise.all(t.versions.map((n,a)=>this.toVersionNode(n,r,a===0)))}}async toVersionNode(t,r,i){let n=this.#e.get(t.version),a=r.setVersionSlug(t.slug??x1(t.version)),u=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(n,t.navigation.items,a):await this.toSidebarRootNode(n,t.navigation.items,a);return{type:"version",id:n,versionId:zo.VersionId(t.version),title:t.version,slug:a.get(),child:u,default:i,availability:t.availability!=null?FJD(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,r):void 0,hidden:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags}}async toSidebarRootNode(t,r,i){let n=this.#e.get(`${t}/root`),a=await Promise.all(r.map(l=>this.toNavigationChild(n,l,i))),u=[];return a.forEach(l=>{if(l.type==="apiReference"){u.push(l);return}if(l.type==="section"&&!l.collapsed){u.push(l);return}let d=u.length>0?u[u.length-1]:void 0,s;d?.type==="sidebarGroup"?s=d:(s={id:this.#e.get(`${n}/group`),type:"sidebarGroup",children:[]},u.push(s)),s.children.push(l)}),{type:"sidebarRoot",id:n,children:u}}async toNavigationChild(t,r,i){return cnn(r)._visit({page:async n=>this.toPageNode(n,i),apiSection:async n=>this.toApiSectionNode(n,i),section:async n=>this.toSectionNode(t,n,i),link:async n=>this.toLinkNode(n),changelog:async n=>this.toChangelogNode(n,i)})}async toApiSectionNode(t,r){if(t.openrpc!=null){let s=DO(this.docsWorkspace.absoluteFilePath,Oo.of(t.openrpc));if(!await zf(s))throw new Error(`OpenRPC file does not exist at path: ${s}`);let o=await cO_(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenRPC document");return await this.registerApiV2({api:o,apiName:t.apiName}),new Uoa(t,o,r,void 0,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}if(this.parsedDocsConfig.experimental?.openapiParserV2){let s=this.getOpenApiWorkspaceForApiSection(t),o=await Koa(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenAPI workspace");return await this.registerApiV2({api:o,apiName:t.apiName}),new Uoa(t,o,r,s,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}let i=this.getFernWorkspaceForApiSection(t),n=Bb_(t.snippetsConfiguration),a=d4({workspace:i,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new l4(this.taskContext,i)}),u=await this.registerApi({ir:a,snippetsConfig:n,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName}),l=Voa(a,u,{oauth:t.playground?.oauth});return new zAo(t,l,r,i,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}async toChangelogNode(t,r){return new FLr(this.markdownFilesToFullSlugs,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:zo.V1.Url(t.url),icon:t.icon}}async toPageNode(t,r){let i=zo.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??x1(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(i),type:"page",slug:n.get(),title:t.title,icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:void 0,featureFlags:t.featureFlags}}async toSectionNode(t,r,i){let n=this.toRelativeFilepath(r.overviewAbsolutePath),a=n?zo.PageId(n):void 0,u=this.#e.get(a??`${t}/section`),l=i.apply({urlSlug:r.slug??x1(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug});return{id:u,type:"section",overviewPageId:a,slug:l.get(),title:r.title,icon:r.icon,collapsed:r.collapsed,hidden:r.hidden,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(d=>this.toNavigationChild(u,d,l))),authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:r.featureFlags}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return cnn(r.child)._visit({link:({href:n})=>this.toTabLinkNode(r,n),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i)})}async toTabChangelogNode(t,r,i){return new FLr(this.markdownFilesToFullSlugs,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r){return{type:"link",id:this.#e.get(r),title:t.title,url:zo.V1.Url(r),icon:t.icon}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),u=n.apply({urlSlug:r.slug??x1(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:u.get(),icon:r.icon,hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(a,i,u),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):c8t.FileId(r)}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(vg),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:c8t.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return cnn(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:c8t.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function NJD(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${VSe(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function FJD(e){switch(e){case"beta":return zo.V1.NavigationV1Availability.Beta;case"deprecated":return zo.V1.NavigationV1Availability.Deprecated;case"ga":return zo.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return zo.V1.NavigationV1Availability.Stable;default:Go(e)}}async function qie(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof o5?t:null))).filter(vg)}var yWs=Ei(LYu(),1),fw_=Ei(cTo(),1),sYt=require("fs/promises"),DTo=require("os"),vWs=Ei(require("path"),1),dw_=Ei(ite(),1),pw_=Ei(lw_(),1);var qXD="etag",bWs="preview",TXD="bundle",gWs=".fern";function CXD(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs))}function ETo(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs),Oo.of(TXD))}function BXD(){return us(nf.of((0,DTo.homedir)()),Oo.of(gWs),Oo.of(bWs),Oo.of(qXD))}async function _w_({bucketUrl:e,logger:t,preferCached:r}){t.debug("Setting up docs preview bundle...");let i=await(0,yWs.fetcher)({url:e,method:"GET",responseType:"text",duplex:"half"});if(!i.ok)return{type:"failure"};let n=i.body,u=await new pw_.default.Parser().parseStringPromise(n),l=u?.ListBucketResult?.Contents?.[0]?.ETag?.[0],d=u?.ListBucketResult?.Contents?.[0]?.Key?.[0],s=BXD();if(r){let A=await zf(s),q;if(A&&(t.debug("Reading existing ETag"),q=(await(0,sYt.readFile)(s)).toString()),q!=null&&q===l)return t.debug("ETag matches. Using already downloaded bundle"),{type:"success"};t.debug("ETag is different. Downloading latest preview bundle")}t.debug("Creating tmp directory to download docs preview bundle");let o=await dw_.default.dir({prefix:"fern"}),c=nf.of(o.path);t.debug(`Downloading docs preview bundle from ${vWs.default.join(e,d)}`);let b=await(0,yWs.fetcher)({url:`${vWs.default.join(e,d)}`,method:"GET",responseType:"arrayBuffer",duplex:"half"});if(!b.ok)return t.error("Failed to download docs preview bundle."),{type:"failure"};let g=us(c,Oo.of("output.zip")),O=b.body;if(O==null)return{type:"failure"};let m=Buffer.from(O);await(0,sYt.writeFile)(g,new Uint8Array(m)),t.debug(`Wrote output.zip to ${g}`);let w=CXD();await zf(w)&&await(0,sYt.rm)(w,{recursive:!0}),await(0,sYt.mkdir)(w,{recursive:!0}),t.debug(`rm -rf ${w}`);let M=ETo();return await(0,sYt.mkdir)(M,{recursive:!0}),await(0,fw_.default)(g,M),await(0,sYt.writeFile)(s,l),t.debug(`Downloaded bundle to ${M}`),{type:"success"}}var wWs=require("fs/promises");var dV=Ei(C1e(),1);function hw_(e={accentPrimary:void 0,background:void 0},t){e.accentPrimary=e.accentPrimary??e.accentPrimaryDeprecated;let r=xXD(e);switch(r){case"dark":return{type:"dark",...MTo(e,t,"dark")};case"light":return{type:"light",...MTo(e,t,"light")};case"darkAndLight":return{type:"darkAndLight",dark:MTo(e,t,"dark"),light:MTo(e,t,"light")};default:Go(r)}}function xXD({background:e,accentPrimary:t,accentPrimaryDeprecated:r}){if(t=t??r,typeof e=="string"&&typeof t=="string")return Xd(e).isDark()?"dark":"light";if(e!=null){if(typeof e=="string")return Xd(e).isDark()?"dark":"light";if(e.dark!=null&&e.light!=null)return"darkAndLight"}if(t!=null){if(typeof t=="string")return Xd(t).isLight()?"dark":"light";if(t.dark!=null&&t.light!=null)return"darkAndLight"}if(t!=null&&e!=null){if(e.dark!=null&&t.dark!=null)return"dark";if(e.light!=null&&t.light!=null)return"light"}return"darkAndLight"}function MTo(e,t,r){let i=A0n(e.accentPrimary??e.accentPrimaryDeprecated,t,"accent-primary",r)??Xd.random(),n=A0n(e.background,t,"background",r);return{accentPrimary:i.toRgb(),background:n?.toRgb(),border:A0n(e.border,t,"border",r)?.toRgb(),sidebarBackground:A0n(e.sidebarBackground,t,"sidebar-background",r)?.toRgb(),headerBackground:A0n(e.headerBackground,t,"header-background",r)?.toRgb(),cardBackground:A0n(e.cardBackground,t,"card-background",r)?.toRgb(),logo:void 0,backgroundImage:void 0}}function IXD(e,t,r){if(e==null)return;let i=typeof e=="string"?e:e[r];if(i==null&&t==="accent-primary"&&typeof e!="string"&&(i=e[r==="dark"?"light":"dark"]),i!=null)return i}function A0n(e,t,r,i){let n=IXD(e,r,i);if(n==null)return;let a=Xd(n);return a.isValid()||t.failAndThrow(`'${typeof e=="string"?r:`colors.${r}.${i}`}' should be a hex color of the format #FFFFFF`),a}var vw_=require("fs/promises");var yw_=100;async function zXD({files:e,absolutePathToFernFolder:t}){let r=await Promise.all(e.map(async i=>{let n=await(0,vw_.readFile)(i,"utf-8");return[await KWt(t,i),n]}));return Object.fromEntries(r)}async function bw_({files:e,absolutePathToFernFolder:t}){let r={};for(let i=0;i<e.length;i+=yw_){let n=e.slice(i,i+yw_),a=await zXD({files:n,absolutePathToFernFolder:t});Object.assign(r,a)}return r}function mWs({landingPage:e,navigation:t}){return SK([e?.absolutePath,...RXD(t)])}function RXD(e){switch(e.type){case"tabbed":return e.items.flatMap(t=>t.child.type==="layout"?t.child.layout.flatMap(r=>OWs({item:r})):t.child.type==="changelog"?t.child.changelog:[]);case"untabbed":return e.items.flatMap(t=>OWs({item:t}));case"versioned":return e.versions.flatMap(t=>mWs({landingPage:t.landingPage,navigation:t.navigation}));default:Go(e)}}function OWs({item:e}){switch(e.type){case"apiSection":return SK([e.overviewAbsolutePath,...e.navigation.flatMap(t=>gw_({item:t}))]);case"link":return[];case"page":return[e.absolutePath];case"section":return SK([e.overviewAbsolutePath,...e.contents.flatMap(t=>OWs({item:t}))]);case"changelog":return e.changelog;default:Go(e)}}function gw_({item:e}){return e.type==="page"?[e.absolutePath]:e.type==="package"||e.type==="section"?SK([e.overviewAbsolutePath,...e.contents.flatMap(t=>gw_({item:t}))]):[]}async function mw_({rawDocsConfiguration:e,absolutePathToFernFolder:t,absoluteFilepathToDocsConfig:r,context:i}){let{instances:n,title:a,tabs:u,versions:l,navigation:d,navbarLinks:s,footerLinks:o,defaultLanguage:c,metadata:b,redirects:g,logo:O,favicon:m,backgroundImage:w,colors:M,typography:A,layout:q,analytics:D,integrations:C,css:F,js:G,experimental:I}=e,V=TTo(e.landingPage,r),H=$XD({tabs:u,versions:l,navigation:d,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}),te=H.then(ut=>bw_({files:mWs({navigation:ut,landingPage:V}),absolutePathToFernFolder:t})),J=NXD(O,r),k=_5(m,r),de=FXD(w,r),me=A!=null?GXD({rawTypography:A,absoluteFilepathToDocsConfig:r}):void 0,ve=LXD(F,r),we=WXD(G,r),Xe=uZD(b,r),[Mt,De,Te,xt,Ee,It]=await Promise.all([H,te,me,ve,we,Xe]);return{title:a,instances:n,roles:e.roles,pages:De,landingPage:V,navigation:Mt,navbarLinks:aZD(s),footerLinks:oZD(o),defaultLanguage:c,announcement:e.announcement,metadata:It,redirects:g?.map(ut=>({...ut,permanent:ut?.permanent})),logo:J,favicon:k,backgroundImage:de,colors:hw_(M,i),typography:Te,layout:HXD(q),analyticsConfig:{...e.analytics,intercom:e.analytics?.intercom?{...e.analytics.intercom,appId:e.analytics.intercom.appId,apiBase:e.analytics.intercom.apiBase}:void 0,fullstory:e.analytics?.fullstory,posthog:e.analytics?.posthog?{...e.analytics.posthog,apiKey:e.analytics.posthog.apiKey,endpoint:e.analytics.posthog.endpoint}:void 0,segment:e.analytics?.segment,gtm:e.analytics?.gtm,ga4:e.analytics?.ga4,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},integrations:{...C,intercom:C?.intercom?C.intercom:void 0},css:xt,js:Ee,experimental:I}}function NXD(e,t){return e!=null?{dark:_5(e.dark,t),light:_5(e.light,t),height:e.height,href:e.href!=null?dV.FernRegistry.Url(e.href):void 0}:void 0}function FXD(e,t){if(e!=null)if(typeof e=="string"){let r=_5(e,t);return{dark:r,light:r}}else{let r=_5(e.dark,t),i=_5(e.light,t);return{dark:r,light:i}}}async function LXD(e,t){if(e==null)return;let r=typeof e=="string"?[e]:e;return{inline:await Promise.all(r.map(async i=>(await(0,wWs.readFile)(_5(i,t))).toString()))}}function UXD(e){return Object.hasOwn(e,"url")}function VXD(e){return Object.hasOwn(e,"path")}async function WXD(e,t){let r=[],i=[];if(e==null)return{files:[]};let n=Array.isArray(e)?e:[e];for(let a of n)typeof a=="string"?i.push({absolutePath:_5(a,t)}):UXD(a)?r.push({strategy:a.strategy,url:dV.FernRegistry.Url(a.url)}):VXD(a)&&i.push({absolutePath:_5(a.path,t),strategy:a.strategy});return{remote:r,files:i}}function HXD(e){if(e!=null)return{pageWidth:e.pageWidth?.trim().toLowerCase()==="full"?{type:"full"}:ATo(e.pageWidth),contentWidth:ATo(e.contentWidth),sidebarWidth:ATo(e.sidebarWidth),headerHeight:ATo(e.headerHeight),searchbarPlacement:e.searchbarPlacement==="header"?dV.FernRegistry.docs.v1.commons.SearchbarPlacement.Header:e.searchbarPlacement==="header-tabs"?dV.FernRegistry.docs.v1.commons.SearchbarPlacement.HeaderTabs:dV.FernRegistry.docs.v1.commons.SearchbarPlacement.Sidebar,tabsPlacement:e.tabsPlacement==="header"?dV.FernRegistry.docs.v1.commons.TabsPlacement.Header:dV.FernRegistry.docs.v1.commons.TabsPlacement.Sidebar,contentAlignment:e.contentAlignment==="left"?dV.FernRegistry.docs.v1.commons.ContentAlignment.Left:dV.FernRegistry.docs.v1.commons.ContentAlignment.Center,headerPosition:e.headerPosition==="static"?dV.FernRegistry.docs.v1.commons.HeaderPosition.Absolute:dV.FernRegistry.docs.v1.commons.HeaderPosition.Fixed,disableHeader:e.disableHeader??!1}}function ATo(e){if(e==null)return;let t=e.trim().toLowerCase(),r=t.match(/^(\d+)px$/);if(r!=null&&r[1]!=null)return{type:"px",value:parseFloat(r[1])};let i=t.match(/^(\d+)rem$/);if(i!=null&&i[1]!=null)return{type:"rem",value:parseFloat(i[1])}}async function $XD({tabs:e,versions:t,navigation:r,absolutePathToFernFolder:i,absolutePathToConfig:n,context:a}){if(r!=null)return await Ow_({tabs:e,rawNavigationConfig:r,absolutePathToFernFolder:i,absolutePathToConfig:n,context:a});if(t!=null){let u=[];for(let l of t){let d=DO(i,l.path),s=ap.load((await(0,wWs.readFile)(d)).toString()),o=await tte.RawSchemas.Serializer.VersionFileConfig.parseOrThrow(s),c=await Ow_({tabs:o.tabs,rawNavigationConfig:o.navigation,absolutePathToFernFolder:i,absolutePathToConfig:d,context:a});u.push({landingPage:TTo(o.landingPage,d),version:l.displayName,navigation:c,availability:l.availability,slug:l.slug,viewers:b8t(l.viewers),orphaned:l.orphaned,featureFlags:v8t(l.featureFlag)})}return{type:"versioned",versions:u}}throw new Error("Unexpected. Docs have neither navigation or versions defined.")}function v8t(e){if(e!=null)return typeof e=="string"?[{flag:e,match:!0,fallbackValue:void 0}]:Array.isArray(e)?e.map(t=>({flag:t.flag,match:t.match,fallbackValue:t.fallbackValue})):[{flag:e.flag,match:e.match??!0,fallbackValue:e.fallbackValue}]}async function GXD({rawTypography:e,absoluteFilepathToDocsConfig:t}){return{headingsFont:e.headingsFont!=null?await PWs({rawFontConfig:e.headingsFont,absoluteFilepathToDocsConfig:t}):void 0,bodyFont:e.bodyFont!=null?await PWs({rawFontConfig:e.bodyFont,absoluteFilepathToDocsConfig:t}):void 0,codeFont:e.codeFont!=null?await PWs({rawFontConfig:e.codeFont,absoluteFilepathToDocsConfig:t}):void 0}}async function PWs({rawFontConfig:e,absoluteFilepathToDocsConfig:t}){return{name:e.name,variants:await QXD(e,t),display:e.display,fallback:e.fallback,fontVariationSettings:e.fontVariationSettings}}function QXD(e,t){let r=[];return e.path!=null&&r.push({path:e.path,weight:e.weight,style:e.style}),e.paths?.forEach(i=>{typeof i=="string"?r.push({path:i,weight:e.weight,style:e.style}):r.push({path:i.path,weight:i.weight??e.weight,style:i.style??e.style})}),Promise.all(r.map(async i=>({absolutePath:_5(i.path,t),weight:JXD(i.weight),style:i.style})))}function JXD(e){return e==null?void 0:typeof e=="number"?[e.toString()]:e.split(/\D+/).filter(r=>r!==""&&["100","200","300","400","500","600","700","800","900"].includes(r))}async function KXD({tabs:e,item:t,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n}){let a=e[t.tab];if(a==null)throw new Error(`Tab ${t.tab} is not defined in the tabs config.`);if(t.layout!=null){let u=await Promise.all(t.layout.map(l=>SWs({rawConfig:l,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})));return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"layout",layout:u},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)}}if(a.href!=null)return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"link",href:a.href},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)};if(a.changelog!=null)return{title:a.displayName,icon:a.icon,slug:a.slug,skipUrlSlug:a.skipSlug,hidden:a.hidden,child:{type:"changelog",changelog:await CK(_5(a.changelog,i),"{md,mdx}")},viewers:b8t(a.viewers),orphaned:a.orphaned,featureFlags:v8t(a.featureFlag)};Go(a)}async function Ow_({tabs:e={},rawNavigationConfig:t,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n}){return nZD(t)?{type:"tabbed",items:await Promise.all(t.map(u=>KXD({tabs:e,item:u,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})))}:{type:"untabbed",items:await Promise.all(t.map(a=>SWs({rawConfig:a,absolutePathToFernFolder:r,absolutePathToConfig:i,context:n})))}}var YXD="Changelog";async function SWs({rawConfig:e,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}){if(Pw_(e))return TTo(e,r);if(ZXD(e))return{type:"section",title:e.section,icon:e.icon,contents:await Promise.all(e.contents.map(n=>SWs({rawConfig:n,absolutePathToFernFolder:t,absolutePathToConfig:r,context:i}))),slug:e.slug??void 0,collapsed:e.collapsed??void 0,hidden:e.hidden??void 0,skipUrlSlug:e.skipSlug??!1,overviewAbsolutePath:_5(e.path,r),viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};if(kXD(e))return{type:"apiSection",openrpc:e.openrpc,title:e.api,icon:e.icon,apiName:e.apiName??void 0,audiences:e.audiences!=null?{type:"select",audiences:e.audiences}:{type:"all"},showErrors:e.displayErrors??!1,snippetsConfiguration:e.snippets!=null?XXD({rawConfig:e.snippets}):void 0,navigation:e.layout?.flatMap(n=>qTo(n,r))??[],overviewAbsolutePath:_5(e.summary,r),hidden:e.hidden??void 0,slug:e.slug,skipUrlSlug:e.skipSlug??!1,flattened:e.flattened??!1,alphabetized:e.alphabetized??!1,paginated:e.paginated??!1,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};if(jw_(e))return{type:"link",text:e.link,url:e.href,icon:e.icon};if(eZD(e))return{type:"changelog",changelog:await CK(_5(e.changelog,r),"{md,mdx}"),hidden:e.hidden??!1,icon:e.icon,title:e.title??YXD,slug:e.slug,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)};Go(e)}function TTo(e,t){if(e!=null)return{type:"page",title:e.page,absolutePath:_5(e.path,t),slug:e.slug,icon:e.icon,hidden:e.hidden,noindex:void 0,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}}function qTo(e,t){return typeof e=="string"?[{type:"item",value:e}]:Pw_(e)?[TTo(e,t)]:jw_(e)?[{type:"link",text:e.link,url:e.href,icon:e.icon}]:tZD(e)?[{type:"section",title:e.section,referencedSubpackages:e.referencedPackages??[],overviewAbsolutePath:_5(e.summary,t),contents:e.contents?.flatMap(r=>qTo(r,t))??[],slug:e.slug,hidden:e.hidden,skipUrlSlug:e.skipSlug,icon:e.icon,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}]:rZD(e)?[{type:"endpoint",endpoint:e.endpoint,title:e.title,icon:e.icon,slug:e.slug,hidden:e.hidden,playground:e.playground,viewers:b8t(e.viewers),orphaned:e.orphaned,featureFlags:v8t(e.featureFlag)}]:Object.entries(e).map(([r,i])=>iZD(i)?{type:"package",title:i.title,package:r,overviewAbsolutePath:_5(i.summary,t),contents:i.contents?.flatMap(n=>qTo(n,t))??[],slug:i.slug,hidden:i.hidden,skipUrlSlug:i.skipSlug,icon:i.icon,playground:i.playground,viewers:b8t(i.viewers),orphaned:i.orphaned,featureFlags:v8t(i.featureFlag)}:{type:"package",title:void 0,package:r,overviewAbsolutePath:void 0,contents:i.flatMap(n=>qTo(n,t)),hidden:!1,slug:void 0,skipUrlSlug:!1,icon:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}function XXD({rawConfig:e}){return{python:e.python,typescript:e.typescript,go:e.go,java:e.java,ruby:e.ruby}}function Pw_(e){return bg(e)&&typeof e.page=="string"&&typeof e.path=="string"}function ZXD(e){return e.section!=null}function kXD(e){return e.api!=null}function jw_(e){return tte.RawSchemas,bg(e)&&typeof e.link=="string"&&typeof e.href=="string"}function eZD(e){return bg(e)&&typeof e.changelog=="string"}function tZD(e){return bg(e)&&typeof e.section=="string"&&Array.isArray(e.contents)}function rZD(e){return bg(e)&&typeof e.endpoint=="string"}function iZD(e){return!Array.isArray(e)}function _5(e,t){if(e!=null)return DO(Wp(t),e)}function nZD(e){return Array.isArray(e)&&e.length>0&&e[0].tab!=null}function aZD(e){return e?.map(t=>t.type==="github"?{type:"github",url:dV.FernRegistry.Url(t.value)}:{type:t.type,text:t.text,url:dV.FernRegistry.Url(t.href??t.url??"/"),icon:t.icon,rightIcon:t.rightIcon,rounded:t.rounded})}function oZD(e){if(e==null)return;let t=[];if(Object.keys(e).forEach(r=>{let i=e[r];i!=null&&t.push({type:r,value:dV.FernRegistry.Url(i)})}),t.length!==0)return t}async function uZD(e,t){if(e!=null)return{"og:site_name":e.ogSiteName,"og:title":e.ogTitle,"og:description":e.ogDescription,"og:url":e.ogUrl,"og:image":await jWs(e.ogImage,t),"og:image:width":e.ogImageWidth,"og:image:height":e.ogImageHeight,"og:locale":e.ogLocale,"og:logo":await jWs(e.ogLogo,t),"twitter:title":e.twitterTitle,"twitter:description":e.twitterDescription,"twitter:image":await jWs(e.twitterImage,t),"twitter:handle":e.twitterHandle,"twitter:site":e.twitterSite,"twitter:url":e.twitterUrl,"twitter:card":e.twitterCard,nofollow:void 0,noindex:void 0}}async function jWs(e,t){if(e==null)return;if(e.startsWith("http"))return{type:"url",value:e};let r=_5(e,t);return await zf(r)?{type:"filepath",value:r}:{type:"url",value:e}}function b8t(e){if(e!=null){if(typeof e=="string")return[dV.FernRegistry.RoleId(e)];if(e.length!==0)return e.map(dV.FernRegistry.RoleId)}}async function ww_({domain:e,project:t,context:r}){let i=t.docsWorkspaces,n=t.apiWorkspaces;if(i==null)throw new Error("No docs workspace found in project");let a=await Promise.all(n.map(async m=>await m.toFernWorkspace({context:r},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0}))),u=await qie(t),l=new DWs(r),d=new EWs(r),s={},o=await mw_({rawDocsConfiguration:i.config,context:r,absolutePathToFernFolder:i.absoluteFilePath,absoluteFilepathToDocsConfig:i.absoluteFilepathToDocsConfig}),b=await new y8t(e,i,u,a,r,void 0,async m=>m.map(w=>{let M=Uxe();return s[M]={type:"url",url:zo.Url(`/_local${Ges(w.absoluteFilePath)}`)},{absoluteFilePath:w.absoluteFilePath,relativeFilePath:w.relativeFilePath,fileId:M}}),async m=>l.addReferencedAPI(m),async m=>d.addReferencedAPI(m)).resolve(),g=MLs({writeShape:b,files:{}}),O=qLs({dbShape:g.config});return{apis:l.getAPIsForDefinition(),apisV2:d.getAPIsForDefinition(),config:O,files:{},filesV2:s,pages:g.pages,search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0}}var DWs=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({ir:t,snippetsConfig:r,playgroundConfig:i}){try{let n=Uxe(),a=_oa(USe({ir:t,snippetsConfig:r,playgroundConfig:i}),RP.ApiDefinitionId(n),new Cqi({snippetsConfigWithSdkId:{},snippetsBySdkId:{},snippetTemplatesByEndpoint:{},snippetTemplatesByEndpointId:{},snippetsBySdkIdAndEndpointId:{}})),u=voa(a);return this.apis[n]=u,n}catch(n){let a=n;throw this.context.logger.debug(`Failed to read referenced API: ${a?.message} ${a?.stack}`),this.context.logger.error("An error occured while trying to read an API definition. Please reach out to support."),a.stack!=null&&this.context.logger.error(a?.stack),n}}getAPIsForDefinition(){return this.apis}},EWs=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({api:t}){try{return this.apis[t.id]=t,t.id}catch(r){let i=r;throw this.context.logger.debug(`Failed to read referenced API: ${i?.message} ${i?.stack}`),this.context.logger.error("An error occured while trying to read an API definition. Please reach out to support."),i.stack!=null&&this.context.logger.error(i?.stack),r}}getAPIsForDefinition(){return this.apis}};var sZD={pages:{},apis:{},apisV2:{},files:{},filesV2:{},config:{hideNavLinks:void 0,navigation:void 0,root:void 0,title:void 0,defaultLanguage:void 0,announcement:void 0,navbarLinks:void 0,footerLinks:void 0,logoHeight:void 0,logoHref:void 0,favicon:void 0,metadata:void 0,redirects:void 0,colorsV3:void 0,layout:void 0,typographyV2:void 0,analyticsConfig:void 0,integrations:void 0,css:void 0,js:void 0},search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0};async function AWs({initialProject:e,reloadProject:t,validateProject:r,context:i,port:n,bundlePath:a}){if(a!=null)i.logger.info(`Using bundle from path: ${a}`);else try{let q="https://prod-local-preview-bundle2.s3.amazonaws.com/";if(q==null)throw new Error("Failed to connect to the docs preview server. Please contact support@buildwithfern.com");await _w_({bucketUrl:q,logger:i.logger,preferCached:!0})}catch(q){let D=ETo();if(q instanceof Error&&i.logger.debug(`Failed to download latest docs bundle: ${q.message}`),await zf(D))i.logger.warn("Falling back to cached bundle...");else{i.logger.warn("Please reach out to support@buildwithfern.com.");return}}let u=Wp(e.config._absolutePath),l=(0,MWs.default)(),d=Dw_.default.createServer(l),s=new K8s.default({server:d}),o=new Set;function c(q){for(let D of o)D.send(JSON.stringify(q))}s.on("connection",function(D){o.add(D),D.on("close",function(){o.delete(D)})}),l.use((0,Sw_.default)());let b=new URL(VSe(e.docsWorkspaces?.config.instances[0]?.url??`http://localhost:${n}`)),g=e,O,m=async()=>{i.logger.info("Reloading docs...");let q=Date.now();try{g=await t(),i.logger.info("Validating docs..."),await r(g);let D=await ww_({domain:`${b.host}${b.pathname}`,project:g,context:i});return i.logger.info(`Reload completed in ${Date.now()-q}ms`),D}catch(D){return O==null?i.logger.error("Failed to read docs configuration. Rendering blank page."):i.logger.error("Failed to read docs configuration. Rendering last successful configuration."),D instanceof Error&&(i.logger.error(D.message),D instanceof Error&&D.stack&&i.logger.debug(`Stack Trace:
|
|
1963
1963
|
${D.stack}`)),O}};O=await m();let w=g.apiWorkspaces.flatMap(q=>q.getAbsoluteFilePaths()),M=a?nf.of(CTo.default.resolve(a)):ETo();new Qc_([u,...w],{recursive:!0,ignoreInitial:!0,debounce:1e3,renameDetection:!0}).on("all",async(q,D,C)=>{i.logger.info(Au.dim(`[${q}] ${D}`)),c({version:1,type:"startReload"});let F=await m();F!=null&&(O=F),c({version:1,type:"finishReload"})}),l.post("/v2/registry/docs/load-with-url",async(q,D)=>{try{let C=O??sZD,F={baseUrl:{domain:b.host,basePath:b.pathname},definition:C,lightModeEnabled:C.config.colorsV3?.type!=="dark",orgId:zo.OrgId(e.config.organization)};D.send(F)}catch(C){i.logger.error("Error loading docs",C.message),D.status(500).send()}}),l.get(/^\/_local\/(.*)/,(q,D)=>D.sendFile(`/${q.params[0]}`)),l.get("/",(q,D,C)=>q.headers.upgrade==="websocket"?s.handleUpgrade(q,q.socket,Buffer.alloc(0),F=>{s.emit("connection",F,q)}):C()),l.use("/_next",MWs.default.static(CTo.default.join(M,"/_next"))),l.use("*",async(q,D)=>D.sendFile(CTo.default.join(M,"/[[...slug]].html"))),l.listen(n),i.logger.info(`Running server on http://localhost:${n}`),await new Promise(()=>{})}var P1_=Ei(Mw_(),1);var pV={RequestReference:"requestReference",InlinedRequestProperty:"inlinedRequestProperty",Response:"response",StreamingResponse:"streamingResponse"};function bq(e,t){return r=>{r!=null&&e.docs?.(r,[...t,"docs"])}}function fze({example:e,visitor:t,nodePath:r}){if(typeof e=="string")e.startsWith(T$t)&&t.exampleTypeReference?.(e,r);else if(bg(e))for(let i of Object.values(e))fze({example:i,visitor:t,nodePath:r});else if(Array.isArray(e))for(let i of e)fze({example:i,visitor:t,nodePath:r})}function g8t(e){return(t,r,{_default:i,validation:n,location:a}={})=>{e.typeReference?.({typeReference:t,_default:i,validation:n,location:a,nodePath:r},r)}}function Aw_({service:e,visitor:t,nodePath:r}){t.httpService?.(e,r),Nj(e,{url:i=>{t.serviceBaseUrl?.(i,[...r,"url"])},"base-path":ru,"display-name":ru,availability:ru,headers:i=>{qw_({headers:i,visitor:t,nodePath:[...r,"headers"]})},audiences:ru,auth:ru,"path-parameters":i=>{yua({pathParameters:i,visitor:t,nodePath:[...r,"path-parameters"]})},endpoints:i=>{for(let[n,a]of Object.entries(i)){let u=[...r,"endpoints",n];pZD({endpointId:n,endpoint:a,service:e,visitor:t,nodePathForEndpoint:u})}},idempotent:ru,transport:ru,source:ru})}function pZD({endpointId:e,endpoint:t,service:r,visitor:i,nodePathForEndpoint:n}){let a=g8t(i);i.httpEndpoint?.({endpointId:e,endpoint:t,service:r},n),Nj(t,{docs:bq(i,n),"display-name":ru,availability:ru,"base-path":ru,path:ru,idempotent:ru,url:u=>{i.endpointBaseUrl?.({baseUrl:u,service:r},[...n,"url"])},"path-parameters":u=>{yua({pathParameters:u,visitor:i,nodePath:[...n,"path-parameters"]})},request:u=>{if(u==null)return;let l=[...n,"request"];if(typeof u=="string"){a(u,l,{location:"requestReference"});return}Nj(u,{name:ru,docs:bq(i,l),"path-parameters":d=>{yua({pathParameters:d,visitor:i,nodePath:[...l,"path-parameters"]})},"query-parameters":d=>{if(d!=null)for(let[s,o]of Object.entries(d)){let c=[...l,"query-parameters",s];i.queryParameter?.({queryParameterKey:s,queryParameter:o},c),typeof o=="string"?a(o,c):Nj(o,{name:ru,docs:bq(i,c),availability:ru,type:b=>{a(b,[...c,"type"],{_default:o.default,validation:o.validation})},"allow-multiple":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"content-type":ru,headers:d=>{qw_({headers:d,visitor:i,nodePath:[...l,"headers"]})},body:d=>{if(d==null)return;let s=[...l,"body"];typeof d=="string"?a(d,s,{location:"requestReference"}):DT(d)?(i.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:d},s),Nj(d,{extends:o=>{if(o==null)return;let c=typeof o=="string"?[o]:o;for(let b of c){let g=[...s,"extends",b];i.extension?.(b,g),a(b,g)}},properties:o=>{if(o!=null)for(let[c,b]of Object.entries(o)){let g=[...s,"properties",c];typeof b=="string"?a(b,g,{location:pV.InlinedRequestProperty}):Nj(b,{name:ru,docs:bq(i,g),availability:ru,type:O=>{a(O,[...g,"type"],{location:pV.InlinedRequestProperty,_default:b.default,validation:b.validation})},"content-type":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru})):(bq(i,s)(d.docs),a(d.type,s))}})},audiences:ru,method:ru,auth:ru,"stream-condition":u=>{i.streamCondition?.({streamCondition:u,endpoint:t},[...n,"stream-condition"])},"response-stream":u=>{u!=null&&(typeof u=="string"?a(u,[...n,"response-stream"],{location:pV.StreamingResponse}):a(u.type,[...n,"response-stream"],{location:pV.StreamingResponse}))},response:u=>{if(u==null)return;let l=[...n,"response"];typeof u=="string"?a(u,l,{location:pV.Response}):Nj(u,{docs:bq(i,l),type:d=>{a(d,[...l,"type"],{location:pV.Response})},property:ru,"status-code":ru})},errors:u=>{if(u!=null)for(let l of u){let d=[...n,"errors",typeof l=="string"?l:l.error];typeof l=="string"?i.errorReference?.(l,d):Nj(l,{docs:bq(i,d),error:s=>{i.errorReference?.(s,[...d,"error"])}})}},examples:u=>{if(u!=null)for(let[l,d]of u.entries())_ZD({nodePathForExample:[...n,{key:"examples",arrayIndex:l}],visitor:i,service:r,endpoint:t,example:d})},pagination:ru,source:ru,transport:ru})}function _ZD({nodePathForExample:e,visitor:t,service:r,endpoint:i,example:n}){if(n.headers==null&&n["path-parameters"]==null&&n["query-parameters"]==null&&n.request==null&&n.response==null&&n["code-samples"]!=null)return;t.exampleHttpEndpointCall?.({service:r,endpoint:i,example:n},e);let a=[...e,"headers"];if(t.exampleHeaders?.({service:r,endpoint:i,examples:n.headers},a),n.headers!=null)for(let o of Object.values(n.headers))fze({example:o,visitor:t,nodePath:a});let u=[...e,"path-parameters"];if(t.examplePathParameters?.({service:r,endpoint:i,examples:n["path-parameters"]},u),n["path-parameters"]!=null)for(let o of Object.values(n["path-parameters"]))fze({example:o,visitor:t,nodePath:u});let l=[...e,"query-parameters"];if(t.exampleQueryParameters?.({service:r,endpoint:i,examples:n["query-parameters"]},l),n["query-parameters"]!=null)for(let o of Object.values(n["query-parameters"]))fze({example:o,visitor:t,nodePath:l});let d=[...e,"request"];t.exampleRequest?.({service:r,endpoint:i,example:n.request},d),n.request!=null&&fze({example:n.request,visitor:t,nodePath:d});let s=[...e,"response"];if(t.exampleResponse?.({service:r,endpoint:i,example:n.response},s),n.response!=null&&v1i(i,n.response,{body:o=>{o.body!=null&&fze({example:o.body,visitor:t,nodePath:s}),o.error!=null&&t.errorReference?.(o.error,[...s,"error"])},stream:o=>{for(let c of o.stream)fze({example:c,visitor:t,nodePath:s})},events:o=>{for(let{data:c}of o.stream)fze({example:c,visitor:t,nodePath:s})}}),n["code-samples"]!=null)for(let[o,c]of n["code-samples"].entries())t.exampleCodeSample?.({service:r,endpoint:i,example:n,sample:c},[...e,{key:"code-samples",arrayIndex:o}])}function yua({pathParameters:e,visitor:t,nodePath:r}){if(e==null)return;let i=g8t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.pathParameter?.({pathParameterKey:n,pathParameter:a},u),rsn(a)?typeof a=="string"?t.variableReference?.(a,u):Nj(a,{docs:bq(t,u),variable:l=>t.variableReference?.(l,[...u,"variable"]),availability:ru}):typeof a=="string"?i(a,u):Nj(a,{docs:bq(t,u),type:l=>{i(l,[...u,"type"],{_default:a.default,validation:a.validation})},availability:ru,encoding:ru,default:ru,validation:ru,name:ru,audiences:ru})}}function qw_({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=g8t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.header?.({headerKey:n,header:a},u),typeof a=="string"?i(a,u):Nj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:bq(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function Tw_({typeDeclarations:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e)){let a=[...r,i];t.typeName?.(i,a),qWs({typeName:i,declaration:n,visitor:t,nodePathForType:a})}}function qWs({typeName:e,declaration:t,visitor:r,nodePathForType:i}){let n=g8t(r);r.typeDeclaration?.({typeName:{isInlined:!1,name:e},declaration:t,nodePath:i},i);let a=u=>{if(u!=null)for(let[l,d]of u.entries()){let s=[...i,{key:"examples",arrayIndex:l}];r.exampleType?.({typeName:e,typeDeclaration:t,example:d},s),fze({example:d.value,nodePath:s,visitor:r})}};A3(t,{alias:u=>{typeof u=="string"?n(u,i):Nj(u,{type:l=>{n(l,[...i,"type"])},docs:bq(r,i),availability:ru,audiences:ru,examples:a,validation:ru,encoding:ru,source:ru,inline:ru})},object:u=>{Nj(u,{docs:bq(r,i),extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},properties:l=>{if(l!=null)for(let[d,s]of Object.entries(l)){let o=[...i,"properties",d];typeof s=="string"?n(s,o):Nj(s,{name:ru,docs:bq(r,o),availability:ru,type:c=>{n(c,[...o,"type"],{_default:s.default,validation:s.validation})},audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},discriminatedUnion:u=>{Nj(u,{docs:bq(r,i),discriminant:ru,extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},union:l=>{for(let[d,s]of Object.entries(l)){let o=[...i,"union",d];typeof s=="string"?n(s,o):Nj(s,{docs:bq(r,o),name:ru,key:ru,type:c=>{typeof c=="string"&&n(c,[...i,"type"])},"display-name":ru,availability:ru})}},"base-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},undiscriminatedUnion:u=>{Nj(u,{docs:bq(r,i),discriminated:ru,union:l=>{for(let[d,s]of l.entries()){let o=[...i,`union[${d}]`];typeof s!="string"&&Nj(s,{docs:bq(r,o),type:c=>{n(c,[...i,"type"])},"display-name":ru})}},availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},enum:u=>{Nj(u,{docs:bq(r,i),enum:l=>{for(let d of l){let s=[...i,typeof d=="string"?d:d.name??d.value];typeof d!="string"&&Nj(d,{docs:bq(r,s),name:ru,value:ru,casing:ru})}},availability:ru,audiences:ru,default:ru,encoding:ru,source:ru,examples:a,inline:ru})}})}function Cw_({errorDeclarations:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e)){let a=[...r,i];t.errorDeclaration?.({errorName:i,declaration:n},a),hZD({errorName:i,declaration:n,visitor:t,nodePathForError:a})}}function hZD({errorName:e,declaration:t,visitor:r,nodePathForError:i}){let n=g8t(r);typeof t=="string"?n(t,i):Nj(t,{docs:bq(r,i),"status-code":ru,type:a=>{if(a==null)return;let u=[...i,"type"];typeof a=="string"?n(a,u):qWs({typeName:e,declaration:a,visitor:r,nodePathForType:u})},examples:a=>{if(a!=null)for(let u of a){let l=[...i,"type"];r.exampleError?.({errorName:e,declaration:t,example:u},l)}}})}function Bw_({imports:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e))t.import?.({importPath:n,importedAs:i},[...r,i])}function xw_({webhook:e,visitor:t,nodePathForWebhook:r}){let i=g8t(t);Nj(e,{"display-name":ru,method:ru,examples:ru,headers:n=>{yZD({headers:n,visitor:t,nodePath:[...r,"headers"]})},payload:n=>{let a=[...r,"payload"];if(typeof n=="string"){i(n,a,{location:"requestReference"});return}if(vZD(n)){i(n.type,[...a,"type"],{location:"requestReference"});return}let u=[...a];t.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:n},u),Nj(n,{name:ru,extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...u,"extends",s];t.extension?.(s,o),i(s,o)}},properties:l=>{if(l!=null)for(let[d,s]of Object.entries(l)){let o=[...u,"properties",d];typeof s=="string"?i(s,o,{location:pV.InlinedRequestProperty}):Nj(s,{name:ru,docs:bq(t,o),availability:ru,type:c=>{i(c,[...o,"type"],{_default:s.default,validation:s.validation,location:pV.InlinedRequestProperty})},audiences:ru,encoding:ru,default:ru,validation:ru})}}})},audiences:ru,availability:ru,docs:bq(t,r)})}function yZD({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=g8t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.header?.({headerKey:n,header:a},u),typeof a=="string"?i(a,u):Nj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:bq(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function vZD(e){return e.type!=null}function _V(e,t){Nj(e,{docs:bq(t,[]),imports:r=>{Bw_({imports:r,visitor:t,nodePath:["imports"]})},types:r=>{Tw_({typeDeclarations:r,visitor:t,nodePath:["types"]})},service:r=>{r!=null&&Aw_({service:r,visitor:t,nodePath:["service"]})},webhooks:r=>{for(let[i,n]of Object.entries(r??{}))xw_({webhook:n,visitor:t,nodePathForWebhook:["webhooks",i]})},channel:ru,errors:r=>{Cw_({errorDeclarations:r,visitor:t,nodePath:["errors"]})}})}function TWs(e,t){Nj(e,{docs:ru,imports:ru,types:ru,service:ru,webhooks:ru,errors:ru,channel:ru,export:r=>{t.export?.(typeof r=="string"?r:r?.dependency,["export"])},navigation:r=>{t.navigation?.(r,["navigation"])}})}function CWs(e,t){t.file?.(e,[]),Nj(e,{version:ru,name:ru,"default-url":ru,"display-name":ru,imports:ru,auth:ru,"idempotency-headers":ru,"auth-schemes":r=>Object.entries(r??{}).map(([i,n])=>{Dus(n)&&t.oauth?.({name:i,oauth:n},["auth-scheme",i])}),pagination:ru,"default-environment":r=>{t.defaultEnvironment?.(r,["default-environment"])},docs:ru,headers:ru,environments:r=>{if(r!=null)for(let[i,n]of Object.entries(r))t.environment?.({environmentId:i,environment:n},["environments",i])},"error-discrimination":r=>{t.errorDiscrimination?.(r,["error-discrimination"])},audiences:ru,errors:r=>{if(r!=null)for(let i of r)t.errorReference?.(i,["errors",i])},"base-path":ru,"path-parameters":r=>{yua({pathParameters:r,visitor:t,nodePath:["path-parameters"]})},variables:r=>{if(r!=null)for(let[i,n]of Object.entries(r))t.variableDeclaration?.({variableId:i,variable:n},["variables",i])}})}var BTo=new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$");function Iw_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.definitionFile?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("docs"),...n("import"),...n("typeReference"),...n("typeDeclaration"),...n("typeName"),...n("httpService"),...n("httpEndpoint"),...n("pathParameter"),...n("queryParameter"),...n("streamCondition"),...n("header"),...n("errorDeclaration"),...n("errorReference"),...n("exampleType"),...n("exampleTypeReference"),...n("exampleHttpEndpointCall"),...n("exampleCodeSample"),...n("exampleHeaders"),...n("examplePathParameters"),...n("exampleQueryParameters"),...n("exampleRequest"),...n("exampleResponse"),...n("variableReference"),...n("extension"),...n("serviceBaseUrl"),...n("endpointBaseUrl"),...n("exampleError")}}function zw_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.packageMarker?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("export"),...n("navigation")}}function Rw_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.rootApiFile?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("file"),...n("oauth"),...n("defaultEnvironment"),...n("environment"),...n("errorDiscrimination"),...n("errorReference"),...n("variableDeclaration"),...n("variableReference"),...n("pathParameter")}}var BWs={name:"content-type-only-for-multipart",DISABLE_RULE:!1,create:()=>({definitionFile:{httpEndpoint:({endpoint:e})=>{if(e.request==null)return[];if(y1i(e.request)!=null)return[];if(typeof e.request!="string"&&e.request.body!=null&&DT(e.request.body)){let r=[];for(let[i,n]of Object.entries(e.request.body.properties??{}))typeof n!="string"&&n["content-type"]!=null&&r.push({severity:"fatal",message:`${i} has content-type, but the request is not multipart`});return r}return[]}}})};var xWs={name:"import-file-exists",create:({workspace:e})=>{let t=Object.keys(sLr(e.definition)),r=new Set;return t.forEach(i=>{let n=us(e.definition.absoluteFilePath,Oo.of(i));r.add(n)}),{definitionFile:{import:({importedAs:i,importPath:n},{relativeFilepath:a})=>{let u=[],l=us(e.definition.absoluteFilePath,Wp(a),Oo.of(n));return r.has(l)||u.push({severity:"fatal",message:`Import ${Au.bold(i)} points to non-existent path ${Au.bold(n)}.`}),u}}}}};function xTo(e){return e.definition.rootApiFile.contents.environments==null?[]:Object.values(e.definition.rootApiFile.contents.environments).reduce((t,r)=>{if(tsn(r))for(let i of Object.keys(r.urls))t.includes(i)||t.push(i);return t},[])}var IWs={name:"matching-environment-urls",create:({workspace:e})=>{let t=xTo(e);return t.length===0?{}:{rootApiFile:{environment:({environmentId:r,environment:i})=>{let n=[],a=u=>{n.push({severity:"fatal",message:`Environment ${r} is missing URL for ${Au.bold(u)}`})};return W8r(i,{singleBaseUrl:()=>{for(let u of t)a(u)},multipleBaseUrls:u=>{for(let l of t)u.urls[l]==null&&a(l)}}),n}}}}};var zWs={name:"no-circular-imports",DISABLE_RULE:!0,create:({workspace:e})=>{let t=bZD(e.definition.namedDefinitionFiles);return{definitionFile:{import:({importPath:r},{relativeFilepath:i})=>{let n=t[i];if(n==null)return[];let a=uai({referencedIn:i,importPath:Oo.of(r)});return n.filter(({chainWithoutStartingFilepath:l})=>l.length===0||l[0]===a).map(l=>({severity:"fatal",message:l.chainWithoutStartingFilepath.length===0?"A file cannot import itself":`Circular import detected: ${[l.startingFilepath,...l.chainWithoutStartingFilepath,l.startingFilepath].join(" -> ")}`}))}}}}};function bZD(e){let t={};for(let r of q2t(e))t[r]=Nw_(r,[r],e);return t}function Nw_(e,t,r){let i=[],n=r[e];if(n==null)return[];if(n.contents.imports!=null)for(let a of Object.values(n.contents.imports)){let u=uai({referencedIn:e,importPath:Oo.of(a)});t.includes(u)?t[0]===u&&t[0]===gZD(t)&&i.push({startingFilepath:u,chainWithoutStartingFilepath:t.slice(1)}):i.push(...Nw_(u,[...t,u],r))}return i}function gZD(e){return e.reduce((t,r)=>r<t?r:t)}var wD=ZKt({generationLanguage:void 0,keywords:void 0,smartCasing:!1});var ITo=class{workspace;typeResolver;constructor(t){this.workspace=t,this.typeResolver=new wS(t)}isTypeComplex(t,r){let i=Xb({relativeFilepath:r.relativeFilepath,definitionFile:r.contents,casingsGenerator:wD,rootApiFile:this.workspace.definition.rootApiFile.contents}),n=this.typeResolver.resolveType({type:t,file:i});if(n==null)return;let a=new Set;return this.isResolvedReferenceComplex({type:n,file:i,visited:a})}isResolvedReferenceComplex({type:t,file:r,visited:i}){switch(t._type){case"container":return this.isResolvedContainerComplex({type:t.container,file:r,visited:i});case"named":return this.isNamedTypeComplex({type:t,file:r,visited:i});case"primitive":return!1;case"unknown":return!0;default:Go(t)}}isResolvedContainerComplex({type:t,file:r,visited:i}){switch(t._type){case"literal":return!1;case"map":return(this.isResolvedReferenceComplex({type:t.keyType,file:r,visited:i})||this.isResolvedReferenceComplex({type:t.valueType,file:r,visited:i}))&&!(t.keyType._type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType._type==="unknown");case"optional":case"nullable":case"list":case"set":return this.isResolvedReferenceComplex({type:t.itemType,file:r,visited:i});default:Go(t)}}isNamedTypeComplex({type:t,file:r,visited:i}){if(i.has(t.rawName))return!1;if(i.add(t.rawName),Ekr(t.declaration))return!0;if(P4t(t.declaration))return!1;if(L1(t.declaration))return this.objectHasComplexProperties({typeName:t.rawName,objectDeclaration:t.declaration,file:r,visited:i});if(isn(t.declaration)){for(let n of t.declaration.union){let a=typeof n=="string"?n:n.type,u=this.isTypeComplex(a,{contents:r.definitionFile,relativeFilepath:r.relativeFilepath});if(u!=null&&u)return!0}return!1}Go(t.declaration)}objectHasComplexProperties({typeName:t,objectDeclaration:r,file:i,visited:n}){return p8t({typeName:t,objectDeclaration:r,typeResolver:this.typeResolver,definitionFile:i.definitionFile,workspace:this.workspace,filepathOfDeclaration:i.relativeFilepath,smartCasing:!1}).some(u=>this.isComplex({type:u.resolvedPropertyType,file:i,visited:n}))}isComplex({type:t,file:r,visited:i}){switch(t._type){case"named":return this.isNamedTypeComplex({type:t,file:r,visited:i});case"primitive":case"unknown":return!1;case"container":return this.isComplexContainer({type:t.container,file:r,visited:i});default:Go(t)}}isComplexContainer({type:t,file:r,visited:i}){switch(t._type){case"literal":return!0;case"map":return this.isComplex({type:t.keyType,file:r,visited:i})||this.isComplex({type:t.valueType,file:r,visited:i});case"optional":case"nullable":case"list":case"set":return this.isComplex({type:t.itemType,file:r,visited:i});default:Go(t)}}};var RWs={name:"no-complex-query-params",create:({workspace:e})=>{let t=new ITo(e);return{definitionFile:{queryParameter:({queryParameter:r},i)=>{let n=typeof r=="string"?r:r.type,a=t.isTypeComplex(n,i);return a!=null&&a?[{severity:"fatal",message:`${n} is not a valid type for a query parameter`}]:[]}}}}};var NWs={name:"no-conflicting-endpoint-parameters",create:()=>({definitionFile:{pathParameter:({pathParameterKey:e})=>e===yAo?[{severity:"fatal",message:`Path parameter ${Au.bold(e)} is not suitable for code generation, because it can conflict with the request body parameter.`}]:[]}})};function vua({service:e,endpoint:t}){return e["base-path"]+t.path}var zTo=class{root=new FWs;registerEndpoint(t){this.root.insert(this.getPathPartsForEndpoint(t),t)}getConflictingEndpoints(t){return this.root.getMatchingEndpoints(this.getPathPartsForEndpoint(t)).filter(r=>!(r.relativeFilepath===t.relativeFilepath&&r.endpointId===t.endpointId)&&r.endpoint.method===t.endpoint.method)}getPathPartsForEndpoint(t){return vua({service:t.service,endpoint:t.endpoint}).split("/").filter(r=>r.length>0)}},FWs=class e{childPaths={};childPathParam;endpointsThatEndWithThisNode=[];insert(t,r){let[i,...n]=t;if(i==null){this.endpointsThatEndWithThisNode.push(r);return}(this.isPathParam(i)?this.childPathParam??=new e:this.childPaths[i]??=new e).insert(n,r)}getMatchingEndpoints(t){let[r,...i]=t;if(r==null)return this.endpointsThatEndWithThisNode;let n=[];if(this.isPathParam(r))n.push(...Object.values(this.childPaths).flatMap(a=>a.getMatchingEndpoints(i)));else{let a=this.childPaths[r];a!=null&&n.push(...a.getMatchingEndpoints(i))}return this.childPathParam!=null&&n.push(...this.childPathParam.getMatchingEndpoints(i)),n}isPathParam(t){return t.startsWith("{")&&t.endsWith("}")}};var LWs={name:"no-conflicting-endpoint-paths",create:({workspace:e})=>{let t=new zTo;return Z3(e,(r,i)=>{_V(i,{httpEndpoint:({service:n,endpointId:a,endpoint:u})=>{t.registerEndpoint({service:n,endpointId:a,endpoint:u,relativeFilepath:r})}})}),{definitionFile:{httpEndpoint:({service:r,endpoint:i,endpointId:n},{relativeFilepath:a})=>{let u=t.getConflictingEndpoints({service:r,endpointId:n,endpoint:i,relativeFilepath:a});return u.length===0?[]:[{severity:"warning",message:[`Endpoint path ${vua({service:r,endpoint:i})} conflicts with other endpoints:`,...u.map(l=>` - ${l.relativeFilepath} -> ${l.endpointId} ${Au.dim(vua({service:l.service,endpoint:l.endpoint}))}`)].join(`
|
|
1964
1964
|
`)}]}}}}};var UWs={name:"no-conflicting-request-wrapper-properties",create:({workspace:e})=>({definitionFile:{httpEndpoint:({endpoint:t,service:r},{contents:i,relativeFilepath:n})=>{let a=OZD({endpoint:t,service:r,relativeFilepath:n,definitionFile:i,workspace:e}),u=[];for(let[l,d]of Object.entries(a))d.length<=1||u.push({severity:"fatal",message:`Multiple request properties have the name ${Au.bold(l)}. This is not suitable for code generation. Use the "name" property to deconflict.
|
|
1965
1965
|
`+d.map(s=>` - ${mZD(s)}`).join(`
|
|
@@ -1986,7 +1986,7 @@ ${d}`)}async function Hj6(e){await k$(void 0,"docker",["pull",e],{all:!0,doNotPi
|
|
|
1986
1986
|
${I.error}`):l.failAndThrow(`Failed to publish docs because API definition could not be uploaded. Please contact support@buildwithfern.com
|
|
1987
1987
|
${I.error}`)}},async({api:q,apiName:D})=>{let C=await c.api.v1.register.registerApiDefinition({orgId:sNt.FernRegistry.OrgId(t),apiId:sNt.FernRegistry.ApiId(D??q.id),definition:void 0,definitionV2:q});if(C.ok)return l.logger.debug(`Registered API Definition ${C.body.apiDefinitionId}`),C.body.apiDefinitionId;switch(C.error.error){case"UnauthorizedError":case"UserNotInOrgError":return l.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return D!=null?l.failAndThrow(`Failed to publish docs because API definition (${D}) could not be uploaded. Please contact support@buildwithfern.com
|
|
1988
1988
|
${JSON.stringify(C.error)}`):l.failAndThrow(`Failed to publish docs because API definition could not be uploaded. Please contact support@buildwithfern.com
|
|
1989
|
-
${JSON.stringify(C.error)}`)}}).resolve();if(g==null)return l.failAndThrow("Failed to publish docs.","Docs registration ID is missing.");l.logger.debug("Finishing docs registration...");let A=await c.docs.v2.write.finishDocsRegister(sNt.FernRegistry.docs.v1.write.DocsRegistrationId(g),{docsDefinition:M});if(A.ok){let q=VSe(O),D=DQr(q,q);l.logger.info(Au.green(`Published docs to ${D}`))}else switch(A.error.error){case"UnauthorizedError":case"UserNotInOrgError":return l.failAndThrow("Insufficient permissions. Failed to publish docs to "+i);case"DocsRegistrationIdNotFound":return l.failAndThrow("Failed to publish docs to "+i,`Docs registration ID ${g} does not exist.`);default:return l.failAndThrow("Failed to publish docs to "+i,A.error)}}async function X0P(e,t,r,i){let n=Date.now(),a=Object.keys(e).length;r.logger.debug(`Start uploading ${a} files...`);let u=i$n(Object.entries(e),i),l=0;for(let s of u){await Promise.all(s.map(async([c,{uploadUrl:b}])=>{let g=Oo.of(c),O=DO(t,g);try{let m=pZl.lookup(O);await _R.put(b,await(0,egP.readFile)(O),{headers:{"Content-Type":m===!1?"application/octet-stream":m}})}catch(m){r.failAndThrow(`Failed to upload ${O}`,m)}}));let o=Date.now();l+=s.length,r.logger.debug(`Uploaded ${l}/${a} files in ${o-n}ms`)}let d=Date.now();r.logger.debug(`Finished uploading ${a} files in ${d-n}ms`)}function Z0P(e,t){let r=[];for(let[i,n]of Object.entries(e)){let a=Oo.of(i),u=DO(t,a);r.push({relativeFilePath:a,absoluteFilePath:u,fileId:n.fileId})}return r}async function k0P(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 H16(e){try{return new URL(VSe(e)).pathname}catch{return}}async function _Zl({organization:e,fernWorkspaces:t,ossWorkspaces:r,docsWorkspace:i,context:n,token:a,instanceUrl:u,preview:l}){let d=i.config.instances;if(i.config=snn(i.config,{onError:c=>n.failAndThrow(c)},{substituteAsEmpty:l}),d.length===0){n.failAndThrow("No instances specified in docs.yml! Cannot register docs.");return}if(d.length>1&&u==null){n.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${d[0]?.url})`);return}let s=d.find(c=>c.url===u)??d[0];if(s==null){n.failAndThrow(`No docs instance with url ${u}. Failed to register.`);return}let o=[];s.customDomain!=null&&(typeof s.customDomain=="string"?o.push(s.customDomain):Array.isArray(s.customDomain)&&o.push(...s.customDomain)),await n.runInteractiveTask({name:s.url},async()=>{await tgP({docsWorkspace:i,customDomains:o,domain:s.url,token:a,organization:e,context:n,fernWorkspaces:t,ossWorkspaces:r,preview:l,editThisPage:s.editThisPage,isPrivate:s.private})})}async function rgP({organization:e,workspace:t,projectConfig:r,context:i,groupName:n,version:a,shouldLogS3Url:u,token:l,useLocalDocker:d,keepDocker:s,absolutePathToPreview:o,mode:c}){if(t.generatorsConfiguration==null){i.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){i.logger.warn(`This workspaces has no groups specified in ${q2}`);return}let b=n??t.generatorsConfiguration.defaultGroup;if(b==null)return i.failAndThrow(`No group specified. Use the --${adP} option, or set "${o5a}" in ${q2}`);let g=t.generatorsConfiguration.groups.find(O=>O.groupName===b);if(g==null)return i.failAndThrow(`Group '${b}' does not exist.`);if(await lYt({workspace:await t.toFernWorkspace({context:i}),context:i,logWarnings:!1}),d)await HXl({projectConfig:r,workspace:t,generatorGroup:g,keepDocker:s,context:i});else{if(!l)return i.failAndThrow("Please run fern login");await JXl({projectConfig:r,organization:e,workspace:t,context:i,generatorGroup:g,version:a,shouldLogS3Url:u,token:l,whitelabel:t.generatorsConfiguration.whitelabel,absolutePathToPreview:o,mode:c})}}var igP={PullRequest:"pull-request"};async function hZl({project:e,cliContext:t,version:r,groupName:i,shouldLogS3Url:n,keepDocker:a,useLocalDocker:u,preview:l,mode:d,force:s}){let o;if(!u){let c=await t.runTask(async b=>Vxe(b));c.type==="user"&&await t.runTask(async b=>{await C4t({organization:e.config.organization,token:c,context:b})}),o=c}for(let c of e.apiWorkspaces)for(let b of c.generatorsConfiguration?.groups.flatMap(g=>g.generators)??[]){let{shouldProceed:g}=await hdP(b.absolutePathToLocalOutput,t,s);g||t.failAndThrow("Generation cancelled")}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(c=>({name:c.workspaceName,group:i,generators:c.generatorsConfiguration?.groups.filter(b=>i==null?!0:b.groupName===i).map(b=>b.generators.map(g=>({name:g.name,version:g.version,outputMode:g.outputMode.type,config:g.config})))}))}}),await Promise.all(e.apiWorkspaces.map(async c=>{await t.runTaskForWorkspace(c,async b=>{let g=l?us(c.absoluteFilePath,Oo.of(odP)):void 0;g!=null&&b.logger.info(`Writing preview to ${g}`),await rgP({organization:e.config.organization,workspace:c,projectConfig:e.config,context:b,version:r,groupName:i,shouldLogS3Url:n,token:o,useLocalDocker:u,keepDocker:a,absolutePathToPreview:g,mode:d})})}))}async function ngP({project:e,cliContext:t,instance:r,preview:i}){let n=e.docsWorkspaces;if(n==null)return;let a=await t.runTask(async u=>Vxe(u));a.type==="user"&&await t.runTask(async u=>{await C4t({organization:e.config.organization,token:a,context:u})}),await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(n,async u=>{let l=await Promise.all(e.apiWorkspaces.map(async s=>s.toFernWorkspace({context:u},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0})));await lCo({workspace:n,context:u,logWarnings:!1,fernWorkspaces:l,ossWorkspaces:await qie(e),errorOnBrokenLinks:!1});let d=await qie(e);await _Zl({organization:e.config.organization,fernWorkspaces:l,ossWorkspaces:d,docsWorkspace:n,context:u,token:a,instanceUrl:r,preview:i})})}var D8u=require("fs/promises");var S8u=class{context;ir;buildingTypeIds=new Set;definitions={};constructor(t,r){this.context=t,this.ir=r}getTypeDeclarationForId({typeName:t,typeId:r}){let i=this.ir.types[r];return i??(t!=null&&this.context.logger.error(`Type ${t} not found`),this.context.failAndThrow())}isOptional(t){if(t.type==="container"&&t.container.type==="optional")return!0;if(t.type==="named"){let r=this.getTypeDeclarationForId({typeId:t.typeId});if(r.shape.type==="alias")return this.isOptional(r.shape.aliasOf)}return!1}registerDefinition(t,r){let i=this.getTypeDeclarationForId({typeId:t});this.definitions[this.getDefinitionKey(i)]=r}getDefinitions(){return this.definitions}hasDefinition(t){let r=this.getTypeDeclarationForId({typeId:t});return this.getDefinitionKey(r)in this.definitions}getDefinitionKey(t){return[...t.name.fernFilepath.allParts.map(r=>r.originalName),t.name.name.originalName].join(".")}buildingTypeDeclaration(t){this.buildingTypeIds.add(t)}finishedBuildingTypeDeclaration(t){this.buildingTypeIds.delete(t)}isBuildingTypeDeclaration(t){return this.buildingTypeIds.has(t)}};function agP({enum:e,context:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue)}}function ogP({container:e,context:t}){switch(e.type){case"list":return{type:"array",items:fje({typeReference:e.list,context:t})};case"map":return{type:"object",additionalProperties:fje({typeReference:e.valueType,context:t})};case"optional":return{oneOf:[fje({typeReference:e.optional,context:t}),{type:"null"}]};case"nullable":return{oneOf:[fje({typeReference:e.nullable,context:t}),{type:"null"}]};case"set":return{type:"array",items:fje({typeReference:e.set,context:t}),uniqueItems:!0};case"literal":switch(e.literal.type){case"string":return{const:e.literal.string};case"boolean":return{const:e.literal.boolean};default:Go(e.literal)}default:Go(e)}}function fje({typeReference:e,context:t}){switch(e.type){case"named":{let r=t.getTypeDeclarationForId({typeId:e.typeId});if(!t.hasDefinition(e.typeId)&&!t.isBuildingTypeDeclaration(e.typeId)){t.buildingTypeDeclaration(e.typeId);let i=k7n({typeDeclaration:r,context:t});t.registerDefinition(e.typeId,i),t.finishedBuildingTypeDeclaration(e.typeId)}return{$ref:`#/definitions/${t.getDefinitionKey(r)}`}}case"container":return ogP({container:e.container,context:t});case"primitive":return $16(e.primitive.v1);case"unknown":return{type:["string","number","boolean","object","array","null"]};default:Go(e)}}function $16(e){switch(e){case Kb.String:return{type:"string"};case Kb.Integer:return{type:"integer"};case Kb.Long:return{type:"integer"};case Kb.Uint:return{type:"integer",minimum:0};case Kb.Uint64:return{type:"integer",minimum:0};case Kb.Float:return{type:"number"};case Kb.Double:return{type:"number"};case Kb.Boolean:return{type:"boolean"};case Kb.Date:return{type:"string",format:"date"};case Kb.DateTime:return{type:"string",format:"date-time"};case Kb.Uuid:return{type:"string",format:"uuid"};case Kb.Base64:return{type:"string",contentEncoding:"base64"};case Kb.BigInteger:return{type:"string",pattern:"^-?[0-9]+$"};default:Go(e)}}function ugP({object:e,context:t}){let r={type:"object"},i=[...e.extendedProperties??[],...e.properties],n=i.map(u=>{let l=u.name.wireValue,d=fje({typeReference:u.valueType,context:t});return[l,d]}),a=i.filter(u=>!t.isOptional(u.valueType)).map(u=>u.name.wireValue);return n.length>0&&(r.properties=Object.fromEntries(n)),a.length>0&&(r.required=a),r.additionalProperties=e.extraProperties,r}function sgP({undiscriminatedUnion:e,context:t}){return{anyOf:e.members.map(r=>{let i=fje({typeReference:r.type,context:t});return r.docs&&(i.description=r.docs),i})}}function cgP({union:e,context:t}){let r=e.discriminant.wireValue;return{type:"object",properties:{[r]:{type:"string",enum:e.types.map(i=>i.discriminantValue.wireValue)}},required:[r],oneOf:e.types.map(i=>{let n={},a=[];switch(i.shape.propertiesType){case"samePropertiesAsObject":{let u=t.getTypeDeclarationForId({typeId:i.shape.typeId}),l=k7n({typeDeclaration:u,context:t});n=l.properties??{},a=Array.isArray(l.required)?l.required:[];break}case"singleProperty":n.value=fje({typeReference:i.shape.type,context:t});break;case"noProperties":break;default:Go(i.shape)}return{properties:{[r]:{const:i.discriminantValue.wireValue},...n},required:[r,...a]}})}}function k7n({typeDeclaration:e,context:t}){switch(e.shape.type){case"object":return ugP({object:e.shape,context:t});case"alias":return fje({typeReference:e.shape.aliasOf,context:t});case"enum":return agP({enum:e.shape,context:t});case"union":return cgP({union:e.shape,context:t});case"undiscriminatedUnion":return sgP({undiscriminatedUnion:e.shape,context:t});default:Go(e.shape)}}function yZl(e){let t=new S8u(e.context,e.ir),r=t.getTypeDeclarationForId({typeId:e.typeId,typeName:e.typeName});return{...k7n({typeDeclaration:r,context:t}),definitions:t.getDefinitions()}}async function lgP({typeLocator:e,project:t,jsonschemaFilepath:r,cliContext:i}){await Promise.all(t.apiWorkspaces.map(async n=>{await i.runTaskForWorkspace(n,async a=>{let u=await n.toFernWorkspace({context:a}),l=d4({workspace:u,context:a,generationLanguage:void 0,audiences:{type:"all"},keywords:void 0,smartCasing:!1,disableExamples:!0,version:void 0,packageName:void 0,readme:void 0,sourceResolver:new l4(a,u)}),d=e.split("."),s=ZKt({generationLanguage:void 0,keywords:void 0,smartCasing:!1}),o=d[d.length-1]??e,c=d.length>1?`${d.slice(0,-1).join("/")}.yml`:I1,b=Tg.generateTypeId({fernFilepath:Eie({relativeFilepath:Oo.of(`${d.slice(0,-1).join("/")}.yml`),casingsGenerator:s}),name:s.generateName(o)}),g=yZl({ir:l,typeName:o,typeId:b,context:a});await zf(Wp(r))||await(0,D8u.mkdir)(Wp(r),{recursive:!0}),await(0,D8u.writeFile)(r,JSON.stringify(g,null,2)),a.logger.info(Au.green(`Wrote JSON Schema to ${r}`))})}))}var vZl=Ei(p8s(),1);function fgP({request:e,example:t}){if(t.request==null&&Object.entries(e.body??{}).length===0)return{type:"equal"};if(typeof t.request?.jsonExample=="object"){if(BWt(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{})))return{type:"equal"};for(let[r,i]of Object.entries(t.request?.jsonExample??{})){let n=e.body[r];if(!B2t(n,i))return{type:"notEqual",parameter:[r],actualValue:n,expectedValue:i,location:"body"}}return{type:"equal"}}return BWt(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{}))?{type:"equal"}:{type:"notEqual",parameter:[],actualValue:e.body,expectedValue:t.request?.jsonExample,location:"body"}}function dgP({request:e,example:t}){for(let r of[...t.serviceHeaders,...t.endpointHeaders]){let i=e.headers[r.name.wireValue.toLowerCase()];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:i,expectedValue:r.value.jsonExample,location:"header"}}return{type:"equal"}}function pgP({request:e,example:t}){for(let r of[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters]){let i=e.params[r.name.originalName];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.originalName],actualValue:i,expectedValue:r.value.jsonExample,location:"path"}}return{type:"equal"}}function _gP({request:e,example:t}){for(let r of[...t.queryParameters]){let i=e.query[r.name.wireValue];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:i,expectedValue:r.value.jsonExample,location:"query"}}return{type:"equal"}}function hgP({request:e,example:t}){let r=pgP({request:e,example:t});if(r.type==="notEqual")return r;let i=_gP({request:e,example:t});if(i.type==="notEqual")return i;let n=dgP({request:e,example:t});if(n.type==="notEqual")return n;let a=fgP({request:e,example:t});return a.type==="notEqual"?a:{type:"equal"}}var QQi=class{app=(0,vZl.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:i}){this.context=t,this.app.use(vZl.default.json({limit:"50mb",strict:!1})),this.port=i;let n=new Map;for(let d of Object.values(r.services))for(let s of d.endpoints){let o=G16(s);t.logger.debug(`Registering ${s.method} ${o} ...`);let c=n.get(o)??new Map,b=c.get(s.method)??[];n.set(o,c.set(s.method,[...b,s]))}let a=(d,s)=>{let o=d[0],c=s[0],b=o.split("/"),g=c.split("/");if(b.length!==g.length)return b.length-g.length;for(let O=0;O<Math.min(b.length,g.length);O++){let m=b[O],w=g[O];if(m===w)continue;if(m==null||w==null)return m==null?-1:1;let M=m.startsWith(":"),A=w.startsWith(":");return M&&!A?1:!M&&A?-1:m.localeCompare(w)}return 0},l=Array.from(n).sort(a);for(let[d,s]of l)for(let[o,c]of s)switch(o){case"GET":this.app.get(d,Txa(c));break;case"POST":this.app.post(d,Txa(c));break;case"PUT":this.app.put(d,Txa(c));break;case"PATCH":this.app.patch(d,Txa(c));break;case"DELETE":this.app.delete(d,Txa(c));break}}stop(){this.server?.close()}async start(){return this.port=this.port??await zHn(),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 G16(e){let t="";e.fullPath.head.length>0&&(t=zv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=zv(t,":"+r.pathParameter),r.tail.length>0&&(t=zv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function Txa(e){let t=!1;return(r,i)=>{let n=[];for(let a of e)for(let u of[...a.userSpecifiedExamples,...a.autogeneratedExamples])if(t=!0,u.example!=null){let l=hgP({request:r,example:u.example});if(l.type==="notEqual"){n.push(l);continue}u.example.response?._visit({ok:d=>{d._visit({body:s=>{if(s==null){i.sendStatus(a.response?.statusCode??204);return}if(a.response?.body?.type==="text"){i.contentType("text/plain"),i.send(s.jsonExample);return}i.json(s.jsonExample)},stream:s=>{s.forEach(o=>{i.write(o.jsonExample)}),i.end()},sse:s=>{i.setHeader("Content-Type","text/event-stream"),s.forEach(o=>{i.write(`event: ${o.event}
|
|
1989
|
+
${JSON.stringify(C.error)}`)}}).resolve();if(g==null)return l.failAndThrow("Failed to publish docs.","Docs registration ID is missing.");l.logger.debug("Publishing docs...");let A=await c.docs.v2.write.finishDocsRegister(sNt.FernRegistry.docs.v1.write.DocsRegistrationId(g),{docsDefinition:M});if(A.ok){let q=VSe(O),D=DQr(q,q);l.logger.info(Au.green(`Published docs to ${D}`))}else switch(A.error.error){case"UnauthorizedError":case"UserNotInOrgError":return l.failAndThrow("Insufficient permissions. Failed to publish docs to "+i);case"DocsRegistrationIdNotFound":return l.failAndThrow("Failed to publish docs to "+i,`Docs registration ID ${g} does not exist.`);default:return l.failAndThrow("Failed to publish docs to "+i,A.error)}}async function X0P(e,t,r,i){let n=Date.now(),a=Object.keys(e).length;r.logger.debug(`Start uploading ${a} files...`);let u=i$n(Object.entries(e),i),l=0;for(let s of u){await Promise.all(s.map(async([c,{uploadUrl:b}])=>{let g=Oo.of(c),O=DO(t,g);try{let m=pZl.lookup(O);await _R.put(b,await(0,egP.readFile)(O),{headers:{"Content-Type":m===!1?"application/octet-stream":m}})}catch(m){r.failAndThrow(`Failed to upload ${O}`,m)}}));let o=Date.now();l+=s.length,r.logger.debug(`Uploaded ${l}/${a} files in ${o-n}ms`)}let d=Date.now();r.logger.debug(`Finished uploading ${a} files in ${d-n}ms`)}function Z0P(e,t){let r=[];for(let[i,n]of Object.entries(e)){let a=Oo.of(i),u=DO(t,a);r.push({relativeFilePath:a,absoluteFilePath:u,fileId:n.fileId})}return r}async function k0P(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 H16(e){try{return new URL(VSe(e)).pathname}catch{return}}async function _Zl({organization:e,fernWorkspaces:t,ossWorkspaces:r,docsWorkspace:i,context:n,token:a,instanceUrl:u,preview:l}){let d=i.config.instances;if(i.config=snn(i.config,{onError:c=>n.failAndThrow(c)},{substituteAsEmpty:l}),d.length===0){n.failAndThrow("No instances specified in docs.yml! Cannot register docs.");return}if(d.length>1&&u==null){n.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${d[0]?.url})`);return}let s=d.find(c=>c.url===u)??d[0];if(s==null){n.failAndThrow(`No docs instance with url ${u}. Failed to register.`);return}let o=[];s.customDomain!=null&&(typeof s.customDomain=="string"?o.push(s.customDomain):Array.isArray(s.customDomain)&&o.push(...s.customDomain)),await n.runInteractiveTask({name:s.url},async()=>{await tgP({docsWorkspace:i,customDomains:o,domain:s.url,token:a,organization:e,context:n,fernWorkspaces:t,ossWorkspaces:r,preview:l,editThisPage:s.editThisPage,isPrivate:s.private})})}async function rgP({organization:e,workspace:t,projectConfig:r,context:i,groupName:n,version:a,shouldLogS3Url:u,token:l,useLocalDocker:d,keepDocker:s,absolutePathToPreview:o,mode:c}){if(t.generatorsConfiguration==null){i.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){i.logger.warn(`This workspaces has no groups specified in ${q2}`);return}let b=n??t.generatorsConfiguration.defaultGroup;if(b==null)return i.failAndThrow(`No group specified. Use the --${adP} option, or set "${o5a}" in ${q2}`);let g=t.generatorsConfiguration.groups.find(O=>O.groupName===b);if(g==null)return i.failAndThrow(`Group '${b}' does not exist.`);if(await lYt({workspace:await t.toFernWorkspace({context:i}),context:i,logWarnings:!1}),d)await HXl({projectConfig:r,workspace:t,generatorGroup:g,keepDocker:s,context:i});else{if(!l)return i.failAndThrow("Please run fern login");await JXl({projectConfig:r,organization:e,workspace:t,context:i,generatorGroup:g,version:a,shouldLogS3Url:u,token:l,whitelabel:t.generatorsConfiguration.whitelabel,absolutePathToPreview:o,mode:c})}}var igP={PullRequest:"pull-request"};async function hZl({project:e,cliContext:t,version:r,groupName:i,shouldLogS3Url:n,keepDocker:a,useLocalDocker:u,preview:l,mode:d,force:s}){let o;if(!u){let c=await t.runTask(async b=>Vxe(b));c.type==="user"&&await t.runTask(async b=>{await C4t({organization:e.config.organization,token:c,context:b})}),o=c}for(let c of e.apiWorkspaces)for(let b of c.generatorsConfiguration?.groups.flatMap(g=>g.generators)??[]){let{shouldProceed:g}=await hdP(b.absolutePathToLocalOutput,t,s);g||t.failAndThrow("Generation cancelled")}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(c=>({name:c.workspaceName,group:i,generators:c.generatorsConfiguration?.groups.filter(b=>i==null?!0:b.groupName===i).map(b=>b.generators.map(g=>({name:g.name,version:g.version,outputMode:g.outputMode.type,config:g.config})))}))}}),await Promise.all(e.apiWorkspaces.map(async c=>{await t.runTaskForWorkspace(c,async b=>{let g=l?us(c.absoluteFilePath,Oo.of(odP)):void 0;g!=null&&b.logger.info(`Writing preview to ${g}`),await rgP({organization:e.config.organization,workspace:c,projectConfig:e.config,context:b,version:r,groupName:i,shouldLogS3Url:n,token:o,useLocalDocker:u,keepDocker:a,absolutePathToPreview:g,mode:d})})}))}async function ngP({project:e,cliContext:t,instance:r,preview:i}){let n=e.docsWorkspaces;if(n==null)return;let a=await t.runTask(async u=>Vxe(u));a.type==="user"&&await t.runTask(async u=>{await C4t({organization:e.config.organization,token:a,context:u})}),await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(n,async u=>{let l=await Promise.all(e.apiWorkspaces.map(async s=>s.toFernWorkspace({context:u},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0})));await lCo({workspace:n,context:u,logWarnings:!1,fernWorkspaces:l,ossWorkspaces:await qie(e),errorOnBrokenLinks:!1});let d=await qie(e);await _Zl({organization:e.config.organization,fernWorkspaces:l,ossWorkspaces:d,docsWorkspace:n,context:u,token:a,instanceUrl:r,preview:i})})}var D8u=require("fs/promises");var S8u=class{context;ir;buildingTypeIds=new Set;definitions={};constructor(t,r){this.context=t,this.ir=r}getTypeDeclarationForId({typeName:t,typeId:r}){let i=this.ir.types[r];return i??(t!=null&&this.context.logger.error(`Type ${t} not found`),this.context.failAndThrow())}isOptional(t){if(t.type==="container"&&t.container.type==="optional")return!0;if(t.type==="named"){let r=this.getTypeDeclarationForId({typeId:t.typeId});if(r.shape.type==="alias")return this.isOptional(r.shape.aliasOf)}return!1}registerDefinition(t,r){let i=this.getTypeDeclarationForId({typeId:t});this.definitions[this.getDefinitionKey(i)]=r}getDefinitions(){return this.definitions}hasDefinition(t){let r=this.getTypeDeclarationForId({typeId:t});return this.getDefinitionKey(r)in this.definitions}getDefinitionKey(t){return[...t.name.fernFilepath.allParts.map(r=>r.originalName),t.name.name.originalName].join(".")}buildingTypeDeclaration(t){this.buildingTypeIds.add(t)}finishedBuildingTypeDeclaration(t){this.buildingTypeIds.delete(t)}isBuildingTypeDeclaration(t){return this.buildingTypeIds.has(t)}};function agP({enum:e,context:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue)}}function ogP({container:e,context:t}){switch(e.type){case"list":return{type:"array",items:fje({typeReference:e.list,context:t})};case"map":return{type:"object",additionalProperties:fje({typeReference:e.valueType,context:t})};case"optional":return{oneOf:[fje({typeReference:e.optional,context:t}),{type:"null"}]};case"nullable":return{oneOf:[fje({typeReference:e.nullable,context:t}),{type:"null"}]};case"set":return{type:"array",items:fje({typeReference:e.set,context:t}),uniqueItems:!0};case"literal":switch(e.literal.type){case"string":return{const:e.literal.string};case"boolean":return{const:e.literal.boolean};default:Go(e.literal)}default:Go(e)}}function fje({typeReference:e,context:t}){switch(e.type){case"named":{let r=t.getTypeDeclarationForId({typeId:e.typeId});if(!t.hasDefinition(e.typeId)&&!t.isBuildingTypeDeclaration(e.typeId)){t.buildingTypeDeclaration(e.typeId);let i=k7n({typeDeclaration:r,context:t});t.registerDefinition(e.typeId,i),t.finishedBuildingTypeDeclaration(e.typeId)}return{$ref:`#/definitions/${t.getDefinitionKey(r)}`}}case"container":return ogP({container:e.container,context:t});case"primitive":return $16(e.primitive.v1);case"unknown":return{type:["string","number","boolean","object","array","null"]};default:Go(e)}}function $16(e){switch(e){case Kb.String:return{type:"string"};case Kb.Integer:return{type:"integer"};case Kb.Long:return{type:"integer"};case Kb.Uint:return{type:"integer",minimum:0};case Kb.Uint64:return{type:"integer",minimum:0};case Kb.Float:return{type:"number"};case Kb.Double:return{type:"number"};case Kb.Boolean:return{type:"boolean"};case Kb.Date:return{type:"string",format:"date"};case Kb.DateTime:return{type:"string",format:"date-time"};case Kb.Uuid:return{type:"string",format:"uuid"};case Kb.Base64:return{type:"string",contentEncoding:"base64"};case Kb.BigInteger:return{type:"string",pattern:"^-?[0-9]+$"};default:Go(e)}}function ugP({object:e,context:t}){let r={type:"object"},i=[...e.extendedProperties??[],...e.properties],n=i.map(u=>{let l=u.name.wireValue,d=fje({typeReference:u.valueType,context:t});return[l,d]}),a=i.filter(u=>!t.isOptional(u.valueType)).map(u=>u.name.wireValue);return n.length>0&&(r.properties=Object.fromEntries(n)),a.length>0&&(r.required=a),r.additionalProperties=e.extraProperties,r}function sgP({undiscriminatedUnion:e,context:t}){return{anyOf:e.members.map(r=>{let i=fje({typeReference:r.type,context:t});return r.docs&&(i.description=r.docs),i})}}function cgP({union:e,context:t}){let r=e.discriminant.wireValue;return{type:"object",properties:{[r]:{type:"string",enum:e.types.map(i=>i.discriminantValue.wireValue)}},required:[r],oneOf:e.types.map(i=>{let n={},a=[];switch(i.shape.propertiesType){case"samePropertiesAsObject":{let u=t.getTypeDeclarationForId({typeId:i.shape.typeId}),l=k7n({typeDeclaration:u,context:t});n=l.properties??{},a=Array.isArray(l.required)?l.required:[];break}case"singleProperty":n.value=fje({typeReference:i.shape.type,context:t});break;case"noProperties":break;default:Go(i.shape)}return{properties:{[r]:{const:i.discriminantValue.wireValue},...n},required:[r,...a]}})}}function k7n({typeDeclaration:e,context:t}){switch(e.shape.type){case"object":return ugP({object:e.shape,context:t});case"alias":return fje({typeReference:e.shape.aliasOf,context:t});case"enum":return agP({enum:e.shape,context:t});case"union":return cgP({union:e.shape,context:t});case"undiscriminatedUnion":return sgP({undiscriminatedUnion:e.shape,context:t});default:Go(e.shape)}}function yZl(e){let t=new S8u(e.context,e.ir),r=t.getTypeDeclarationForId({typeId:e.typeId,typeName:e.typeName});return{...k7n({typeDeclaration:r,context:t}),definitions:t.getDefinitions()}}async function lgP({typeLocator:e,project:t,jsonschemaFilepath:r,cliContext:i}){await Promise.all(t.apiWorkspaces.map(async n=>{await i.runTaskForWorkspace(n,async a=>{let u=await n.toFernWorkspace({context:a}),l=d4({workspace:u,context:a,generationLanguage:void 0,audiences:{type:"all"},keywords:void 0,smartCasing:!1,disableExamples:!0,version:void 0,packageName:void 0,readme:void 0,sourceResolver:new l4(a,u)}),d=e.split("."),s=ZKt({generationLanguage:void 0,keywords:void 0,smartCasing:!1}),o=d[d.length-1]??e,c=d.length>1?`${d.slice(0,-1).join("/")}.yml`:I1,b=Tg.generateTypeId({fernFilepath:Eie({relativeFilepath:Oo.of(`${d.slice(0,-1).join("/")}.yml`),casingsGenerator:s}),name:s.generateName(o)}),g=yZl({ir:l,typeName:o,typeId:b,context:a});await zf(Wp(r))||await(0,D8u.mkdir)(Wp(r),{recursive:!0}),await(0,D8u.writeFile)(r,JSON.stringify(g,null,2)),a.logger.info(Au.green(`Wrote JSON Schema to ${r}`))})}))}var vZl=Ei(p8s(),1);function fgP({request:e,example:t}){if(t.request==null&&Object.entries(e.body??{}).length===0)return{type:"equal"};if(typeof t.request?.jsonExample=="object"){if(BWt(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{})))return{type:"equal"};for(let[r,i]of Object.entries(t.request?.jsonExample??{})){let n=e.body[r];if(!B2t(n,i))return{type:"notEqual",parameter:[r],actualValue:n,expectedValue:i,location:"body"}}return{type:"equal"}}return BWt(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{}))?{type:"equal"}:{type:"notEqual",parameter:[],actualValue:e.body,expectedValue:t.request?.jsonExample,location:"body"}}function dgP({request:e,example:t}){for(let r of[...t.serviceHeaders,...t.endpointHeaders]){let i=e.headers[r.name.wireValue.toLowerCase()];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:i,expectedValue:r.value.jsonExample,location:"header"}}return{type:"equal"}}function pgP({request:e,example:t}){for(let r of[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters]){let i=e.params[r.name.originalName];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.originalName],actualValue:i,expectedValue:r.value.jsonExample,location:"path"}}return{type:"equal"}}function _gP({request:e,example:t}){for(let r of[...t.queryParameters]){let i=e.query[r.name.wireValue];if(!BWt(i,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:i,expectedValue:r.value.jsonExample,location:"query"}}return{type:"equal"}}function hgP({request:e,example:t}){let r=pgP({request:e,example:t});if(r.type==="notEqual")return r;let i=_gP({request:e,example:t});if(i.type==="notEqual")return i;let n=dgP({request:e,example:t});if(n.type==="notEqual")return n;let a=fgP({request:e,example:t});return a.type==="notEqual"?a:{type:"equal"}}var QQi=class{app=(0,vZl.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:i}){this.context=t,this.app.use(vZl.default.json({limit:"50mb",strict:!1})),this.port=i;let n=new Map;for(let d of Object.values(r.services))for(let s of d.endpoints){let o=G16(s);t.logger.debug(`Registering ${s.method} ${o} ...`);let c=n.get(o)??new Map,b=c.get(s.method)??[];n.set(o,c.set(s.method,[...b,s]))}let a=(d,s)=>{let o=d[0],c=s[0],b=o.split("/"),g=c.split("/");if(b.length!==g.length)return b.length-g.length;for(let O=0;O<Math.min(b.length,g.length);O++){let m=b[O],w=g[O];if(m===w)continue;if(m==null||w==null)return m==null?-1:1;let M=m.startsWith(":"),A=w.startsWith(":");return M&&!A?1:!M&&A?-1:m.localeCompare(w)}return 0},l=Array.from(n).sort(a);for(let[d,s]of l)for(let[o,c]of s)switch(o){case"GET":this.app.get(d,Txa(c));break;case"POST":this.app.post(d,Txa(c));break;case"PUT":this.app.put(d,Txa(c));break;case"PATCH":this.app.patch(d,Txa(c));break;case"DELETE":this.app.delete(d,Txa(c));break}}stop(){this.server?.close()}async start(){return this.port=this.port??await zHn(),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 G16(e){let t="";e.fullPath.head.length>0&&(t=zv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=zv(t,":"+r.pathParameter),r.tail.length>0&&(t=zv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function Txa(e){let t=!1;return(r,i)=>{let n=[];for(let a of e)for(let u of[...a.userSpecifiedExamples,...a.autogeneratedExamples])if(t=!0,u.example!=null){let l=hgP({request:r,example:u.example});if(l.type==="notEqual"){n.push(l);continue}u.example.response?._visit({ok:d=>{d._visit({body:s=>{if(s==null){i.sendStatus(a.response?.statusCode??204);return}if(a.response?.body?.type==="text"){i.contentType("text/plain"),i.send(s.jsonExample);return}i.json(s.jsonExample)},stream:s=>{s.forEach(o=>{i.write(o.jsonExample)}),i.end()},sse:s=>{i.setHeader("Content-Type","text/event-stream"),s.forEach(o=>{i.write(`event: ${o.event}
|
|
1990
1990
|
`),i.write(`data: ${JSON.stringify(o.data.jsonExample)}
|
|
1991
1991
|
|
|
1992
1992
|
`)}),i.end()},_other:T2t})},error:d=>{i.status(a.response?.statusCode??500),d.body==null?i.end():i.json(d.body.jsonExample)},_other:T2t});return}if(!t){i.status(500).send("This endpoint doesn't have any examples");return}i.status(404).send({message:"Failed to match request with example",request:{url:r.url,headers:r.headers,body:r.body,pathParameters:r.params,queryParameters:r.query},notEqualReasons:n})}}async function ygP({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 --${O4u} option.`);let i=t.apiWorkspaces[0];await e.runTaskForWorkspace(i,async n=>{let a=await i.toFernWorkspace({context:n});await lYt({context:n,logWarnings:!1,workspace:a});let u=d4({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:n,sourceResolver:new l4(n,a)}),l=new QQi({context:n,ir:u,port:r});await l.start(),await l.keepAlive()})}var vgP=require("fs/promises"),bgP=Ei(require("path"),1),ggP=Ei(XDo(),1),OgP=Ei(ite(),1);var mgP=Ei(N1i(),1);async function PgP({project:e,cliContext:t,token:r,version:i}){r.type==="user"&&await t.runTask(async a=>{await C4t({organization:e.config.organization,token:r,context:a})});let n=l5r({token:r.value});await Promise.all(e.apiWorkspaces.map(async a=>{await t.runTaskForWorkspace(a,async u=>{if(a instanceof o5){u.failWithoutThrowing("Registering from OpenAPI not currently supported.");return}let l=await a.toFernWorkspace({context:u}),d=await n.definitionRegistry.registerUsingOrgToken({apiId:mgP.FernFiddle.ApiId(l.definition.rootApiFile.contents.name),version:i,cliVersion:t.environment.packageVersion,yamlSchemaVersion:`${1}`});if(!d.ok){d.error._visit({versionAlreadyExists:()=>{u.failAndThrow(`Version ${i??""} is already registered`)},_other:c=>{u.failAndThrow("Failed to register",c)}});return}let s=await OgP.default.dir(),o=bgP.default.join(s.path,"definition.tgz");u.logger.debug(`Compressing definition at ${s.path}`),await(0,ggP.create)({file:o,cwd:l.absoluteFilePath},["."]),u.logger.info("Uploading definition..."),await _R.put(d.body.definitionS3UploadUrl,await(0,vgP.readFile)(o)),u.logger.info(`Registered @${e.config.organization}/${l.definition.rootApiFile.contents.name}:${d.body.version}`)})}))}async function jgP({project:e,cliContext:t,token:r}){await Promise.all(e.apiWorkspaces.map(async i=>{await t.runTaskForWorkspace(i,async n=>{await NUs({organization:e.config.organization,workspace:await i.toFernWorkspace({context:n}),context:n,token:r,audiences:{type:"all"},snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0}}),n.logger.info(Au.green("Registered API"))})}))}async function wgP({cliContext:e,project:t,testCommand:r,generationLanguage:i}){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 --${O4u} option.`);let n=t.apiWorkspaces[0];await e.runTaskForWorkspace(n,async a=>{let u=await n.toFernWorkspace({context:a});await lYt({context:a,logWarnings:!1,workspace:u});let l=d4({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,sourceResolver:new l4(a,u)}),d=new QQi({context:a,ir:l,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 c=r.split(" && ").map(b=>b.split(" "));for(let b of c){let{failed:g}=await k$(e.logger,b[0]??"",b.slice(1),{reject:!1,env:{TESTS_BASE_URL:o}});g&&(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 SgP=Ei(Kto(),1);async function DgP({orgId:e,taskContext:t}){let r=await Vxe(t);r.type==="user"&&await C4t({organization:e,token:r,context:t});let n=await T4t({token:r.value}).registry.generateRegistryTokens({organizationId:SgP.FernVenusApi.OrganizationId(e)});if(n.ok){t.logger.info(Au.green(`Generated a FERN_TOKEN for ${e}: ${n.body.npm.token}`));return}n.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 EgP=Ei(require("fs"),1),Cxa=require("fs/promises");var MgP=require("stream"),AgP=require("stream/promises");async function Q16(e,t,r){let i=await fetch(e);if(i.ok&&i.body){r.debug("Origin successfully fetched, writing to file");let n=EgP.createWriteStream(t);await(0,AgP.finished)(MgP.Readable.fromWeb(i.body).pipe(n));let a=await(0,Cxa.readFile)(t,"utf8");try{await(0,Cxa.writeFile)(t,JSON.stringify(JSON.parse(a),void 0,2),"utf8")}catch{await(0,Cxa.writeFile)(t,ap.dump(ap.load(a)),"utf8")}r.debug("File written successfully")}}async function qgP({cliContext:e,project:{apiWorkspaces:t}}){for(let r of t)r.type!=="fern"&&await e.runTaskForWorkspace(r,async i=>{let n=await w4t({absolutePathToWorkspace:r.absoluteFilePath,context:i});if(n==null){e.logger.info("No API configuration was found, skipping API update.");return}if(n.api!=null){if(n.api.type==="conjure"){e.logger.info("Encountered conjure API definition, skipping API update.");return}if(n.api.type==="singleNamespace"){await bZl({cliContext:e,workspacePath:r.absoluteFilePath,apiLocations:n.api.definitions});return}else if(n.api.type==="multiNamespace"){n.api.rootDefinitions!=null&&await bZl({cliContext:e,workspacePath:r.absoluteFilePath,apiLocations:n.api.rootDefinitions});for(let[a,u]of Object.entries(n.api.definitions))await bZl({cliContext:e,workspacePath:r.absoluteFilePath,apiLocations:u})}}})}async function J16({cliContext:e,workspacePath:t,apiLocation:r}){if(r.schema.type==="protobuf"){e.logger.info("Encountered conjure API definition, skipping API update.");return}r.origin!=null&&(e.logger.info(`Origin found, fetching spec from ${r.origin}`),await Q16(r.origin,us(t,Oo.of(r.schema.path)),e.logger))}async function bZl({cliContext:e,workspacePath:t,apiLocations:r}){for(let i of r)await J16({cliContext:e,workspacePath:t,apiLocation:i})}var ZwP=require("fs/promises");var zgP=Symbol.for("immer-nothing"),TgP=Symbol.for("immer-draftable"),lAe=Symbol.for("immer-state"),K16=process.env.NODE_ENV!=="production"?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function dje(e,...t){if(process.env.NODE_ENV!=="production"){let r=K16[e],i=typeof r=="function"?r.apply(null,t):r;throw new Error(`[Immer] ${i}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var eNn=Object.getPrototypeOf;function tNn(e){return!!e&&!!e[lAe]}function KQi(e){return e?RgP(e)||Array.isArray(e)||!!e[TgP]||!!e.constructor?.[TgP]||T8u(e)||C8u(e):!1}var Y16=Object.prototype.constructor.toString();function RgP(e){if(!e||typeof e!="object")return!1;let t=eNn(e);if(t===null)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===Y16}function E8u(e,t){q8u(e)===0?Reflect.ownKeys(e).forEach(r=>{t(r,e[r],e)}):e.forEach((r,i)=>t(i,r,e))}function q8u(e){let t=e[lAe];return t?t.type_:Array.isArray(e)?1:T8u(e)?2:C8u(e)?3:0}function mZl(e,t){return q8u(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function NgP(e,t,r){let i=q8u(e);i===2?e.set(t,r):i===3?e.add(r):e[t]=r}function X16(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function T8u(e){return e instanceof Map}function C8u(e){return e instanceof Set}function JQi(e){return e.copy_||e.base_}function PZl(e,t){if(T8u(e))return new Map(e);if(C8u(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=RgP(e);if(t===!0||t==="class_only"&&!r){let i=Object.getOwnPropertyDescriptors(e);delete i[lAe];let n=Reflect.ownKeys(i);for(let a=0;a<n.length;a++){let u=n[a],l=i[u];l.writable===!1&&(l.writable=!0,l.configurable=!0),(l.get||l.set)&&(i[u]={configurable:!0,writable:!0,enumerable:l.enumerable,value:e[u]})}return Object.create(eNn(e),i)}else{let i=eNn(e);if(i!==null&&r)return{...e};let n=Object.create(i);return Object.assign(n,e)}}function EZl(e,t=!1){return B8u(e)||tNn(e)||!KQi(e)||(q8u(e)>1&&(e.set=e.add=e.clear=e.delete=Z16),Object.freeze(e),t&&Object.entries(e).forEach(([r,i])=>EZl(i,!0))),e}function Z16(){dje(2)}function B8u(e){return Object.isFrozen(e)}var k16={};function YQi(e){let t=k16[e];return t||dje(0,e),t}var Bxa;function FgP(){return Bxa}function eS6(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function CgP(e,t){t&&(YQi("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function jZl(e){wZl(e),e.drafts_.forEach(tS6),e.drafts_=null}function wZl(e){e===Bxa&&(Bxa=e.parent_)}function BgP(e){return Bxa=eS6(Bxa,e)}function tS6(e){let t=e[lAe];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function xgP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[lAe].modified_&&(jZl(t),dje(4)),KQi(e)&&(e=M8u(t,e),t.parent_||A8u(t,e)),t.patches_&&YQi("Patches").generateReplacementPatches_(r[lAe].base_,e,t.patches_,t.inversePatches_)):e=M8u(t,r,[]),jZl(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==zgP?e:void 0}function M8u(e,t,r){if(B8u(t))return t;let i=t[lAe];if(!i)return E8u(t,(n,a)=>IgP(e,i,t,n,a,r)),t;if(i.scope_!==e)return t;if(!i.modified_)return A8u(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;let n=i.copy_,a=n,u=!1;i.type_===3&&(a=new Set(n),n.clear(),u=!0),E8u(a,(l,d)=>IgP(e,i,n,l,d,r,u)),A8u(e,n,!1),r&&e.patches_&&YQi("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function IgP(e,t,r,i,n,a,u){if(process.env.NODE_ENV!=="production"&&n===r&&dje(5),tNn(n)){let l=a&&t&&t.type_!==3&&!mZl(t.assigned_,i)?a.concat(i):void 0,d=M8u(e,n,l);if(NgP(r,i,d),tNn(d))e.canAutoFreeze_=!1;else return}else u&&r.add(n);if(KQi(n)&&!B8u(n)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;M8u(e,n),(!t||!t.scope_.parent_)&&typeof i!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,i)&&A8u(e,n)}}function A8u(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&EZl(t,r)}function rS6(e,t){let r=Array.isArray(e),i={type_:r?1:0,scope_:t?t.scope_:FgP(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},n=i,a=MZl;r&&(n=[i],a=xxa);let{revoke:u,proxy:l}=Proxy.revocable(n,a);return i.draft_=l,i.revoke_=u,l}var MZl={get(e,t){if(t===lAe)return e;let r=JQi(e);if(!mZl(r,t))return iS6(e,r,t);let i=r[t];return e.finalized_||!KQi(i)?i:i===gZl(e.base_,t)?(OZl(e),e.copy_[t]=DZl(i,e)):i},has(e,t){return t in JQi(e)},ownKeys(e){return Reflect.ownKeys(JQi(e))},set(e,t,r){let i=LgP(JQi(e),t);if(i?.set)return i.set.call(e.draft_,r),!0;if(!e.modified_){let n=gZl(JQi(e),t),a=n?.[lAe];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(X16(r,n)&&(r!==void 0||mZl(e.base_,t)))return!0;OZl(e),SZl(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return gZl(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,OZl(e),SZl(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=JQi(e),i=Reflect.getOwnPropertyDescriptor(r,t);return i&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:i.enumerable,value:r[t]}},defineProperty(){dje(11)},getPrototypeOf(e){return eNn(e.base_)},setPrototypeOf(){dje(12)}},xxa={};E8u(MZl,(e,t)=>{xxa[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});xxa.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&dje(13),xxa.set.call(this,e,t,void 0)};xxa.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&dje(14),MZl.set.call(this,e[0],t,r,e[0])};function gZl(e,t){let r=e[lAe];return(r?JQi(r):e)[t]}function iS6(e,t,r){let i=LgP(t,r);return i?"value"in i?i.value:i.get?.call(e.draft_):void 0}function LgP(e,t){if(!(t in e))return;let r=eNn(e);for(;r;){let i=Object.getOwnPropertyDescriptor(r,t);if(i)return i;r=eNn(r)}}function SZl(e){e.modified_||(e.modified_=!0,e.parent_&&SZl(e.parent_))}function OZl(e){e.copy_||(e.copy_=PZl(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var nS6=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,r,i)=>{if(typeof t=="function"&&typeof r!="function"){let a=r;r=t;let u=this;return function(d=a,...s){return u.produce(d,o=>r.call(this,o,...s))}}typeof r!="function"&&dje(6),i!==void 0&&typeof i!="function"&&dje(7);let n;if(KQi(t)){let a=BgP(this),u=DZl(t,void 0),l=!0;try{n=r(u),l=!1}finally{l?jZl(a):wZl(a)}return CgP(a,i),xgP(n,a)}else if(!t||typeof t!="object"){if(n=r(t),n===void 0&&(n=t),n===zgP&&(n=void 0),this.autoFreeze_&&EZl(n,!0),i){let a=[],u=[];YQi("Patches").generateReplacementPatches_(t,n,a,u),i(a,u)}return n}else dje(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(u,...l)=>this.produceWithPatches(u,d=>t(d,...l));let i,n;return[this.produce(t,r,(u,l)=>{i=u,n=l}),i,n]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){KQi(e)||dje(8),tNn(e)&&(e=aS6(e));let t=BgP(this),r=DZl(e,void 0);return r[lAe].isManual_=!0,wZl(t),r}finishDraft(e,t){let r=e&&e[lAe];(!r||!r.isManual_)&&dje(9);let{scope_:i}=r;return CgP(i,t),xgP(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let n=t[r];if(n.path.length===0&&n.op==="replace"){e=n.value;break}}r>-1&&(t=t.slice(r+1));let i=YQi("Patches").applyPatches_;return tNn(e)?i(e,t):this.produce(e,n=>i(n,t))}};function DZl(e,t){let r=T8u(e)?YQi("MapSet").proxyMap_(e,t):C8u(e)?YQi("MapSet").proxySet_(e,t):rS6(e,t);return(t?t.scope_:FgP()).drafts_.push(r),r}function aS6(e){return tNn(e)||dje(10,e),UgP(e)}function UgP(e){if(!KQi(e)||B8u(e))return e;let t=e[lAe],r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=PZl(e,t.scope_.immer_.useStrictShallowCopy_)}else r=PZl(e,!0);return E8u(r,(i,n)=>{NgP(r,i,UgP(n))}),t&&(t.finalized_=!1),r}var fAe=new nS6,VgP=fAe.produce,nIU=fAe.produceWithPatches.bind(fAe),aIU=fAe.setAutoFreeze.bind(fAe),oIU=fAe.setUseStrictShallowCopy.bind(fAe),uIU=fAe.applyPatches.bind(fAe),sIU=fAe.createDraft.bind(fAe),cIU=fAe.finishDraft.bind(fAe);var x8u=require("fs/promises");var WgP="fern";async function HgP(e){let t=await oS6(),r=(n,a)=>n.localeCompare(a,"en");return t==null&&e.failAndThrow(`Directory "${WgP}" not found.`),(await YE("*/definition/**/*.yml",{cwd:t,absolute:!0})).sort(r).map(nf.of)}async function oS6(){let e=await QE(WgP,{type:"directory"});if(e!=null)return nf.of(e)}var AZl={name:"discriminant",summary:`Adds 'discriminant: "_type"' to all discriminated types.`,run:async({context:e})=>{let t=await HgP(e);for(let r of t)try{let i=await uS6(r),n=sS6(i);await(0,x8u.writeFile)(r,n)}catch(i){e.failAndThrow("Failed to migrate "+r,i)}}};async function uS6(e){return(await(0,x8u.readFile)(e)).toString()}var $gP=/^(\s{2,})union:\s*$/gm;function sS6(e){return e.replaceAll($gP,t=>{let i=[...t.matchAll($gP)][0]?.[1];if(i==null)return t;let n=" ".repeat(i.length*1.5);return[`${i}discriminant:`,`${n}value: _type`,`${n}name: type`,t].join(`
|