fern-api 3.85.3 → 3.85.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +5 -5
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1286,7 +1286,7 @@ ${$du.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&Kys(th
1286
1286
  `+Yyt.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Yyt.default.cyan(nhu(t,this.opt.mask)):Yyt.default.italic(Yyt.default.dim("[hidden]")):this.opt.mask?nhu(t,this.opt.mask):Yyt.default.italic(Yyt.default.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 dZr=He(t1(),1);var ryu=He(jgs(),1),fZr=require("child_process"),FFt=require("fs"),pZr=He(require("path"),1),nyu=He(require("os"),1),iyu=require("crypto"),dAs=He(eyu(),1);var cZr=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var tEr=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var uZr=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var lZr=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function mZr(e="",t,r){let n=new hAs(e,r);n.runAsync((i,o)=>{if(i)setImmediate(t,i,void 0);else try{n.cleanup(),setImmediate(t,void 0,o)}catch(s){setImmediate(t,s,void 0)}})}function tyu(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function l1y(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e.charAt(n);n>0&&i===" "&&e[n-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${i}`}return r.length>0&&t.push(r),t}var hAs=class{text="";tempFile;editor;lastExitStatus=0;fileOptions={};get temp_file(){return console.log("DEPRECATED: temp_file. Use tempFile moving forward."),this.tempFile}get last_exit_status(){return console.log("DEPRECATED: last_exit_status. Use lastExitStatus moving forward."),this.lastExitStatus}constructor(t="",r){this.text=t,r&&(this.fileOptions=r),this.determineEditor(),this.createTemporaryFile()}run(){return this.launchEditor(),this.readTemporaryFile(),this.text}runAsync(t){try{this.launchEditorAsync(()=>{try{this.readTemporaryFile(),setImmediate(t,void 0,this.text)}catch(r){setImmediate(t,r,void 0)}})}catch(r){setImmediate(t,r,void 0)}}cleanup(){this.removeTemporaryFile()}determineEditor(){let t=process.env.VISUAL?process.env.VISUAL:process.env.EDITOR?process.env.EDITOR:process.platform.startsWith("win")?"notepad":"vim",r=l1y(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??nyu.default.tmpdir(),r=(0,iyu.randomUUID)(),n=tyu(this.fileOptions.prefix),i=tyu(this.fileOptions.postfix),o=`${n}${r}${i}`,s=pZr.default.resolve(t,o),a=pZr.default.resolve(t)+pZr.default.sep;if(!s.startsWith(a))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=s;let c={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(c.mode=this.fileOptions.mode),(0,FFt.writeFileSync)(this.tempFile,this.text,c)}catch(t){throw new cZr(t)}}readTemporaryFile(){try{let t=(0,FFt.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,ryu.detect)(t)??"utf8";dAs.default.encodingExists(r)||(r="utf8"),this.text=dAs.default.decode(t,r)}}catch(t){throw new uZr(t)}}removeTemporaryFile(){try{(0,FFt.unlinkSync)(this.tempFile)}catch(t){throw new lZr(t)}}launchEditor(){try{let t=(0,fZr.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new tEr(t)}}launchEditorAsync(t){try{(0,fZr.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new tEr(r)}}};var oyu=He(y9(),1);var rEr=class extends r1{_run(t){this.done=t,this.editorResult=new oyu.Subject;let r=Ek(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?dZr.default.dim("Received"):dZr.default.dim("Press <enter> to launch your preferred editor."),t&&(r=dZr.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),mZr(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 lyu=require("stream");var cyu=He(require("readline"),1),uyu=He(ayu(),1),tgt=class{constructor(t){this.rl||=cyu.default.createInterface(f1y(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 f1y(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new uyu.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var nEr=class extends tgt{constructor(t={}){super(t),this.log=new lyu.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return M0r(this.rl,this.bottomBar.split(`
1287
1287
  `).length),this}updateBottomBar(t){return M0r(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+`
1288
1288
  `}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&&NXr(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var JA=He(y9(),1),myu=He(a0r(),1);var hZr=He(y9(),1),pyu=He(a0r(),1),yZr=function(e,t,r){return typeof e[t]!="function"?(0,hZr.of)(e):(0,hZr.from)((0,pyu.default)(e[t])(r).then(n=>(e[t]=n,e)))};var fyu={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,o,s)=>{i==="__proto__"||i==="constructor"||(o===s.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=o=>String.prototype.split.call(t,o).filter(Boolean).reduce((s,a)=>s!=null?s[a]:s,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},NFt=class extends tgt{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,JA.from)(t):(0,JA.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,JA.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,JA.from)([t]),this.process=n.pipe((0,JA.concatMap)(this.processQuestion.bind(this)),(0,JA.publish)()),this.process.connect(),this.process.pipe((0,JA.reduce)((i,o)=>(fyu.set(i,o.name,o.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,JA.defer)(()=>(0,JA.of)(t).pipe((0,JA.concatMap)(this.setDefaultType.bind(this)),(0,JA.concatMap)(this.filterIfRunnable.bind(this)),(0,JA.concatMap)(()=>yZr(t,"message",this.answers)),(0,JA.concatMap)(()=>yZr(t,"default",this.answers)),(0,JA.concatMap)(()=>yZr(t,"choices",this.answers)),(0,JA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,JA.defer)(()=>(0,JA.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,JA.defer)(()=>(0,JA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&fyu.get(this.answers,t.name)!==void 0)return JA.EMPTY;if(t.when===!1)return JA.EMPTY;if(typeof t.when!="function")return(0,JA.of)(t);let{answers:r}=this;return(0,JA.defer)(()=>(0,JA.from)((0,myu.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,JA.filter)(n=>n!=null)))}};function dyu(e){let t=function(r,n){let i;try{i=new NFt(t.prompts,e)}catch(s){return Promise.reject(s)}let o=i.run(r,n);return o.ui=i,o};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",U0r),this.registerPrompt("input",Jyt),this.registerPrompt("number",L0r),this.registerPrompt("confirm",q0r),this.registerPrompt("rawlist",W0r),this.registerPrompt("expand",G0r),this.registerPrompt("checkbox",H0r),this.registerPrompt("password",$0r),this.registerPrompt("editor",rEr)},t.restoreDefaultPrompts(),t}var gAs=dyu();function d1y(e,t){gAs.registerPrompt(e,t)}function h1y(){gAs.restoreDefaultPrompts()}var y1y={prompt:gAs,ui:{BottomBar:nEr,Prompt:NFt},createPromptModule:dyu,registerPrompt:d1y,restoreDefaultPrompts:h1y,Separator:C3},Z_=y1y;var kFt=require("path");function yyu(){let e=g1y();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function g1y(e=process.argv[1]?(0,kFt.dirname)(process.argv[1]):process.cwd(),t=kFt.sep==="\\"){let r=t?hyu(e):e;return n=>{if(!n)return;let i=t?hyu(n):n,{dir:o,base:s,ext:a}=kFt.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,-1*a.length));let c=decodeURIComponent(s);o||(o=".");let u=o.lastIndexOf("/node_modules");if(u>-1)return`${o.slice(u+14).replace(/\//g,".")}:${c}`;if(o.startsWith(r)){let l=o.slice(r.length+1).replace(/\//g,".");return l?`${l}:${c}`:c}return c}}function hyu(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var AAs=e=>{if("flags"in e){let t=gyu(e.flags),r=Ayu(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,byu(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,A1y(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function A1y(e,t,r){return{key:e,enabled:typeof t=="string"?!0:t,variant:typeof t=="string"?t:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:r?JSON.stringify(r):void 0,description:void 0}}}var gyu=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,iEr(r)]).filter(([,t])=>t!==void 0)),Ayu=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let n=t[r];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(r=>{let n=t[r].metadata?.payload;return[r,n?byu(n):void 0]}))};var iEr=e=>e===void 0?void 0:e.variant??e.enabled,byu=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var gZr="0123456789abcdef",AZr=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,n,i){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(i)||t<0||r<0||n<0||i<0||t>0xffffffffffff||r>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=t/2**40,o[1]=t/2**32,o[2]=t/2**24,o[3]=t/2**16,o[4]=t/256,o[5]=t,o[6]=112|r>>>8,o[7]=r,o[8]=128|n>>>24,o[9]=n>>>16,o[10]=n>>>8,o[11]=n,o[12]=i>>>24,o[13]=i>>>16,o[14]=i>>>8,o[15]=i,new e(o)}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;default:break}if(r){let n=new Uint8Array(16);for(let i=0;i<16;i+=4){let o=parseInt(r.substring(2*i,2*i+8),16);n[i+0]=o>>>24,n[i+1]=o>>>16,n[i+2]=o>>>8,n[i+3]=o}return new e(n)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=gZr.charAt(this.bytes[r]>>>4),t+=gZr.charAt(15&this.bytes[r]),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=gZr.charAt(this.bytes[r]>>>4),t+=gZr.charAt(15&this.bytes[r]);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 n=this.bytes[r]-t.bytes[r];if(n!==0)return Math.sign(n)}return 0}},bAs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??b1y()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let n=this.generateOrAbortCore(t,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(t,r)),n}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))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return AZr.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}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,AZr.ofInner(t)}},b1y=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),_yu,EAe=()=>_1y().toString(),_1y=()=>(_yu||(_yu=new bAs)).generate();var v1y=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],vyu=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return v1y.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var j3=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",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",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e})({});var O1y=Array.isArray,Eyu=Object.prototype,HVx=Eyu.hasOwnProperty,_As=Eyu.toString,vAs=O1y||function(e){return _As.call(e)==="[object Array]"};var Oyu=e=>e===Object(e)&&!vAs(e);var zFt=e=>e===void 0,oEr=e=>_As.call(e)=="[object String]",wyu=e=>oEr(e)&&e.trim().length===0;var xyu=e=>_As.call(e)=="[object Number]"&&e===e;var EAs=e=>e instanceof Error;function sEr(e){return e===null||typeof e!="object"}function rgt(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Pyu(e){return rgt(e,"ErrorEvent")}function bZr(e){return!zFt(Event)&&w1y(e,Event)}function Iyu(e){return rgt(e,"Object")}function w1y(e,t){try{return e instanceof t}catch{return!1}}function aEr(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),xyu(e)?e>r?(n.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(n.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(n.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+i),aEr(i||r,t,r,n))}var x1y=864e5,_Zr=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=aEr(t.bucketSize,0,100,t._logger),this._refillRate=aEr(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=aEr(t.refillInterval,0,x1y,t._logger)}_applyRefill(t,r){let n=r-t.lastAccess,i=Math.floor(n/this._refillInterval);if(i>0){let o=i*this._refillRate;t.tokens=Math.min(t.tokens+o,this._bucketSize),t.lastAccess=t.lastAccess+i*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),n=String(t),i=this._buckets[n];return i?this._applyRefill(i,r):(i={tokens:this._bucketSize,lastAccess:r},this._buckets[n]=i),i.tokens===0?!0:(i.tokens--,i.tokens===0&&this._onBucketRateLimited?.(t),i.tokens===0)}stop(){this._buckets={}}};var vZr=class{add(t){let r=EAe();return this.promiseByIds[r]=t,t.catch(()=>{}).finally(()=>{delete this.promiseByIds[r]}),t}async join(){let t=Object.values(this.promiseByIds),r=t.length;for(;r>0;)await Promise.all(t),t=Object.values(this.promiseByIds),r=t.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function P1y(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var Cyu=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>Cyu(`${e} ${o}`,t,r)}},I1y=e=>e();function Syu(e,t=I1y){return Cyu(e,t,P1y())}var MFt="Mobile",OZr="iOS",QFt="Android",jyu="Tablet",oUx=QFt+" "+jyu;var C1y="Apple",sUx=C1y+" Watch",Byu="Safari",wZr="BlackBerry",Tyu="Samsung",S1y=Tyu+"Browser",j1y=Tyu+" Internet",xZr="Chrome",B1y=xZr+" OS",T1y=xZr+" "+OZr,Dyu="Internet Explorer",D1y=Dyu+" "+MFt,wAs="Opera",aUx=wAs+" Mini",Ryu="Edge",R1y="Microsoft "+Ryu,xAs="Firefox",F1y=xAs+" "+OZr,PAs="Nintendo",IAs="PlayStation",EZr="Xbox",N1y=QFt+" "+MFt,k1y=MFt+" "+Byu,cEr="Windows",z1y=cEr+" Phone";var Fyu="Generic",cUx=Fyu+" "+MFt.toLowerCase(),uUx=Fyu+" "+jyu.toLowerCase(),Q1y="Konqueror",aV="(\\d+(\\.\\d+)?)",OAs=new RegExp("Version/"+aV),lUx=new RegExp(EZr,"i"),pUx=new RegExp(IAs+" \\w+","i"),fUx=new RegExp(PAs+" \\w+","i"),M1y=new RegExp(wZr+"|PlayBook|BB10","i"),V1y={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"};var mUx={[D1y]:[new RegExp("rv:"+aV)],[R1y]:[new RegExp(Ryu+"?\\/"+aV)],[xZr]:[new RegExp("("+xZr+"|CrMo)\\/"+aV)],[T1y]:[new RegExp("CriOS\\/"+aV)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+aV)],[Byu]:[OAs],[k1y]:[OAs],[wAs]:[new RegExp("("+wAs+"|OPR)\\/"+aV)],[xAs]:[new RegExp(xAs+"\\/"+aV)],[F1y]:[new RegExp("FxiOS\\/"+aV)],[Q1y]:[new RegExp("Konqueror[:/]?"+aV,"i")],[wZr]:[new RegExp(wZr+" "+aV),OAs],[N1y]:[new RegExp("android\\s"+aV,"i")],[j1y]:[new RegExp(S1y+"\\/"+aV)],[Dyu]:[new RegExp("(rv:|MSIE )"+aV)],Mozilla:[new RegExp("rv:"+aV)]};var dUx=[[new RegExp(EZr+"; "+EZr+" (.*?)[);]","i"),e=>[EZr,e&&e[1]||""]],[new RegExp(PAs,"i"),[PAs,""]],[new RegExp(IAs,"i"),[IAs,""]],[M1y,[wZr,""]],[new RegExp(cEr,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[z1y,""];if(new RegExp(MFt).test(t)&&!/IEMobile\b/.test(t))return[cEr+" "+MFt,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=V1y[n]||"";return/arm/i.test(t)&&(i="RT"),[cEr,i]}return[cEr,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[OZr,t.join(".")]}return[OZr,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=zFt(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+QFt+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+QFt+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[QFt,t.join(".")]}return[QFt,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{let t=["Mac OS X",""];if(e&&e[1]){let r=[e[1],e[2],e[3]||"0"];t[1]=r.join(".")}return t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[B1y,""]],[/Linux|debian/i,["Linux",""]]];var Nyu="utf8";function kyu(e,t){if(!e||typeof e!="string"||U1y(e))throw new Error(t)}function U1y(e){return e.trim().length===0}function zyu(e){return e?.replace(/\/+$/,"")}async function Qyu(e,t){let r=null;for(let n=0;n<t.retryCount+1;n++){n>0&&await new Promise(i=>setTimeout(i,t.retryDelay));try{return await e()}catch(i){if(r=i,!t.retryCheck(i))throw i}}throw r}function PZr(){return new Date().toISOString()}function ngt(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Myu=e=>e instanceof Error;function CAs(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var IZr=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(n=>n!==r)}}emit(t,r){for(let n of this.events[t]||[])n(r);for(let n of this.events["*"]||[])n(t,r)}};function Vyu(){return"CompressionStream"in globalThis}async function SAs(e,t=!0){try{let n=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(n).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var igt=class extends Error{constructor(t,r){super("HTTP error while fetching PostHog: status="+t.status+", reqByteLength="+r),this.response=t,this.reqByteLength=r,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}},VFt=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function Uyu(e){if(e instanceof igt){let t="";try{t=await e.text}catch{}console.error(`Error while flushing PostHog: message=${e.message}, response body=${t}`,e)}else console.error("Error while flushing PostHog",e);return Promise.resolve()}function jAs(e){return typeof e=="object"&&(e instanceof igt||e instanceof VFt)}function Lyu(e){return typeof e=="object"&&e instanceof igt&&e.status===413}var uEr=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new vZr,this._events=new IZr,this._isInitialized=!1,kyu(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=zyu(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.preloadFeatureFlags=r.preloadFeatureFlags??!0,this.defaultOptIn=r.defaultOptIn??!0,this.disableSurveys=r.disableSurveys??!1,this._retryOptions={retryCount:r.fetchRetryCount??3,retryDelay:r.fetchRetryDelay??3e3,retryCheck:jAs},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=r.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=Syu("[PostHog]",this.logMsgIfDebug.bind(this)),this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!Vyu()||(r?.disableCompression??!1)}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(j3.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(j3.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(j3.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(n,i)=>this._logger.info(n,i));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,n){this.wrap(()=>{let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",i,n)})}async identifyStatelessImmediate(t,r,n){let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",i,n)}captureStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({distinct_id:t,event:r,properties:n});this.enqueue("capture",o,i)})}async captureStatelessImmediate(t,r,n,i){let o=this.buildPayload({distinct_id:t,event:r,properties:n});await this.sendImmediate("capture",o,i)}aliasStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});this.enqueue("alias",o,i)})}async aliasStatelessImmediate(t,r,n,i){let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",o,i)}groupIdentifyStateless(t,r,n,i,o,s){this.wrap(()=>{let a=this.buildPayload({distinct_id:o||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:n||{},...s||{}}});this.enqueue("capture",a,i)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(i=>i.json()).catch(i=>{this._logger.error("Remote config could not be loaded",i),this._events.emit("error",i)})}async getFlags(t,r={},n={},i={},o={},s=!0){await this._initPromise;let a=s?"&config=true":"",c=`${this.host}/flags/?v=2${a}`,u={token:this.apiKey,distinct_id:t,groups:r,person_properties:n,group_properties:i,...o};this.evaluationContexts&&this.evaluationContexts.length>0&&(u.evaluation_contexts=this.evaluationContexts);let l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(u)};return this._logger.info("Flags URL",c),this.fetchWithRetry(c,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(p=>p.json()).then(p=>({success:!0,response:AAs(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof igt)return{type:"api_error",statusCode:t.status};if(t instanceof VFt){let r=t.error;return r instanceof Error&&(r.name==="AbortError"||r.name==="TimeoutError")?{type:"timeout"}:{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailStateless(t,r,n,i,o,s);if(a===void 0)return{response:void 0,requestId:void 0};let c=iEr(a.response);return c===void 0&&(c=!1),{response:c,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let c=a[t];return c===void 0?null:c}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let c=await this.getFlags(t,r,n,i,a);if(!c.success)return;let u=c.response;return u.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),u.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:u?.requestId,quotaLimited:u.quotaLimited}):u}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(j3.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(j3.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(j3.Props,this.props)})}processBeforeEnqueue(t){return t}enqueue(t,r,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o=this.getPersistedProperty(j3.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(j3.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=ngt(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,n){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o={api_key:this.apiKey,batch:[i],sent_at:PZr()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,c=this.disableCompression?null:await SAs(s,this.isDebug),u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||s};try{await this.fetchWithRetry(a,u)}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:PZr(),uuid:n?.uuid?n.uuid:EAe()};return(n?.disableGeoip??this.disableGeoip)&&(i.properties||(i.properties={}),i.properties.$geoip_disable=!0),i.distinctId&&(i.distinct_id=i.distinctId,delete i.distinctId),i}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await Uyu(t)})}async flush(){let t=CAs([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),CAs([t]).then(()=>{this.flushPromise===t&&(this.flushPromise=null)}),t}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(j3.Queue)||[];if(!t.length)return;let r=[],n=t.length;for(;t.length>0&&r.length<n;){let i=t.slice(0,this.maxBatchSize),o=i.map(f=>f.message),s=()=>{let h=(this.getPersistedProperty(j3.Queue)||[]).slice(i.length);this.setPersistedProperty(j3.Queue,h),t=h},a={api_key:this.apiKey,batch:o,sent_at:PZr()};this.historicalMigration&&(a.historical_migration=!0);let c=JSON.stringify(a),u=`${this.host}/batch/`,l=this.disableCompression?null:await SAs(c,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||c},m={retryCheck:f=>Lyu(f)?!1:jAs(f)};try{await this.fetchWithRetry(u,p,m)}catch(f){if(Lyu(f)&&o.length>1){this.maxBatchSize=Math.max(1,Math.floor(o.length/2)),this._logger.warn(`Received 413 when sending batch of size ${o.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw f instanceof VFt||s(),this._events.emit("error",f),f}s(),r.push(...o)}this._events.emit("flush",r)}async fetchWithRetry(t,r,n,i){AbortSignal.timeout??=function(a){let c=new AbortController;return setTimeout(()=>c.abort(),a),c.signal};let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,Nyu)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await Qyu(async()=>{let a=null;try{a=await this.fetch(t,{signal:AbortSignal.timeout(i??this.requestTimeout),...r})}catch(u){throw new VFt(u)}if(!(r.mode==="no-cors")&&(a.status<200||a.status>=400))throw new igt(a,s);return a},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(j3.Queue)||[]).length===0||(await this.flush(),r)););}catch(i){if(!jAs(i))throw i;await Uyu(i)}};return Promise.race([new Promise((i,o)=>{ngt(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,o("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),n()])}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var B3={};D(B3,{DOMExceptionCoercer:()=>RAs,ErrorCoercer:()=>FAs,ErrorEventCoercer:()=>NAs,ErrorPropertiesBuilder:()=>BAs,EventCoercer:()=>QAs,ObjectCoercer:()=>zAs,PrimitiveCoercer:()=>MAs,PromiseRejectionEventCoercer:()=>VAs,ReduceableCache:()=>UAs,StringCoercer:()=>kAs,chromeStackLineParser:()=>TAs,createDefaultStackParser:()=>nDy,createStackParser:()=>egu,geckoStackLineParser:()=>DAs,nodeStackLineParser:()=>Jyu,opera10StackLineParser:()=>Hyu,opera11StackLineParser:()=>$yu,reverseAndStripFrames:()=>Zyu,winjsStackLineParser:()=>Gyu});var CZr,qyu,SZr;function Wyu(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return SZr&&r.length===qyu||(qyu=r.length,SZr=r.reduce((n,i)=>{CZr||(CZr={});let o=CZr[i];if(o)n[o[0]]=o[1];else{let s=e(i);for(let a=s.length-1;a>=0;a--){let u=s[a]?.filename,l=t[i];if(u&&l){n[u]=l,CZr[i]=[u,l];break}}}return n},{})),SZr}var q1y=4,BAs=class{constructor(t,r,n=[]){this.coercers=t,this.stackParser=r,this.modifiers=n}buildFromUnknown(t,r={}){let i=r&&r.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,r,0).apply(t),a=this.buildParsingContext(),c=this.parseStacktrace(s,a);return{$exception_list:this.convertToExceptionList(c,i),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&vAs(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let n;t.cause!=null&&(n=this.parseStacktrace(t.cause,r));let i;return t.stack!=""&&t.stack!=null&&(i=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?1:0),r.chunkIdMap)),{...t,cause:n,stack:i}}applyChunkIds(t,r){return t.map(n=>(n.filename&&r&&(n.chunk_id=r[n.filename]),n))}applyCoercers(t,r){for(let n of this.coercers)if(n.match(t))return n.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let n of this.modifiers)r=await n(r);return r}convertToExceptionList(t,r){let n={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(n.stacktrace={type:"raw",frames:t.stack});let i=[n];return t.cause!=null&&i.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),i}buildParsingContext(){return{chunkIdMap:Wyu(this.stackParser)}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=q1y){let c=this.buildCoercingContext(t,r,a);return this.applyCoercers(s,c)}};return{...r,syntheticException:n==0?r.syntheticException:void 0,mechanism:t,apply:s=>i(s,n),next:s=>i(s,n+1)}}};var wk="?";function OAe(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?wk:r,in_app:!0};return zFt(n)||(o.lineno=n),zFt(i)||(o.colno=i),o}var jZr=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:wk,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var W1y=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,G1y=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,H1y=/\((\S*)(?::(\d+))(?::(\d+))\)/,TAs=(e,t)=>{let r=W1y.exec(e);if(r){let[,i,o,s]=r;return OAe(t,i,wk,+o,+s)}let n=G1y.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=H1y.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=jZr(n[1]||wk,n[2]);return OAe(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var $1y=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,K1y=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,DAs=(e,t)=>{let r=$1y.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=K1y.exec(r[3]);s&&(r[1]=r[1]||"eval",r[3]=s[1],r[4]=s[2],r[5]="")}let i=r[3],o=r[1]||wk;return[o,i]=jZr(o,i),OAe(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var J1y=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,Gyu=(e,t)=>{let r=J1y.exec(e);return r?OAe(t,r[2],r[1]||wk,+r[3],r[4]?+r[4]:void 0):void 0};var Y1y=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,Hyu=(e,t)=>{let r=Y1y.exec(e);return r?OAe(t,r[2],r[3]||wk,+r[1]):void 0},X1y=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,$yu=(e,t)=>{let r=X1y.exec(e);return r?OAe(t,r[5],r[3]||r[4]||wk,+r[1],+r[2]):void 0};var Z1y=/^\s*[-]{4,}$/,eDy=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,Jyu=(e,t)=>{let r=e.match(eDy);if(r){let n,i,o,s,a;if(r[1]){o=r[1];let l=o.lastIndexOf(".");if(o[l-1]==="."&&l--,l>0){n=o.slice(0,l),i=o.slice(l+1);let p=n.indexOf(".Module");p>0&&(o=o.slice(p+1),n=n.slice(0,p))}s=void 0}i&&(s=n,a=i),i==="<anonymous>"&&(a=void 0,o=void 0),o===void 0&&(a=a||wk,o=s?`${s}.${a}`:a);let c=r[2]?.startsWith("file://")?r[2].slice(7):r[2],u=r[5]==="native";return c?.match(/\/[A-Z]:/)&&(c=c.slice(1)),!c&&r[5]&&!u&&(c=r[5]),{filename:c?decodeURI(c):void 0,module:void 0,function:o,lineno:Kyu(r[3]),colno:Kyu(r[4]),in_app:tDy(c||"",u),platform:t}}if(e.match(Z1y))return{filename:e,platform:t}};function tDy(e,t=!1){return!(t||e&&!e.startsWith("/")&&!e.match(/^[A-Z]:/)&&!e.startsWith(".")&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes("node_modules/")}function Kyu(e){return parseInt(e||"",10)||void 0}var Yyu=/\(error: (.*)\)/,Xyu=50;function Zyu(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,Xyu).map(r=>({...r,filename:r.filename||rDy(t).filename,function:r.function||wk}))}function rDy(e){return e[e.length-1]||{}}function nDy(){return egu("web:javascript",TAs,DAs)}function egu(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
1289
- `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=Yyu.test(a)?a.replace(Yyu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=Xyu)break}}return Zyu(i)}}var RAs=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=oEr(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rgt(t,"DOMException")}isDOMError(t){return rgt(t,"DOMError")}};var FAs=class{match(t){return EAs(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var NAs=class{constructor(){}match(t){return Pyu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var iDy=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,kAs=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(iDy);return i&&(r=i[1],n=i[2]),[r,n]}};var tgu=["fatal","error","warning","log","info","debug"];function BZr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var zAs=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return bZr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=BZr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return oEr(t)&&!wyu(t)&&tgu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(Myu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var QAs=class{match(t){return bZr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${BZr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var MAs=class{match(t){return sEr(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var VAs=class{match(t){return rgt(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return sEr(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(sEr(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var UAs=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var igu=require("fs"),ogu=require("readline"),TZr=new B3.ReduceableCache(25),sgu=new B3.ReduceableCache(20),LAs=7,oDy=1e3,sDy=1e4;async function agu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||lDy(s)||pDy(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(sgu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=mDy(o);if(s.every(c=>fDy(i,c)))continue;let a=dDy(TZr,i,{});n.push(aDy(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&cDy(e,TZr),TZr.reduce(),e}function aDy(e,t,r){return new Promise(n=>{let i=(0,igu.createReadStream)(e),o=(0,ogu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function m(){sgu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",m),o.on("error",m),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=hDy(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let h=t[c];if(h===void 0){o.close(),o.removeAllListeners();return}l=h[0],p=h[1]}})})}function cDy(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;uDy(r.lineno,r,n)}}function uDy(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=cgu(e);i<e;i++){let o=r[i];if(o===void 0)return void rgu(t);t.pre_context.push(o)}if(r[e]===void 0)return void rgu(t);t.context_line=r[e];let n=ugu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function rgu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function lDy(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function pDy(e){return e.lineno!==void 0&&e.lineno>sDy||e.colno!==void 0&&e.colno>oDy}function fDy(e,t){let r=TZr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function mDy(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=ngu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+LAs:(i.push(n),n=ngu(o)),t++}return i}function ngu(e){return[cgu(e),ugu(e)]}function cgu(e){return Math.max(1,e-LAs)}function ugu(e){return e+LAs}function dDy(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function hDy(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function yDy(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function lgu(e,t){globalThis.process?.on("uncaughtException",yDy(e,t))}function pgu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var gDy=2e3,Kae=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new _Zr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return Oyu(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||EAe(),properties:{...s,...o}}}startAutocaptureIfEnabled(){this.isEnabled()&&(lgu(this.onException.bind(this),this.onFatalError.bind(this)),pgu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(gDy),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var fgu="5.24.7";var lEr={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function mgu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var ADy=6e4,bDy=1152921504606847e3,_Dy=["is_not"],UFt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},TO=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wAe=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},DZr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0)try{s=(await this.computeFlagAndPayloadLocally(a,r,n,i,o)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof wAe||c instanceof TO?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}return s}async getAllFlagsAndPayloads(t,r={},n={},i={},o){await this.loadFeatureFlags();let s={},a={},c=this.featureFlags.length==0,u=o?o.map(p=>this.featureFlagsByKey[p]).filter(Boolean):this.featureFlags,l={};return await Promise.all(u.map(async p=>{try{let{value:m,payload:f}=await this.computeFlagAndPayloadLocally(p,t,r,n,i,void 0,l);s[p.key]=m,f&&(a[p.key]=f)}catch(m){m instanceof wAe||m instanceof TO?this.logMsgIfDebug(()=>console.debug(`${m.name} when computing flag locally: ${p.key}: ${m.message}`)):m instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${p.key}: ${m}`)),c=!0}})),{response:s,payloads:a,fallbackToFlags:c}}async computeFlagAndPayloadLocally(t,r,n={},i={},o={},s,a,c=!1){if(c||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let u;u=s!==void 0?s:await this.computeFlagValueLocally(t,r,n,i,o,a);let l=this.getFeatureFlagPayload(t.key,u);return{value:u,payload:l}}async computeFlagValueLocally(t,r,n={},i={},o={},s={}){if(t.ensure_experience_continuity)throw new TO("Flag has experience continuity enabled");if(!t.active)return!1;let c=(t.filters||{}).aggregation_group_type_index;if(c==null)return await this.matchFeatureFlagProperties(t,r,i,s);{let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new TO("Flag has unknown group type index");if(!(u in n))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let l=o[u];return await this.matchFeatureFlagProperties(t,n[u],l,s)}}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n,i){let o=t.key;if(!this.featureFlagsByKey)throw new TO("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new TO(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new TO(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new TO(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.matchFeatureFlagProperties(l,r,n,i);i[c]=p}catch(p){throw new TO(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new TO(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new TO(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i={}){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(m=>m.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof wAe)throw l;if(l instanceof TO)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new TO("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o={}){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?Agu(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,r,i,o):ggu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await dgu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await dgu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(ADy,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new UFt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new UFt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new UFt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof UFt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=ngt(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dgu(e,t,r=""){let n=await mgu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/bDy}function ggu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new TO("Operator is_not_set is not supported")}else throw new TO(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_Dy.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return hgu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return hgu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new TO("Date operations cannot be performed on boolean values");let u=EDy(String(i));if(u==null&&(u=ygu(i)),u==null)throw new TO(`Invalid date: ${i}`);let l=ygu(s);return["is_date_before"].includes(o)?l<u:l>u}default:throw new TO(`Unknown operator: ${o}`)}}function vDy(e,t){if(!(e in t))throw new wAe(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function Agu(e,t,r,n=!1){let i=String(e.value);vDy(i,r);let o=r[i];return bgu(o,t,r,n)}function bgu(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=bgu(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=Agu(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=ggu(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("can't match cohort without a given cohort property value");return i==="AND"}function hgu(e){try{return new RegExp(e),!0}catch{return!1}}function ygu(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 TO(`${e} is in an invalid date format`)}throw new TO(`The date provided ${e} must be a string, number, or date object`)}function EDy(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var RZr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var ODy=100,_gu=3e4,wDy=5e4,FZr=class extends uEr{constructor(t,r={}){if(super(t,r),this._memoryStorage=new RZr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,ODy):_gu,r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new DZr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new Kae(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wDy}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):fetch(t,r)}getLibraryVersion(){return fgu}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(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=_gu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let E=this._flagOverrides[t];if(E===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:E!==!1,variant:typeof E=="string"?E:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties,c==null&&(c=this.options.strictLocalEvaluation??!1);let m,f=!1,h,y,g,A,b,v;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let E=this.featureFlagsPoller?.featureFlagsByKey[t];if(E)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(E,r,s,u,l,i);if(O){f=!0;let P=O.value;A=E.id,v="Evaluated locally",m={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof wAe||O instanceof TO)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!f&&!c){let E=await super.getFeatureFlagDetailsStateless(r,s,u,l,a,[t]);if(E===void 0)g=lEr.UNKNOWN_ERROR;else{h=E.requestId,y=E.evaluatedAt;let O=[];E.errorsWhileComputingFlags&&O.push(lEr.ERRORS_WHILE_COMPUTING),E.quotaLimited?.includes("feature_flags")&&O.push(lEr.QUOTA_LIMITED);let P=E.flags[t];if(P===void 0)O.push(lEr.FLAG_MISSING);else{A=P.metadata?.id,b=P.metadata?.version,v=P.reason?.description??P.reason?.code;let x;if(P.metadata?.payload!==void 0)try{x=JSON.parse(P.metadata.payload)}catch{x=P.metadata.payload}m={key:t,enabled:P.enabled,variant:P.variant,payload:x}}O.length>0&&(g=O.join(","))}}if(o){let E=m===void 0?void 0:m.enabled===!1?!1:m.variant??!0,O=`${t}_${E}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let P={$feature_flag:t,$feature_flag_response:E,$feature_flag_id:A,$feature_flag_version:b,$feature_flag_reason:v,locally_evaluated:f,[`$feature/${t}`]:E,$feature_flag_request_id:h,$feature_flag_evaluated_at:y};g&&(P.$feature_flag_error=g),this.capture({distinctId:r,event:"$feature_flag_called",properties:P,groups:s,disableGeoip:a})}}return m!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(m={...m,payload:this._payloadOverrides[t]}),m}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){return this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:n,disableGeoip:i,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:a,groupProperties:c}=r||{},u=this.addLocalPersonAndGroupProperties(t,n,a,c);a=u.allPersonProperties,c=u.allGroupProperties,s==null&&(s=this.options.strictLocalEvaluation??!1);let l=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,n,a,c,o),p={},m={},f=!0;if(l&&(p=l.response,m=l.payloads,f=l.fallbackToFlags),f&&!s){let h=await super.getFeatureFlagsAndPayloadsStateless(t,n,a,c,i,o);p={...p,...h.flags||{}},m={...m,...h.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=ngt(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(Iyu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}captureException(t,r,n,i){if(!Kae.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!Kae.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,m={...l?.properties||{},...i||{}};p||(p=EAe(),m.$process_person_profile=!1),l?.sessionId&&!m.$session_id&&(m.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:m,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(s){let y=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,y)}return f.event,{}}).then(y=>{let g={};if(y)for(let[b,v]of Object.entries(y))g[`$feature/${b}`]=v;let A=Object.keys(y||{}).filter(b=>y?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(y=>({...y,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vyu(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",h.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:h,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var vgu=require("async_hooks"),NZr=class{constructor(){this.storage=new vgu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){if(n?.fresh===!0)return this.storage.run(t,r);{let o=this.get()||{},s={distinctId:t.distinctId??o.distinctId,sessionId:t.sessionId??o.sessionId,properties:{...o.properties||{},...t.properties||{}}};return this.storage.run(s,r)}}};var Egu="posthog-node";function xDy(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[qAs.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],m=p.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:m,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var qAs=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=Egu,this.name=Egu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(xDy(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};Kae.errorPropertiesBuilder=new B3.ErrorPropertiesBuilder([new B3.EventCoercer,new B3.ErrorCoercer,new B3.ObjectCoercer,new B3.StringCoercer,new B3.PrimitiveCoercer],B3.createStackParser("node:javascript",B3.nodeStackLineParser),[yyu(),agu]);var LFt=class extends FZr{getLibraryId(){return"posthog-node"}initializeContext(){return new NZr}};var kZr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new LFt(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.85.3",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var pEr=class{async sendEvent(){}async identify(){}async flush(){}};var qFt=require("fs/promises"),Igu=require("os"),Cgu=require("path");var Ogu=He(require("crypto")),QZr=new Uint8Array(256),zZr=QZr.length;function WAs(){return zZr>QZr.length-16&&(Ogu.default.randomFillSync(QZr),zZr=0),QZr.slice(zZr,zZr+=16)}var wgu=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PDy(e){return typeof e=="string"&&wgu.test(e)}var GAs=PDy;var xk=[];for(let e=0;e<256;++e)xk.push((e+256).toString(16).slice(1));function xgu(e,t=0){return xk[e[t+0]]+xk[e[t+1]]+xk[e[t+2]]+xk[e[t+3]]+"-"+xk[e[t+4]]+xk[e[t+5]]+"-"+xk[e[t+6]]+xk[e[t+7]]+"-"+xk[e[t+8]]+xk[e[t+9]]+"-"+xk[e[t+10]]+xk[e[t+11]]+xk[e[t+12]]+xk[e[t+13]]+xk[e[t+14]]+xk[e[t+15]]}var Pgu=He(require("crypto")),HAs={randomUUID:Pgu.default.randomUUID};function IDy(e,t,r){if(HAs.randomUUID&&!t&&!e)return HAs.randomUUID();e=e||{};let n=e.random||(e.rng||WAs)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return xgu(n)}var wD=IDy;var CDy="id",SDy=".fern",fEr=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new LFt(r),this.userId=t==null?void 0:Sps(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.85.3",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{}}})}async flush(){await this.posthog.flush()}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await PI({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Pt(Ar.of((0,Igu.homedir)()),Ke.of(SDy),Ke.of(CDy));await qr(t)||(await(0,qFt.mkdir)((0,Cgu.dirname)(t),{recursive:!0}),await(0,qFt.writeFile)(t,wD())),this.persistedDistinctId=(await(0,qFt.readFile)(t)).toString()}return this.persistedDistinctId}};var $As;async function WFt(){return $As==null&&($As=await jDy()),$As}async function jDy(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new pEr;let r=await rHr();return r!=null?new fEr({token:r,posthogApiKey:e}):await nAe()!=null?new kZr({posthogApiKey:e}):new fEr({token:void 0,posthogApiKey:e})}catch{return new pEr}}function mEr(e,t){return function(){return e.apply(t,arguments)}}var{toString:BDy}=Object.prototype,{getPrototypeOf:JAs}=Object,{iterator:VZr,toStringTag:jgu}=Symbol,UZr=(e=>t=>{let r=BDy.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Jae=e=>(e=e.toLowerCase(),t=>UZr(t)===e),LZr=e=>t=>typeof t===e,{isArray:HFt}=Array,GFt=LZr("undefined");function dEr(e){return e!==null&&!GFt(e)&&e.constructor!==null&&!GFt(e.constructor)&&T3(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Bgu=Jae("ArrayBuffer");function TDy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Bgu(e.buffer),t}var DDy=LZr("string"),T3=LZr("function"),Tgu=LZr("number"),hEr=e=>e!==null&&typeof e=="object",RDy=e=>e===!0||e===!1,MZr=e=>{if(UZr(e)!=="object")return!1;let t=JAs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(jgu in e)&&!(VZr in e)},FDy=e=>{if(!hEr(e)||dEr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},NDy=Jae("Date"),kDy=Jae("File"),zDy=Jae("Blob"),QDy=Jae("FileList"),MDy=e=>hEr(e)&&T3(e.pipe),VDy=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T3(e.append)&&((t=UZr(e))==="formdata"||t==="object"&&T3(e.toString)&&e.toString()==="[object FormData]"))},UDy=Jae("URLSearchParams"),[LDy,qDy,WDy,GDy]=["ReadableStream","Request","Response","Headers"].map(Jae),HDy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yEr(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),HFt(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{if(dEr(e))return;let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function Dgu(e,t){if(dEr(e))return null;t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var ogt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rgu=e=>!GFt(e)&&e!==ogt;function KAs(){let{caseless:e,skipUndefined:t}=Rgu(this)&&this||{},r={},n=(i,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;let s=e&&Dgu(r,o)||o;MZr(r[s])&&MZr(i)?r[s]=KAs(r[s],i):MZr(i)?r[s]=KAs({},i):HFt(i)?r[s]=i.slice():(!t||!GFt(i))&&(r[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&yEr(arguments[i],n);return r}var $Dy=(e,t,r,{allOwnKeys:n}={})=>(yEr(t,(i,o)=>{r&&T3(i)?Object.defineProperty(e,o,{value:mEr(i,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),KDy=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JDy=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},YDy=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&JAs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},XDy=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ZDy=e=>{if(!e)return null;if(HFt(e))return e;let t=e.length;if(!Tgu(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},eRy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&JAs(Uint8Array)),tRy=(e,t)=>{let n=(e&&e[VZr]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},rRy=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},nRy=Jae("HTMLFormElement"),iRy=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),Sgu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),oRy=Jae("RegExp"),Fgu=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};yEr(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},sRy=e=>{Fgu(e,(t,r)=>{if(T3(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(T3(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aRy=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return HFt(e)?n(e):n(String(e).split(t)),r},cRy=()=>{},uRy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function lRy(e){return!!(e&&T3(e.append)&&e[jgu]==="FormData"&&e[VZr])}var pRy=e=>{let t=new Array(10),r=(n,i)=>{if(hEr(n)){if(t.indexOf(n)>=0)return;if(dEr(n))return n;if(!("toJSON"in n)){t[i]=n;let o=HFt(n)?[]:{};return yEr(n,(s,a)=>{let c=r(s,i+1);!GFt(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},fRy=Jae("AsyncFunction"),mRy=e=>e&&(hEr(e)||T3(e))&&T3(e.then)&&T3(e.catch),Ngu=((e,t)=>e?setImmediate:t?((r,n)=>(ogt.addEventListener("message",({source:i,data:o})=>{i===ogt&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),ogt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",T3(ogt.postMessage)),dRy=typeof queueMicrotask<"u"?queueMicrotask.bind(ogt):typeof process<"u"&&process.nextTick||Ngu,hRy=e=>e!=null&&T3(e[VZr]),vr={isArray:HFt,isArrayBuffer:Bgu,isBuffer:dEr,isFormData:VDy,isArrayBufferView:TDy,isString:DDy,isNumber:Tgu,isBoolean:RDy,isObject:hEr,isPlainObject:MZr,isEmptyObject:FDy,isReadableStream:LDy,isRequest:qDy,isResponse:WDy,isHeaders:GDy,isUndefined:GFt,isDate:NDy,isFile:kDy,isBlob:zDy,isRegExp:oRy,isFunction:T3,isStream:MDy,isURLSearchParams:UDy,isTypedArray:eRy,isFileList:QDy,forEach:yEr,merge:KAs,extend:$Dy,trim:HDy,stripBOM:KDy,inherits:JDy,toFlatObject:YDy,kindOf:UZr,kindOfTest:Jae,endsWith:XDy,toArray:ZDy,forEachEntry:tRy,matchAll:rRy,isHTMLForm:nRy,hasOwnProperty:Sgu,hasOwnProp:Sgu,reduceDescriptors:Fgu,freezeMethods:sRy,toObjectSet:aRy,toCamelCase:iRy,noop:cRy,toFiniteNumber:uRy,findKey:Dgu,global:ogt,isContextDefined:Rgu,isSpecCompliantForm:lRy,toJSONObject:pRy,isAsyncFn:fRy,isThenable:mRy,setImmediate:Ngu,asap:dRy,isIterable:hRy};var cV=class e extends Error{static from(t,r,n,i,o,s){let a=new e(t.message,r||t.code,n,i,o);return a.cause=t,a.name=t.name,s&&Object.assign(a,s),a}constructor(t,r,n,i,o){super(t),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),i&&(this.request=i),o&&(this.response=o,this.status=o.status)}toJSON(){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:vr.toJSONObject(this.config),code:this.code,status:this.status}}};cV.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";cV.ERR_BAD_OPTION="ERR_BAD_OPTION";cV.ECONNABORTED="ECONNABORTED";cV.ETIMEDOUT="ETIMEDOUT";cV.ERR_NETWORK="ERR_NETWORK";cV.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";cV.ERR_DEPRECATED="ERR_DEPRECATED";cV.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";cV.ERR_BAD_REQUEST="ERR_BAD_REQUEST";cV.ERR_CANCELED="ERR_CANCELED";cV.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";cV.ERR_INVALID_URL="ERR_INVALID_URL";var ps=cV;var kgu=He(yht(),1),qZr=kgu.default;function YAs(e){return vr.isPlainObject(e)||vr.isArray(e)}function Qgu(e){return vr.endsWith(e,"[]")?e.slice(0,-2):e}function zgu(e,t,r){return e?e.concat(t).map(function(i,o){return i=Qgu(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function yRy(e){return vr.isArray(e)&&!e.some(YAs)}var gRy=vr.toFlatObject(vr,{},null,function(t){return/^is[A-Z]/.test(t)});function ARy(e,t,r){if(!vr.isObject(e))throw new TypeError("target must be an object");t=t||new(qZr||FormData),r=vr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,g){return!vr.isUndefined(g[y])});let n=r.metaTokens,i=r.visitor||l,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&vr.isSpecCompliantForm(t);if(!vr.isFunction(i))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(vr.isDate(h))return h.toISOString();if(vr.isBoolean(h))return h.toString();if(!c&&vr.isBlob(h))throw new ps("Blob is not supported. Use a Buffer instead.");return vr.isArrayBuffer(h)||vr.isTypedArray(h)?c&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function l(h,y,g){let A=h;if(h&&!g&&typeof h=="object"){if(vr.endsWith(y,"{}"))y=n?y:y.slice(0,-2),h=JSON.stringify(h);else if(vr.isArray(h)&&yRy(h)||(vr.isFileList(h)||vr.endsWith(y,"[]"))&&(A=vr.toArray(h)))return y=Qgu(y),A.forEach(function(v,_){!(vr.isUndefined(v)||v===null)&&t.append(s===!0?zgu([y],_,o):s===null?y:y+"[]",u(v))}),!1}return YAs(h)?!0:(t.append(zgu(g,y,o),u(h)),!1)}let p=[],m=Object.assign(gRy,{defaultVisitor:l,convertValue:u,isVisitable:YAs});function f(h,y){if(!vr.isUndefined(h)){if(p.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(h),vr.forEach(h,function(A,b){(!(vr.isUndefined(A)||A===null)&&i.call(t,A,vr.isString(b)?b.trim():b,y,m))===!0&&f(A,y?y.concat(b):[b])}),p.pop()}}if(!vr.isObject(e))throw new TypeError("data must be an object");return f(e),t}var n8e=ARy;function Mgu(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Vgu(e,t){this._pairs=[],e&&n8e(e,this,t)}var Ugu=Vgu.prototype;Ugu.append=function(t,r){this._pairs.push([t,r])};Ugu.toString=function(t){let r=t?function(n){return t.call(this,n,Mgu)}:Mgu;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var Lgu=Vgu;function bRy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sgt(e,t,r){if(!t)return e;let n=r&&r.encode||bRy,i=vr.isFunction(r)?{serialize:r}:r,o=i&&i.serialize,s;if(o?s=o(t,i):s=vr.isURLSearchParams(t)?t.toString():new Lgu(t,i).toString(n),s){let a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}var XAs=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){vr.forEach(this.handlers,function(n){n!==null&&t(n)})}},ZAs=XAs;var i8e={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var Hgu=He(require("crypto"),1);var qgu=He(require("url"),1),Wgu=qgu.default.URLSearchParams;var ebs="abcdefghijklmnopqrstuvwxyz",Ggu="0123456789",$gu={DIGIT:Ggu,ALPHA:ebs,ALPHA_DIGIT:ebs+ebs.toUpperCase()+Ggu},_Ry=(e=16,t=$gu.ALPHA_DIGIT)=>{let r="",{length:n}=t,i=new Uint32Array(e);Hgu.default.randomFillSync(i);for(let o=0;o<e;o++)r+=t[i[o]%n];return r},Kgu={isNode:!0,classes:{URLSearchParams:Wgu,FormData:qZr,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:$gu,generateString:_Ry,protocols:["http","https","file","data"]};var nbs={};D(nbs,{hasBrowserEnv:()=>rbs,hasStandardBrowserEnv:()=>vRy,hasStandardBrowserWebWorkerEnv:()=>ERy,navigator:()=>tbs,origin:()=>ORy});var rbs=typeof window<"u"&&typeof document<"u",tbs=typeof navigator=="object"&&navigator||void 0,vRy=rbs&&(!tbs||["ReactNative","NativeScript","NS"].indexOf(tbs.product)<0),ERy=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ORy=rbs&&window.location.href||"http://localhost";var ev={...nbs,...Kgu};function ibs(e,t){return n8e(e,new ev.classes.URLSearchParams,{visitor:function(r,n,i,o){return ev.isNode&&vr.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function wRy(e){return vr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function xRy(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function PRy(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&vr.isArray(i)?i.length:s,c?(vr.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!vr.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&vr.isArray(i[s])&&(i[s]=xRy(i[s])),!a)}if(vr.isFormData(e)&&vr.isFunction(e.entries)){let r={};return vr.forEachEntry(e,(n,i)=>{t(wRy(n),i,r,0)}),r}return null}var WZr=PRy;function IRy(e,t,r){if(vr.isString(e))try{return(t||JSON.parse)(e),vr.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var obs={transitional:i8e,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=vr.isObject(t);if(o&&vr.isHTMLForm(t)&&(t=new FormData(t)),vr.isFormData(t))return i?JSON.stringify(WZr(t)):t;if(vr.isArrayBuffer(t)||vr.isBuffer(t)||vr.isStream(t)||vr.isFile(t)||vr.isBlob(t)||vr.isReadableStream(t))return t;if(vr.isArrayBufferView(t))return t.buffer;if(vr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ibs(t,this.formSerializer).toString();if((a=vr.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return n8e(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),IRy(t)):t}],transformResponse:[function(t){let r=this.transitional||obs.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(vr.isResponse(t)||vr.isReadableStream(t))return t;if(t&&vr.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?ps.from(a,ps.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ev.classes.FormData,Blob:ev.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};vr.forEach(["delete","get","head","post","put","patch"],e=>{obs.headers[e]={}});var $Ft=obs;var CRy=vr.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"]),Jgu=e=>{let t={},r,n,i;return e&&e.split(`
1289
+ `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=Yyu.test(a)?a.replace(Yyu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=Xyu)break}}return Zyu(i)}}var RAs=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=oEr(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rgt(t,"DOMException")}isDOMError(t){return rgt(t,"DOMError")}};var FAs=class{match(t){return EAs(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var NAs=class{constructor(){}match(t){return Pyu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var iDy=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,kAs=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(iDy);return i&&(r=i[1],n=i[2]),[r,n]}};var tgu=["fatal","error","warning","log","info","debug"];function BZr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var zAs=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return bZr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=BZr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return oEr(t)&&!wyu(t)&&tgu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(Myu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var QAs=class{match(t){return bZr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${BZr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var MAs=class{match(t){return sEr(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var VAs=class{match(t){return rgt(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return sEr(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(sEr(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var UAs=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var igu=require("fs"),ogu=require("readline"),TZr=new B3.ReduceableCache(25),sgu=new B3.ReduceableCache(20),LAs=7,oDy=1e3,sDy=1e4;async function agu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||lDy(s)||pDy(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(sgu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=mDy(o);if(s.every(c=>fDy(i,c)))continue;let a=dDy(TZr,i,{});n.push(aDy(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&cDy(e,TZr),TZr.reduce(),e}function aDy(e,t,r){return new Promise(n=>{let i=(0,igu.createReadStream)(e),o=(0,ogu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function m(){sgu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",m),o.on("error",m),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=hDy(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let h=t[c];if(h===void 0){o.close(),o.removeAllListeners();return}l=h[0],p=h[1]}})})}function cDy(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;uDy(r.lineno,r,n)}}function uDy(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=cgu(e);i<e;i++){let o=r[i];if(o===void 0)return void rgu(t);t.pre_context.push(o)}if(r[e]===void 0)return void rgu(t);t.context_line=r[e];let n=ugu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function rgu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function lDy(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function pDy(e){return e.lineno!==void 0&&e.lineno>sDy||e.colno!==void 0&&e.colno>oDy}function fDy(e,t){let r=TZr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function mDy(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=ngu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+LAs:(i.push(n),n=ngu(o)),t++}return i}function ngu(e){return[cgu(e),ugu(e)]}function cgu(e){return Math.max(1,e-LAs)}function ugu(e){return e+LAs}function dDy(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function hDy(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function yDy(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function lgu(e,t){globalThis.process?.on("uncaughtException",yDy(e,t))}function pgu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var gDy=2e3,Kae=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new _Zr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return Oyu(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||EAe(),properties:{...s,...o}}}startAutocaptureIfEnabled(){this.isEnabled()&&(lgu(this.onException.bind(this),this.onFatalError.bind(this)),pgu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(gDy),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var fgu="5.24.7";var lEr={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function mgu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var ADy=6e4,bDy=1152921504606847e3,_Dy=["is_not"],UFt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},TO=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wAe=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},DZr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0)try{s=(await this.computeFlagAndPayloadLocally(a,r,n,i,o)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof wAe||c instanceof TO?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}return s}async getAllFlagsAndPayloads(t,r={},n={},i={},o){await this.loadFeatureFlags();let s={},a={},c=this.featureFlags.length==0,u=o?o.map(p=>this.featureFlagsByKey[p]).filter(Boolean):this.featureFlags,l={};return await Promise.all(u.map(async p=>{try{let{value:m,payload:f}=await this.computeFlagAndPayloadLocally(p,t,r,n,i,void 0,l);s[p.key]=m,f&&(a[p.key]=f)}catch(m){m instanceof wAe||m instanceof TO?this.logMsgIfDebug(()=>console.debug(`${m.name} when computing flag locally: ${p.key}: ${m.message}`)):m instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${p.key}: ${m}`)),c=!0}})),{response:s,payloads:a,fallbackToFlags:c}}async computeFlagAndPayloadLocally(t,r,n={},i={},o={},s,a,c=!1){if(c||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let u;u=s!==void 0?s:await this.computeFlagValueLocally(t,r,n,i,o,a);let l=this.getFeatureFlagPayload(t.key,u);return{value:u,payload:l}}async computeFlagValueLocally(t,r,n={},i={},o={},s={}){if(t.ensure_experience_continuity)throw new TO("Flag has experience continuity enabled");if(!t.active)return!1;let c=(t.filters||{}).aggregation_group_type_index;if(c==null)return await this.matchFeatureFlagProperties(t,r,i,s);{let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new TO("Flag has unknown group type index");if(!(u in n))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let l=o[u];return await this.matchFeatureFlagProperties(t,n[u],l,s)}}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n,i){let o=t.key;if(!this.featureFlagsByKey)throw new TO("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new TO(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new TO(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new TO(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.matchFeatureFlagProperties(l,r,n,i);i[c]=p}catch(p){throw new TO(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new TO(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new TO(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i={}){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(m=>m.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof wAe)throw l;if(l instanceof TO)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new TO("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o={}){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?Agu(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,r,i,o):ggu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await dgu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await dgu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(ADy,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new UFt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new UFt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new UFt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof UFt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=ngt(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dgu(e,t,r=""){let n=await mgu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/bDy}function ggu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new TO("Operator is_not_set is not supported")}else throw new TO(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_Dy.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return hgu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return hgu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new TO("Date operations cannot be performed on boolean values");let u=EDy(String(i));if(u==null&&(u=ygu(i)),u==null)throw new TO(`Invalid date: ${i}`);let l=ygu(s);return["is_date_before"].includes(o)?l<u:l>u}default:throw new TO(`Unknown operator: ${o}`)}}function vDy(e,t){if(!(e in t))throw new wAe(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function Agu(e,t,r,n=!1){let i=String(e.value);vDy(i,r);let o=r[i];return bgu(o,t,r,n)}function bgu(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=bgu(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=Agu(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=ggu(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("can't match cohort without a given cohort property value");return i==="AND"}function hgu(e){try{return new RegExp(e),!0}catch{return!1}}function ygu(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 TO(`${e} is in an invalid date format`)}throw new TO(`The date provided ${e} must be a string, number, or date object`)}function EDy(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var RZr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var ODy=100,_gu=3e4,wDy=5e4,FZr=class extends uEr{constructor(t,r={}){if(super(t,r),this._memoryStorage=new RZr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,ODy):_gu,r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new DZr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new Kae(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wDy}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):fetch(t,r)}getLibraryVersion(){return fgu}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(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=_gu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let E=this._flagOverrides[t];if(E===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:E!==!1,variant:typeof E=="string"?E:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties,c==null&&(c=this.options.strictLocalEvaluation??!1);let m,f=!1,h,y,g,A,b,v;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let E=this.featureFlagsPoller?.featureFlagsByKey[t];if(E)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(E,r,s,u,l,i);if(O){f=!0;let P=O.value;A=E.id,v="Evaluated locally",m={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof wAe||O instanceof TO)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!f&&!c){let E=await super.getFeatureFlagDetailsStateless(r,s,u,l,a,[t]);if(E===void 0)g=lEr.UNKNOWN_ERROR;else{h=E.requestId,y=E.evaluatedAt;let O=[];E.errorsWhileComputingFlags&&O.push(lEr.ERRORS_WHILE_COMPUTING),E.quotaLimited?.includes("feature_flags")&&O.push(lEr.QUOTA_LIMITED);let P=E.flags[t];if(P===void 0)O.push(lEr.FLAG_MISSING);else{A=P.metadata?.id,b=P.metadata?.version,v=P.reason?.description??P.reason?.code;let x;if(P.metadata?.payload!==void 0)try{x=JSON.parse(P.metadata.payload)}catch{x=P.metadata.payload}m={key:t,enabled:P.enabled,variant:P.variant,payload:x}}O.length>0&&(g=O.join(","))}}if(o){let E=m===void 0?void 0:m.enabled===!1?!1:m.variant??!0,O=`${t}_${E}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let P={$feature_flag:t,$feature_flag_response:E,$feature_flag_id:A,$feature_flag_version:b,$feature_flag_reason:v,locally_evaluated:f,[`$feature/${t}`]:E,$feature_flag_request_id:h,$feature_flag_evaluated_at:y};g&&(P.$feature_flag_error=g),this.capture({distinctId:r,event:"$feature_flag_called",properties:P,groups:s,disableGeoip:a})}}return m!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(m={...m,payload:this._payloadOverrides[t]}),m}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){return this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:n,disableGeoip:i,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:a,groupProperties:c}=r||{},u=this.addLocalPersonAndGroupProperties(t,n,a,c);a=u.allPersonProperties,c=u.allGroupProperties,s==null&&(s=this.options.strictLocalEvaluation??!1);let l=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,n,a,c,o),p={},m={},f=!0;if(l&&(p=l.response,m=l.payloads,f=l.fallbackToFlags),f&&!s){let h=await super.getFeatureFlagsAndPayloadsStateless(t,n,a,c,i,o);p={...p,...h.flags||{}},m={...m,...h.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=ngt(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(Iyu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}captureException(t,r,n,i){if(!Kae.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!Kae.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,m={...l?.properties||{},...i||{}};p||(p=EAe(),m.$process_person_profile=!1),l?.sessionId&&!m.$session_id&&(m.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:m,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(s){let y=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,y)}return f.event,{}}).then(y=>{let g={};if(y)for(let[b,v]of Object.entries(y))g[`$feature/${b}`]=v;let A=Object.keys(y||{}).filter(b=>y?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(y=>({...y,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vyu(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",h.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:h,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var vgu=require("async_hooks"),NZr=class{constructor(){this.storage=new vgu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){if(n?.fresh===!0)return this.storage.run(t,r);{let o=this.get()||{},s={distinctId:t.distinctId??o.distinctId,sessionId:t.sessionId??o.sessionId,properties:{...o.properties||{},...t.properties||{}}};return this.storage.run(s,r)}}};var Egu="posthog-node";function xDy(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[qAs.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],m=p.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:m,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var qAs=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=Egu,this.name=Egu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(xDy(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};Kae.errorPropertiesBuilder=new B3.ErrorPropertiesBuilder([new B3.EventCoercer,new B3.ErrorCoercer,new B3.ObjectCoercer,new B3.StringCoercer,new B3.PrimitiveCoercer],B3.createStackParser("node:javascript",B3.nodeStackLineParser),[yyu(),agu]);var LFt=class extends FZr{getLibraryId(){return"posthog-node"}initializeContext(){return new NZr}};var kZr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new LFt(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.85.5",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var pEr=class{async sendEvent(){}async identify(){}async flush(){}};var qFt=require("fs/promises"),Igu=require("os"),Cgu=require("path");var Ogu=He(require("crypto")),QZr=new Uint8Array(256),zZr=QZr.length;function WAs(){return zZr>QZr.length-16&&(Ogu.default.randomFillSync(QZr),zZr=0),QZr.slice(zZr,zZr+=16)}var wgu=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PDy(e){return typeof e=="string"&&wgu.test(e)}var GAs=PDy;var xk=[];for(let e=0;e<256;++e)xk.push((e+256).toString(16).slice(1));function xgu(e,t=0){return xk[e[t+0]]+xk[e[t+1]]+xk[e[t+2]]+xk[e[t+3]]+"-"+xk[e[t+4]]+xk[e[t+5]]+"-"+xk[e[t+6]]+xk[e[t+7]]+"-"+xk[e[t+8]]+xk[e[t+9]]+"-"+xk[e[t+10]]+xk[e[t+11]]+xk[e[t+12]]+xk[e[t+13]]+xk[e[t+14]]+xk[e[t+15]]}var Pgu=He(require("crypto")),HAs={randomUUID:Pgu.default.randomUUID};function IDy(e,t,r){if(HAs.randomUUID&&!t&&!e)return HAs.randomUUID();e=e||{};let n=e.random||(e.rng||WAs)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return xgu(n)}var wD=IDy;var CDy="id",SDy=".fern",fEr=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new LFt(r),this.userId=t==null?void 0:Sps(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.85.5",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{}}})}async flush(){await this.posthog.flush()}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await PI({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Pt(Ar.of((0,Igu.homedir)()),Ke.of(SDy),Ke.of(CDy));await qr(t)||(await(0,qFt.mkdir)((0,Cgu.dirname)(t),{recursive:!0}),await(0,qFt.writeFile)(t,wD())),this.persistedDistinctId=(await(0,qFt.readFile)(t)).toString()}return this.persistedDistinctId}};var $As;async function WFt(){return $As==null&&($As=await jDy()),$As}async function jDy(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new pEr;let r=await rHr();return r!=null?new fEr({token:r,posthogApiKey:e}):await nAe()!=null?new kZr({posthogApiKey:e}):new fEr({token:void 0,posthogApiKey:e})}catch{return new pEr}}function mEr(e,t){return function(){return e.apply(t,arguments)}}var{toString:BDy}=Object.prototype,{getPrototypeOf:JAs}=Object,{iterator:VZr,toStringTag:jgu}=Symbol,UZr=(e=>t=>{let r=BDy.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Jae=e=>(e=e.toLowerCase(),t=>UZr(t)===e),LZr=e=>t=>typeof t===e,{isArray:HFt}=Array,GFt=LZr("undefined");function dEr(e){return e!==null&&!GFt(e)&&e.constructor!==null&&!GFt(e.constructor)&&T3(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Bgu=Jae("ArrayBuffer");function TDy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Bgu(e.buffer),t}var DDy=LZr("string"),T3=LZr("function"),Tgu=LZr("number"),hEr=e=>e!==null&&typeof e=="object",RDy=e=>e===!0||e===!1,MZr=e=>{if(UZr(e)!=="object")return!1;let t=JAs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(jgu in e)&&!(VZr in e)},FDy=e=>{if(!hEr(e)||dEr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},NDy=Jae("Date"),kDy=Jae("File"),zDy=Jae("Blob"),QDy=Jae("FileList"),MDy=e=>hEr(e)&&T3(e.pipe),VDy=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T3(e.append)&&((t=UZr(e))==="formdata"||t==="object"&&T3(e.toString)&&e.toString()==="[object FormData]"))},UDy=Jae("URLSearchParams"),[LDy,qDy,WDy,GDy]=["ReadableStream","Request","Response","Headers"].map(Jae),HDy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yEr(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),HFt(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{if(dEr(e))return;let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function Dgu(e,t){if(dEr(e))return null;t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var ogt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rgu=e=>!GFt(e)&&e!==ogt;function KAs(){let{caseless:e,skipUndefined:t}=Rgu(this)&&this||{},r={},n=(i,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;let s=e&&Dgu(r,o)||o;MZr(r[s])&&MZr(i)?r[s]=KAs(r[s],i):MZr(i)?r[s]=KAs({},i):HFt(i)?r[s]=i.slice():(!t||!GFt(i))&&(r[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&yEr(arguments[i],n);return r}var $Dy=(e,t,r,{allOwnKeys:n}={})=>(yEr(t,(i,o)=>{r&&T3(i)?Object.defineProperty(e,o,{value:mEr(i,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),KDy=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JDy=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},YDy=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&JAs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},XDy=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ZDy=e=>{if(!e)return null;if(HFt(e))return e;let t=e.length;if(!Tgu(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},eRy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&JAs(Uint8Array)),tRy=(e,t)=>{let n=(e&&e[VZr]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},rRy=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},nRy=Jae("HTMLFormElement"),iRy=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),Sgu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),oRy=Jae("RegExp"),Fgu=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};yEr(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},sRy=e=>{Fgu(e,(t,r)=>{if(T3(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(T3(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aRy=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return HFt(e)?n(e):n(String(e).split(t)),r},cRy=()=>{},uRy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function lRy(e){return!!(e&&T3(e.append)&&e[jgu]==="FormData"&&e[VZr])}var pRy=e=>{let t=new Array(10),r=(n,i)=>{if(hEr(n)){if(t.indexOf(n)>=0)return;if(dEr(n))return n;if(!("toJSON"in n)){t[i]=n;let o=HFt(n)?[]:{};return yEr(n,(s,a)=>{let c=r(s,i+1);!GFt(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},fRy=Jae("AsyncFunction"),mRy=e=>e&&(hEr(e)||T3(e))&&T3(e.then)&&T3(e.catch),Ngu=((e,t)=>e?setImmediate:t?((r,n)=>(ogt.addEventListener("message",({source:i,data:o})=>{i===ogt&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),ogt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",T3(ogt.postMessage)),dRy=typeof queueMicrotask<"u"?queueMicrotask.bind(ogt):typeof process<"u"&&process.nextTick||Ngu,hRy=e=>e!=null&&T3(e[VZr]),vr={isArray:HFt,isArrayBuffer:Bgu,isBuffer:dEr,isFormData:VDy,isArrayBufferView:TDy,isString:DDy,isNumber:Tgu,isBoolean:RDy,isObject:hEr,isPlainObject:MZr,isEmptyObject:FDy,isReadableStream:LDy,isRequest:qDy,isResponse:WDy,isHeaders:GDy,isUndefined:GFt,isDate:NDy,isFile:kDy,isBlob:zDy,isRegExp:oRy,isFunction:T3,isStream:MDy,isURLSearchParams:UDy,isTypedArray:eRy,isFileList:QDy,forEach:yEr,merge:KAs,extend:$Dy,trim:HDy,stripBOM:KDy,inherits:JDy,toFlatObject:YDy,kindOf:UZr,kindOfTest:Jae,endsWith:XDy,toArray:ZDy,forEachEntry:tRy,matchAll:rRy,isHTMLForm:nRy,hasOwnProperty:Sgu,hasOwnProp:Sgu,reduceDescriptors:Fgu,freezeMethods:sRy,toObjectSet:aRy,toCamelCase:iRy,noop:cRy,toFiniteNumber:uRy,findKey:Dgu,global:ogt,isContextDefined:Rgu,isSpecCompliantForm:lRy,toJSONObject:pRy,isAsyncFn:fRy,isThenable:mRy,setImmediate:Ngu,asap:dRy,isIterable:hRy};var cV=class e extends Error{static from(t,r,n,i,o,s){let a=new e(t.message,r||t.code,n,i,o);return a.cause=t,a.name=t.name,s&&Object.assign(a,s),a}constructor(t,r,n,i,o){super(t),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),i&&(this.request=i),o&&(this.response=o,this.status=o.status)}toJSON(){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:vr.toJSONObject(this.config),code:this.code,status:this.status}}};cV.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";cV.ERR_BAD_OPTION="ERR_BAD_OPTION";cV.ECONNABORTED="ECONNABORTED";cV.ETIMEDOUT="ETIMEDOUT";cV.ERR_NETWORK="ERR_NETWORK";cV.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";cV.ERR_DEPRECATED="ERR_DEPRECATED";cV.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";cV.ERR_BAD_REQUEST="ERR_BAD_REQUEST";cV.ERR_CANCELED="ERR_CANCELED";cV.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";cV.ERR_INVALID_URL="ERR_INVALID_URL";var ps=cV;var kgu=He(yht(),1),qZr=kgu.default;function YAs(e){return vr.isPlainObject(e)||vr.isArray(e)}function Qgu(e){return vr.endsWith(e,"[]")?e.slice(0,-2):e}function zgu(e,t,r){return e?e.concat(t).map(function(i,o){return i=Qgu(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function yRy(e){return vr.isArray(e)&&!e.some(YAs)}var gRy=vr.toFlatObject(vr,{},null,function(t){return/^is[A-Z]/.test(t)});function ARy(e,t,r){if(!vr.isObject(e))throw new TypeError("target must be an object");t=t||new(qZr||FormData),r=vr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,g){return!vr.isUndefined(g[y])});let n=r.metaTokens,i=r.visitor||l,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&vr.isSpecCompliantForm(t);if(!vr.isFunction(i))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(vr.isDate(h))return h.toISOString();if(vr.isBoolean(h))return h.toString();if(!c&&vr.isBlob(h))throw new ps("Blob is not supported. Use a Buffer instead.");return vr.isArrayBuffer(h)||vr.isTypedArray(h)?c&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function l(h,y,g){let A=h;if(h&&!g&&typeof h=="object"){if(vr.endsWith(y,"{}"))y=n?y:y.slice(0,-2),h=JSON.stringify(h);else if(vr.isArray(h)&&yRy(h)||(vr.isFileList(h)||vr.endsWith(y,"[]"))&&(A=vr.toArray(h)))return y=Qgu(y),A.forEach(function(v,_){!(vr.isUndefined(v)||v===null)&&t.append(s===!0?zgu([y],_,o):s===null?y:y+"[]",u(v))}),!1}return YAs(h)?!0:(t.append(zgu(g,y,o),u(h)),!1)}let p=[],m=Object.assign(gRy,{defaultVisitor:l,convertValue:u,isVisitable:YAs});function f(h,y){if(!vr.isUndefined(h)){if(p.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(h),vr.forEach(h,function(A,b){(!(vr.isUndefined(A)||A===null)&&i.call(t,A,vr.isString(b)?b.trim():b,y,m))===!0&&f(A,y?y.concat(b):[b])}),p.pop()}}if(!vr.isObject(e))throw new TypeError("data must be an object");return f(e),t}var n8e=ARy;function Mgu(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Vgu(e,t){this._pairs=[],e&&n8e(e,this,t)}var Ugu=Vgu.prototype;Ugu.append=function(t,r){this._pairs.push([t,r])};Ugu.toString=function(t){let r=t?function(n){return t.call(this,n,Mgu)}:Mgu;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var Lgu=Vgu;function bRy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sgt(e,t,r){if(!t)return e;let n=r&&r.encode||bRy,i=vr.isFunction(r)?{serialize:r}:r,o=i&&i.serialize,s;if(o?s=o(t,i):s=vr.isURLSearchParams(t)?t.toString():new Lgu(t,i).toString(n),s){let a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}var XAs=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){vr.forEach(this.handlers,function(n){n!==null&&t(n)})}},ZAs=XAs;var i8e={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var Hgu=He(require("crypto"),1);var qgu=He(require("url"),1),Wgu=qgu.default.URLSearchParams;var ebs="abcdefghijklmnopqrstuvwxyz",Ggu="0123456789",$gu={DIGIT:Ggu,ALPHA:ebs,ALPHA_DIGIT:ebs+ebs.toUpperCase()+Ggu},_Ry=(e=16,t=$gu.ALPHA_DIGIT)=>{let r="",{length:n}=t,i=new Uint32Array(e);Hgu.default.randomFillSync(i);for(let o=0;o<e;o++)r+=t[i[o]%n];return r},Kgu={isNode:!0,classes:{URLSearchParams:Wgu,FormData:qZr,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:$gu,generateString:_Ry,protocols:["http","https","file","data"]};var nbs={};D(nbs,{hasBrowserEnv:()=>rbs,hasStandardBrowserEnv:()=>vRy,hasStandardBrowserWebWorkerEnv:()=>ERy,navigator:()=>tbs,origin:()=>ORy});var rbs=typeof window<"u"&&typeof document<"u",tbs=typeof navigator=="object"&&navigator||void 0,vRy=rbs&&(!tbs||["ReactNative","NativeScript","NS"].indexOf(tbs.product)<0),ERy=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ORy=rbs&&window.location.href||"http://localhost";var ev={...nbs,...Kgu};function ibs(e,t){return n8e(e,new ev.classes.URLSearchParams,{visitor:function(r,n,i,o){return ev.isNode&&vr.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function wRy(e){return vr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function xRy(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function PRy(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&vr.isArray(i)?i.length:s,c?(vr.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!vr.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&vr.isArray(i[s])&&(i[s]=xRy(i[s])),!a)}if(vr.isFormData(e)&&vr.isFunction(e.entries)){let r={};return vr.forEachEntry(e,(n,i)=>{t(wRy(n),i,r,0)}),r}return null}var WZr=PRy;function IRy(e,t,r){if(vr.isString(e))try{return(t||JSON.parse)(e),vr.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var obs={transitional:i8e,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=vr.isObject(t);if(o&&vr.isHTMLForm(t)&&(t=new FormData(t)),vr.isFormData(t))return i?JSON.stringify(WZr(t)):t;if(vr.isArrayBuffer(t)||vr.isBuffer(t)||vr.isStream(t)||vr.isFile(t)||vr.isBlob(t)||vr.isReadableStream(t))return t;if(vr.isArrayBufferView(t))return t.buffer;if(vr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ibs(t,this.formSerializer).toString();if((a=vr.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return n8e(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),IRy(t)):t}],transformResponse:[function(t){let r=this.transitional||obs.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(vr.isResponse(t)||vr.isReadableStream(t))return t;if(t&&vr.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?ps.from(a,ps.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ev.classes.FormData,Blob:ev.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};vr.forEach(["delete","get","head","post","put","patch"],e=>{obs.headers[e]={}});var $Ft=obs;var CRy=vr.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"]),Jgu=e=>{let t={},r,n,i;return e&&e.split(`
1290
1290
  `).forEach(function(s){i=s.indexOf(":"),r=s.substring(0,i).trim().toLowerCase(),n=s.substring(i+1).trim(),!(!r||t[r]&&CRy[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var Ygu=Symbol("internals");function gEr(e){return e&&String(e).trim().toLowerCase()}function GZr(e){return e===!1||e==null?e:vr.isArray(e)?e.map(GZr):String(e)}function SRy(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var jRy=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function sbs(e,t,r,n,i){if(vr.isFunction(n))return n.call(this,t,r);if(i&&(t=r),!!vr.isString(t)){if(vr.isString(n))return t.indexOf(n)!==-1;if(vr.isRegExp(n))return n.test(t)}}function BRy(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function TRy(e,t){let r=vr.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(i,o,s){return this[n].call(this,t,i,o,s)},configurable:!0})})}var KFt=class{constructor(t){t&&this.set(t)}set(t,r,n){let i=this;function o(a,c,u){let l=gEr(c);if(!l)throw new Error("header name must be a non-empty string");let p=vr.findKey(i,l);(!p||i[p]===void 0||u===!0||u===void 0&&i[p]!==!1)&&(i[p||c]=GZr(a))}let s=(a,c)=>vr.forEach(a,(u,l)=>o(u,l,c));if(vr.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(vr.isString(t)&&(t=t.trim())&&!jRy(t))s(Jgu(t),r);else if(vr.isObject(t)&&vr.isIterable(t)){let a={},c,u;for(let l of t){if(!vr.isArray(l))throw TypeError("Object iterator must return a key-value pair");a[u=l[0]]=(c=a[u])?vr.isArray(c)?[...c,l[1]]:[c,l[1]]:l[1]}s(a,r)}else t!=null&&o(r,t,n);return this}get(t,r){if(t=gEr(t),t){let n=vr.findKey(this,t);if(n){let i=this[n];if(!r)return i;if(r===!0)return SRy(i);if(vr.isFunction(r))return r.call(this,i,n);if(vr.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=gEr(t),t){let n=vr.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||sbs(this,this[n],n,r)))}return!1}delete(t,r){let n=this,i=!1;function o(s){if(s=gEr(s),s){let a=vr.findKey(n,s);a&&(!r||sbs(n,n[a],a,r))&&(delete n[a],i=!0)}}return vr.isArray(t)?t.forEach(o):o(t),i}clear(t){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let o=r[n];(!t||sbs(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){let r=this,n={};return vr.forEach(this,(i,o)=>{let s=vr.findKey(n,o);if(s){r[s]=GZr(i),delete r[o];return}let a=t?BRy(o):String(o).trim();a!==o&&delete r[o],r[a]=GZr(i),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return vr.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=t&&vr.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
1291
1291
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(i=>n.set(i)),n}static accessor(t){let n=(this[Ygu]=this[Ygu]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=gEr(s);n[a]||(TRy(i,s),n[a]=!0)}return vr.isArray(t)?t.forEach(o):o(t),this}};KFt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);vr.reduceDescriptors(KFt.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});vr.freezeMethods(KFt);var SI=KFt;function AEr(e,t){let r=this||$Ft,n=t||r,i=SI.from(n.headers),o=n.data;return vr.forEach(e,function(a){o=a.call(r,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function bEr(e){return!!(e&&e.__CANCEL__)}var abs=class extends ps{constructor(t,r,n){super(t??"canceled",ps.ERR_CANCELED,r,n),this.name="CanceledError",this.__CANCEL__=!0}},A9=abs;function xAe(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new ps("Request failed with status code "+r.status,[ps.ERR_BAD_REQUEST,ps.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function cbs(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function ubs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function agt(e,t,r){let n=!cbs(t);return e&&(n||r==!1)?ubs(e,t):t}var _Au=He(HZr(),1),vAu=He(require("http"),1),EAu=He(require("https"),1),Bbs=He(require("http2"),1),Tbs=He(require("util"),1),OAu=He(Ebs(),1),Oze=He(require("zlib"),1);var lgt="1.13.5";function wEr(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var KRy=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Obs(e,t,r){let n=r&&r.Blob||ev.classes.Blob,i=wEr(e);if(t===void 0&&n&&(t=!0),i==="data"){e=i.length?e.slice(i.length+1):e;let o=KRy.exec(e);if(!o)throw new ps("Invalid URL",ps.ERR_INVALID_URL);let s=o[1],a=o[2],c=o[3],u=Buffer.from(decodeURIComponent(c),a?"base64":"utf8");if(t){if(!n)throw new ps("Blob is not supported",ps.ERR_NOT_SUPPORT);return new n([u],{type:s})}return u}throw new ps("Unsupported protocol "+i,ps.ERR_NOT_SUPPORT)}var Eze=He(require("stream"),1);var oAu=He(require("stream"),1);var wbs=Symbol("internals"),xbs=class extends oAu.default.Transform{constructor(t){t=vr.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,i)=>!vr.isUndefined(i[n])),super({readableHighWaterMark:t.chunkSize});let r=this[wbs]={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",n=>{n==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[wbs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,n){let i=this[wbs],o=i.maxRate,s=this.readableHighWaterMark,a=i.timeWindow,c=1e3/a,u=o/c,l=i.minChunkSize!==!1?Math.max(i.minChunkSize,u*.01):0,p=(f,h)=>{let y=Buffer.byteLength(f);i.bytesSeen+=y,i.bytes+=y,i.isCaptured&&this.emit("progress",i.bytesSeen),this.push(f)?process.nextTick(h):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(h)}},m=(f,h)=>{let y=Buffer.byteLength(f),g=null,A=s,b,v=0;if(o){let _=Date.now();(!i.ts||(v=_-i.ts)>=a)&&(i.ts=_,b=u-i.bytes,i.bytes=b<0?-b:0,v=0),b=u-i.bytes}if(o){if(b<=0)return setTimeout(()=>{h(null,f)},a-v);b<A&&(A=b)}A&&y>A&&y-A>l&&(g=f.subarray(A),f=f.subarray(0,A)),p(f,g?()=>{process.nextTick(h,null,g)}:h)};m(t,function f(h,y){if(h)return n(h);y?m(y,f):n(null)})}},Pbs=xbs;var wAu=require("events");var aAu=He(require("util"),1),cAu=require("stream");var{asyncIterator:sAu}=Symbol,JRy=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[sAu]?yield*e[sAu]():yield e},$Zr=JRy;var YRy=ev.ALPHABET.ALPHA_DIGIT+"-_",xEr=typeof TextEncoder=="function"?new TextEncoder:new aAu.default.TextEncoder,pgt=`\r
1292
1292
  `,XRy=xEr.encode(pgt),ZRy=2,Ibs=class{constructor(t,r){let{escapeName:n}=this.constructor,i=vr.isString(r),o=`Content-Disposition: form-data; name="${n(t)}"${!i&&r.name?`; filename="${n(r.name)}"`:""}${pgt}`;i?r=xEr.encode(String(r).replace(/\r?\n|\r\n?/g,pgt)):o+=`Content-Type: ${r.type||"application/octet-stream"}${pgt}`,this.headers=xEr.encode(o+pgt),this.contentLength=i?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+ZRy,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;vr.isTypedArray(t)?yield t:yield*$Zr(t),yield XRy}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},eFy=(e,t,r)=>{let{tag:n="form-data-boundary",size:i=25,boundary:o=n+"-"+ev.generateString(i,YRy)}=r||{};if(!vr.isFormData(e))throw TypeError("FormData instance required");if(o.length<1||o.length>70)throw Error("boundary must be 10-70 characters long");let s=xEr.encode("--"+o+pgt),a=xEr.encode("--"+o+"--"+pgt),c=a.byteLength,u=Array.from(e.entries()).map(([p,m])=>{let f=new Ibs(p,m);return c+=f.size,f});c+=s.byteLength*u.length,c=vr.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${o}`};return Number.isFinite(c)&&(l["Content-Length"]=c),t&&t(l),cAu.Readable.from((async function*(){for(let p of u)yield s,yield*p.encode();yield a})())},uAu=eFy;var lAu=He(require("stream"),1),Cbs=class extends lAu.default.Transform{__transform(t,r,n){this.push(t),n()}_transform(t,r,n){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let i=Buffer.alloc(2);i[0]=120,i[1]=156,this.push(i,r)}this.__transform(t,r,n)}},pAu=Cbs;var tFy=(e,t)=>vr.isAsyncFn(e)?function(...r){let n=r.pop();e.apply(this,r).then(i=>{try{t?n(null,...t(i)):n(null,i)}catch(o){n(o)}},n)}:e,fAu=tFy;function rFy(e,t){e=e||10;let r=new Array(e),n=new Array(e),i=0,o=0,s;return t=t!==void 0?t:1e3,function(c){let u=Date.now(),l=n[o];s||(s=u),r[i]=c,n[i]=u;let p=o,m=0;for(;p!==i;)m+=r[p++],p=p%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),u-s<t)return;let f=l&&u-l;return f?Math.round(m*1e3/f):void 0}}var mAu=rFy;function nFy(e,t){let r=0,n=1e3/t,i,o,s=(u,l=Date.now())=>{r=l,i=null,o&&(clearTimeout(o),o=null),e(...u)};return[(...u)=>{let l=Date.now(),p=l-r;p>=n?s(u,l):(i=u,o||(o=setTimeout(()=>{o=null,s(i)},n-p)))},()=>i&&s(i)]}var dAu=nFy;var vze=(e,t,r=3)=>{let n=0,i=mAu(50,250);return dAu(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-n,u=i(c),l=s<=a;n=s;let p={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:u||void 0,estimated:u&&a&&l?(a-s)/u:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(p)},r)},YFt=(e,t)=>{let r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},XFt=e=>(...t)=>vr.asap(()=>e(...t));function Sbs(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let r=e.slice(5,t),n=e.slice(t+1);if(/;base64/i.test(r)){let o=n.length,s=n.length;for(let m=0;m<s;m++)if(n.charCodeAt(m)===37&&m+2<s){let f=n.charCodeAt(m+1),h=n.charCodeAt(m+2);(f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102)&&(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(o-=2,m+=2)}let a=0,c=s-1,u=m=>m>=2&&n.charCodeAt(m-2)===37&&n.charCodeAt(m-1)===51&&(n.charCodeAt(m)===68||n.charCodeAt(m)===100);c>=0&&(n.charCodeAt(c)===61?(a++,c--):u(c)&&(a++,c-=3)),a===1&&c>=0&&(n.charCodeAt(c)===61||u(c))&&a++;let p=Math.floor(o/4)*3-(a||0);return p>0?p:0}return Buffer.byteLength(n,"utf8")}var hAu={flush:Oze.default.constants.Z_SYNC_FLUSH,finishFlush:Oze.default.constants.Z_SYNC_FLUSH},iFy={flush:Oze.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Oze.default.constants.BROTLI_OPERATION_FLUSH},yAu=vr.isFunction(Oze.default.createBrotliDecompress),{http:oFy,https:sFy}=OAu.default,aFy=/https:?/,gAu=ev.protocols.map(e=>e+":"),AAu=(e,[t,r])=>(e.on("end",r).on("error",r),t),jbs=class{constructor(){this.sessions=Object.create(null)}getSession(t,r){r=Object.assign({sessionTimeout:1e3},r);let n=this.sessions[t];if(n){let l=n.length;for(let p=0;p<l;p++){let[m,f]=n[p];if(!m.destroyed&&!m.closed&&Tbs.default.isDeepStrictEqual(f,r))return m}}let i=Bbs.default.connect(t,r),o,s=()=>{if(o)return;o=!0;let l=n,p=l.length,m=p;for(;m--;)if(l[m][0]===i){p===1?delete this.sessions[t]:l.splice(m,1);return}},a=i.request,{sessionTimeout:c}=r;if(c!=null){let l,p=0;i.request=function(){let m=a.apply(this,arguments);return p++,l&&(clearTimeout(l),l=null),m.once("close",()=>{--p||(l=setTimeout(()=>{l=null,s()},c))}),m}}i.once("close",s);let u=[i,r];return n?n.push(u):n=this.sessions[t]=[u],i}},cFy=new jbs;function uFy(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function xAu(e,t,r){let n=t;if(!n&&n!==!1){let i=_Au.default.getProxyForUrl(r);i&&(n=new URL(i))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){if(!!(n.auth.username||n.auth.password))n.auth=(n.auth.username||"")+":"+(n.auth.password||"");else if(typeof n.auth=="object")throw new ps("Invalid proxy authorization",ps.ERR_BAD_OPTION,{proxy:n});let s=Buffer.from(n.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+s}e.headers.host=e.hostname+(e.port?":"+e.port:"");let i=n.hostname||n.host;e.hostname=i,e.host=i,e.port=n.port,e.path=r,n.protocol&&(e.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}e.beforeRedirects.proxy=function(o){xAu(o,t,o.href)}}var lFy=typeof process<"u"&&vr.kindOf(process)==="process",pFy=e=>new Promise((t,r)=>{let n,i,o=(c,u)=>{i||(i=!0,n&&n(c,u))},s=c=>{o(c),t(c)},a=c=>{o(c,!0),r(c)};e(s,a,c=>n=c).catch(a)}),fFy=({address:e,family:t})=>{if(!vr.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},bAu=(e,t)=>fFy(vr.isObject(e)?e:{address:e,family:t}),mFy={request(e,t){let r=e.protocol+"//"+e.hostname+":"+(e.port||(e.protocol==="https:"?443:80)),{http2Options:n,headers:i}=e,o=cFy.getSession(r,n),{HTTP2_HEADER_SCHEME:s,HTTP2_HEADER_METHOD:a,HTTP2_HEADER_PATH:c,HTTP2_HEADER_STATUS:u}=Bbs.default.constants,l={[s]:e.protocol.replace(":",""),[a]:e.method,[c]:e.path};vr.forEach(i,(m,f)=>{f.charAt(0)!==":"&&(l[f]=m)});let p=o.request(l);return p.once("response",m=>{let f=p;m=Object.assign({},m);let h=m[u];delete m[u],f.headers=m,f.statusCode=+h,t(f)}),p}},PAu=lFy&&function(t){return pFy(async function(n,i,o){let{data:s,lookup:a,family:c,httpVersion:u=1,http2Options:l}=t,{responseType:p,responseEncoding:m}=t,f=t.method.toUpperCase(),h,y=!1,g;if(u=+u,Number.isNaN(u))throw TypeError(`Invalid protocol version: '${t.httpVersion}' is not a number`);if(u!==1&&u!==2)throw TypeError(`Unsupported protocol version '${u}'`);let A=u===2;if(a){let J=fAu(a,K=>vr.isArray(K)?K:[K]);a=(K,Pe,we)=>{J(K,Pe,(Me,Ze,Oe)=>{if(Me)return we(Me);let de=vr.isArray(Ze)?Ze.map(vt=>bAu(vt)):[bAu(Ze,Oe)];Pe.all?we(Me,de):we(Me,de[0].address,de[0].family)})}}let b=new wAu.EventEmitter;function v(J){try{b.emit("abort",!J||J.type?new A9(null,t,g):J)}catch(K){console.warn("emit error",K)}}b.once("abort",i);let _=()=>{t.cancelToken&&t.cancelToken.unsubscribe(v),t.signal&&t.signal.removeEventListener("abort",v),b.removeAllListeners()};(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(v),t.signal&&(t.signal.aborted?v():t.signal.addEventListener("abort",v))),o((J,K)=>{if(h=!0,K){y=!0,_();return}let{data:Pe}=J;if(Pe instanceof Eze.default.Readable||Pe instanceof Eze.default.Duplex){let we=Eze.default.finished(Pe,()=>{we(),_()})}else _()});let E=agt(t.baseURL,t.url,t.allowAbsoluteUrls),O=new URL(E,ev.hasBrowserEnv?ev.origin:void 0),P=O.protocol||gAu[0];if(P==="data:"){if(t.maxContentLength>-1){let K=String(t.url||E||"");if(Sbs(K)>t.maxContentLength)return i(new ps("maxContentLength size of "+t.maxContentLength+" exceeded",ps.ERR_BAD_RESPONSE,t))}let J;if(f!=="GET")return xAe(n,i,{status:405,statusText:"method not allowed",headers:{},config:t});try{J=Obs(t.url,p==="blob",{Blob:t.env&&t.env.Blob})}catch(K){throw ps.from(K,ps.ERR_BAD_REQUEST,t)}return p==="text"?(J=J.toString(m),(!m||m==="utf8")&&(J=vr.stripBOM(J))):p==="stream"&&(J=Eze.default.Readable.from(J)),xAe(n,i,{data:J,status:200,statusText:"OK",headers:new SI,config:t})}if(gAu.indexOf(P)===-1)return i(new ps("Unsupported protocol "+P,ps.ERR_BAD_REQUEST,t));let x=SI.from(t.headers).normalize();x.set("User-Agent","axios/"+lgt,!1);let{onUploadProgress:I,onDownloadProgress:F}=t,q=t.maxRate,W,G;if(vr.isSpecCompliantForm(s)){let J=x.getContentType(/boundary=([-_\w\d]{10,70})/i);s=uAu(s,K=>{x.set(K)},{tag:`axios-${lgt}-boundary`,boundary:J&&J[1]||void 0})}else if(vr.isFormData(s)&&vr.isFunction(s.getHeaders)){if(x.set(s.getHeaders()),!x.hasContentLength())try{let J=await Tbs.default.promisify(s.getLength).call(s);Number.isFinite(J)&&J>=0&&x.setContentLength(J)}catch{}}else if(vr.isBlob(s)||vr.isFile(s))s.size&&x.setContentType(s.type||"application/octet-stream"),x.setContentLength(s.size||0),s=Eze.default.Readable.from($Zr(s));else if(s&&!vr.isStream(s)){if(!Buffer.isBuffer(s))if(vr.isArrayBuffer(s))s=Buffer.from(new Uint8Array(s));else if(vr.isString(s))s=Buffer.from(s,"utf-8");else return i(new ps("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",ps.ERR_BAD_REQUEST,t));if(x.setContentLength(s.length,!1),t.maxBodyLength>-1&&s.length>t.maxBodyLength)return i(new ps("Request body larger than maxBodyLength limit",ps.ERR_BAD_REQUEST,t))}let re=vr.toFiniteNumber(x.getContentLength());vr.isArray(q)?(W=q[0],G=q[1]):W=G=q,s&&(I||W)&&(vr.isStream(s)||(s=Eze.default.Readable.from(s,{objectMode:!1})),s=Eze.default.pipeline([s,new Pbs({maxRate:vr.toFiniteNumber(W)})],vr.noop),I&&s.on("progress",AAu(s,YFt(re,vze(XFt(I),!1,3)))));let oe;if(t.auth){let J=t.auth.username||"",K=t.auth.password||"";oe=J+":"+K}if(!oe&&O.username){let J=O.username,K=O.password;oe=J+":"+K}oe&&x.delete("authorization");let H;try{H=sgt(O.pathname+O.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(J){let K=new Error(J.message);return K.config=t,K.url=t.url,K.exists=!0,i(K)}x.set("Accept-Encoding","gzip, compress, deflate"+(yAu?", br":""),!1);let ee={path:H,method:f,headers:x.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:oe,protocol:P,family:c,beforeRedirect:uFy,beforeRedirects:{},http2Options:l};!vr.isUndefined(a)&&(ee.lookup=a),t.socketPath?ee.socketPath=t.socketPath:(ee.hostname=O.hostname.startsWith("[")?O.hostname.slice(1,-1):O.hostname,ee.port=O.port,xAu(ee,t.proxy,P+"//"+O.hostname+(O.port?":"+O.port:"")+ee.path));let Ge,Je=aFy.test(ee.protocol);if(ee.agent=Je?t.httpsAgent:t.httpAgent,A?Ge=mFy:t.transport?Ge=t.transport:t.maxRedirects===0?Ge=Je?EAu.default:vAu.default:(t.maxRedirects&&(ee.maxRedirects=t.maxRedirects),t.beforeRedirect&&(ee.beforeRedirects.config=t.beforeRedirect),Ge=Je?sFy:oFy),t.maxBodyLength>-1?ee.maxBodyLength=t.maxBodyLength:ee.maxBodyLength=1/0,t.insecureHTTPParser&&(ee.insecureHTTPParser=t.insecureHTTPParser),g=Ge.request(ee,function(K){if(g.destroyed)return;let Pe=[K],we=vr.toFiniteNumber(K.headers["content-length"]);if(F||G){let de=new Pbs({maxRate:vr.toFiniteNumber(G)});F&&de.on("progress",AAu(de,YFt(we,vze(XFt(F),!0,3)))),Pe.push(de)}let Me=K,Ze=K.req||g;if(t.decompress!==!1&&K.headers["content-encoding"])switch((f==="HEAD"||K.statusCode===204)&&delete K.headers["content-encoding"],(K.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Pe.push(Oze.default.createUnzip(hAu)),delete K.headers["content-encoding"];break;case"deflate":Pe.push(new pAu),Pe.push(Oze.default.createUnzip(hAu)),delete K.headers["content-encoding"];break;case"br":yAu&&(Pe.push(Oze.default.createBrotliDecompress(iFy)),delete K.headers["content-encoding"])}Me=Pe.length>1?Eze.default.pipeline(Pe,vr.noop):Pe[0];let Oe={status:K.statusCode,statusText:K.statusMessage,headers:new SI(K.headers),config:t,request:Ze};if(p==="stream")Oe.data=Me,xAe(n,i,Oe);else{let de=[],vt=0;Me.on("data",function(gr){de.push(gr),vt+=gr.length,t.maxContentLength>-1&&vt>t.maxContentLength&&(y=!0,Me.destroy(),v(new ps("maxContentLength size of "+t.maxContentLength+" exceeded",ps.ERR_BAD_RESPONSE,t,Ze)))}),Me.on("aborted",function(){if(y)return;let gr=new ps("stream has been aborted",ps.ERR_BAD_RESPONSE,t,Ze);Me.destroy(gr),i(gr)}),Me.on("error",function(gr){g.destroyed||i(ps.from(gr,null,t,Ze))}),Me.on("end",function(){try{let gr=de.length===1?de[0]:Buffer.concat(de);p!=="arraybuffer"&&(gr=gr.toString(m),(!m||m==="utf8")&&(gr=vr.stripBOM(gr))),Oe.data=gr}catch(gr){return i(ps.from(gr,null,t,Oe.request,Oe))}xAe(n,i,Oe)})}b.once("abort",de=>{Me.destroyed||(Me.emit("error",de),Me.destroy())})}),b.once("abort",J=>{g.close?g.close():g.destroy(J)}),g.on("error",function(K){i(ps.from(K,null,t,g))}),g.on("socket",function(K){K.setKeepAlive(!0,1e3*60)}),t.timeout){let J=parseInt(t.timeout,10);if(Number.isNaN(J)){v(new ps("error trying to parse `config.timeout` to int",ps.ERR_BAD_OPTION_VALUE,t,g));return}g.setTimeout(J,function(){if(h)return;let Pe=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",we=t.transitional||i8e;t.timeoutErrorMessage&&(Pe=t.timeoutErrorMessage),v(new ps(Pe,we.clarifyTimeoutError?ps.ETIMEDOUT:ps.ECONNABORTED,t,g))})}else g.setTimeout(0);if(vr.isStream(s)){let J=!1,K=!1;s.on("end",()=>{J=!0}),s.once("error",Pe=>{K=!0,g.destroy(Pe)}),s.on("close",()=>{!J&&!K&&v(new A9("Request stream has been aborted",t,g))}),s.pipe(g)}else s&&g.write(s),g.end()})};var IAu=ev.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,ev.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(ev.origin),ev.navigator&&/(msie|trident)/i.test(ev.navigator.userAgent)):()=>!0;var CAu=ev.hasStandardBrowserEnv?{write(e,t,r,n,i,o,s){if(typeof document>"u")return;let a=[`${e}=${encodeURIComponent(t)}`];vr.isNumber(r)&&a.push(`expires=${new Date(r).toUTCString()}`),vr.isString(n)&&a.push(`path=${n}`),vr.isString(i)&&a.push(`domain=${i}`),o===!0&&a.push("secure"),vr.isString(s)&&a.push(`SameSite=${s}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};var SAu=e=>e instanceof SI?{...e}:e;function Yae(e,t){t=t||{};let r={};function n(u,l,p,m){return vr.isPlainObject(u)&&vr.isPlainObject(l)?vr.merge.call({caseless:m},u,l):vr.isPlainObject(l)?vr.merge({},l):vr.isArray(l)?l.slice():l}function i(u,l,p,m){if(vr.isUndefined(l)){if(!vr.isUndefined(u))return n(void 0,u,p,m)}else return n(u,l,p,m)}function o(u,l){if(!vr.isUndefined(l))return n(void 0,l)}function s(u,l){if(vr.isUndefined(l)){if(!vr.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function a(u,l,p){if(p in t)return n(u,l);if(p in e)return n(void 0,u)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(u,l,p)=>i(SAu(u),SAu(l),p,!0)};return vr.forEach(Object.keys({...e,...t}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;let p=vr.hasOwnProp(c,l)?c[l]:i,m=p(e[l],t[l],l);vr.isUndefined(m)&&p!==a||(r[l]=m)}),r}var KZr=e=>{let t=Yae({},e),{data:r,withXSRFToken:n,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=t;if(t.headers=s=SI.from(s),t.url=sgt(agt(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),vr.isFormData(r)){if(ev.hasStandardBrowserEnv||ev.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(vr.isFunction(r.getHeaders)){let c=r.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([l,p])=>{u.includes(l.toLowerCase())&&s.set(l,p)})}}if(ev.hasStandardBrowserEnv&&(n&&vr.isFunction(n)&&(n=n(t)),n||n!==!1&&IAu(t.url))){let c=i&&o&&CAu.read(o);c&&s.set(i,c)}return t};var dFy=typeof XMLHttpRequest<"u",jAu=dFy&&function(e){return new Promise(function(r,n){let i=KZr(e),o=i.data,s=SI.from(i.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:u}=i,l,p,m,f,h;function y(){f&&f(),h&&h(),i.cancelToken&&i.cancelToken.unsubscribe(l),i.signal&&i.signal.removeEventListener("abort",l)}let g=new XMLHttpRequest;g.open(i.method.toUpperCase(),i.url,!0),g.timeout=i.timeout;function A(){if(!g)return;let v=SI.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),E={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:v,config:e,request:g};xAe(function(P){r(P),y()},function(P){n(P),y()},E),g=null}"onloadend"in g?g.onloadend=A:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(A)},g.onabort=function(){g&&(n(new ps("Request aborted",ps.ECONNABORTED,e,g)),g=null)},g.onerror=function(_){let E=_&&_.message?_.message:"Network Error",O=new ps(E,ps.ERR_NETWORK,e,g);O.event=_||null,n(O),g=null},g.ontimeout=function(){let _=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",E=i.transitional||i8e;i.timeoutErrorMessage&&(_=i.timeoutErrorMessage),n(new ps(_,E.clarifyTimeoutError?ps.ETIMEDOUT:ps.ECONNABORTED,e,g)),g=null},o===void 0&&s.setContentType(null),"setRequestHeader"in g&&vr.forEach(s.toJSON(),function(_,E){g.setRequestHeader(E,_)}),vr.isUndefined(i.withCredentials)||(g.withCredentials=!!i.withCredentials),a&&a!=="json"&&(g.responseType=i.responseType),u&&([m,h]=vze(u,!0),g.addEventListener("progress",m)),c&&g.upload&&([p,f]=vze(c),g.upload.addEventListener("progress",p),g.upload.addEventListener("loadend",f)),(i.cancelToken||i.signal)&&(l=v=>{g&&(n(!v||v.type?new A9(null,e,g):v),g.abort(),g=null)},i.cancelToken&&i.cancelToken.subscribe(l),i.signal&&(i.signal.aborted?l():i.signal.addEventListener("abort",l)));let b=wEr(i.url);if(b&&ev.protocols.indexOf(b)===-1){n(new ps("Unsupported protocol "+b+":",ps.ERR_BAD_REQUEST,e));return}g.send(o||null)})};var hFy=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,i,o=function(u){if(!i){i=!0,a();let l=u instanceof Error?u:this.reason;n.abort(l instanceof ps?l:new A9(l instanceof Error?l.message:l))}},s=t&&setTimeout(()=>{s=null,o(new ps(`timeout of ${t}ms exceeded`,ps.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));let{signal:c}=n;return c.unsubscribe=()=>vr.asap(a),c}},BAu=hFy;var yFy=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let n=0,i;for(;n<r;)i=n+t,yield e.slice(n,i),n=i},gFy=async function*(e,t){for await(let r of AFy(e))yield*yFy(r,t)},AFy=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},Dbs=(e,t,r,n)=>{let i=gFy(e,t),o=0,s,a=c=>{s||(s=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:u,value:l}=await i.next();if(u){a(),c.close();return}let p=l.byteLength;if(r){let m=o+=p;r(m)}c.enqueue(new Uint8Array(l))}catch(u){throw a(u),u}},cancel(c){return a(c),i.return()}},{highWaterMark:2})};var TAu=64*1024,{isFunction:JZr}=vr,bFy=(({Request:e,Response:t})=>({Request:e,Response:t}))(vr.global),{ReadableStream:DAu,TextEncoder:RAu}=vr.global,FAu=(e,...t)=>{try{return!!e(...t)}catch{return!1}},_Fy=e=>{e=vr.merge.call({skipUndefined:!0},bFy,e);let{fetch:t,Request:r,Response:n}=e,i=t?JZr(t):typeof fetch=="function",o=JZr(r),s=JZr(n);if(!i)return!1;let a=i&&JZr(DAu),c=i&&(typeof RAu=="function"?(h=>y=>h.encode(y))(new RAu):async h=>new Uint8Array(await new r(h).arrayBuffer())),u=o&&a&&FAu(()=>{let h=!1,y=new r(ev.origin,{body:new DAu,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!y}),l=s&&a&&FAu(()=>vr.isReadableStream(new n("").body)),p={stream:l&&(h=>h.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!p[h]&&(p[h]=(y,g)=>{let A=y&&y[h];if(A)return A.call(y);throw new ps(`Response type '${h}' is not supported`,ps.ERR_NOT_SUPPORT,g)})});let m=async h=>{if(h==null)return 0;if(vr.isBlob(h))return h.size;if(vr.isSpecCompliantForm(h))return(await new r(ev.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(vr.isArrayBufferView(h)||vr.isArrayBuffer(h))return h.byteLength;if(vr.isURLSearchParams(h)&&(h=h+""),vr.isString(h))return(await c(h)).byteLength},f=async(h,y)=>{let g=vr.toFiniteNumber(h.getContentLength());return g??m(y)};return async h=>{let{url:y,method:g,data:A,signal:b,cancelToken:v,timeout:_,onDownloadProgress:E,onUploadProgress:O,responseType:P,headers:x,withCredentials:I="same-origin",fetchOptions:F}=KZr(h),q=t||fetch;P=P?(P+"").toLowerCase():"text";let W=BAu([b,v&&v.toAbortSignal()],_),G=null,re=W&&W.unsubscribe&&(()=>{W.unsubscribe()}),oe;try{if(O&&u&&g!=="get"&&g!=="head"&&(oe=await f(x,A))!==0){let K=new r(y,{method:"POST",body:A,duplex:"half"}),Pe;if(vr.isFormData(A)&&(Pe=K.headers.get("content-type"))&&x.setContentType(Pe),K.body){let[we,Me]=YFt(oe,vze(XFt(O)));A=Dbs(K.body,TAu,we,Me)}}vr.isString(I)||(I=I?"include":"omit");let H=o&&"credentials"in r.prototype,ee={...F,signal:W,method:g.toUpperCase(),headers:x.normalize().toJSON(),body:A,duplex:"half",credentials:H?I:void 0};G=o&&new r(y,ee);let Ge=await(o?q(G,F):q(y,ee)),Je=l&&(P==="stream"||P==="response");if(l&&(E||Je&&re)){let K={};["status","statusText","headers"].forEach(Ze=>{K[Ze]=Ge[Ze]});let Pe=vr.toFiniteNumber(Ge.headers.get("content-length")),[we,Me]=E&&YFt(Pe,vze(XFt(E),!0))||[];Ge=new n(Dbs(Ge.body,TAu,we,()=>{Me&&Me(),re&&re()}),K)}P=P||"text";let J=await p[vr.findKey(p,P)||"text"](Ge,h);return!Je&&re&&re(),await new Promise((K,Pe)=>{xAe(K,Pe,{data:J,headers:SI.from(Ge.headers),status:Ge.status,statusText:Ge.statusText,config:h,request:G})})}catch(H){throw re&&re(),H&&H.name==="TypeError"&&/Load failed|fetch/i.test(H.message)?Object.assign(new ps("Network Error",ps.ERR_NETWORK,h,G,H&&H.response),{cause:H.cause||H}):ps.from(H,H&&H.code,h,G,H&&H.response)}}},vFy=new Map,Rbs=e=>{let t=e&&e.env||{},{fetch:r,Request:n,Response:i}=t,o=[n,i,r],s=o.length,a=s,c,u,l=vFy;for(;a--;)c=o[a],u=l.get(c),u===void 0&&l.set(c,u=a?new Map:_Fy(t)),l=u;return u},Z5x=Rbs();var Fbs={http:PAu,xhr:jAu,fetch:{get:Rbs}};vr.forEach(Fbs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var NAu=e=>`- ${e}`,OFy=e=>vr.isFunction(e)||e===null||e===!1;function wFy(e,t){e=vr.isArray(e)?e:[e];let{length:r}=e,n,i,o={};for(let s=0;s<r;s++){n=e[s];let a;if(i=n,!OFy(n)&&(i=Fbs[(a=String(n)).toLowerCase()],i===void 0))throw new ps(`Unknown adapter '${a}'`);if(i&&(vr.isFunction(i)||(i=i.get(t))))break;o[a||"#"+s]=i}if(!i){let s=Object.entries(o).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build")),a=r?s.length>1?`since :
@@ -1522,7 +1522,7 @@ ${r}`);return i!=null?i(s):s},ESu(n))}var eCs=class{async handle(t,r){let n=r["d
1522
1522
  Location: ${i.join("-> ")}`),Dn.unknown({nameOverride:p,generatedName:h,title:y,description:g,availability:A,namespace:a,groupName:f,example:void 0})}}function vXy(e){if(e!=null){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.toLowerCase();if(t==="true")return!0;if(t==="false")return!1}}}function N6e(e){if(e.$ref.startsWith(qAt))return e.$ref.replace(qAt,"")}function XTs(e,t,r,n,i){let o=Xn(e,wi.TYPE_NAME),s=PS(t,n),a=e.description,c=_2(e),u=N6e(e);if(u==null)throw new Error(`Invalid schema reference ${JSON.stringify(e)}`);return Cu.reference({generatedName:s,nameOverride:o,title:void 0,schema:u,description:a??void 0,availability:c,namespace:i.getNamespace(u),groupName:void 0,source:r})}function EXy(e){return e.oneOf==null||e.oneOf.length===0}function azu(e){return e.allOf==null||e.allOf.length===0}function pvn(e){return e.properties==null||w0(e.properties)===0}function mvn(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function bbe(e,t,r,n){if(e.type==="reference")return Dn.reference({...e,description:t,availability:e.availability,namespace:r,groupName:n});if(e.type==="optional"){let i=bbe(e.value,t,r,n);return Dn.optional({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,value:i,description:t,availability:e.availability,namespace:r,groupName:n,inline:void 0})}else if(e.type==="nullable"){let i=bbe(e.value,t,r,n);return Dn.nullable({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,value:i,description:t,availability:e.availability,namespace:r,groupName:n,inline:void 0})}else if(e.type==="primitive"&&t!=null&&e.description==null)return Dn.primitive({...e,description:t});return e}function fvn(e){return yo(e)||e.type==="object"||e.properties!=null?!0:e.allOf!=null?e.allOf.every(t=>fvn(t)):e.oneOf!=null?e.oneOf.every(t=>fvn(t)):e.anyOf!=null?e.anyOf.every(t=>fvn(t)):!1}function czu({literal:e,wrapAsOptional:t,wrapAsNullable:r,namespace:n,groupName:i,description:o,availability:s,nameOverride:a,generatedName:c,title:u}){let l=Dn.literal({nameOverride:a,generatedName:c,title:u,value:e,namespace:n,groupName:i,description:o,availability:s});return r&&(l=Dn.nullable({nameOverride:a,generatedName:c,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),t&&(l=Dn.optional({nameOverride:a,generatedName:c,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),l}function v2({primitive:e,wrapAsOptional:t,wrapAsNullable:r,namespace:n,groupName:i,description:o,availability:s,generatedName:a,nameOverride:c,title:u}){i=typeof i=="string"?[i]:i;let l=Dn.primitive({nameOverride:c,generatedName:a,title:u,schema:e,description:o,availability:s,namespace:n,groupName:i});return r&&(l=Dn.nullable({nameOverride:c,generatedName:a,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),t&&(l=Dn.optional({nameOverride:c,generatedName:a,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),l}function OXy({schemas:e}){let t=new Set;for(let r of e){if(yo(r))return;if(r.enum!=null&&mvn(r.enum))r.enum.forEach(n=>t.add(n));else return}return Array.from(t)}function uzu({schemas:e,context:t}){let r={};for(let n of e){let i=fzu({schema:n,context:t});for(let[o,s]of Object.entries(i)){let a=r[o];a!=null?a[s]=n:r[o]={[s]:n}}}for(let[n,i]of Object.entries(r))if(Object.keys(i).length===e.length)return{discriminant:n,schemas:i}}function fzu({schema:e,context:t}){let r=yo(e)?t.resolveSchemaReference(e):e;return wXy({schema:r,context:t})}function wXy({schema:e,context:t}){let r={};if(e.anyOf!=null){for(let n of e.anyOf){let i=fzu({schema:n,context:t});for(let[o,s]of Object.entries(i??{}))r[o]=s}return r}for(let[n,i]of Object.entries(e.properties??{})){let o=yo(i)?t.resolveSchemaReference(i):i;o.type==="string"&&o.enum!=null&&mvn(o.enum)&&xXy(o.enum).length===1&&o.enum[0]!=null&&(r[n]=o.enum[0]);let s=mzu(o,"const");o.type==="string"&&s!=null&&(r[n]=s),n==="type"&&o.example!=null&&(r[n]=o.example)}return r}function xXy(e){if(!e)return[];let t=new Set;return e.forEach(r=>{typeof r=="string"?t.add(r.toLowerCase()):t.add(r)}),Array.from(t)}function mzu(e,t){let r=e[t];if(r!=null)return r}function PXy({schema:e,logger:t}){let r=Uku({schema:e,logger:t});if(r!=null)return Jku(r)}var WQt=class{document;taskContext;logger;DUMMY;options;namespace;static MESSAGE_REFERENCE_PREFIX="#/components/messages/";constructor({document:t,taskContext:r,options:n,namespace:i}){this.document=t,this.taskContext=r,this.logger=r.logger,this.DUMMY=this,this.options=n,this.namespace=i}resolveGroupName(t){return this.namespace!=null?[{type:"namespace",name:this.namespace},...t]:t}resolveTags(t,r){if(this.namespace==null&&t==null&&r!=null)return[r];let n=[];if(this.namespace!=null){let i={type:"namespace",name:this.namespace};n.push(i)}return n.concat(t??[])}resolveSchemaReference(t){if(!t.$ref.startsWith(qAt))throw new Error(`Failed to resolve schema reference: ${t.$ref}`);let n=t.$ref.substring(qAt.length).split("/"),i=this.document.components;if(i==null||i.schemas==null)throw new Error("Document does not have components.schemas.");let[o,s,a]=n;if(o==null||o==="")throw new Error(`${t.$ref} cannot be resolved. No schema key provided.`);let c=i.schemas[o];if(c==null)throw new Error(`Schema "${o}" is undefined in document.components.schemas.`);if(yo(c)&&(c=this.resolveSchemaReference(c)),s==="properties"&&a!=null){let u=c.properties?.[a];if(u==null)throw new Error(`Property "${a}" not found on "${o}". Full ref: ${t.$ref}`);yo(u)?c=this.resolveSchemaReference(u):c=u}return c}referenceExists(t){let r=t.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return!1;n=n[i]}return!0}markSchemaAsReferencedByNonRequest(t){}markSchemaAsReferencedByRequest(t){}markReferencedByDiscriminatedUnion(t,r,n){}markSchemaWithDiscriminantValue(t,r,n){}getNamespace(t){return this.namespace}};var hvn=class extends WQt{getExampleMessageReference(t){return`#/components/messages/${t.messageId}`}resolveMessageReference(t){let r="#/components/messages/",n=this.document.components;if(n==null||n.messages==null||!t.$ref.startsWith(r))throw new Error(`Failed to resolve message reference: ${t.$ref} in v2 components`);let i=t.$ref.substring(r.length),o=n.messages[i];if(o==null)throw new Error(`${t.$ref} is undefined`);return o}};function GQt(e,t){let r={};if(e!=null)return{rootSchemas:r,namespacedSchemas:{[e]:t}};let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"object":case"array":case"map":case"optional":case"enum":case"literal":case"reference":case"nullable":case"primitive":{if(o.namespace==null){r[i]=o;continue}let s=o.namespace;n[s]??={},n[s][i]=o;continue}case"oneOf":case"unknown":r[i]=o;continue;default:Ve(o)}return{rootSchemas:r,namespacedSchemas:n}}var HQt=He(require("fs"),1),WAt=He(require("path"),1);function z6e(e){if(typeof e=="string")return jl.primitive(Zs.string(e));if(typeof e=="number")return Number.isInteger(e)?jl.primitive(Zs.int(e)):jl.primitive(Zs.double(e));if(typeof e=="boolean")return jl.primitive(Zs.boolean(e));if(Array.isArray(e)){let t=e.map(r=>z6e(r));return t.length===0?void 0:jl.array(t.filter(r=>r!=null))}else if(e!=null&&typeof e=="object"&&Object.keys(e).every(t=>typeof t=="string")){let t=[];for(let[r,n]of Object.entries(e)){let i=z6e(n);i!=null&&t.push({key:Zs.string(r),value:i})}return jl.map(t)}}function dPr(e){if(e!=null&&typeof e=="object"&&Object.keys(e).every(t=>typeof t=="string"))return e}function dzu(e){if(e!=null&&Array.isArray(e))return e}var Q6e=class{schemas;nonRequestReferencedSchemas;context;constructor(t,r,n){this.schemas=t,this.nonRequestReferencedSchemas=r,this.context=n}buildExample({schema:t,exampleId:r,example:n,options:i,skipReadonly:o}){return this.buildExampleHelper({schema:t,visitedSchemaIds:new Set,exampleId:r,example:n,options:{...i,maxCheckerDepth:i.maxCheckerDepth??5},depth:0,skipReadonly:o??!1})}buildExampleHelper({exampleId:t,example:r,schema:n,depth:i,visitedSchemaIds:o,options:s,skipReadonly:a}){switch(n.type){case"enum":return typeof r=="string"&&hzu({schema:n,value:r})?jl.enum(r):n.values[0]!=null?jl.enum(n.values[0]?.value):void 0;case"literal":return jl.literal(n.value);case"nullable":{if(r===null)return jl.null({});if(r==null&&!this.hasExample(n.value,0,o,s)&&this.exceedsMaxDepth(i,s))return jl.null({});let c=this.buildExampleHelper({schema:n.value,visitedSchemaIds:o,exampleId:t,example:r,depth:i,options:s,skipReadonly:a});return c??jl.null({})}case"optional":{if(r==null&&!this.hasExample(n.value,0,o,s)&&(s.ignoreOptionals||this.exceedsMaxDepth(i,s))||Object.is(r,null))return;let c=this.buildExampleHelper({schema:n.value,visitedSchemaIds:o,exampleId:t,example:r,depth:i,options:s,skipReadonly:a});return c!=null&&c.type==="array"&&c.value.length===0||c!=null&&c.type==="map"&&c.value.length===0||c!=null&&c.type==="object"&&Object.keys(c.properties).length===0?void 0:c}case"primitive":{let c=this.buildExampleFromPrimitive({schema:n.schema,example:r,options:s});return jl.primitive(c)}case"reference":{let c=this.schemas[n.schema];if(c!=null&&!o.has(n.schema)){o.add(n.schema);let u=c?.type==="object"&&!this.nonRequestReferencedSchemas.has(n.schema),l=this.buildExampleHelper({example:r,schema:c,exampleId:t,visitedSchemaIds:o,depth:i,options:s,skipReadonly:u||this.context.options.respectReadonlySchemas?a:!1});return o.delete(n.schema),l}return}case"oneOf":switch(n.value.type){case"discriminated":{let c={},u={},l={},p=dPr(r),m=p?.[n.value.discriminantProperty],f=n.value.schemas[m],h=[],y=this.getDiscriminatedUnionVariantSchema(n.value,p);y!=null&&h.push(y),h.push(...Object.entries(n.value.schemas));for(let g of h)if(m!=null&&f!=null&&f.type==="object"){u=this.getAllProperties(f),l=this.getAllRequiredProperties(f),c[n.value.discriminantProperty]=jl.primitive(Zs.string(m));break}else{let A=this.buildExampleHelper({exampleId:t,schema:g[1],example:void 0,visitedSchemaIds:o,depth:i,options:s,skipReadonly:a});if(A!=null){this.mergeExampleWith(A,c),c[n.value.discriminantProperty]=jl.primitive(Zs.string(g[0]));break}}for(let g of n.value.commonProperties){u[g.key]={schema:g.schema,readonly:!1};let A=this.getResolvedSchema(g.schema);A.type!=="optional"&&A.type!=="nullable"&&(l[g.key]=g.schema)}for(let[g,A]of Object.entries(u)){let b=g in l;if(b&&p?.[g]!=null){let v=this.buildExampleHelper({schema:A.schema,exampleId:t,example:p[g],visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});if(v!=null)c[g]=v;else return}else{let v=this.buildExampleHelper({exampleId:t,schema:A.schema,example:p?.[g],visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});if(v!=null)c[g]=v;else if(b)return}}return jl.oneOf(O6e.discriminated(c))}case"undiscriminated":{let c=this.getUnDiscriminatedUnionVariantSchema(n.value,r);if(c!=null)return this.buildExampleHelper({exampleId:t,example:r,schema:c,visitedSchemaIds:o,depth:i,options:s,skipReadonly:a});break}}return;case"unknown":if(r!=null){let c=z6e(r);if(c!=null)return jl.unknown(c)}return s.ignoreOptionals||this.exceedsMaxDepth(i,s)?void 0:s.isParameter?jl.primitive(Zs.string(s.name??"string")):jl.map([{key:Zs.string("key"),value:jl.primitive(Zs.string("value"))}]);case"array":{let c=dzu(r),u=[];if(c!=null&&c.length>0)for(let l of c){let p=this.buildExampleHelper({exampleId:t,example:l,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});p!=null&&u.push(p)}else if(n.example!=null&&n.example.length>0)for(let l of n.example){let p=this.buildExampleHelper({exampleId:t,example:l,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});p!=null&&u.push(p)}else{let l=this.buildExampleHelper({exampleId:t,example:void 0,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});l!=null&&u.push(l)}return jl.array(u)}case"map":{let c=dPr(r??n.example);if(c!=null&&Object.entries(c).length>0){let p=[];for(let[m,f]of Object.entries(c)){let h=this.buildExampleFromPrimitive({schema:n.key.schema,example:m,options:s}),y=this.buildExampleHelper({exampleId:t,example:f,schema:n.value,visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});y!=null&&p.push({key:h,value:y})}return jl.map(p)}if(n.key.schema.type==="string"&&n.value.type==="unknown")return jl.map([{key:Zs.string("key"),value:jl.unknown(jl.primitive(Zs.string("value")))}]);let u=this.buildExampleFromPrimitive({schema:n.key.schema,example:void 0,options:{...s,name:"key"}}),l=this.buildExampleHelper({exampleId:t,example:void 0,schema:n.value,visitedSchemaIds:o,depth:i+1,options:{...s,name:"value"},skipReadonly:a});return l!=null&&l.type!=="null"?jl.map([{key:u,value:l}]):jl.map([])}case"object":{let c={},u=n.fullExamples?.find(f=>f.name===t)??n.fullExamples?.find(f=>f.name==null)??n.fullExamples?.[0],l=dPr(r)??(u!=null?dPr(u.value):{})??{},p=this.getAllProperties(n),m=this.getAllRequiredProperties(n);for(let[f,h]of Object.entries(p)){if(a&&h.readonly||h.schema._visit({optional:E=>typeof E.availability=="string"&&E.availability==="Deprecated",primitive:()=>!1,object:()=>!1,array:()=>!1,map:()=>!1,enum:()=>!1,reference:()=>!1,literal:()=>!1,oneOf:()=>!1,nullable:()=>!1,unknown:()=>!1,_other:()=>!1}))continue;let y=f in m,g=Object.keys(l).includes(f),A=l[f],b=this.getSchemaExample(h.schema),v=g?A:b,_=this.buildExampleHelper({schema:h.schema,exampleId:t,example:v,visitedSchemaIds:o,depth:i+1,options:{...s,name:f},skipReadonly:a});if(y&&_!=null)c[f]=_;else{if(y)return;(g&&_!=null||!s.ignoreOptionals&&_!=null)&&(c[f]=_)}}if(n.additionalProperties){for(let[f,h]of Object.entries(l))if(!(f in c)){let y=this.buildExampleHelper({schema:Dn.unknown({example:h,title:void 0,availability:void 0,description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0}),exampleId:t,example:h,visitedSchemaIds:o,depth:i+1,options:{...s,name:f},skipReadonly:a});y!=null&&(c[f]=y)}}return jl.object({properties:c})}default:Ve(n)}}mergeExampleWith(t,r){t._visit({array:Ut,enum:Ut,literal:Ut,map:n=>{for(let i of n){let o=i.key;o.type==="string"&&(r[o.value]=i.value)}},object:n=>{for(let[i,o]of Object.entries(n.properties))r[i]=o},oneOf:n=>{if(n.type==="discriminated")for(let[i,o]of Object.entries(n.value))r[i]=o;else this.mergeExampleWith(n.value,r)},primitive:Ut,unknown:Ut,null:Ut,_other:Ut})}getObjectSchema(t){if(t.type==="object")return t;if(t.type==="reference"){let r=this.schemas[t.schema];if(r!=null)return this.getObjectSchema(r)}}getDiscriminatedUnionVariantSchema(t,r){let n=r?.[t.discriminantProperty];if(n==null||typeof n!="string")return Object.entries(t.schemas)[0];let i=t.schemas[n];return i==null?Object.entries(t.schemas)[0]:[n,i]}getUnDiscriminatedUnionVariantSchema(t,r){if(r==null){let o=t.schemas.find(a=>this.hasExample(a,0,new Set,{ignoreOptionals:!1,isParameter:!1}));if(o!=null)return o;let s=t.schemas.find(a=>this.hasInherentExample(a));return s??t.schemas[0]}return t.schemas.map(o=>({schema:o,heuristic:this.calcExampleHeuristic(o,r)})).sort((o,s)=>s.heuristic-o.heuristic)[0]?.schema}calcExampleHeuristic(t,r){switch(t.type){case"literal":return t.value.value===r?5:0;case"enum":return hzu({schema:t,value:r})?5:0;case"object":{if(!cl(r))return 0;let n=this.getAllProperties(t),i=0;for(let[o,s]of Object.entries(n))r[o]!=null?(i++,i+=this.calcExampleHeuristic(s.schema,r[o])):i--;return i}case"array":{if(!Array.isArray(r))return 0;let n=0;for(let i of r)n+=this.calcExampleHeuristic(t.value,i);return n}case"map":{if(!cl(r))return 0;let n=0;for(let[,i]of Object.entries(r))n+=this.calcExampleHeuristic(t.value,i);return n}case"nullable":case"optional":return this.calcExampleHeuristic(t.value,r);case"reference":{let n=this.getResolvedSchema(t);return n==null?0:this.calcExampleHeuristic(n,r)}case"oneOf":return Object.values(t.value.schemas).map(i=>this.calcExampleHeuristic(i,r)).sort((i,o)=>o-i)[0]??0;case"primitive":return r==null?0:t.schema._visit({int:()=>typeof r=="number",int64:()=>typeof r=="number",uint:()=>typeof r=="number",uint64:()=>typeof r=="number",float:()=>typeof r=="number",double:()=>typeof r=="number",string:()=>typeof r=="string",datetime:()=>typeof r=="string",date:()=>typeof r=="string",base64:()=>typeof r=="string",boolean:()=>typeof r=="boolean",_other:()=>!0})?1:-1;default:return 0}}hasExample(t,r,n=new Set,i){if(this.exceedsMaxCheckerDepth(r,i))return!1;switch(t.type){case"array":return this.hasExample(t.value,r+1,n,i);case"enum":return t.example!=null;case"literal":return!1;case"map":return t.example!=null||t.key.schema.example!=null&&this.hasExample(t.value,r+1,n,i);case"object":{if(t.fullExamples!=null&&t.fullExamples.length>0)return!0;for(let s of t.properties)if(this.hasExample(s.schema,r+1,n,i))return!0;return!1}case"primitive":return t.schema.example!=null;case"reference":{let o=this.schemas[t.schema];if(o!=null&&!n.has(t.schema)){n.add(t.schema);let s=this.hasExample(o,r,n,i);return n.delete(t.schema),s}return!1}case"unknown":return t.example!=null;case"nullable":case"optional":return this.hasExample(t.value,r,n,i);case"oneOf":return Object.values(t.value.schemas).some(o=>this.hasExample(o,r,n,i));default:return!1}}hasInherentExample(t){switch(t.type){case"literal":return!0;case"enum":return t.values.length>0;case"optional":case"nullable":return this.hasInherentExample(t.value);case"reference":{let r=this.schemas[t.schema];return r!=null?this.hasInherentExample(r):!1}default:return!1}}exceedsMaxCheckerDepth(t,r){return t>(r.maxCheckerDepth??0)}exceedsMaxDepth(t,r){return t>(r.maxDepth??0)}getAllProperties(t){let r={};for(let n of t.properties)r[n.key]={schema:n.schema,readonly:n.readonly??!1};for(let n of t.allOf){let i=this.schemas[n.schema];if(i==null)continue;let o=this.getResolvedSchema(i);o.type==="object"&&(r={...this.getAllProperties(o),...r})}return r}getAllRequiredProperties(t){let r={};for(let n of t.properties){let i=this.getResolvedSchema(n.schema);i.type!=="optional"&&i.type!=="nullable"&&(r[n.key]=n.schema)}for(let n of t.allOf){let i=this.schemas[n.schema];if(i==null)continue;let o=this.getResolvedSchema(i);o.type==="object"&&(r={...this.getAllRequiredProperties(o),...r})}return r}getResolvedSchema(t){for(;t.type==="reference";){let r=this.schemas[t.schema];if(r==null)throw new Error(`Unexpected error: Failed to resolve schema reference: ${t.schema}`);t=r}return t}getSchemaExample(t){return t._visit({primitive:r=>r.schema.example,object:r=>r.fullExamples?.[0]?.value,array:r=>r.example,map:r=>r.example,optional:r=>this.getSchemaExample(r.value),enum:r=>r.example,reference:r=>{let n=this.schemas[r.schema];return n!=null?this.getSchemaExample(n):void 0},literal:()=>{},oneOf:()=>{},nullable:r=>this.getSchemaExample(r.value),unknown:r=>r.example,_other:()=>{}})}buildExampleFromPrimitive({example:t,schema:r,options:n}){switch(r.type){case"string":return t!=null&&typeof t=="string"?Zs.string(t):r.example!=null?Zs.string(r.example):Zs.string(n.name??Ho.STRING);case"base64":return t!=null&&typeof t=="string"?Zs.base64(t):r.example!=null?Zs.base64(r.example):Zs.base64(Ho.BASE64);case"boolean":return t!=null&&typeof t=="boolean"?Zs.boolean(t):r.example!=null?Zs.boolean(r.example):Zs.boolean(Ho.BOOLEAN);case"date":return t!=null&&typeof t=="string"?Zs.date(t):r.example!=null?Zs.date(r.example):Zs.date(Ho.DATE);case"datetime":return t!=null&&typeof t=="string"?Zs.datetime(t):r.example!=null?Zs.datetime(r.example):Zs.datetime(Ho.DATE_TIME);case"double":return t!=null&&typeof t=="number"?Zs.double(t):r.example!=null?Zs.double(r.example):Zs.double(Ho.DOUBLE);case"float":return t!=null&&typeof t=="number"?Zs.float(t):r.example!=null?Zs.float(r.example):Zs.float(Ho.FLOAT);case"int":return t!=null&&typeof t=="number"?Zs.int(t):r.example!=null?Zs.int(r.example):Zs.int(Ho.INT);case"int64":return t!=null&&typeof t=="number"?Zs.int64(t):r.example!=null?Zs.int64(r.example):Zs.int64(Ho.INT64);case"uint":return t!=null&&typeof t=="number"?Zs.uint(t):r.example!=null?Zs.uint(r.example):Zs.uint(Ho.UINT);case"uint64":return t!=null&&typeof t=="number"?Zs.uint64(t):r.example!=null?Zs.uint64(r.example):Zs.uint64(Ho.UINT64);default:Ve(r)}}};function hzu({schema:e,value:t}){return e.values.map(r=>r.value).includes(t)}function wce(e){switch(e.type){case"object":return Dn.object({allOf:e.allOf,properties:e.properties.map(t=>CXy(t)),allOfPropertyConflicts:e.allOfPropertyConflicts,description:e.description,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName,fullExamples:void 0,additionalProperties:e.additionalProperties,availability:e.availability,source:e.source,inline:void 0,minProperties:e.minProperties,maxProperties:e.maxProperties});case"array":return Dn.array({description:e.description,availability:e.availability,value:wce(e.value),generatedName:e.generatedName,title:e.title,namespace:e.namespace,nameOverride:e.nameOverride,groupName:e.groupName,example:void 0,inline:void 0,minItems:e.minItems,maxItems:e.maxItems});case"enum":return Dn.enum({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,values:e.values,default:e.default,namespace:e.namespace,groupName:e.groupName,example:void 0,source:e.source,inline:void 0});case"literal":return Dn.literal({description:e.description,availability:e.availability,value:e.value,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName});case"nullable":return Dn.nullable({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:wce(e.value),namespace:e.namespace,groupName:e.groupName,inline:void 0});case"optional":return Dn.optional({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:wce(e.value),namespace:e.namespace,groupName:e.groupName,inline:void 0});case"primitive":return Dn.primitive({description:e.description,availability:e.availability,schema:yzu(e.schema),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"map":return Dn.map({description:e.description,availability:e.availability,key:Dn.primitive({description:e.key.description,availability:e.key.availability,schema:yzu(e.key.schema),generatedName:e.key.generatedName,nameOverride:e.key.nameOverride,title:e.key.title,namespace:e.namespace,groupName:e.groupName}),value:wce(e.value),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,example:void 0,inline:void 0,minProperties:e.minProperties,maxProperties:e.maxProperties});case"reference":return Dn.reference({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,schema:e.schema,namespace:e.namespace,groupName:e.groupName,source:e.source});case"oneOf":return Dn.oneOf(IXy(e.value));case"unknown":return Dn.unknown({nameOverride:e.nameOverride,generatedName:e.generatedName,title:void 0,example:void 0,namespace:void 0,groupName:void 0,description:void 0,availability:void 0});default:Ve(e)}}function IXy(e){switch(e.type){case"discriminated":return P9.discriminated({commonProperties:e.commonProperties.map(t=>({key:t.key,schema:wce(t.schema)})),description:e.description,availability:e.availability,discriminantProperty:e.discriminantProperty,discriminantPropertyNameOverride:e.discriminantPropertyNameOverride,discriminatorContext:e.discriminatorContext,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,schemas:Object.fromEntries(Object.entries(e.schemas).map(([t,r])=>[t,wce(r)])),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:void 0});case"undiscriminated":return P9.undiscriminated({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,schemas:e.schemas.map(t=>wce(t)),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:void 0});default:Ve(e)}}function yzu(e){switch(e.type){case"string":return Zo.string({default:e.default,pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:void 0});case"base64":return Zo.base64({example:void 0});case"boolean":return Zo.boolean({default:e.default,example:void 0});case"date":return Zo.date({example:void 0});case"datetime":return Zo.datetime({example:void 0});case"double":return Zo.double({default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:e.exclusiveMinimum,exclusiveMaximum:e.exclusiveMaximum,multipleOf:e.multipleOf,example:void 0});case"float":return Zo.float({example:void 0});case"int":return Zo.int({default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:e.exclusiveMinimum,exclusiveMaximum:e.exclusiveMaximum,multipleOf:e.multipleOf,example:void 0});case"int64":return Zo.int64({default:e.default,example:void 0});case"uint":return Zo.uint({default:void 0,example:void 0});case"uint64":return Zo.uint64({default:void 0,example:void 0});default:Ve(e)}}function CXy(e){return{conflict:e.conflict,generatedName:e.generatedName,key:e.key,schema:wce(e.schema),audiences:e.audiences,nameOverride:e.nameOverride,availability:e.availability,readonly:e.readonly,writeonly:e.writeonly}}function yvn(e){return e.type!=="optional"&&e.type!=="nullable"}function e1s(e){return e==="POST"||e==="PUT"||e==="PATCH"}function hPr(e){if(e.type==="full")return e.request==null&&e.response==null&&e.queryParameters==null&&e.pathParameters==null&&e.headers==null;{let t=e.value;return t.request==null&&t.response==null&&t["query-parameters"]==null&&t["path-parameters"]==null&&t.headers==null}}var gvn=class{schemas;context;globalHeaders;exampleTypeFactory;logger;missingExamples=[];constructor(t,r,n){this.schemas=t,this.context=r,this.globalHeaders=n,this.schemas=t,this.exampleTypeFactory=new Q6e(t,r.nonRequestReferencedSchemas,r),this.logger=r.logger}addMissingExampleRecord(t,r,n,i,o={}){this.missingExamples.push({endpoint:t.path,method:t.method.toUpperCase(),type:r,schemaType:n,reason:i,operationSummary:t.summary,operationDescription:t.description,schemaDescription:o.schemaDescription,autoGeneratedExample:o.autoGeneratedExample})}writeMissingExamplesLog(){if(this.missingExamples.length===0)return;let t;if(this.context.source.type==="openapi"){let o=this.context.source.file,s=WAt.dirname(o),a=s;for(;a!==WAt.dirname(a);){let c=WAt.join(a,"fern");if(HQt.existsSync(c)&&HQt.statSync(c).isDirectory()){t=c;break}a=WAt.dirname(a)}t||(t=s)}else t=process.cwd();let r=t??process.cwd(),n=WAt.join(r,"schemas_missing_examples.txt"),i=["# Schemas Missing Examples Report",`# Generated on: ${new Date().toISOString()}`,`# Total missing examples: ${this.missingExamples.length}`,"",...this.missingExamples.flatMap(o=>{let s=[];if(s.push(`${o.method} ${o.endpoint} - ${o.type.toUpperCase()} (${o.schemaType}): ${o.reason}`),o.operationSummary&&s.push(` Operation: ${o.operationSummary}`),o.operationDescription&&o.operationDescription!==o.operationSummary&&s.push(` Description: ${o.operationDescription}`),o.schemaDescription&&s.push(` ${o.type==="request"?"Request":"Response"} Schema: ${o.schemaDescription}`),o.autoGeneratedExample){s.push(" Auto-generated example:");let c=JSON.stringify(o.autoGeneratedExample,null,4).split(`
1523
1523
  `).map(u=>` ${u}`).join(`
1524
1524
  `);s.push(c)}return s.push(""),s}),""].join(`
1525
- `);try{HQt.writeFileSync(n,i,"utf8"),this.logger.info(`Missing examples report written to: ${n}`)}catch(o){this.logger.warn(`Failed to write missing examples report to ${n}:`,String(o))}}finalize(){}convertExampleToJson(t){switch(t.type){case"primitive":return t.value;case"array":return t.value.map(r=>this.convertExampleToJson(r));case"object":{let r={};return Object.entries(t.properties).forEach(([n,i])=>{r[n]=this.convertExampleToJson(i)}),r}case"map":{let r={};return t.value.forEach(n=>{r[String(n.key)]=this.convertExampleToJson(n.value)}),r}case"oneOf":if(t.value.type==="undiscriminated")return this.convertExampleToJson(t.value.value);{let r={};return Object.entries(t.value.value).forEach(([n,i])=>{r[n]=this.convertExampleToJson(i)}),r}case"enum":return t.value;case"literal":return t.value;case"null":return null;case"unknown":return this.convertExampleToJson(t.value);default:return t}}getSchemaDescription(t){if("description"in t)return t.description}getSchemaTypeName(t){switch(t.type){case"primitive":return`primitive (${t.schema.type})`;case"object":return t.generatedName||"object";case"array":return"array";case"map":return"map";case"optional":return`optional (${this.getSchemaTypeName(t.value)})`;case"nullable":return`nullable (${this.getSchemaTypeName(t.value)})`;case"reference":return t.generatedName||"reference";case"enum":return t.generatedName||"enum";case"literal":return"literal";case"oneOf":return"oneOf";case"unknown":return"unknown";default:return"unknown"}}buildEndpointExample(t){let r=jXy(t.request),n=BXy(t.response);if(r?.type==="unsupported"||n?.type==="unsupported")return[];let i=[];if(r!=null&&r.type==="present"){let p=this.isSchemaRequired(r.schema);if(r.examples.length===0){let m=this.exampleTypeFactory.buildExample({skipReadonly:e1s(t.method),schema:r.schema,exampleId:void 0,example:void 0,options:{isParameter:!1,ignoreOptionals:!0}});m!=null?(i.push([void 0,m]),this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),"No user-provided examples found in OpenAPI spec",{schemaDescription:this.getSchemaDescription(r.schema),autoGeneratedExample:this.convertExampleToJson(m)})):this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),"Auto-generation failed (schema too complex or circular references)",{schemaDescription:this.getSchemaDescription(r.schema)})}else for(let{name:m,value:f}of r.examples){let h=this.exampleTypeFactory.buildExample({skipReadonly:e1s(t.method),schema:r.schema,exampleId:m,example:f,options:{isParameter:!1,ignoreOptionals:!0}});h!=null?i.push([m,h]):this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),`Failed to build example from provided data (example id: ${m})`,{schemaDescription:this.getSchemaDescription(r.schema)})}if(p&&i.length===0)return this.logger.trace(`Failed to generate required request example for ${t.method.toUpperCase()} ${t.path}`),[]}let o=[];if(n!=null&&n.type==="present"){let p=this.isSchemaRequired(n.schema);if(n.examples.length===0){let m=this.exampleTypeFactory.buildExample({skipReadonly:!1,schema:n.schema,exampleId:void 0,example:void 0,options:{maxDepth:this.context.options.exampleGeneration?.response?.["max-depth"]??3,isParameter:!1,ignoreOptionals:!1}});m!=null?(t.response?.type==="json"?o.push([void 0,BK.withoutStreaming(m)]):(t.response?.type==="streamingJson"||t.response?.type==="streamingSse")&&o.push([void 0,BK.withStreaming({sse:t.response?.type==="streamingSse",events:[m]})]),this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),"No user-provided examples found in OpenAPI spec",{schemaDescription:this.getSchemaDescription(n.schema),autoGeneratedExample:this.convertExampleToJson(m)})):this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),"Auto-generation failed (schema too complex or circular references)",{schemaDescription:this.getSchemaDescription(n.schema)})}else for(let{name:m,value:f}of n.examples){let h=this.exampleTypeFactory.buildExample({skipReadonly:!1,schema:n.schema,exampleId:m,example:f,options:{maxDepth:this.context.options.exampleGeneration?.response?.["max-depth"]??3,isParameter:!1,ignoreOptionals:!1}});h!=null?t.response?.type==="json"?o.push([m,BK.withoutStreaming(h)]):(t.response?.type==="streamingJson"||t.response?.type==="streamingSse")&&o.push([void 0,BK.withStreaming({sse:t.response?.type==="streamingSse",events:[h]})]):this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),`Failed to build example from provided data (example id: ${m})`,{schemaDescription:this.getSchemaDescription(n.schema)})}if(p&&o.length===0)return this.logger.trace(`Failed to generate required response example for ${t.method.toUpperCase()} ${t.path}`),[]}let s=[];for(let p of t.pathParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for path parameter ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&s.push({name:p.name,parameterNameOverride:p.parameterNameOverride,value:f})}let a=[];for(let p of t.queryParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for query parameter ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&a.push({name:p.name,value:f})}let c=[];for(let p of t.headers){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for header ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&c.push({name:p.name,value:f})}for(let p of this.globalHeaders){let m=p.schema!=null?wce(p.schema):Dn.primitive({nameOverride:void 0,generatedName:"",title:void 0,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,schema:Zo.string({default:void 0,pattern:void 0,maxLength:void 0,minLength:void 0,example:void 0,format:void 0})}),f=this.exampleTypeFactory.buildExample({schema:m,exampleId:void 0,example:void 0,options:{name:p.header,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for global header ${p.header} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),f!=null&&c.push({name:p.header,value:f})}let u=[];t.request!=null&&t.response!=null?u=SXy(i,o):t.request!=null?u=i.map(([p,m])=>({id:p,request:m,response:void 0})):t.response!=null&&(u=o.map(([p,m])=>({id:p,request:void 0,response:m})));let l=t.examples.filter(p=>hPr(p)).flatMap(p=>{if(p.type==="unknown"){if(p.value!=null){let m=p.value["code-samples"];if(m!=null)return this.convertCodeSamples(m)}return}else return p.codeSamples}).filter(p=>Yc(p));return u.length===0?[jK.full({name:void 0,description:void 0,pathParameters:s,queryParameters:a,headers:c,request:void 0,response:void 0,codeSamples:l})]:u.map(({id:p,request:m,response:f})=>jK.full({name:p,description:void 0,pathParameters:s,queryParameters:a,headers:c,request:m,response:f,codeSamples:l}))}convertCodeSamples(t){return t.map(r=>"language"in r?ube.language({name:r.name??void 0,description:r.docs??void 0,language:r.language,code:r.code,install:r.install??void 0}):ube.sdk({name:r.name??void 0,description:r.docs??void 0,sdk:r.sdk==="c#"?HD.Csharp:r.sdk,code:r.code})).filter(Yc)}isSchemaRequired(t){return yvn(this.getResolvedSchema(t))}getResolvedSchema(t){return t}};function SXy(e,t){let r=[];if(e.length<=1){let[i,o]=e[0]??[];if(t.length===0)return r.push({id:i,request:o,response:void 0}),r;for(let[s,a]of t)r.push({id:s??i,request:o,response:a});return r}if(t.length<=1){let[i,o]=t[0]??[];if(t.length===0)return r.push({id:i,request:void 0,response:o}),r;for(let[s,a]of e)r.push({id:s??i,request:a,response:o});return r}let n=new Set;for(let[i,o]of e){let s=t.find(([c])=>c==null)?.[1]??t[0]?.[1];if(i==null){if(s==null)continue;r.push({id:void 0,request:o,response:s});continue}let a=!1;for(let c=0;c<t.length;c++){let[u,l]=t[c];u==null||n.has(c)||i===u&&(r.push({id:i,request:o,response:l}),u!=null&&n.add(c),a=!0)}!a&&s!=null&&r.push({id:i,request:o,response:s})}for(let i=0;i<t.length;i++){if(n.has(i))continue;let[o,s]=t[i],a=e.find(([c])=>c==null)?.[1]??e[0]?.[1];a!=null&&r.push({id:o,request:a,response:s})}return r}function jXy(e){if(e!=null)return e.type==="multipart"?{type:"present",schema:TXy(e),examples:[]}:e.type==="json"||e.type==="formUrlEncoded"?{type:"present",schema:e.schema,examples:e.fullExamples??[]}:{type:"unsupported"}}function BXy(e){if(e!=null)return e.type!=="json"&&e.type!=="streamingJson"&&e.type!=="streamingSse"?{type:"unsupported"}:{type:"present",schema:e.schema,examples:e.fullExamples??[]}}function xce(e){switch(e.type){case"primitive":case"enum":case"literal":return!0;case"unknown":return xce(e);case"array":case"object":case"map":return!1;case"oneOf":switch(e.value.type){case"discriminated":return!1;case"undiscriminated":return xce(e.value.value);default:return!1}case"null":return!0;default:Ve(e)}}function TXy(e){return Dn.object({properties:e.properties.map(t=>t.schema.type==="file"?null:{key:t.key,schema:wce(t.schema.value),audiences:[],conflict:{},generatedName:t.key,nameOverride:void 0,availability:void 0,readonly:void 0,writeonly:void 0,inline:void 0}).filter(Yc),allOf:[],allOfPropertyConflicts:[],fullExamples:void 0,description:e.description,nameOverride:void 0,generatedName:"",title:void 0,namespace:void 0,groupName:void 0,additionalProperties:!1,availability:void 0,source:e.source,inline:void 0,minProperties:void 0,maxProperties:void 0})}var $Qt=class{exampleTypeFactory;schemas;constructor(t,r){this.exampleTypeFactory=new Q6e(t,new Set,r),this.schemas=t}buildWebsocketSessionExamplesForExtension({context:t,extensionExamples:r,handshake:n,source:i,namespace:o}){let s=[];for(let a of r){let c=[];for(let p of n.queryParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:a.queryParameters?.[p.name],options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(f=void 0),!(m&&f==null)&&f!=null&&c.push({name:p.name,value:f})}let u=[];for(let p of n.headers){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:a.headers?.[p.name],options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(f=void 0),!(m&&f==null)&&f!=null&&u.push({name:p.name,value:f})}let l=[];for(let p of a.messages){let m=t.getExampleMessageReference(p),f=t.resolveMessageReference({$ref:m}),h=yo(f.payload)?t.resolveSchemaReference(f.payload):f.payload,y=this.exampleTypeFactory.buildExample({schema:Nl(h,!1,!1,t,[p.messageId],i,o),exampleId:void 0,example:p.value,options:{isParameter:!1,ignoreOptionals:!0}});y!=null&&l.push({messageType:p.type,payload:y,description:void 0})}s.push({name:a.summary,queryParameters:c,headers:u,description:a.description,messages:l})}return s}buildWebsocketSessionExample({handshake:t,messages:r}){let n={name:void 0,queryParameters:[],headers:[],description:void 0,messages:[]},i=[];for(let s of t.queryParameters){let a=this.isSchemaRequired(s.schema),c=this.exampleTypeFactory.buildExample({schema:s.schema,exampleId:void 0,example:void 0,options:{name:s.name,isParameter:!0,ignoreOptionals:!0}});if(c!=null&&!xce(c)&&(c=void 0),a&&c==null)return;c!=null&&i.push({name:s.name,value:c})}let o=[];for(let s of t.headers){let a=this.isSchemaRequired(s.schema),c=this.exampleTypeFactory.buildExample({schema:s.schema,exampleId:void 0,example:void 0,options:{name:s.name,isParameter:!0,ignoreOptionals:!0}});if(c!=null&&!xce(c)&&(c=void 0),a&&c==null)return;c!=null&&o.push({name:s.name,value:c})}for(let s of r){let a=this.exampleTypeFactory.buildExample({schema:s.payload,exampleId:void 0,example:void 0,options:{isParameter:!1,ignoreOptionals:!0}});a!=null&&n.messages.push({messageType:s.type,payload:a,description:void 0})}return n}isSchemaRequired(t){return yvn(this.getResolvedSchema(t))}getResolvedSchema(t){for(;t.type==="reference";){let r=this.schemas[t.schema];if(r==null)throw new Error(`Unexpected error: Failed to resolve schema reference: ${t.schema}`);t=r}return t}};var Vk={FERN_PARAMETER_OPTIONAL:"x-fern-optional",FERN_CHANNEL_ADDRESS:"x-fern-address",FERN_DISPLAY_NAME:"x-fern-display-name",FERN_SDK_GROUP_NAME:"x-fern-sdk-group-name",FERN_SDK_METHOD_NAME:"x-fern-sdk-method-name",FERN_EXAMPLES:"x-fern-examples",BASE_PATH:"x-fern-base-path",FERN_ENUM:"x-fern-enum",IGNORE:"x-fern-ignore",FERN_PARAMETER_NAME:"x-fern-parameter-name"};function Avn(e){return Xn(e,Vk.FERN_EXAMPLES)??[]}function bvn(e,t){return t.includes("://")?t:`${e}://${t}`}function _vn(e){return e.startsWith("/")?e:"/"+e}function bzu({context:e,breadcrumbs:t,source:r,asyncApiOptions:n,document:i}){let o={},s={};for(let[u,l]of Object.entries(i.components?.schemas??{})){let p=Nl(l,!1,!1,e,[u],r,e.namespace);o[u]=p}let a=new $Qt(o,e),c={};for(let[u,l]of Object.entries(i.servers??{}))c[u]={name:u,url:bvn(l.protocol,l.url)};for(let[u,l]of Object.entries(i.channels??{})){let p=Xn(l,Vk.IGNORE);if(p!=null&&p){e.logger.debug(`Channel ${u} is marked with x-fern-ignore. Skipping.`);continue}let m=[];if(l.parameters!=null)for(let[A,b]of Object.entries(l.parameters??{})){let v=Xn(b,Vk.FERN_PARAMETER_NAME);m.push({name:A,description:b.description,parameterNameOverride:v,schema:b.schema!=null?Nl(b.schema,!1,!1,e,t,r,e.namespace):Dn.primitive({schema:Zo.string({default:void 0,pattern:void 0,format:void 0,maxLength:void 0,minLength:void 0,example:void 0}),description:void 0,availability:void 0,generatedName:"",title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}),variableReference:void 0,availability:_2(b),source:r,explode:void 0})}let f=[],h=[];if(l.bindings?.ws!=null){if(l.bindings.ws.headers!=null){let A=l.bindings.ws.headers.required??[];for(let[b,v]of Object.entries(l.bindings.ws.headers.properties??{})){if(yo(v)){let P=e.resolveSchemaReference(v),x=A.includes(b),[I,F]=e.options.coerceOptionalSchemasToNullable?[!1,!x]:[!x,!1];f.push({name:b,schema:a2e(v,I,F,e,t,void 0,r,e.namespace),description:P.description,parameterNameOverride:void 0,env:void 0,availability:_2(P),source:r});continue}let _=A.includes(b),[E,O]=e.options.coerceOptionalSchemasToNullable?[!1,!_]:[!_,!1];f.push({name:b,schema:Nl(v,E,O,e,[...t,b],r,e.namespace),description:v.description,parameterNameOverride:void 0,env:void 0,availability:_2(v),source:r})}}if(l.bindings.ws.query!=null){let A=l.bindings.ws.query.required??[];for(let[b,v]of Object.entries(l.bindings.ws.query.properties??{})){if(yo(v)){let P=e.resolveSchemaReference(v),x=A.includes(b),[I,F]=e.options.coerceOptionalSchemasToNullable?[!1,!x]:[!x,!1];h.push({name:b,schema:a2e(v,I,F,e,t,void 0,r,e.namespace),description:P.description,parameterNameOverride:void 0,availability:_2(P),source:r,explode:void 0});continue}let _=A.includes(b),[E,O]=e.options.coerceOptionalSchemasToNullable?[!1,!_]:[!_,!1];h.push({name:b,schema:Nl(v,E,O,e,[...t,b],r,e.namespace),description:v.description,parameterNameOverride:void 0,availability:_2(v),source:r,explode:void 0})}}}let y;l.publish!=null&&("oneOf"in l.publish.message?y=gzu({generatedName:l.publish.operationId??"PublishEvent",event:l.publish,breadcrumbs:t,context:e,source:r,options:e.options,asyncApiOptions:n}):y=Azu({action:"Publish",channelPath:u,message:l.publish.message,context:e,source:r}));let g;if(l.subscribe!=null&&("oneOf"in l.subscribe.message?g=gzu({generatedName:l.subscribe.operationId??"SubscribeEvent",event:l.subscribe,breadcrumbs:t,context:e,source:r,options:e.options,asyncApiOptions:n}):g=Azu({action:"Subscribe",channelPath:u,message:l.subscribe.message,context:e,source:r})),f.length>0||h.length>0||y!=null||g!=null){let A=Avn(l),b=[];if(A.length>0)b=a.buildWebsocketSessionExamplesForExtension({context:e,extensionExamples:A,handshake:{headers:f,queryParameters:h},source:r,namespace:e.namespace});else{let O=[];y!=null&&O.push({type:"publish",payload:y}),g!=null&&O.push({type:"subscribe",payload:g});let P=a.buildWebsocketSessionExample({handshake:{headers:f,queryParameters:h},messages:O});P!=null&&b.push(P)}let v=Xn(l,Vk.FERN_CHANNEL_ADDRESS),_=v??_vn(u),E=[];y!=null&&E.push({origin:"client",name:"publish",body:tb(y),methodName:void 0}),g!=null&&E.push({origin:"server",name:"subscribe",body:tb(g),methodName:void 0}),s[u]={audiences:Xn(l,wi.AUDIENCES)??[],handshake:{headers:f.map(O=>({...O,schema:tb(O.schema),env:O.env})),queryParameters:h.map(O=>({...O,schema:tb(O.schema)})),pathParameters:m.map(O=>({...O,schema:tb(O.schema)}))},groupName:e.resolveGroupName([Xn(l,Vk.FERN_SDK_GROUP_NAME)??u]),messages:E,servers:(l.servers?.map(O=>c[O])??Object.values(c)).filter(O=>O!=null&&O.name!=null).map(O=>({...O,name:O.name})),summary:Xn(l,Vk.FERN_DISPLAY_NAME),path:_,description:l.description,examples:b,source:r}}}return{groupedSchemas:GQt(e.namespace,o),channels:s??void 0,servers:Object.values(c).map(u=>({...u,name:u.name})),basePath:Xn(i,Vk.BASE_PATH)}}function gzu({generatedName:e,event:t,context:r,breadcrumbs:n,source:i,options:o,asyncApiOptions:s}){if("oneOf"in t.message&&t.message.oneOf!=null){let a=[],c=[];for(let u of t.message.oneOf){let l,p={type:"notFound"};if(yo(u)){let m=r.resolveMessageReference(u);!yo(m.payload)&&s.naming==="v2"?(p=m.name?{type:"name",name:m.name}:p,l={...m.payload,title:m.name??m.payload.title,description:m.name??m.payload.description}):l=m.payload}else l=u;c.push(p),a.push(l)}return k6e({description:t.description??t.message.description,availability:_2(t.message),subtypes:a,nameOverride:t.operationId,generatedName:e,title:t.message.title,groupName:void 0,wrapAsOptional:!1,wrapAsNullable:!1,breadcrumbs:n,context:r,encoding:void 0,source:i,namespace:r.namespace,subtypeSuffixOverrides:s.naming==="v2"?c:[]})}}function Azu({action:e,channelPath:t,message:r,context:n,source:i}){if(r.payload!=null){let o=r.payload;return yo(r.payload)&&(o=n.resolveSchemaReference(r.payload)),Nl(o,!1,!1,n,[t,e],i,n.namespace)}}var vvn=class extends WQt{getExampleMessageReference(t){return`#/channels/${t.channelId}/messages/${t.messageId}`}resolveParameterReference(t){let r="#/components/parameters/";if(this.document.components==null||this.document.components.parameters==null||!t.$ref.startsWith(r))throw new Error(`Failed to resolve ${t.$ref}`);let n=t.$ref.substring(r.length),i=this.document.components.parameters[n];if(i==null)throw new Error(`${t.$ref} is undefined`);return"$ref"in i?this.resolveParameterReference(i):i}resolveMessageReference(t,r=!1){let n="#/channels/",i="#/components/messages/";if(t==null)throw new Error("Cannot resolve message reference: message is null or undefined");if(!t.$ref)throw new Error("Cannot resolve message reference: message.$ref is undefined or empty");if(t.$ref.startsWith(n)){let c=t.$ref.split("/"),u=c[2],l=c[4],p=u?.replace(/~1/g,"/").replace(/~0/g,"~");if(p==null||l==null||!this.document.channels?.[p])throw new Error(`Failed to resolve message reference ${t.$ref} in channel ${p}`);let f=this.document.channels[p].messages?.[l];if(f==null)throw new Error(`${t.$ref} is undefined`);return"$ref"in f&&!r?this.resolveMessageReference(f):{...f,name:l}}let o=this.document.components;if(!t.$ref.startsWith(i)||!o?.messages)throw new Error(`Failed to resolve message reference: ${t.$ref} in v3 components`);let s=t.$ref.substring(i.length),a=o.messages[s];if(a==null)throw new Error(`${t.$ref} is undefined`);return{...a,name:s}}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}};var _zu="#/channels/",vzu="#/servers/",t1s="$message.";function Ozu({context:e,breadcrumbs:t,source:r,asyncApiOptions:n,document:i}){dvn();let o={},s={},a={},c=[],u={};e.logger.debug("Parsing V3 AsyncAPI...");let l=gbe();for(let[P,x]of Object.entries(i.components?.schemas??{})){let I=l.getUniqueSchemaId(P,e.logger,e.options.resolveSchemaCollisions);o[I]=Nl(x,!1,!1,e,[I],r,e.namespace)}for(let[P,x]of Object.entries(i.channels??{}))if(s[P]||(s[P]={}),x.messages)for(let[I,F]of Object.entries(x.messages))if(a[I]||(a[I]=[]),e.isReferenceObject(F)){let q=e.resolveMessageReference(F);a[I].push({channelId:P,payload:q.payload})}else e.isMessageWithPayload(F)&&a[I].push({channelId:P,payload:F.payload});for(let[P,x]of Object.entries(a))if(x.length===1){let I=x[0],F=I.channelId;s[F]=s[F]||{},s[F][P]=Nl(I.payload,!1,!1,e,[P],r,e.namespace)}else{c.push(P);for(let{channelId:I,payload:F}of x){let q=`${I}_${P}`;s[I]||(s[I]={}),s[I][q]=Nl(F,!1,!1,e,[q],r,e.namespace)}}let p={},m=gbe();for(let[P,x]of Object.entries(s))for(let[I,F]of Object.entries(x)){let q=m.getUniqueSchemaId(I,e.logger,e.options.resolveSchemaCollisions);p[q]=F}let f=new $Qt({...o,...p},e),h={};for(let[P,x]of Object.entries(i.servers??{}))h[P]={name:P,url:bvn(x.protocol,x.host)};let y={},g=Object.keys(i.channels??{});for(let[P,x]of Object.entries(i.operations??{})){if(Xn(x,Vk.IGNORE))continue;let I;if(x.channel==null||!("$ref"in x.channel)||x.channel.$ref==null)if(g.length===1&&g[0]!=null)I=g[0];else continue;else I=RXy(x);y[I]||(y[I]={subscribe:[],publish:[],__parsedMessages:[]});let F=Xn(x,Vk.FERN_SDK_METHOD_NAME);if(!x.messages||!Array.isArray(x.messages))continue;let q=x.messages.filter(G=>G!=null&&G.$ref!=null).map(G=>({ref:G,methodName:F})),W=y[I];if(W==null)throw new Error(`Internal error: channelEvents["${I}"] is unexpectedly undefined for operation ${P}`);if(x.action==="receive")W.subscribe.push(...q);else if(x.action==="send")W.publish.push(...q);else throw new Error(`Operation ${P} has an invalid action: ${x.action}`)}for(let[P,x]of Object.entries(y)){let I=[];I.push(...Ezu({messages:x.subscribe,channelPath:P,origin:"server",messageSchemas:s[P]??{},duplicatedMessageIds:c,context:e})),I.push(...Ezu({messages:x.publish,channelPath:P,origin:"client",messageSchemas:s[P]??{},duplicatedMessageIds:c,context:e})),y[P]!=null&&(y[P].__parsedMessages=I)}for(let[P,x]of Object.entries(i.channels??{})){if(Xn(x,Vk.IGNORE))continue;let I=[],F=[],q=[];if(x.parameters!=null)for(let[W,G]of Object.entries(x.parameters)){let re=e.isReferenceObject(G)?e.resolveParameterReference(G):G,{type:oe,parameterKey:H}=re.location!=null?FXy(re.location):{type:x.address?.includes(`={${W}}`)?"query":"path",parameterKey:W},ee=Xn(re,Vk.FERN_PARAMETER_OPTIONAL),Ge=gd(eo(P))+gd(eo(W)),Je={...re,type:"string",title:Ge,example:re.examples?.[0],default:re.default,enum:re.enum,required:void 0},J=Nl(Je,!1,!1,e,[H],r,e.namespace);ee&&(J=Dn.optional({value:J,description:void 0,availability:void 0,generatedName:"",title:Ge,namespace:void 0,groupName:void 0,nameOverride:void 0,inline:void 0}));let K={name:H,description:re.description,parameterNameOverride:void 0,schema:J,variableReference:void 0,availability:_2(G),source:r,explode:void 0};oe==="header"?I.push({...K,env:void 0}):oe==="path"?F.push(K):(oe==="payload"||oe==="query")&&q.push(K)}if(I.length>0||q.length>0||y[P]!=null&&(y[P].publish!=null||y[P].subscribe!=null)){let W=Avn(x),G=y[P]?.__parsedMessages??[],re=[];if(W.length>0)re=f.buildWebsocketSessionExamplesForExtension({context:e,extensionExamples:W,handshake:{headers:I,queryParameters:q},source:r,namespace:e.namespace});else{let Ge=[],{examplePublishMessage:Je,exampleSubscribeMessage:J}=kXy({messages:G,messageSchemas:s[P]??{}});Je!=null&&Ge.push(Je),J!=null&&Ge.push(J);let K=f.buildWebsocketSessionExample({handshake:{headers:I,queryParameters:q},messages:Ge});K!=null&&re.push(K)}let oe=Xn(x,Vk.FERN_SDK_GROUP_NAME),H=(x.servers?.map(Ge=>NXy(h,Ge))??Object.values(h)).map(Ge=>({...Ge,name:Ge.name})),ee=x.address?.split("?")[0]??_vn(P);u[P]={audiences:Xn(x,wi.AUDIENCES)??[],handshake:{headers:I.map(Ge=>({...Ge,schema:tb(Ge.schema),env:Ge.env})),queryParameters:q.map(Ge=>({...Ge,schema:tb(Ge.schema)})),pathParameters:F.map(Ge=>({...Ge,parameterNameOverride:void 0,schema:tb(Ge.schema)}))},groupName:e.resolveGroupName(typeof oe=="string"?[oe]:oe??[P]),messages:G,summary:Xn(x,Vk.FERN_DISPLAY_NAME),servers:H,path:ee,description:x.description,examples:re,source:r}}else e.logger.warn(`Skipping AsyncAPI channel ${P} as it does not qualify for inclusion (no headers, query params, or operations)`)}let A={...o,...p},b={},v=gbe();for(let[P,x]of Object.entries(A)){let I=v.getUniqueSchemaId(P,e.logger,e.options.resolveSchemaCollisions);b[I]=tb(x)}let _=GQt(e.namespace,o),E=Object.values(h).map(P=>({...P,name:P.name})),O=Xn(i,Vk.BASE_PATH);return{groupedSchemas:_,channels:u,servers:E,basePath:O}}function DXy(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function RXy(e){if(!e.channel)throw new Error("Operation is missing required 'channel' field");if(!e.channel.$ref)throw new Error("Operation channel is missing required '$ref' field");if(!e.channel.$ref.startsWith(_zu))throw new Error(`Failed to resolve channel path from operation ${e.channel.$ref}`);return DXy(e.channel.$ref.substring(_zu.length))}function FXy(e){try{let[t,r]=e.split("#/");if(t==null||r==null)throw new Error(`Invalid location format: ${e}; unable to parse message type and parameter key`);if(!t.startsWith(t1s))throw new Error(`Invalid location format: ${e}; expected ${t1s} prefix`);let n=t.substring(t1s.length);if(n!=="header"&&n!=="path"&&n!=="payload")throw new Error(`Invalid message type: ${n}. Must be one of: header, path, payload`);return{type:n,parameterKey:r}}catch{throw new Error(`Invalid location format: ${e}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`)}}function NXy(e,t){if(!t.$ref.startsWith(vzu))throw new Error(`Failed to resolve server name from server ref ${t.$ref}`);let r=t.$ref.substring(vzu.length),n=e[r];if(n==null)throw new Error(`Failed to find server with name ${r}`);return n}function Ezu({messages:e,channelPath:t,origin:r,messageSchemas:n,duplicatedMessageIds:i,context:o}){let s=[];return e.forEach((a,c)=>{let l=o.resolveMessageReference(a.ref,!0).name;i.includes(l)&&(l=`${t}_${l}`);let p=n[l];p!=null&&s.push({origin:r,name:l??`${r}Message${c+1}`,body:tb(p),methodName:a.methodName})}),s}function kXy({messages:e,messageSchemas:t}){let r=e.find(s=>s.origin==="client")?.name,n=e.find(s=>s.origin==="server")?.name,i=r!=null?t[r]:void 0,o=n!=null?t[n]:void 0;return{examplePublishMessage:i!=null&&r!=null?{type:r,payload:i}:void 0,exampleSubscribeMessage:o!=null&&n!=null?{type:n,payload:o}:void 0}}function wzu({document:e,taskContext:t,options:r,source:n,asyncApiOptions:i,namespace:o}){let s=[];if(o!=null&&s.push(o),parseFloat(e.asyncapi)<3){let a=e;a.tags?.[0]!=null?s.push(a.tags[0].name):i.naming!=="v2"&&s.push("websocket");let c=new hvn({document:a,taskContext:t,options:r,namespace:o});return bzu({context:c,breadcrumbs:s,source:n,asyncApiOptions:i,document:a})}else{let a=e,c=new vvn({document:a,taskContext:t,options:r,namespace:o});return Ozu({context:c,breadcrumbs:s,source:n,asyncApiOptions:i,document:a})}}function xzu(e){return Xn(e,wi.ASYNC_CONFIG)}var Pzu="$request.";function Izu(e){let t=Xn(e,wi.STREAMING);if(t!=null)return typeof t=="boolean"?t?{type:"stream",format:"json",terminator:void 0}:void 0:t["stream-condition"]==null&&t.format!=null?{type:"stream",format:t.format,terminator:t.terminator}:{type:"streamCondition",format:t.format??"json",terminator:t.terminator,streamDescription:t["stream-description"],streamConditionProperty:zXy(t["stream-condition"]),responseStream:t["response-stream"],response:t.response}}function zXy(e){return e.startsWith(Pzu)?e.slice(Pzu.length):e}function Czu(e){let t=e;if(t.cursor!=null)return l1.cursor({cursor:t.cursor,nextCursor:t.next_cursor,results:t.results});let r=e;if("next_uri"in r)return l1.uri({nextUri:r.next_uri,results:r.results});let n=e;if("next_path"in n)return l1.path({nextPath:n.next_path,results:n.results});if("offset"in e){let i=e;return l1.offset({offset:i.offset,results:i.results,step:i.step,hasNextPage:i["has-next-page"]})}if("type"in e&&e.type==="custom"){let i=e;return l1.custom({results:i.results})}throw new Error("Invalid pagination extension")}function Szu(e,t){let r=Xn(t,wi.PAGINATION);if(r!=null){if(typeof r=="boolean"){let n=Xn(e,wi.PAGINATION);if(typeof n=="boolean")throw new Error("Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.");return n==null?void 0:Czu(n)}return Czu(r)}}function jzu(e,t){for(let r of Object.keys(e))if(r.includes("text/event-stream")){let n=e[r];if(n==null)continue;let i=n,o=n.schema??i.itemSchema;return{contentType:r,schema:o??{},examples:KQt(n,t)}}}function Bzu(e){for(let t of Object.keys(e))if(t.includes("text/event-stream")){let r=e[t];if(r==null)continue;if(r.itemSchema!=null)return!0}return!1}function QXy(e){return e.includes("json")||e==="*/*"}function r1s({content:e,context:t}){for(let[r,n]of Object.entries(e))if(Evn({mediaType:r,mediaTypeObject:n,context:t})!=null)return[r,n]}function Evn({mediaType:e,mediaTypeObject:t,context:r}){if(!QXy(e))return;let n=t.schema;return{contentType:e.includes("*")?void 0:e,schema:n??{},examples:KQt(t,r)}}function Ovn({content:e,context:t}){let r=r1s({content:e,context:t});if(!r)return;let[n,i]=r;return Evn({mediaType:n,mediaTypeObject:i,context:t})}function Tzu(e,t){for(let r of Object.keys(e)){let n=e[r];if(n==null)continue;return{schema:n.schema??{},examples:KQt(n,t)}}}function KQt(e,t){let r=[];e.example!=null&&r.push({name:void 0,value:e.example,description:void 0});let n=Xn(e,Mk.EXAMPLES);return n!=null&&Object.keys(n).length>0&&r.push(...Object.entries(n).map(([i,o])=>({name:o.summary??i,value:o.value,description:o.description}))),e.examples!=null&&Object.keys(e.examples).length>0&&r.push(...Object.entries(e.examples).map(([i,o])=>{let s=yo(o)?t.resolveExampleReference(o):o;return{name:s.summary??i,value:s.value,description:s.description}})),r}function Dzu(e){let t=MXy(e),r={};return n1s({obj:t,occurrences:r,breadcrumbs:[]}),r}function n1s({obj:e,occurrences:t,breadcrumbs:r}){if(e!=null){if(Array.isArray(e)){for(let n of e)n1s({obj:n,occurrences:t,breadcrumbs:r});return}if(typeof e=="object"){if(e.$ref!=null&&typeof e.$ref=="string"){let n=e.$ref;t[n]==null?t[n]=1:t[n]+=1;return}for(let n in e)n1s({obj:e[n],occurrences:t,breadcrumbs:[...r,n]})}}}function MXy(e){return{...e,paths:Object.fromEntries(Object.entries(e.paths??{}).map(([t,r])=>[t,{...r,get:r?.get!=null?yPr(r.get):void 0,put:r?.put!=null?yPr(r.put):void 0,post:r?.post!=null?yPr(r.post):void 0,patch:r?.patch!=null?yPr(r.patch):void 0,delete:r?.delete!=null?yPr(r.delete):void 0}]))}}function yPr(e){return{...e,requestBody:e.requestBody!=null?yo(e.requestBody)?e.requestBody:VXy(e.requestBody):void 0}}function VXy(e){let t,r;for(let n in e.content){let i=GA.parse(n);i!=null&&(i.isJSON()?t=e.content[n]:i.isMultipart()&&(r=e.content[n]))}return r!=null&&t!=null?{...e,content:{[GA.MULTIPART_FORM_DATA]:r}}:e}var wvn=class{endpoints;parser=new kze;constructor({context:t,options:r}){this.endpoints=r.filter?.endpoints?new Set(this.validateAndFilterEndpoints({context:t,endpoints:r.filter.endpoints})):void 0}skipEndpoint({method:t,path:r}){return this.endpoints!=null&&!this.endpoints.has(`${t} ${r}`)}hasEndpoints(){return this.endpoints!=null}validateAndFilterEndpoints({context:t,endpoints:r}){let n=[];for(let i of r){let o=this.parser.tryParse(i);if(o==null){t.logger.debug(`Ignoring configured filter endpoint "${i}"; expected format "POST /users/get"`);continue}n.push(`${o.method} ${o.path}`)}return n}};var Rzu="#/components/parameters/",Fzu="#/components/responses/",Nzu="#/components/examples/",kzu="#/components/requestBodies/",zzu="#/components/securitySchemes/",JQt=class{logger;document;taskContext;authHeaders;refOccurrences;DUMMY;options;source;filter;namespace;schemaNamespaceMapping;constructor({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s}){this.document=t,this.logger=r.logger,this.taskContext=r,this.authHeaders=n,this.refOccurrences=Dzu(t),this.options=i,this.source=o,this.filter=new wvn({context:r,options:i}),this.DUMMY=this.getDummy(),this.namespace=s,this.schemaNamespaceMapping=this.buildSchemaNamespaceMapping()}getNumberOfOccurrencesForRef(t){return this.refOccurrences[t.$ref]??0}resolveTagsToTagIds(t){let r=[];return this.namespace!=null&&r.push(this.namespace),r.concat(t??[])}resolveTags(t){let r=[];if(this.namespace!=null){let n={type:"namespace",name:this.namespace};r.push(n)}return r.concat(t??[])}resolveGroupName(t){return this.namespace!=null?[{type:"namespace",name:this.namespace},...t]:t}resolveSchemaReference(t){let r=t.$ref.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return{"x-fern-type":"unknown"};if(Array.isArray(n)){let o=parseInt(i,10);if(isNaN(o)||o<0||o>=n.length)return{"x-fern-type":"unknown"};n=n[o]}else n=n[i]}return n==null?(this.logger.debug(`Encountered undefined reference: ${t.$ref}`),{"x-fern-type":"unknown"}):(yo(n)&&(n=this.resolveSchemaReference(n)),n)}resolveParameterReference(t){if(this.document.components==null||this.document.components.parameters==null||!t.$ref.startsWith(Rzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Rzu.length),n=this.document.components.parameters[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveParameterReference(n):n}resolveRequestBodyReference(t){if(this.document.components==null||this.document.components.requestBodies==null||!t.$ref.startsWith(kzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(kzu.length),n=this.document.components.requestBodies[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveRequestBodyReference(n):n}resolveResponseReference(t){if(this.document.components==null||this.document.components.responses==null||!t.$ref.startsWith(Fzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Fzu.length),n=this.document.components.responses[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveResponseReference(n):n}resolveExampleReference(t){if(this.document.components==null||this.document.components.examples==null||!t.$ref.startsWith(Nzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Nzu.length),n=this.document.components.examples[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveExampleReference(n):n}resolveSecuritySchemeReference(t){if(this.document.components==null||this.document.components.securitySchemes==null||!t.$ref.startsWith(zzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(zzu.length),n=this.document.components.securitySchemes[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveSecuritySchemeReference(n):n}referenceExists(t){let r=t.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return!1;n=n[i]}return!0}getNamespace(t){return this.schemaNamespaceMapping?.get(t)}buildSchemaNamespaceMapping(){let t=new Map;if(!this.document.components?.schemas)return t;for(let[r,n]of Object.entries(this.document.components.schemas))!n||yo(n)||t.set(r,Xn(n,wi.SDK_NAMESPACE)||this.namespace);return t}};var GAt=class extends JQt{constructor({document:t,taskContext:r,options:n,source:i,namespace:o}){super({document:t,taskContext:r,authHeaders:new Set,options:n,source:i,namespace:o})}getDummy(){return this}markSchemaAsReferencedByNonRequest(t){}markSchemaAsReferencedByRequest(t){}getReferencedSchemas(){return new Set}markReferencedByDiscriminatedUnion(t,r,n){}getReferencesFromDiscriminatedUnion(t){}excludeSchema(t){}isSchemaExcluded(t){return!1}markSchemaWithDiscriminantValue(t,r,n){}getDiscriminatedUnionMetadata(t){}};var xvn=require("fs"),Pvn=require("path");var UXy=$t.object({lang:$t.string(),label:$t.optional($t.string()),source:$t.string()}),i1s=$t.array(UXy);var Qzu={README_EXT:"x-readme"};function LXy(e){if(!Array.isArray(e))return!1;for(let t of e)if(!cl(t)||typeof t.language!="string"||typeof t.code!="string")return!1;return!0}function Mzu(e){let t=Xn(e,Qzu.README_EXT);if(!cl(t))return[];let r=t["code-samples"];if(!LXy(r))return[];let n=[];for(let i of r)n.push({name:i.name,language:i.language,code:i.code,install:i.install,docs:void 0});return n}function qXy(e){return cl(e)&&typeof e.$ref=="string"}function WXy(e,t){if(e!=null){if(typeof e=="string")return e;if(qXy(e)){let r=(0,Pvn.resolve)(t??process.cwd(),e.$ref);if((0,xvn.existsSync)(r))try{return(0,xvn.readFileSync)(r,"utf-8")}catch{return}}}}function GXy(e,t){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!cl(n))continue;let o=WXy(n.code,t);o!=null&&r.push({...n,code:o})}return r}function Vzu(e,t,r){let n=Xn(t,wi.EXAMPLES),i=r.source.type==="openapi"?(0,Pvn.dirname)(r.source.file):void 0,s=(n??[]).map(p=>{if(!cl(p))return p;let f=p["code-samples"];if(f!=null){let h=GXy(f,i);return{...p,"code-samples":h}}return p}).filter(p=>{let m=rP.serialization.ExampleEndpointCallSchema.parse(p);return m.ok||r.logger.error(`Failed to parse x-fern-example in ${e.path}/${e.method}`),m.ok}),a=lPr(t,Mk.REDOCLY_CODE_SAMPLES_KEBAB,i1s,r.logger,[...e.baseBreadcrumbs,`${e.method} ${e.path}`])??[],u=[...lPr(t,Mk.REDOCLY_CODE_SAMPLES_CAMEL,i1s,r.logger,[...e.baseBreadcrumbs,`${e.method} ${e.path}`])??[],...a];u.length>0&&s.push({"code-samples":u.map(p=>({name:p.label??p.lang,language:p.lang,code:p.source,install:void 0,docs:void 0}))});let l=Mzu(t);return l.length>0&&s.push({"code-samples":l}),s.map(jK.unknown)}function Uzu(e){let t=Xn(e,wi.AVAILABILITY);if(t==="ga"||t==="generally-available")return WD.GenerallyAvailable;if(t==="beta"||t==="pre-release")return WD.Beta;if(t==="deprecated")return WD.Deprecated;if(e.deprecated)return WD.Deprecated}function Lzu(e){let t=Xn(e,wi.RETRIES);if(t!=null&&t.disabled===!0)return cw.RetriesConfiguration.disabled(t.disabled)}var HXy="x-fern-default-url";function Ivn(e,t){let r=e.variables!=null&&Object.keys(e.variables).length>0,n=$Xy(e);return{url:JXy({url:e.url,variables:e.variables??{}}),description:e.description,name:YXy(e,t),audiences:Xn(e,wi.AUDIENCES),urlTemplate:r?e.url:void 0,variables:r&&e.variables!=null?KXy(e.variables):void 0,defaultUrl:r?n:void 0}}function $Xy(e){let t=e[HXy];if(typeof t=="string")return t.endsWith("/")&&t!=="/"?t.slice(0,-1):t}function KXy(e){return Object.entries(e).map(([t,r])=>({id:t,default:r.default,values:r.enum}))}function JXy({url:e,variables:t}){let r=Object.fromEntries(Object.entries(t).map(([n,i])=>[n,i.default]));for(let[n,i]of Object.entries(r))e=e.replace(`{${n}}`,encodeURIComponent(i));return e}function YXy(e,t){let r=Xn(e,[wi.SERVER_NAME_V1,wi.SERVER_NAME_V2]);if(r!=null)return r;if(e.description?.toLowerCase()==="production")return"Production";if(e.description?.toLowerCase()==="sandbox")return"Sandbox";if(t?.groupMultiApiEnvironments&&e.description!=null&&e.description.trim()!==""){let n=e.description.toLowerCase();return n==="prd"?"Production":n==="sbx"?"Sandbox":n==="staging"||n==="stg"?"Staging":n==="development"||n==="dev"?"Development":e.description}}function qzu(e){return Xn(e,wi.PARAMETER_NAME)}function Wzu(e){return Xn(e,wi.SDK_VARIABLE)}function Cvn({path:e,httpMethod:t,parameters:r,context:n,requestBreadcrumbs:i,source:o}){let s={pathParameters:[],queryParameters:[],headers:[]};for(let a of r){let c=yo(a)?n.resolveParameterReference(a):a,u=Xn(a,wi.IGNORE)??Xn(c,wi.IGNORE);if(u!=null&&u){n.logger.debug(`${t.toUpperCase()} ${e} has a parameter marked with x-fern-ignore. Skipping.`);continue}let l=c.required??!1,p=_2(c),m=[...i,c.name],f=PS(m,n.options.preserveSchemaIds),[h,y]=n.options.coerceOptionalSchemasToNullable?[!1,!l]:[!l,!1],g=c.schema!=null?Nl(c.schema,h,y,n,m,o,n.namespace,!1,new Set,Abe({schema:c,logger:n.logger})):l?Dn.primitive({nameOverride:void 0,generatedName:f,title:void 0,schema:Zo.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:Abe({schema:c,logger:n.logger})}),description:void 0,availability:p,namespace:void 0,groupName:void 0}):Dn.optional({nameOverride:void 0,generatedName:f,title:void 0,value:Dn.primitive({nameOverride:void 0,generatedName:f,title:void 0,schema:Zo.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:Abe({schema:c,logger:n.logger})}),description:void 0,availability:void 0,namespace:void 0,groupName:void 0}),description:void 0,availability:p,namespace:void 0,groupName:void 0,inline:void 0});if(c.in==="header"&&c.schema!=null&&!yo(c.schema)&&c.schema.default!=null){let b=c.schema.default;typeof b=="string"&&b.length>0&&(g=Dn.literal({nameOverride:void 0,generatedName:f,title:void 0,value:kw.string(b),description:void 0,availability:p,namespace:void 0,groupName:void 0}))}let A={name:c.name,schema:g,description:c.description,parameterNameOverride:qzu(c),availability:p,source:o};c.in==="query"?s.queryParameters.push({...A,explode:ZXy(c)}):c.in==="path"?s.pathParameters.push({...A,variableReference:Wzu(c),explode:eZy(c)}):c.in==="header"?!XXy.has(c.name.toLowerCase())&&!n.authHeaders.has(c.name)?s.headers.push({...A,env:void 0}):n.logger.debug(`Ignoring ${c.name} header, in ${t.toUpperCase()} ${e}`):n.logger.warn(`Skipping ${c.in} parameter, ${c.name}, in ${t.toUpperCase()} ${e}`)}return s}var XXy=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]);function ZXy(e){let t=e.style??"form",r=e.explode;if(r!==void 0)return t==="form"?r===!0?void 0:r:r===!1?void 0:r}function eZy(e){let t=e.explode;if(t!==void 0)return t===!1?void 0:t}function tZy({content:e,context:t}){for(let[r,n]of Object.entries(e))if(Hzu({mediaType:r,mediaTypeObject:n,context:t}))return[r,n]}function Hzu({mediaType:e,mediaTypeObject:t,context:r}){if(GA.parse(e)?.isURLEncoded())return{schema:t.schema,contentType:e,examples:KQt(t,r)}}function rZy({content:e,context:t}){for(let[r,n]of Object.entries(e))if($zu({mediaType:r,mediaTypeObject:n,context:t}))return[r,n]}function $zu({mediaType:e,mediaTypeObject:t,context:r}){if(GA.parse(e)?.isMultipart())return{schema:t.schema,encoding:t.encoding,examples:KQt(t,r)}}function Kzu({mediaType:e}){return GA.parse(e)?.isBinary()??!1}function nZy({content:e}){for(let[t,r]of Object.entries(e))if(Kzu({mediaType:t}))return[t,r]}function iZy(e,t){let r=yo(e)?o1s(e,t):{id:void 0,schema:e};return Object.entries(r.schema.properties??{}).find(([n,i])=>!yo(i)&&i.type==="string"&&i.format==="binary")!=null}function jvn({content:e,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}){let a=nZy({content:e});if(a){let[m,f]=a;return _be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s})}let c=rZy({content:e,context:n}),u=r1s({content:e,context:n}),l=oZy({json:u,multipart:c,document:r,visitor:{json:([m,f])=>_be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}),multipart:([m,f])=>_be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}),neither:()=>{}}});if(l)return l;let p=tZy({content:e,context:n});if(p){let[m,f]=p;return _be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s})}}function oZy({json:e,multipart:t,document:r,visitor:n}){if(!e&&!t)return n.neither();let[,i]=e??[void 0,void 0],[,o]=t??[void 0,void 0];return!i?.schema&&!o?.schema?n.neither():i?.schema&&o?.schema?i.schema&&iZy(i.schema,r)?n.multipart(t):n.json(e):i?.schema?n.json(e):o?.schema?n.multipart(t):n.neither()}function _be({mediaType:e,mediaTypeObject:t,description:r,document:n,context:i,requestBreadcrumbs:o,source:s,namespace:a}){let c=sZy({mediaTypeObject:t});if(Kzu({mediaType:e}))return _V.octetStream({description:r,source:s,sdkMethodName:c,contentType:e});let u=$zu({mediaType:e,mediaTypeObject:t,context:i}),l=u?.schema,p=u?.encoding,m=u?.examples;if(l){let y=yo(l)?o1s(l,n):{id:void 0,schema:l},g=Nl(y.schema,!1,!1,i,o,s,a,!1),A=[];if(g.type==="object"){let b=new Set(y.schema.required??[]);for(let v of g.properties){let _=b.has(v.key),{isFile:E,isOptional:O,isArray:P,description:x}=Svn({schema:v.schema,isOptional:!_});if(E){let I=Gzu(v.key,p);A.push({key:v.key,schema:lbe.file({isOptional:O,isArray:P,description:x}),description:x,contentType:I,exploded:!1,encoding:I==null?i.options.defaultFormParameterEncoding:void 0})}else{let I=Gzu(v.key,p);A.push({key:v.key,schema:lbe.json(v.schema),description:void 0,contentType:I,exploded:p?.[v.key]?.explode,encoding:I==null?i.options.defaultFormParameterEncoding:cZy(I)})}}}return _V.multipart({name:yo(l)&&i.getNumberOfOccurrencesForRef(l)===1?y.id:void 0,description:y.schema.description,properties:A,source:s,sdkMethodName:c,fullExamples:m})}let f=Evn({mediaType:e,mediaTypeObject:t,context:i});if(f){let y=Nl(f.schema,!1,!1,i,o,s,a,!0);return _V.json({description:void 0,schema:y,contentType:f.contentType,fullExamples:f.examples,additionalProperties:!yo(f.schema)&&fPr(f.schema.additionalProperties,i.options),source:s,sdkMethodName:c})}let h=Hzu({mediaType:e,mediaTypeObject:t,context:i});if(h!=null&&h.schema!=null){let y=Nl(h.schema,!1,!1,i,o,s,a,!1);return _V.formUrlEncoded({schema:y,description:r,contentType:h.contentType,source:s,fullExamples:h.examples,additionalProperties:!1,sdkMethodName:c})}}function sZy({mediaTypeObject:e}){return Xn(e,wi.SDK_METHOD_NAME)}var aZy={"application/json":"json"};function cZy(e){return e?aZy[e]:void 0}function o1s(e,t){if(!e.$ref.startsWith(qAt))throw new Error(`Failed to resolve schema reference because of unsupported prefix: ${e.$ref}`);let r=N6e(e);if(r==null)throw new Error(`Failed to resolve schema reference because missing schema id: ${e.$ref}`);let n=t.components?.schemas?.[r];if(n==null)throw new Error(`Failed to resolve schema reference because missing: ${e.$ref}`);return yo(n)?o1s(n,t):{id:r,schema:n}}function Svn({schema:e,isOptional:t,isArray:r,description:n}){return lZy(e)?Svn({schema:e.value,isOptional:!0,isArray:r,description:e.description}):pZy(e)?Svn({schema:e.value,isOptional:t,isArray:r,description:e.description}):fZy(e)?Svn({schema:e.value,isOptional:t,isArray:!0,description:e.description}):uZy(e)?{isFile:!0,isOptional:t??!1,isArray:r??!1,description:n??e.description}:{isFile:!1,isOptional:t??!1,isArray:r??!1,description:void 0}}function uZy(e){return e.type==="primitive"&&e.schema.type==="string"&&e.schema.format==="binary"}function lZy(e){return e.type==="optional"}function pZy(e){return e.type==="nullable"}function fZy(e){return e.type==="array"}function Gzu(e,t){return t?.[e]?.contentType}var s1s={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},Jzu=new Set(Object.values(s1s));var mZy=["200","201","202","204"];function Bvn({operationContext:e,responses:t,context:r,responseBreadcrumbs:n,responseStatusCode:i,streamFormat:o,streamTerminator:s,source:a}){if(t==null)return{value:void 0,errors:{}};let c=dZy({responses:t,context:r,source:a,namespace:r.namespace}),u=!1,l;for(let p of i!=null?[i]:mZy){let m=t[p];m!=null&&(u=!0,l==null&&(l=Yzu({operationContext:e,response:m,context:r,responseBreadcrumbs:n,streamFormat:o,streamTerminator:s,source:a,namespace:r.namespace,statusCode:typeof p=="string"?parseInt(p):p})))}if(l==null&&!u&&t.default!=null&&(l=Yzu({operationContext:e,response:t.default,context:r,responseBreadcrumbs:n,streamFormat:o,streamTerminator:s,source:a,namespace:r.namespace})),l!=null)switch(l.type){case"json":return{value:l,errors:c};case"streamingJson":case"streamingSse":return{value:l,errors:c};case"bytes":case"file":case"text":case"streamingText":return{value:l,errors:c};default:Ve(l)}return{value:void 0,errors:c}}function Yzu({operationContext:e,streamFormat:t,streamTerminator:r,response:n,context:i,responseBreadcrumbs:o,source:s,namespace:a,statusCode:c}){let u=yo(n)?i.resolveResponseReference(n):n;if(u.content!=null&&Object.entries(u.content).find(([f,h])=>{if(h.schema==null)return!1;let y=yo(h.schema)?i.resolveSchemaReference(h.schema):h.schema;return y.type==="string"&&y.format==="binary"}))return i.options.useBytesForBinaryResponse&&t==null?NO.bytes({description:u.description,source:s,statusCode:c}):NO.file({description:u.description,source:s,statusCode:c});let l=jzu(u.content??{},i);if(l!=null&&t!=null)switch(t){case"json":return NO.streamingJson({statusCode:c,description:u.description,responseProperty:Xn(e.operation,wi.RESPONSE_PROPERTY),terminator:r,fullExamples:l.examples,schema:Nl(l.schema,!1,!1,i,o,s,a),source:s});case"sse":return NO.streamingSse({description:u.description,responseProperty:void 0,terminator:r,fullExamples:l.examples,schema:Nl(l.schema,!1,!1,i,o,s,a),source:s,statusCode:c})}let p=Ovn({context:i,content:u.content??{}});if(p){if(t!=null)switch(t){case"json":return NO.streamingJson({description:u.description,responseProperty:void 0,terminator:r,fullExamples:p.examples,schema:Nl(p.schema,!1,!1,i,o,s,a),source:s,statusCode:c});case"sse":return NO.streamingSse({description:u.description,responseProperty:void 0,terminator:r,fullExamples:p.examples,schema:Nl(p.schema,!1,!1,i,o,s,a),source:s,statusCode:c})}return NO.json({description:u.description,schema:Nl(p.schema,!1,!1,i,o,s,a),responseProperty:Xn(e.operation,wi.RESPONSE_PROPERTY),terminator:void 0,fullExamples:p.examples,source:s,statusCode:c})}for(let[m,f]of Object.entries(u.content??{})){let h=GA.parse(m);if(h!=null){if(h.isOctetStream()||h.isPDF()||h.isAudio()||h.isImage()||h.isVideo()||h.isMultiPartMixed())return NO.file({description:u.description,source:s,statusCode:c});if(h.isPlainText()){let y=f.schema;if(y==null)return NO.text({description:u.description,source:s,statusCode:c});let g=yo(y)?i.resolveSchemaReference(y):y;return g.type==="string"&&g.format==="byte"?NO.file({description:u.description,source:s,statusCode:c}):NO.text({description:u.description,source:s,statusCode:c})}}}}function dZy({responses:e,context:t,source:r,namespace:n}){let i={};for(let[o,s]of Object.entries(e)){if(o==="default")continue;let a=parseInt(o);if(a<400||a>600)continue;let c=yo(s)?t.resolveResponseReference(s):s,u=Tzu(c.content??{},t),l=s1s[a];if(l==null){t.logger.warn(`No error name found for status code ${o}`);continue}i[a]={statusCode:a,nameOverride:void 0,generatedName:l,description:c.description,schema:Nl(u?.schema??{},!1,!1,t,[l,"Body"],r,n),fullExamples:u?.examples,source:r}}return i}function c2e({operationContext:e,context:t,responseStatusCode:r,suffix:n,streamFormat:i,streamTerminator:o,source:s}){let{document:a,operation:c,path:u,method:l,baseBreadcrumbs:p}=e,m=Xn(c,wi.IDEMPOTENT),f=Xn(c,[wi.REQUEST_NAME_V1,wi.REQUEST_NAME_V2]),h=[...p,"Request"],y=Cvn({parameters:[...e.pathItemParameters,...e.operationParameters],context:t,requestBreadcrumbs:h,path:u,httpMethod:l,source:s}),g=/{([^}]+)}/g,A=[...u.matchAll(g)].map(q=>q[1]).filter(q=>q!==void 0),b=[...u.matchAll(g)].map(q=>q[1]);switch(t.options.pathParameterOrder){case Ei.PathParameterOrder.SpecOrder:{let q=b.filter(W=>!y.pathParameters.some(G=>G.name===W));if(q.length>0)for(let W of q)y.pathParameters.push({name:W??"",variableReference:void 0,parameterNameOverride:void 0,availability:void 0,source:s,schema:Dn.primitive({schema:Zo.string({default:void 0,example:void 0,format:void 0,maxLength:void 0,minLength:void 0,pattern:void 0}),description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0,availability:void 0,title:void 0}),description:void 0,explode:void 0})}break;case Ei.PathParameterOrder.UrlOrder:if(A.length>0){let q=new Map(y.pathParameters.map(re=>[re.name,re])),W=[],G=new Set;for(let re of A){let oe=q.get(re);G.add(re),oe?W.push(oe):W.push({name:re,variableReference:void 0,parameterNameOverride:void 0,availability:void 0,source:s,schema:Dn.primitive({schema:Zo.string({default:void 0,example:void 0,format:void 0,maxLength:void 0,minLength:void 0,pattern:void 0}),description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0,availability:void 0,title:void 0}),description:void 0,explode:void 0})}for(let re of y.pathParameters)G.has(re.name)||W.push(re);y.pathParameters=W}break;default:Ve(t.options.pathParameterOrder)}let v=(()=>{if(e.method==="GET")return[void 0];if(!c.requestBody)return[void 0];let q=yo(c.requestBody)?t.resolveRequestBodyReference(c.requestBody):c.requestBody,W=Object.values(q.content).every(re=>yZy({mediaTypeObject:re})!=null),G=[];if(W)return G.push(...Object.entries(q.content).map(([re,oe])=>{let H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:new GAt({document:t.document,taskContext:t.taskContext,options:t.options,source:t.source,namespace:t.namespace}),requestBreadcrumbs:h,source:s,namespace:t.namespace});return Xzu({context:t,convertedParameters:y})&&H!=null&&(H.type==="json"||H.type==="formUrlEncoded")&&H.schema.type!=="object"&&c.requestBody!=null?H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:t,requestBreadcrumbs:[...h,"Body"],source:s,namespace:t.namespace}):c.requestBody!=null&&(H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:t,requestBreadcrumbs:[...h],source:s,namespace:t.namespace})),H}).filter(re=>re!=null)),G.length===0?[void 0]:G;{let re=jvn({content:q.content,description:q.description,document:a,context:new GAt({document:t.document,taskContext:t.taskContext,options:t.options,source:t.source,namespace:t.namespace}),requestBreadcrumbs:h,source:s,namespace:t.namespace});return Xzu({context:t,convertedParameters:y})&&re!=null&&(re.type==="json"||re.type==="formUrlEncoded")&&re.schema.type!=="object"&&c.requestBody!=null?re=jvn({content:q.content,description:q.description,document:a,context:t,requestBreadcrumbs:[...h,"Body"],source:s,namespace:t.namespace}):c.requestBody!=null&&(re=jvn({content:q.content,description:q.description,document:a,context:t,requestBreadcrumbs:[...h],source:s,namespace:t.namespace})),[re]}})(),_=v.length>1,E=[...p,"Response"],O=Bvn({operationContext:e,streamFormat:i,streamTerminator:o,responses:c.responses,context:t,responseBreadcrumbs:E,responseStatusCode:r,source:s}),P=Lzu(c),x=Uzu(c),I=Vzu(e,c,t),F=Xn(c,wi.SERVER_NAME_V2);return v.map(q=>({summary:c.summary,internal:Xn(c,Mk.INTERNAL),idempotent:m,audiences:Xn(c,wi.AUDIENCES)??[],operationId:c.operationId!=null&&n!=null?c.operationId+"_"+n:c.operationId,tags:t.resolveTagsToTagIds(c.tags),namespace:t.namespace,sdkName:gZy({operationContext:e,request:q}),pathParameters:y.pathParameters,queryParameters:y.queryParameters,headers:y.headers,requestNameOverride:f??void 0,generatedRequestName:PS(_?hZy({breadcrumbs:h,request:q}):h,t.options.preserveSchemaIds),request:q,response:O.value,errors:O.errors,servers:F!=null?[{name:F,url:void 0,audiences:void 0}]:(c.servers??[]).map(W=>Ivn(W,{groupMultiApiEnvironments:t.options.groupMultiApiEnvironments})),description:c.description,authed:bZy(c,a),security:AZy(c),availability:x,method:l,path:u,examples:I,pagination:e.pagination,source:s,retries:P}))}function hZy({breadcrumbs:e,request:t}){return t?[...e,t.type]:e}function yZy({mediaTypeObject:e}){return Xn(e,wi.SDK_METHOD_NAME)}function gZy({operationContext:e,request:t}){return!t||!t.sdkMethodName?e.sdkMethodName:e.sdkMethodName?{groupName:[...e.sdkMethodName.groupName],methodName:t.sdkMethodName??e.sdkMethodName.methodName}:{groupName:[],methodName:t.sdkMethodName}}function AZy(e){return e.security}function bZy(e,t){return e.security!=null?Object.keys(e.security).length>0:t.security!=null?Object.keys(t.security).length>0:!1}function Xzu({context:e,convertedParameters:t}){return e.options.inlinePathParameters&&t.pathParameters.length>0||t.queryParameters.length>0||t.headers.length>0}function e2u({operationContext:e,context:t,asyncExtension:r,source:n}){let{operation:i,pathItemParameters:o,operationParameters:s}=e,a=r.discriminant.name,c=r.discriminant.value,u=r["response-status-code"],l=Zzu({context:t,headerToIgnore:a,parameters:o}),p=Zzu({context:t,headerToIgnore:a,parameters:s}),m=c2e({operationContext:{...e,pathItemParameters:l,operationParameters:p,operation:{...i,responses:Object.fromEntries(Object.entries(i.responses).filter(([h])=>parseInt(h)!==u))}},context:t,streamFormat:void 0,source:n}),f=c2e({operationContext:{...e,pathItemParameters:l,operationParameters:p,baseBreadcrumbs:[...e.baseBreadcrumbs,"async"]},context:t,suffix:"async",responseStatusCode:u,streamFormat:void 0,source:n});return f.forEach(h=>{h.headers.push({name:a,schema:Dn.literal({nameOverride:void 0,generatedName:PS([a],t.options.preserveSchemaIds),title:void 0,description:void 0,availability:void 0,value:kw.string(c),namespace:void 0,groupName:void 0}),description:void 0,parameterNameOverride:void 0,env:void 0,availability:void 0,source:n})}),{sync:m,async:f}}function Zzu({context:e,headerToIgnore:t,parameters:r}){return r.filter(n=>{let i=yo(n)?e.resolveParameterReference(n):n;return!(i.in==="header"&&i.name===t)})}var a1s="stream";function i2u({operationContext:e,context:t,streamingExtension:r}){switch(r.type){case"stream":return{streaming:c2e({operationContext:e,context:t,streamFormat:r.format,streamTerminator:r.terminator,source:t.source}),nonStreaming:[]};case"streamCondition":{let n=t2u({context:t,operation:e.operation,streamingExtension:r,isStreaming:!0});if(n?.schemaReference!=null){let u=N6e(n.schemaReference);u!=null&&t.excludeSchema(u)}let i=r2u({operation:e.operation,response:r.responseStream}),o=c2e({operationContext:{...e,sdkMethodName:e.sdkMethodName!=null?{groupName:e.sdkMethodName.groupName,methodName:e.sdkMethodName.methodName+"_"+a1s}:void 0,operation:{...e.operation,description:r.streamDescription??e.operation.description,requestBody:n?.requestBody,responses:i},baseBreadcrumbs:[...e.baseBreadcrumbs,a1s]},context:t,streamFormat:r.format,streamTerminator:r.terminator,suffix:a1s,source:t.source});o.forEach(u=>{u.examples=u.examples.filter(l=>n2u(l,t)!==!1)});let s=t2u({context:t,operation:e.operation,streamingExtension:r,isStreaming:!1}),a=r2u({operation:e.operation,response:r.response}),c=c2e({streamFormat:void 0,operationContext:{...e,operation:{...e.operation,requestBody:s?.requestBody,responses:a}},context:t,source:t.source});return c.forEach(u=>{u.examples=u.examples.filter(l=>n2u(l,t)!==!0)}),{streaming:o,nonStreaming:c}}default:Ve(r)}}function t2u({context:e,operation:t,streamingExtension:r,isStreaming:n}){if(t.requestBody==null)return;let i=yo(t.requestBody)?e.resolveRequestBodyReference(t.requestBody):t.requestBody,o=Ovn({content:i.content,context:e});if(o==null)return;let s=yo(o.schema)?e.resolveSchemaReference(o.schema):o.schema;if(s.allOf==null&&s.properties==null)return;let a=s.properties?.[r.streamConditionProperty];a!=null&&yo(a)&&(a=void 0);let c={...s,properties:{...s.properties,[r.streamConditionProperty]:{type:"boolean","x-fern-boolean-literal":n,...a??{}}},title:void 0,required:[...s.required??[],r.streamConditionProperty]};return{requestBody:{content:{[GA.APPLICATION_JSON]:{schema:c}}},schemaReference:yo(o.schema)?o.schema:void 0}}function r2u({operation:e,response:t}){return{...e.responses,200:{description:"",content:{[GA.APPLICATION_JSON]:{schema:t}}}}}function n2u(e,t){return e._visit({unknown:r=>{let n=rP.serialization.ExampleEndpointCallSchema.parse(r);if(n.ok&&n.value.response!=null)return n.value.response.stream!=null},full:()=>{},_other:()=>{}})}var l2u=require("crypto");function _Zy(e){switch(e){case"unix-seconds":return cw.WebhookTimestampFormat.UnixSeconds;case"unix-millis":return cw.WebhookTimestampFormat.UnixMillis;case"iso8601":return cw.WebhookTimestampFormat.Iso8601}}function o2u(e){if(e!=null)return{header:e.header,format:e.format!=null?_Zy(e.format):void 0,tolerance:e.tolerance}}function vZy(e){if(e!=null)return{components:e.components.map(t=>{switch(t){case"body":return cw.WebhookPayloadComponent.Body;case"timestamp":return cw.WebhookPayloadComponent.Timestamp;case"notification-url":return cw.WebhookPayloadComponent.NotificationUrl;case"message-id":return cw.WebhookPayloadComponent.MessageId}}),delimiter:e.delimiter}}function EZy(e){if(e!=null)switch(e){case"sha256":return cw.WebhookSignatureAlgorithm.Sha256;case"sha1":return cw.WebhookSignatureAlgorithm.Sha1;case"sha384":return cw.WebhookSignatureAlgorithm.Sha384;case"sha512":return cw.WebhookSignatureAlgorithm.Sha512}}function s2u(e){if(e!=null)switch(e){case"base64":return cw.WebhookSignatureEncoding.Base64;case"hex":return cw.WebhookSignatureEncoding.Hex}}function OZy(e){if(e!=null)switch(e){case"rsa-sha256":return cw.AsymmetricAlgorithm.RsaSha256;case"rsa-sha384":return cw.AsymmetricAlgorithm.RsaSha384;case"rsa-sha512":return cw.AsymmetricAlgorithm.RsaSha512;case"ecdsa-sha256":return cw.AsymmetricAlgorithm.EcdsaSha256;case"ecdsa-sha384":return cw.AsymmetricAlgorithm.EcdsaSha384;case"ecdsa-sha512":return cw.AsymmetricAlgorithm.EcdsaSha512;case"ed25519":return cw.AsymmetricAlgorithm.Ed25519}}function c2u(e){if(e.type==="hmac")return cw.WebhookSignatureVerification.hmac({header:e.header,algorithm:EZy(e.algorithm),encoding:s2u(e.encoding),signaturePrefix:e["signature-prefix"],payloadFormat:vZy(e["payload-format"]),timestamp:o2u(e.timestamp)});if(e.type==="asymmetric"){let t=OZy(e["asymmetric-algorithm"]);return t==null?void 0:cw.WebhookSignatureVerification.asymmetric({header:e.header,asymmetricAlgorithm:t,encoding:s2u(e.encoding),signaturePrefix:e["signature-prefix"],jwksUrl:e["jwks-url"],keyIdHeader:e["key-id-header"],timestamp:o2u(e.timestamp)})}}function a2u(e){let t=Xn(e,wi.WEBHOOK_SIGNATURE);if(!(t==null||typeof t=="boolean"))return c2u(t)}function u2u(e,t){let r=Xn(t,wi.WEBHOOK_SIGNATURE);return r!=null?typeof r=="boolean"?a2u(e):c2u(r):a2u(e)}function p2u({context:e,operationContext:t,source:r}){let{document:n,operation:i,path:o,method:s,baseBreadcrumbs:a,sdkMethodName:c}=t,u=[...a,"Payload"],l=[...a,"Response"],p=Cvn({parameters:[...t.pathItemParameters,...t.operationParameters],context:e,requestBreadcrumbs:u,path:o,httpMethod:s,source:r});if(i.requestBody==null)return e.logger.error(`Skipping webhook ${s.toUpperCase()} ${o}: Missing a request body`),[];let m=i.operationId??xZy({path:o,method:s,sdkMethodName:c}),f=i.responses?Bvn({operationContext:t,streamFormat:void 0,responses:i.responses,context:e,responseBreadcrumbs:l,source:r}):void 0;if(s!=="POST"&&s!=="GET")return e.logger.error(`Skipping webhook ${s.toUpperCase()} ${o}: Not POST or GET`),[];let h=yo(i.requestBody)?e.resolveRequestBodyReference(i.requestBody):i.requestBody;return Object.entries(h.content).map(([y,g])=>_be({mediaType:y,mediaTypeObject:g,description:h.description,document:n,context:e,requestBreadcrumbs:[...a,"Payload"],source:r,namespace:e.namespace})).filter(y=>y!=null).map(y=>{if(y==null||y.type!=="json"&&y.type!=="formUrlEncoded"&&y.type!=="multipart"){e.logger.error(`Skipping webhook ${o} because non-json, non-formUrlEncoded, and non-multipart request body`);return}let g,A;y.type==="multipart"?(g={name:y.name,properties:y.properties,description:y.description,source:y.source},A=Dn.unknown({nameOverride:void 0,generatedName:PS(u,e.options.preserveSchemaIds),title:void 0,description:y.description,availability:void 0,namespace:e.namespace,groupName:void 0,example:void 0})):A=y.schema;let b=u2u(n,i);return{summary:i.summary,audiences:Xn(i,wi.AUDIENCES)??[],sdkName:c,namespace:e.namespace,method:s,operationId:m,tags:e.resolveTagsToTagIds(i.tags),headers:p.headers,generatedPayloadName:PS(u,e.options.preserveSchemaIds),payload:A,signatureVerification:b,multipartFormData:g,response:f?.value,description:i.description,examples:wZy(y.fullExamples),source:r}}).filter(y=>y!=null)}function wZy(e){if(e==null)return[];let t=[];for(let r of e){let n=z6e(r.value);n!=null&&t.push({description:r.description,name:r.name,payload:n})}return t}function xZy({path:e,method:t,sdkMethodName:r}){let n=r?.methodName??PZy(e),i=(0,l2u.createHash)("sha256").update(e).digest("hex").slice(0,8);return IZy(`${n}_${t.toLowerCase()}_${i}`)}function PZy(e){return e.replace(/[{$}#]/g,"").replace(/[^a-zA-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").replace(/_+/g,"_").toLowerCase().slice(0,64)}function IZy(e){return e.split("_").map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function c1s({context:e,pathItemContext:t,operation:r,convertToWebhook:n}){let i=Xn(r,wi.IGNORE);if(i!=null&&i){e.logger.debug(`${t.method.toUpperCase()} ${t.path} is marked with x-fern-ignore. Skipping.`);return}let o=CZy(r,e),s=Szu(e.document,r),a={...t,sdkMethodName:o,baseBreadcrumbs:SZy({operation:r,sdkMethodName:o,httpMethod:t.method,path:t.path,shouldUseIdiomaticRequestNames:e.options.shouldUseIdiomaticRequestNames}),operation:r,operationParameters:r.parameters??[],pagination:s};if(n)return{type:"webhook",value:p2u({context:e,operationContext:a,source:e.source})};let c=Izu(r);if(c==null&&jZy({operation:r,context:e})&&(c={type:"stream",format:"sse",terminator:void 0}),c!=null){let p=i2u({context:e,operationContext:a,streamingExtension:c});return p!=null?{type:"streaming",streaming:p.streaming,nonStreaming:p.nonStreaming}:void 0}let u=xzu(r);if(u!=null){let p=e2u({context:e,operationContext:a,asyncExtension:u,source:e.source});return{type:"async",async:p.async,sync:p.sync}}return{type:"http",value:c2e({context:e,operationContext:a,streamFormat:void 0,source:e.source})}}function CZy(e,t){let r=Xn(e,wi.SDK_METHOD_NAME),n=Xn(e,wi.SDK_GROUP_NAME)??[];if(r!=null){let i=typeof n=="string"?[n]:n;return i=t.resolveGroupName(i),{groupName:i,methodName:r}}}function SZy({sdkMethodName:e,operation:t,httpMethod:r,path:n,shouldUseIdiomaticRequestNames:i}){let o=[];if(e!=null){if(i&&o.push(e.methodName),e.groupName.length>0){let s=e.groupName[e.groupName.length-1];s!=null&&o.push(typeof s=="string"?s:s.name)}i||o.push(e.methodName)}else t.operationId!=null?o.push(t.operationId):o.push(eo(`${r}_${n.split("/").join("_")}`));return o}function jZy({operation:e,context:t}){if(e.responses==null)return!1;for(let r of Object.values(e.responses)){let n=yo(r)?t.resolveResponseReference(r):r;if(n.content!=null&&Bzu(n.content))return!0}return!1}function f2u(e,t,r,n){let i=[],o=d2u(t),s={document:r,pathItem:t,path:e,pathItemParameters:t.parameters??[]};for(let a of o){if(n.filter.skipEndpoint({method:a.method,path:e})){n.logger.debug(`Skipping endpoint "${a.method} ${e}"`);continue}let c=BZy({operation:a.operation}),u=c1s({context:n,pathItemContext:{...s,method:a.method},operation:a.operation,convertToWebhook:c});u&&i.push(u)}return i}function m2u(e,t,r,n){let i=[],o=d2u(t),s={document:r,pathItem:t,path:e,pathItemParameters:t.parameters??[]};for(let a of o){if(n.filter.skipEndpoint({method:a.method,path:e})){n.logger.debug(`Skipping endpoint "${a.method} ${e}"`);continue}let c=c1s({context:n,pathItemContext:{...s,method:a.method},operation:a.operation,convertToWebhook:!0});c&&i.push(c)}return i}function d2u(e){let t=[];return e.get!=null&&t.push({method:GD.Get,operation:e.get}),e.post!=null&&t.push({method:GD.Post,operation:e.post}),e.put!=null&&t.push({method:GD.Put,operation:e.put}),e.delete!=null&&t.push({method:GD.Delete,operation:e.delete}),e.patch!=null&&t.push({method:GD.Patch,operation:e.patch}),e.head!=null&&t.push({method:GD.Head,operation:e.head}),t}function BZy({operation:e}){return Xn(e,[wi.WEBHOOK])??!1}function h2u(e){let t=Xn(e,wi.BASIC_AUTH_USERNAME_VARIABLE_NAME),r=Xn(e,wi.BASIC_AUTH_PASSWORD_VARIABLE_NAME);return{usernameVariable:t,passwordVariable:r}}function y2u(e){return Xn(e,wi.FERN_BASIC_AUTH)}function A2u(e,t,r,n){if(yo(e)){if(n==null)throw new Error(`Converting referenced security schemes requires context: ${JSON.stringify(e)}`);let i=n.resolveSecuritySchemeReference(e);return g2u(i,t,r)}return g2u(e,t,r)}function g2u(e,t,r){try{if(e.type==="apiKey"&&e.in==="header"){let n=Xn(e,Mk.BEARER_FORMAT),i=Xn(e,wi.FERN_HEADER_AUTH);return qD.header({headerName:e.name,prefix:n!=null?"Bearer":i?.prefix,headerVariableName:i?.name??Xn(e,wi.HEADER_VARIABLE_NAME),headerEnvVar:i?.env})}else if(e.type==="http"&&e.scheme?.toLowerCase()==="bearer"){let n=Xn(e,wi.FERN_BEARER_TOKEN);return qD.bearer({tokenVariableName:n?.name??Xn(e,wi.BEARER_TOKEN_VARIABLE_NAME),tokenEnvVar:n?.env})}else if(e.type==="http"&&e.scheme?.toLowerCase()==="basic"){let n=y2u(e),i=h2u(e);return qD.basic({usernameVariableName:n?.username?.name??i.usernameVariable,usernameEnvVar:n?.username?.env,passwordVariableName:n?.password?.name??i.passwordVariable,passwordEnvVar:n?.password?.env})}else{if(e.type==="openIdConnect")return qD.bearer({tokenVariableName:void 0,tokenEnvVar:void 0});if(e.type==="oauth2")return qD.oauth({scopesEnum:TZy(e,t)})}}catch(n){r.logger.debug(`Error converting security scheme: ${n?.message}`)}r.logger.debug(`Skipping security scheme: ${JSON.stringify(e,null)} - not currently supported. Please reach out to Fern support team!`)}function TZy(e,t){let r=e.flows.authorizationCode?.scopes??e.flows.clientCredentials?.scopes??e.flows.implicit?.scopes??e.flows.password?.scopes;if(r!=null){let n=F6e({nameOverride:void 0,generatedName:"OauthScope",title:void 0,enumValues:Object.keys(r),fernEnum:Object.fromEntries(Object.entries(r).map(([o,s])=>[o,{description:s}])),_default:void 0,description:void 0,availability:void 0,enumVarNames:void 0,wrapAsOptional:!1,wrapAsNullable:!1,namespace:void 0,groupName:void 0,context:void 0,source:t,inline:void 0}),i=tb(n);if(i.type==="enum")return i}}function b2u(e){return Xn(e,wi.BASE_PATH)}var DZy=$t.record($t.string(),$t.object({summary:$t.string().optional(),description:$t.string().optional()}));function _2u({document:e,context:t}){return lPr(e,wi.GROUPS,DZy,t.logger)}function v2u({context:e,document:t}){return Xn(t,wi.FERN_VERSION)??void 0}function E2u(e){let t=Xn(e,wi.FERN_GLOBAL_HEADERS),r=[];for(let n of t??[])r.push({...n,schema:n.type!=null?pPr({fernType:n.type,description:void 0,availability:void 0,generatedName:n.name??n.header,title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}):void 0});return r}function O2u(e){let t=Xn(e,wi.FERN_IDEMPOTENCY_HEADERS),r=[];for(let n of t??[])r.push({...n,schema:n.type!=null?pPr({fernType:n.type,description:void 0,availability:void 0,generatedName:n.name??n.header,title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}):void 0});return r}function w2u(e,t){let r=Xn(e,wi.SDK_VARIABLES);return r==null?{}:Object.fromEntries(Object.entries(r).map(([n,i])=>{if(i.type==="string")return[n,{nameOverride:void 0,generatedName:PS([n],t),title:i.title,schema:Ph.string({default:qQt(i),pattern:i.pattern,format:i.format,minLength:i.minLength,maxLength:i.maxLength}),description:i.description,availability:void 0,namespace:void 0,groupName:void 0}];throw new Error(`Variable ${n} has unsupported schema ${JSON.stringify(i)}`)}))}var RZy="webhooks";function x2u(e){return Xn(e,RZy)??{}}var gPr=class extends JQt{nonRequestReferencedSchemas=new Set;twoOrMoreRequestsReferencedSchemas=new Set;singleRequestReferencedSchemas=new Set;discriminatedUnionReferences={};discriminatedUnionMetadata={};schemasToExclude=new Set;constructor({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s}){super({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s})}getDummy(){return new GAt({document:this.document,taskContext:this.taskContext,options:this.options,source:this.source,namespace:this.namespace})}markSchemaAsReferencedByNonRequest(t){this.nonRequestReferencedSchemas.add(t)}markSchemaAsReferencedByRequest(t){this.singleRequestReferencedSchemas.has(t)?this.twoOrMoreRequestsReferencedSchemas.add(t):this.singleRequestReferencedSchemas.add(t)}getReferencedSchemas(){return new Set([...this.nonRequestReferencedSchemas,...this.twoOrMoreRequestsReferencedSchemas])}markReferencedByDiscriminatedUnion(t,r,n){let i=this.discriminatedUnionReferences[t.$ref];i!=null?(i.discriminants.add(r),i.numReferences+=n):this.discriminatedUnionReferences[t.$ref]={discriminants:new Set([r]),numReferences:n}}getReferencesFromDiscriminatedUnion(t){return this.discriminatedUnionReferences[t.$ref]}markSchemaWithDiscriminantValue(t,r,n){let i=this.discriminatedUnionMetadata[t.$ref];i!=null?i.discriminants.set(r,n):this.discriminatedUnionMetadata[t.$ref]={discriminants:new Map([[r,n]])}}getDiscriminatedUnionMetadata(t){return this.discriminatedUnionMetadata[t.$ref]}excludeSchema(t){this.schemasToExclude.add(t)}isSchemaExcluded(t){return this.schemasToExclude.has(t)}};function P2u(e){return Xn(e,wi.RESOLUTIONS)}function I2u({openapi:e}){let t=P2u(e);if(t==null)return e;let r={};for(let n of t){let i=`#/components/schemas/${n.name}`;for(let o of n.resolutions)e=FZy({openapi:e,schemaReference:o,schemaName:n.name}),e=C2u({openapi:e,replaceReference:o,schemaReference:i,replacedReferences:r}),r={...r,...Object.fromEntries(n.resolutions.map(s=>[i,s]))}}return e}function FZy({openapi:e,schemaReference:t,schemaName:r}){let n=t.replace("#/","").split("/").map(o=>o.replaceAll("~1","/")),i=e;for(let o of n){let s=i[o];if(s==null)return e;i=s}return e.components==null&&(e.components={}),e.components.schemas==null&&(e.components.schemas={}),e.components.schemas[r]=i,e}function C2u({openapi:e,replaceReference:t,schemaReference:r,replacedReferences:n}){let i=Object.keys(n).filter(c=>t.startsWith(c)).sort((c,u)=>u.length-c.length)[0];if(i!=null){let c=n[i];if(c!=null){let u=r.replace(i,c);return C2u({openapi:e,replaceReference:t,schemaReference:u,replacedReferences:{}})}}let o=t.replace("#/","").split("/").map(c=>c.replaceAll("~1","/")),s=e;for(let c of o.slice(0,-1)){let u=s[c];if(u==null)return e;s=u}let a=o[o.length-1];return a==null||(s[a]={$ref:r}),e}function j2u({openApi:e,taskContext:t,options:r,source:n,namespace:i}){e=I2u({openapi:e}),dvn();let o=new gPr({document:e,taskContext:t,authHeaders:new Set,options:r,source:n,namespace:i}),s=Object.fromEntries(Object.entries(e.components?.securitySchemes??{}).map(([q,W])=>{let G=A2u(W,n,t,o);return G==null?null:[q,G]}).filter(q=>q!==null)),a=e.security?.filter(q=>q!=null),c=new Set(...Object.entries(s).map(([q,W])=>W.type==="basic"||W.type==="bearer"?"Authorization":W.type==="header"?W.headerName:null)),u=w2u(e,r.preserveSchemaIds),l=E2u(e),p=O2u(e),m=r.audiences??[],f=[],h=[],y=new gPr({document:e,taskContext:t,authHeaders:c,options:r,source:n,namespace:i});y.filter.hasEndpoints()&&t.logger.debug("Endpoint filter applied..."),Object.entries(e.paths??{}).forEach(([q,W])=>{if(W==null)return;let G=f2u(q,W,e,y);for(let re of G){let oe=S2u({operation:re});if(!(m.length>0&&!m.some(H=>oe.includes(H))))switch(re.type){case"async":f.push(...re.sync),f.push(...re.async);break;case"http":f.push(...re.value);break;case"streaming":f.push(...re.streaming),re.nonStreaming&&f.push(...re.nonStreaming);break;case"webhook":h.push(...re.value);break;default:Ve(re)}}}),Object.entries(x2u(e)).forEach(([q,W])=>{if(W==null)return;t.logger.debug(`Converting path ${q}`);let G=m2u(q,W,e,y);for(let re of G){let oe=S2u({operation:re});m.length>0&&!m.some(H=>oe.includes(H))||h.push(...re.value)}});let g=Object.fromEntries(Object.entries(e.components?.schemas??{}).map(([q,W])=>{let G=Xn(W,wi.SDK_NAMESPACE);if(!yo(W)){let re=Xn(W,wi.IGNORE);if(re!=null&&re)return[];if(Jzu.has(q))return[q,Nl({...W,"x-fern-type-name":`${q}Body`},!1,!1,y,[q],n,G??i)]}return[q,Nl(W,!1,!1,y,[q],n,G??i)]}).filter(q=>q.length>0)),A=NZy(g,y,n),b=kZy(A,y),v=gbe(),_={};for(let[q,W]of Object.entries(b)){let G=tb(W);if(y.isSchemaExcluded(q))continue;let re=v.getUniqueSchemaId(q,y.logger,r.resolveSchemaCollisions);_[re]=G}let E=new Q6e(b,y.nonRequestReferencedSchemas,y),O=h.map(q=>{let G=q.examples;if(!r.disableExamples&&G.length===0){let re=E.buildExample({schema:q.payload,exampleId:void 0,example:void 0,skipReadonly:!1,options:{ignoreOptionals:!1,isParameter:!1}});re!=null&&(G=[{name:void 0,description:void 0,payload:re}])}return{...q,payload:tb(q.payload),examples:G}}),P=new gvn(b,y,l),x=f.map(q=>{let W=q.examples,G=W;if(!r.disableExamples&&(W.length===0||W.every(hPr))){let H=P.buildEndpointExample(q);H.length>0&&(G=[...H,...W.filter(ee=>!hPr(ee))])}let re=q.request,oe=q.response;return{...q,request:re?.type==="json"||re?.type==="formUrlEncoded"?{...re,schema:tb(re.schema)}:re,response:oe?.type==="json"?{...oe,schema:tb(oe.schema)}:oe,queryParameters:q.queryParameters.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,availability:H.availability,source:H.source})),pathParameters:q.pathParameters.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,variableReference:H.variableReference,availability:H.availability,source:H.source})),headers:q.headers.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,env:H.env,availability:H.availability,source:H.source})),examples:G,errors:Mi(q.errors,H=>{let ee=H.fullExamples?.map(Ge=>{let Je=z6e(Ge.value);if(Je!=null)return{name:Ge.name,description:Ge.description,example:Je}}).filter(Yc);if(ee?.length===0){let Ge=E.buildExample({schema:H.schema,example:void 0,exampleId:void 0,skipReadonly:!1,options:{ignoreOptionals:!1,isParameter:!1}});Ge!=null&&ee.push({name:void 0,description:void 0,example:Ge})}return{generatedName:H.generatedName,nameOverride:H.nameOverride,schema:tb(H.schema),description:H.description,source:H.source,examples:ee}}),retries:q.retries}});P.finalize();let I=_2u({document:e,context:y});return{apiVersion:v2u({context:y,document:e}),basePath:b2u(e),title:e.info.title??"",description:e.info.description,groups:Object.fromEntries(Object.entries(I??{}).map(([q,W])=>[q,{summary:W.summary??void 0,description:W.description??void 0}])),servers:(e.servers??[]).map(q=>Ivn(q,{groupMultiApiEnvironments:r.groupMultiApiEnvironments})),websocketServers:[],tags:{tagsById:Object.fromEntries((e.tags??[]).map(q=>[q.name,{id:q.name,description:q.description}])),orderedTagIds:e.tags?.map(q=>q.name)},endpoints:x,webhooks:O,channels:{},groupedSchemas:GQt(i,_),securitySchemes:s,security:a,hasEndpointsMarkedInternal:x.some(q=>q.internal),nonRequestReferencedSchemas:y.getReferencedSchemas(),variables:u,globalHeaders:l,idempotencyHeaders:p}}function NZy(e,t,r){if(t.options.removeDiscriminantsFromSchemas===Ei.RemoveDiscriminantsFromSchemas.Never)return e;let n={};for(let[i,o]of Object.entries(e)){if(o.type!=="object"){n[i]=o;continue}let s={$ref:`#/components/schemas/${i}`},a=t.getReferencesFromDiscriminatedUnion(s);if(a==null){n[i]=o;continue}if(t.getReferencedSchemas().has(i)){n[i]=o;continue}let u={...o,type:"object",properties:o.properties.filter(p=>!a.discriminants.has(p.key)),allOfPropertyConflicts:o.allOfPropertyConflicts.filter(p=>!a.discriminants.has(p.propertyKey)),source:r};n[i]=u;let l=B2u({schema:o,schemas:e});for(let p of[...new Set(l)]){let m=n[p]??e[p];m==null||m.type!=="object"||(n[p]={...m,type:"object",properties:m.properties.filter(f=>!a.discriminants.has(f.key)),allOfPropertyConflicts:m.allOfPropertyConflicts.filter(f=>!a.discriminants.has(f.propertyKey))})}}return n}function kZy(e,t){let r={};for(let[n,i]of Object.entries(e)){if(i.type!=="object"){r[n]=i;continue}let o={$ref:`#/components/schemas/${n}`},s=t.getDiscriminatedUnionMetadata(o);if(s==null){r[n]=i;continue}let a=[];for(let u of i.properties)if(s.discriminants.has(u.key)){let l=s.discriminants.get(u.key);l!=null&&a.push({...u,schema:Dn.literal({nameOverride:void 0,generatedName:PS([i.generatedName,l],t.options.preserveSchemaIds),title:void 0,value:kw.string(l),namespace:void 0,groupName:void 0,description:void 0,availability:i.availability})})}else a.push(u);let c={...i,type:"object",properties:a};r[n]=c}return r}function B2u({schema:e,schemas:t}){let r=[];for(let n of e.allOf){r.push(n.schema);let i=t[n.schema];i!=null&&i.type==="object"&&r.push(...B2u({schema:i,schemas:t}))}return r}function Tvn(e){return[...new Set(e)]}function S2u({operation:e}){let t=[];switch(e.type){case"async":t=Tvn(e.async.flatMap(r=>r.audiences));break;case"http":t=Tvn(e.value.flatMap(r=>r.audiences));break;case"streaming":t=Tvn(e.streaming.flatMap(r=>r.audiences));break;case"webhook":t=Tvn(e.value.flatMap(r=>r.audiences));break;default:Ve(e)}return t}function HAt({context:e,documents:t,options:r}){let n={apiVersion:void 0,title:void 0,description:void 0,basePath:void 0,servers:[],websocketServers:[],tags:{tagsById:{},orderedTagIds:void 0},hasEndpointsMarkedInternal:!1,endpoints:[],webhooks:[],channels:{},groupedSchemas:{rootSchemas:{},namespacedSchemas:{}},variables:{},nonRequestReferencedSchemas:new Set,securitySchemes:{},security:void 0,globalHeaders:[],idempotencyHeaders:[],groups:{}},i=0;for(let o of t)try{let s=o.source!=null?o.source:A2.openapi({file:"<memory>"});switch(o.type){case"openapi":{let a=j2u({taskContext:e,openApi:o.value,options:DK({options:o.settings,overrides:r}),source:s,namespace:o.namespace});n=UZy(n,a,DK({options:o.settings,overrides:r})),i++;break}case"asyncapi":{let a=wzu({document:o.value,taskContext:e,options:DK({options:o.settings,overrides:r}),source:s,asyncApiOptions:zZy({options:o.settings}),namespace:o.namespace});a.servers!=null&&(n.websocketServers=[...n.websocketServers,...a.servers.map(c=>({...c,audiences:void 0,description:void 0,defaultUrl:void 0,urlTemplate:void 0,variables:void 0}))]),a.channels!=null&&(n.channels={...n.channels,...a.channels}),a.groupedSchemas!=null&&(n.groupedSchemas=Dvn(n.groupedSchemas,a.groupedSchemas,r)),a.basePath!=null&&(n.basePath=a.basePath),i++;break}default:Ve(o)}}catch(s){e.logger.error(`Failed to parse ${o.type} document ${o.type==="openapi"?o.value.info?.title:o.source?.file}`),s instanceof Error&&e.logger.error(s.message,s.stack?`
1525
+ `);try{HQt.writeFileSync(n,i,"utf8"),this.logger.info(`Missing examples report written to: ${n}`)}catch(o){this.logger.warn(`Failed to write missing examples report to ${n}:`,String(o))}}finalize(){}convertExampleToJson(t){switch(t.type){case"primitive":return t.value;case"array":return t.value.map(r=>this.convertExampleToJson(r));case"object":{let r={};return Object.entries(t.properties).forEach(([n,i])=>{r[n]=this.convertExampleToJson(i)}),r}case"map":{let r={};return t.value.forEach(n=>{r[String(n.key)]=this.convertExampleToJson(n.value)}),r}case"oneOf":if(t.value.type==="undiscriminated")return this.convertExampleToJson(t.value.value);{let r={};return Object.entries(t.value.value).forEach(([n,i])=>{r[n]=this.convertExampleToJson(i)}),r}case"enum":return t.value;case"literal":return t.value;case"null":return null;case"unknown":return this.convertExampleToJson(t.value);default:return t}}getSchemaDescription(t){if("description"in t)return t.description}getSchemaTypeName(t){switch(t.type){case"primitive":return`primitive (${t.schema.type})`;case"object":return t.generatedName||"object";case"array":return"array";case"map":return"map";case"optional":return`optional (${this.getSchemaTypeName(t.value)})`;case"nullable":return`nullable (${this.getSchemaTypeName(t.value)})`;case"reference":return t.generatedName||"reference";case"enum":return t.generatedName||"enum";case"literal":return"literal";case"oneOf":return"oneOf";case"unknown":return"unknown";default:return"unknown"}}buildEndpointExample(t){let r=jXy(t.request),n=BXy(t.response);if(r?.type==="unsupported"||n?.type==="unsupported")return[];let i=[];if(r!=null&&r.type==="present"){let p=this.isSchemaRequired(r.schema);if(r.examples.length===0){let m=this.exampleTypeFactory.buildExample({skipReadonly:e1s(t.method),schema:r.schema,exampleId:void 0,example:void 0,options:{isParameter:!1,ignoreOptionals:!0}});m!=null?(i.push([void 0,m]),this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),"No user-provided examples found in OpenAPI spec",{schemaDescription:this.getSchemaDescription(r.schema),autoGeneratedExample:this.convertExampleToJson(m)})):this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),"Auto-generation failed (schema too complex or circular references)",{schemaDescription:this.getSchemaDescription(r.schema)})}else for(let{name:m,value:f}of r.examples){let h=this.exampleTypeFactory.buildExample({skipReadonly:e1s(t.method),schema:r.schema,exampleId:m,example:f,options:{isParameter:!1,ignoreOptionals:!0}});h!=null?i.push([m,h]):this.addMissingExampleRecord(t,"request",this.getSchemaTypeName(r.schema),`Failed to build example from provided data (example id: ${m})`,{schemaDescription:this.getSchemaDescription(r.schema)})}if(p&&i.length===0)return this.logger.trace(`Failed to generate required request example for ${t.method.toUpperCase()} ${t.path}`),[]}let o=[];if(n!=null&&n.type==="present"){let p=this.isSchemaRequired(n.schema);if(n.examples.length===0){let m=this.exampleTypeFactory.buildExample({skipReadonly:!1,schema:n.schema,exampleId:void 0,example:void 0,options:{maxDepth:this.context.options.exampleGeneration?.response?.["max-depth"]??3,isParameter:!1,ignoreOptionals:!1}});m!=null?(t.response?.type==="json"?o.push([void 0,BK.withoutStreaming(m)]):(t.response?.type==="streamingJson"||t.response?.type==="streamingSse")&&o.push([void 0,BK.withStreaming({sse:t.response?.type==="streamingSse",events:[m]})]),this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),"No user-provided examples found in OpenAPI spec",{schemaDescription:this.getSchemaDescription(n.schema),autoGeneratedExample:this.convertExampleToJson(m)})):this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),"Auto-generation failed (schema too complex or circular references)",{schemaDescription:this.getSchemaDescription(n.schema)})}else for(let{name:m,value:f}of n.examples){let h=this.exampleTypeFactory.buildExample({skipReadonly:!1,schema:n.schema,exampleId:m,example:f,options:{maxDepth:this.context.options.exampleGeneration?.response?.["max-depth"]??3,isParameter:!1,ignoreOptionals:!1}});h!=null?t.response?.type==="json"?o.push([m,BK.withoutStreaming(h)]):(t.response?.type==="streamingJson"||t.response?.type==="streamingSse")&&o.push([void 0,BK.withStreaming({sse:t.response?.type==="streamingSse",events:[h]})]):this.addMissingExampleRecord(t,"response",this.getSchemaTypeName(n.schema),`Failed to build example from provided data (example id: ${m})`,{schemaDescription:this.getSchemaDescription(n.schema)})}if(p&&o.length===0)return this.logger.trace(`Failed to generate required response example for ${t.method.toUpperCase()} ${t.path}`),[]}let s=[];for(let p of t.pathParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for path parameter ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&s.push({name:p.name,parameterNameOverride:p.parameterNameOverride,value:f})}let a=[];for(let p of t.queryParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for query parameter ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&a.push({name:p.name,value:f})}let c=[];for(let p of t.headers){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:void 0,options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});if(f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for header ${p.name} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),m&&f==null)return[];f!=null&&c.push({name:p.name,value:f})}for(let p of this.globalHeaders){let m=p.schema!=null?wce(p.schema):Dn.primitive({nameOverride:void 0,generatedName:"",title:void 0,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,schema:Zo.string({default:void 0,pattern:void 0,maxLength:void 0,minLength:void 0,example:void 0,format:void 0})}),f=this.exampleTypeFactory.buildExample({schema:m,exampleId:void 0,example:void 0,options:{name:p.header,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(this.logger.debug(`Expected a primitive example but got ${f.type} for global header ${p.header} for ${t.method.toUpperCase()} ${t.path}`),f=void 0),f!=null&&c.push({name:p.header,value:f})}let u=[];t.request!=null&&t.response!=null?u=SXy(i,o):t.request!=null?u=i.map(([p,m])=>({id:p,request:m,response:void 0})):t.response!=null&&(u=o.map(([p,m])=>({id:p,request:void 0,response:m})));let l=t.examples.filter(p=>hPr(p)).flatMap(p=>{if(p.type==="unknown"){if(p.value!=null){let m=p.value["code-samples"];if(m!=null)return this.convertCodeSamples(m)}return}else return p.codeSamples}).filter(p=>Yc(p));return u.length===0?[jK.full({name:void 0,description:void 0,pathParameters:s,queryParameters:a,headers:c,request:void 0,response:void 0,codeSamples:l})]:u.map(({id:p,request:m,response:f})=>jK.full({name:p,description:void 0,pathParameters:s,queryParameters:a,headers:c,request:m,response:f,codeSamples:l}))}convertCodeSamples(t){return t.map(r=>"language"in r?ube.language({name:r.name??void 0,description:r.docs??void 0,language:r.language,code:r.code,install:r.install??void 0}):ube.sdk({name:r.name??void 0,description:r.docs??void 0,sdk:r.sdk==="c#"?HD.Csharp:r.sdk,code:r.code})).filter(Yc)}isSchemaRequired(t){return yvn(this.getResolvedSchema(t))}getResolvedSchema(t){return t}};function SXy(e,t){let r=[];if(e.length<=1){let[i,o]=e[0]??[];if(t.length===0)return r.push({id:i,request:o,response:void 0}),r;for(let[s,a]of t)r.push({id:s??i,request:o,response:a});return r}if(t.length<=1){let[i,o]=t[0]??[];if(t.length===0)return r.push({id:i,request:void 0,response:o}),r;for(let[s,a]of e)r.push({id:s??i,request:a,response:o});return r}let n=new Set;for(let[i,o]of e){let s=t.find(([c])=>c==null)?.[1]??t[0]?.[1];if(i==null){if(s==null)continue;r.push({id:void 0,request:o,response:s});continue}let a=!1;for(let c=0;c<t.length;c++){let[u,l]=t[c];u==null||n.has(c)||i===u&&(r.push({id:i,request:o,response:l}),u!=null&&n.add(c),a=!0)}!a&&s!=null&&r.push({id:i,request:o,response:s})}for(let i=0;i<t.length;i++){if(n.has(i))continue;let[o,s]=t[i],a=e.find(([c])=>c==null)?.[1]??e[0]?.[1];a!=null&&r.push({id:o,request:a,response:s})}return r}function jXy(e){if(e!=null)return e.type==="multipart"?{type:"present",schema:TXy(e),examples:[]}:e.type==="json"||e.type==="formUrlEncoded"?{type:"present",schema:e.schema,examples:e.fullExamples??[]}:{type:"unsupported"}}function BXy(e){if(e!=null)return e.type!=="json"&&e.type!=="streamingJson"&&e.type!=="streamingSse"?{type:"unsupported"}:{type:"present",schema:e.schema,examples:e.fullExamples??[]}}function xce(e){switch(e.type){case"primitive":case"enum":case"literal":return!0;case"unknown":return xce(e);case"array":case"object":case"map":return!1;case"oneOf":switch(e.value.type){case"discriminated":return!1;case"undiscriminated":return xce(e.value.value);default:return!1}case"null":return!0;default:Ve(e)}}function TXy(e){return Dn.object({properties:e.properties.map(t=>t.schema.type==="file"?null:{key:t.key,schema:wce(t.schema.value),audiences:[],conflict:{},generatedName:t.key,nameOverride:void 0,availability:void 0,readonly:void 0,writeonly:void 0,inline:void 0}).filter(Yc),allOf:[],allOfPropertyConflicts:[],fullExamples:void 0,description:e.description,nameOverride:void 0,generatedName:"",title:void 0,namespace:void 0,groupName:void 0,additionalProperties:!1,availability:void 0,source:e.source,inline:void 0,minProperties:void 0,maxProperties:void 0})}var $Qt=class{exampleTypeFactory;schemas;constructor(t,r){this.exampleTypeFactory=new Q6e(t,new Set,r),this.schemas=t}buildWebsocketSessionExamplesForExtension({context:t,extensionExamples:r,handshake:n,source:i,namespace:o}){let s=[];for(let a of r){let c=[];for(let p of n.queryParameters){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:a.queryParameters?.[p.name],options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(f=void 0),!(m&&f==null)&&f!=null&&c.push({name:p.name,value:f})}let u=[];for(let p of n.headers){let m=this.isSchemaRequired(p.schema),f=this.exampleTypeFactory.buildExample({schema:p.schema,exampleId:void 0,example:a.headers?.[p.name],options:{name:p.name,isParameter:!0,ignoreOptionals:!0}});f!=null&&!xce(f)&&(f=void 0),!(m&&f==null)&&f!=null&&u.push({name:p.name,value:f})}let l=[];for(let p of a.messages){let m=t.getExampleMessageReference(p),f=t.resolveMessageReference({$ref:m}),h=yo(f.payload)?t.resolveSchemaReference(f.payload):f.payload,y=this.exampleTypeFactory.buildExample({schema:Nl(h,!1,!1,t,[p.messageId],i,o),exampleId:void 0,example:p.value,options:{isParameter:!1,ignoreOptionals:!0}});y!=null&&l.push({messageType:p.type,payload:y,description:void 0})}s.push({name:a.summary,queryParameters:c,headers:u,description:a.description,messages:l})}return s}buildWebsocketSessionExample({handshake:t,messages:r}){let n={name:void 0,queryParameters:[],headers:[],description:void 0,messages:[]},i=[];for(let s of t.queryParameters){let a=this.isSchemaRequired(s.schema),c=this.exampleTypeFactory.buildExample({schema:s.schema,exampleId:void 0,example:void 0,options:{name:s.name,isParameter:!0,ignoreOptionals:!0}});if(c!=null&&!xce(c)&&(c=void 0),a&&c==null)return;c!=null&&i.push({name:s.name,value:c})}let o=[];for(let s of t.headers){let a=this.isSchemaRequired(s.schema),c=this.exampleTypeFactory.buildExample({schema:s.schema,exampleId:void 0,example:void 0,options:{name:s.name,isParameter:!0,ignoreOptionals:!0}});if(c!=null&&!xce(c)&&(c=void 0),a&&c==null)return;c!=null&&o.push({name:s.name,value:c})}for(let s of r){let a=this.exampleTypeFactory.buildExample({schema:s.payload,exampleId:void 0,example:void 0,options:{isParameter:!1,ignoreOptionals:!0}});a!=null&&n.messages.push({messageType:s.type,payload:a,description:void 0})}return n}isSchemaRequired(t){return yvn(this.getResolvedSchema(t))}getResolvedSchema(t){for(;t.type==="reference";){let r=this.schemas[t.schema];if(r==null)throw new Error(`Unexpected error: Failed to resolve schema reference: ${t.schema}`);t=r}return t}};var Vk={FERN_PARAMETER_OPTIONAL:"x-fern-optional",FERN_CHANNEL_ADDRESS:"x-fern-address",FERN_DISPLAY_NAME:"x-fern-display-name",FERN_SDK_GROUP_NAME:"x-fern-sdk-group-name",FERN_SDK_METHOD_NAME:"x-fern-sdk-method-name",FERN_EXAMPLES:"x-fern-examples",BASE_PATH:"x-fern-base-path",FERN_ENUM:"x-fern-enum",IGNORE:"x-fern-ignore",FERN_PARAMETER_NAME:"x-fern-parameter-name"};function Avn(e){return Xn(e,Vk.FERN_EXAMPLES)??[]}function bvn(e,t){return t.includes("://")?t:`${e}://${t}`}function _vn(e){return e.startsWith("/")?e:"/"+e}function bzu({context:e,breadcrumbs:t,source:r,asyncApiOptions:n,document:i}){let o={},s={};for(let[u,l]of Object.entries(i.components?.schemas??{})){let p=Nl(l,!1,!1,e,[u],r,e.namespace);o[u]=p}let a=new $Qt(o,e),c={};for(let[u,l]of Object.entries(i.servers??{}))c[u]={name:u,url:bvn(l.protocol,l.url)};for(let[u,l]of Object.entries(i.channels??{})){let p=Xn(l,Vk.IGNORE);if(p!=null&&p){e.logger.debug(`Channel ${u} is marked with x-fern-ignore. Skipping.`);continue}let m=[];if(l.parameters!=null)for(let[A,b]of Object.entries(l.parameters??{})){let v=Xn(b,Vk.FERN_PARAMETER_NAME);m.push({name:A,description:b.description,parameterNameOverride:v,schema:b.schema!=null?Nl(b.schema,!1,!1,e,t,r,e.namespace):Dn.primitive({schema:Zo.string({default:void 0,pattern:void 0,format:void 0,maxLength:void 0,minLength:void 0,example:void 0}),description:void 0,availability:void 0,generatedName:"",title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}),variableReference:void 0,availability:_2(b),source:r,explode:void 0})}let f=[],h=[];if(l.bindings?.ws!=null){if(l.bindings.ws.headers!=null){let A=l.bindings.ws.headers.required??[];for(let[b,v]of Object.entries(l.bindings.ws.headers.properties??{})){if(yo(v)){let P=e.resolveSchemaReference(v),x=A.includes(b),[I,F]=e.options.coerceOptionalSchemasToNullable?[!1,!x]:[!x,!1];f.push({name:b,schema:a2e(v,I,F,e,t,void 0,r,e.namespace),description:P.description,parameterNameOverride:void 0,env:void 0,availability:_2(P),source:r});continue}let _=A.includes(b),[E,O]=e.options.coerceOptionalSchemasToNullable?[!1,!_]:[!_,!1];f.push({name:b,schema:Nl(v,E,O,e,[...t,b],r,e.namespace),description:v.description,parameterNameOverride:void 0,env:void 0,availability:_2(v),source:r})}}if(l.bindings.ws.query!=null){let A=l.bindings.ws.query.required??[];for(let[b,v]of Object.entries(l.bindings.ws.query.properties??{})){if(yo(v)){let P=e.resolveSchemaReference(v),x=A.includes(b),[I,F]=e.options.coerceOptionalSchemasToNullable?[!1,!x]:[!x,!1];h.push({name:b,schema:a2e(v,I,F,e,t,void 0,r,e.namespace),description:P.description,parameterNameOverride:void 0,availability:_2(P),source:r,explode:void 0});continue}let _=A.includes(b),[E,O]=e.options.coerceOptionalSchemasToNullable?[!1,!_]:[!_,!1];h.push({name:b,schema:Nl(v,E,O,e,[...t,b],r,e.namespace),description:v.description,parameterNameOverride:void 0,availability:_2(v),source:r,explode:void 0})}}}let y;l.publish!=null&&("oneOf"in l.publish.message?y=gzu({generatedName:l.publish.operationId??"PublishEvent",event:l.publish,breadcrumbs:t,context:e,source:r,options:e.options,asyncApiOptions:n}):y=Azu({action:"Publish",channelPath:u,message:l.publish.message,context:e,source:r}));let g;if(l.subscribe!=null&&("oneOf"in l.subscribe.message?g=gzu({generatedName:l.subscribe.operationId??"SubscribeEvent",event:l.subscribe,breadcrumbs:t,context:e,source:r,options:e.options,asyncApiOptions:n}):g=Azu({action:"Subscribe",channelPath:u,message:l.subscribe.message,context:e,source:r})),f.length>0||h.length>0||y!=null||g!=null){let A=Avn(l),b=[];if(A.length>0)b=a.buildWebsocketSessionExamplesForExtension({context:e,extensionExamples:A,handshake:{headers:f,queryParameters:h},source:r,namespace:e.namespace});else{let O=[];y!=null&&O.push({type:"publish",payload:y}),g!=null&&O.push({type:"subscribe",payload:g});let P=a.buildWebsocketSessionExample({handshake:{headers:f,queryParameters:h},messages:O});P!=null&&b.push(P)}let v=Xn(l,Vk.FERN_CHANNEL_ADDRESS),_=v??_vn(u),E=[];y!=null&&E.push({origin:"client",name:"publish",body:tb(y),methodName:void 0}),g!=null&&E.push({origin:"server",name:"subscribe",body:tb(g),methodName:void 0}),s[u]={audiences:Xn(l,wi.AUDIENCES)??[],handshake:{headers:f.map(O=>({...O,schema:tb(O.schema),env:O.env})),queryParameters:h.map(O=>({...O,schema:tb(O.schema)})),pathParameters:m.map(O=>({...O,schema:tb(O.schema)}))},groupName:e.resolveGroupName([Xn(l,Vk.FERN_SDK_GROUP_NAME)??u]),messages:E,servers:(l.servers?.map(O=>c[O])??Object.values(c)).filter(O=>O!=null&&O.name!=null).map(O=>({...O,name:O.name})),summary:Xn(l,Vk.FERN_DISPLAY_NAME),path:_,description:l.description,examples:b,source:r}}}return{groupedSchemas:GQt(e.namespace,o),channels:s??void 0,servers:Object.values(c).map(u=>({...u,name:u.name})),basePath:Xn(i,Vk.BASE_PATH)}}function gzu({generatedName:e,event:t,context:r,breadcrumbs:n,source:i,options:o,asyncApiOptions:s}){if("oneOf"in t.message&&t.message.oneOf!=null){let a=[],c=[];for(let u of t.message.oneOf){let l,p={type:"notFound"};if(yo(u)){let m=r.resolveMessageReference(u);!yo(m.payload)&&s.naming==="v2"?(p=m.name?{type:"name",name:m.name}:p,l={...m.payload,title:m.name??m.payload.title,description:m.name??m.payload.description}):l=m.payload}else l=u;c.push(p),a.push(l)}return k6e({description:t.description??t.message.description,availability:_2(t.message),subtypes:a,nameOverride:t.operationId,generatedName:e,title:t.message.title,groupName:void 0,wrapAsOptional:!1,wrapAsNullable:!1,breadcrumbs:n,context:r,encoding:void 0,source:i,namespace:r.namespace,subtypeSuffixOverrides:s.naming==="v2"?c:[]})}}function Azu({action:e,channelPath:t,message:r,context:n,source:i}){if(r.payload!=null){let o=r.payload;return yo(r.payload)&&(o=n.resolveSchemaReference(r.payload)),Nl(o,!1,!1,n,[t,e],i,n.namespace)}}var vvn=class extends WQt{getExampleMessageReference(t){let r=t.channelId??this.getDefaultChannelId();if(r==null)throw new Error("Cannot resolve example message reference: no channelId provided and no channels found in document");return`#/channels/${r}/messages/${t.messageId}`}getDefaultChannelId(){return Object.keys(this.document.channels??{})[0]}resolveParameterReference(t){let r="#/components/parameters/";if(this.document.components==null||this.document.components.parameters==null||!t.$ref.startsWith(r))throw new Error(`Failed to resolve ${t.$ref}`);let n=t.$ref.substring(r.length),i=this.document.components.parameters[n];if(i==null)throw new Error(`${t.$ref} is undefined`);return"$ref"in i?this.resolveParameterReference(i):i}resolveMessageReference(t,r=!1){let n="#/channels/",i="#/components/messages/";if(t==null)throw new Error("Cannot resolve message reference: message is null or undefined");if(!t.$ref)throw new Error("Cannot resolve message reference: message.$ref is undefined or empty");if(t.$ref.startsWith(n)){let c=t.$ref.split("/"),u=c[2],l=c[4],p=u?.replace(/~1/g,"/").replace(/~0/g,"~");if(p==null||l==null||!this.document.channels?.[p])throw new Error(`Failed to resolve message reference ${t.$ref} in channel ${p}`);let f=this.document.channels[p].messages?.[l];if(f==null)throw new Error(`${t.$ref} is undefined`);return"$ref"in f&&!r?this.resolveMessageReference(f):{...f,name:l}}let o=this.document.components;if(!t.$ref.startsWith(i)||!o?.messages)throw new Error(`Failed to resolve message reference: ${t.$ref} in v3 components`);let s=t.$ref.substring(i.length),a=o.messages[s];if(a==null)throw new Error(`${t.$ref} is undefined`);return{...a,name:s}}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}};var _zu="#/channels/",vzu="#/servers/",t1s="$message.";function Ozu({context:e,breadcrumbs:t,source:r,asyncApiOptions:n,document:i}){dvn();let o={},s={},a={},c=[],u={};e.logger.debug("Parsing V3 AsyncAPI...");let l=gbe();for(let[P,x]of Object.entries(i.components?.schemas??{})){let I=l.getUniqueSchemaId(P,e.logger,e.options.resolveSchemaCollisions);o[I]=Nl(x,!1,!1,e,[I],r,e.namespace)}for(let[P,x]of Object.entries(i.channels??{}))if(s[P]||(s[P]={}),x.messages)for(let[I,F]of Object.entries(x.messages))if(a[I]||(a[I]=[]),e.isReferenceObject(F)){let q=e.resolveMessageReference(F);a[I].push({channelId:P,payload:q.payload})}else e.isMessageWithPayload(F)&&a[I].push({channelId:P,payload:F.payload});for(let[P,x]of Object.entries(a))if(x.length===1){let I=x[0],F=I.channelId;s[F]=s[F]||{},s[F][P]=Nl(I.payload,!1,!1,e,[P],r,e.namespace)}else{c.push(P);for(let{channelId:I,payload:F}of x){let q=`${I}_${P}`;s[I]||(s[I]={}),s[I][q]=Nl(F,!1,!1,e,[q],r,e.namespace)}}let p={},m=gbe();for(let[P,x]of Object.entries(s))for(let[I,F]of Object.entries(x)){let q=m.getUniqueSchemaId(I,e.logger,e.options.resolveSchemaCollisions);p[q]=F}let f=new $Qt({...o,...p},e),h={};for(let[P,x]of Object.entries(i.servers??{}))h[P]={name:P,url:bvn(x.protocol,x.host)};let y={},g=Object.keys(i.channels??{});for(let[P,x]of Object.entries(i.operations??{})){if(Xn(x,Vk.IGNORE))continue;let I;if(x.channel==null||!("$ref"in x.channel)||x.channel.$ref==null)if(g.length===1&&g[0]!=null)I=g[0];else continue;else I=RXy(x);y[I]||(y[I]={subscribe:[],publish:[],__parsedMessages:[]});let F=Xn(x,Vk.FERN_SDK_METHOD_NAME);if(!x.messages||!Array.isArray(x.messages))continue;let q=x.messages.filter(G=>G!=null&&G.$ref!=null).map(G=>({ref:G,methodName:F})),W=y[I];if(W==null)throw new Error(`Internal error: channelEvents["${I}"] is unexpectedly undefined for operation ${P}`);if(x.action==="receive")W.subscribe.push(...q);else if(x.action==="send")W.publish.push(...q);else throw new Error(`Operation ${P} has an invalid action: ${x.action}`)}for(let[P,x]of Object.entries(y)){let I=[];I.push(...Ezu({messages:x.subscribe,channelPath:P,origin:"server",messageSchemas:s[P]??{},duplicatedMessageIds:c,context:e})),I.push(...Ezu({messages:x.publish,channelPath:P,origin:"client",messageSchemas:s[P]??{},duplicatedMessageIds:c,context:e})),y[P]!=null&&(y[P].__parsedMessages=I)}for(let[P,x]of Object.entries(i.channels??{})){if(Xn(x,Vk.IGNORE))continue;let I=[],F=[],q=[];if(x.parameters!=null)for(let[W,G]of Object.entries(x.parameters)){let re=e.isReferenceObject(G)?e.resolveParameterReference(G):G,{type:oe,parameterKey:H}=re.location!=null?FXy(re.location):{type:x.address?.includes(`={${W}}`)?"query":"path",parameterKey:W},ee=Xn(re,Vk.FERN_PARAMETER_OPTIONAL),Ge=gd(eo(P))+gd(eo(W)),Je={...re,type:"string",title:Ge,example:re.examples?.[0],default:re.default,enum:re.enum,required:void 0},J=Nl(Je,!1,!1,e,[H],r,e.namespace);ee&&(J=Dn.optional({value:J,description:void 0,availability:void 0,generatedName:"",title:Ge,namespace:void 0,groupName:void 0,nameOverride:void 0,inline:void 0}));let K={name:H,description:re.description,parameterNameOverride:void 0,schema:J,variableReference:void 0,availability:_2(G),source:r,explode:void 0};oe==="header"?I.push({...K,env:void 0}):oe==="path"?F.push(K):(oe==="payload"||oe==="query")&&q.push(K)}if(I.length>0||q.length>0||y[P]!=null&&(y[P].publish!=null||y[P].subscribe!=null)){let W=Avn(x),G=y[P]?.__parsedMessages??[],re=[];try{if(W.length>0)re=f.buildWebsocketSessionExamplesForExtension({context:e,extensionExamples:W,handshake:{headers:I,queryParameters:q},source:r,namespace:e.namespace});else{let Ge=[],{examplePublishMessage:Je,exampleSubscribeMessage:J}=kXy({messages:G,messageSchemas:s[P]??{}});Je!=null&&Ge.push(Je),J!=null&&Ge.push(J);let K=f.buildWebsocketSessionExample({handshake:{headers:I,queryParameters:q},messages:Ge});K!=null&&re.push(K)}}catch(Ge){e.logger.warn(`Failed to build examples for channel ${P}: ${Ge instanceof Error?Ge.message:String(Ge)}`)}let oe=Xn(x,Vk.FERN_SDK_GROUP_NAME),H=(x.servers?.map(Ge=>NXy(h,Ge))??Object.values(h)).map(Ge=>({...Ge,name:Ge.name})),ee=x.address?.split("?")[0]??_vn(P);u[P]={audiences:Xn(x,wi.AUDIENCES)??[],handshake:{headers:I.map(Ge=>({...Ge,schema:tb(Ge.schema),env:Ge.env})),queryParameters:q.map(Ge=>({...Ge,schema:tb(Ge.schema)})),pathParameters:F.map(Ge=>({...Ge,parameterNameOverride:void 0,schema:tb(Ge.schema)}))},groupName:e.resolveGroupName(typeof oe=="string"?[oe]:oe??[P]),messages:G,summary:Xn(x,Vk.FERN_DISPLAY_NAME),servers:H,path:ee,description:x.description,examples:re,source:r}}else e.logger.warn(`Skipping AsyncAPI channel ${P} as it does not qualify for inclusion (no headers, query params, or operations)`)}let A={...o,...p},b={},v=gbe();for(let[P,x]of Object.entries(A)){let I=v.getUniqueSchemaId(P,e.logger,e.options.resolveSchemaCollisions);b[I]=tb(x)}let _=GQt(e.namespace,o),E=Object.values(h).map(P=>({...P,name:P.name})),O=Xn(i,Vk.BASE_PATH);return{groupedSchemas:_,channels:u,servers:E,basePath:O}}function DXy(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function RXy(e){if(!e.channel)throw new Error("Operation is missing required 'channel' field");if(!e.channel.$ref)throw new Error("Operation channel is missing required '$ref' field");if(!e.channel.$ref.startsWith(_zu))throw new Error(`Failed to resolve channel path from operation ${e.channel.$ref}`);return DXy(e.channel.$ref.substring(_zu.length))}function FXy(e){try{let[t,r]=e.split("#/");if(t==null||r==null)throw new Error(`Invalid location format: ${e}; unable to parse message type and parameter key`);if(!t.startsWith(t1s))throw new Error(`Invalid location format: ${e}; expected ${t1s} prefix`);let n=t.substring(t1s.length);if(n!=="header"&&n!=="path"&&n!=="payload")throw new Error(`Invalid message type: ${n}. Must be one of: header, path, payload`);return{type:n,parameterKey:r}}catch{throw new Error(`Invalid location format: ${e}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`)}}function NXy(e,t){if(!t.$ref.startsWith(vzu))throw new Error(`Failed to resolve server name from server ref ${t.$ref}`);let r=t.$ref.substring(vzu.length),n=e[r];if(n==null)throw new Error(`Failed to find server with name ${r}`);return n}function Ezu({messages:e,channelPath:t,origin:r,messageSchemas:n,duplicatedMessageIds:i,context:o}){let s=[];return e.forEach((a,c)=>{try{let l=o.resolveMessageReference(a.ref,!0).name;i.includes(l)&&(l=`${t}_${l}`);let p=n[l];p!=null&&s.push({origin:r,name:l??`${r}Message${c+1}`,body:tb(p),methodName:a.methodName})}catch(u){o.logger.warn(`Skipping message reference ${a.ref.$ref} in channel ${t}: ${u instanceof Error?u.message:String(u)}`)}}),s}function kXy({messages:e,messageSchemas:t}){let r=e.find(s=>s.origin==="client")?.name,n=e.find(s=>s.origin==="server")?.name,i=r!=null?t[r]:void 0,o=n!=null?t[n]:void 0;return{examplePublishMessage:i!=null&&r!=null?{type:r,payload:i}:void 0,exampleSubscribeMessage:o!=null&&n!=null?{type:n,payload:o}:void 0}}function wzu({document:e,taskContext:t,options:r,source:n,asyncApiOptions:i,namespace:o}){let s=[];if(o!=null&&s.push(o),parseFloat(e.asyncapi)<3){let a=e;a.tags?.[0]!=null?s.push(a.tags[0].name):i.naming!=="v2"&&s.push("websocket");let c=new hvn({document:a,taskContext:t,options:r,namespace:o});return bzu({context:c,breadcrumbs:s,source:n,asyncApiOptions:i,document:a})}else{let a=e,c=new vvn({document:a,taskContext:t,options:r,namespace:o});return Ozu({context:c,breadcrumbs:s,source:n,asyncApiOptions:i,document:a})}}function xzu(e){return Xn(e,wi.ASYNC_CONFIG)}var Pzu="$request.";function Izu(e){let t=Xn(e,wi.STREAMING);if(t!=null)return typeof t=="boolean"?t?{type:"stream",format:"json",terminator:void 0}:void 0:t["stream-condition"]==null&&t.format!=null?{type:"stream",format:t.format,terminator:t.terminator}:{type:"streamCondition",format:t.format??"json",terminator:t.terminator,streamDescription:t["stream-description"],streamConditionProperty:zXy(t["stream-condition"]),responseStream:t["response-stream"],response:t.response}}function zXy(e){return e.startsWith(Pzu)?e.slice(Pzu.length):e}function Czu(e){let t=e;if(t.cursor!=null)return l1.cursor({cursor:t.cursor,nextCursor:t.next_cursor,results:t.results});let r=e;if("next_uri"in r)return l1.uri({nextUri:r.next_uri,results:r.results});let n=e;if("next_path"in n)return l1.path({nextPath:n.next_path,results:n.results});if("offset"in e){let i=e;return l1.offset({offset:i.offset,results:i.results,step:i.step,hasNextPage:i["has-next-page"]})}if("type"in e&&e.type==="custom"){let i=e;return l1.custom({results:i.results})}throw new Error("Invalid pagination extension")}function Szu(e,t){let r=Xn(t,wi.PAGINATION);if(r!=null){if(typeof r=="boolean"){let n=Xn(e,wi.PAGINATION);if(typeof n=="boolean")throw new Error("Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.");return n==null?void 0:Czu(n)}return Czu(r)}}function jzu(e,t){for(let r of Object.keys(e))if(r.includes("text/event-stream")){let n=e[r];if(n==null)continue;let i=n,o=n.schema??i.itemSchema;return{contentType:r,schema:o??{},examples:KQt(n,t)}}}function Bzu(e){for(let t of Object.keys(e))if(t.includes("text/event-stream")){let r=e[t];if(r==null)continue;if(r.itemSchema!=null)return!0}return!1}function QXy(e){return e.includes("json")||e==="*/*"}function r1s({content:e,context:t}){for(let[r,n]of Object.entries(e))if(Evn({mediaType:r,mediaTypeObject:n,context:t})!=null)return[r,n]}function Evn({mediaType:e,mediaTypeObject:t,context:r}){if(!QXy(e))return;let n=t.schema;return{contentType:e.includes("*")?void 0:e,schema:n??{},examples:KQt(t,r)}}function Ovn({content:e,context:t}){let r=r1s({content:e,context:t});if(!r)return;let[n,i]=r;return Evn({mediaType:n,mediaTypeObject:i,context:t})}function Tzu(e,t){for(let r of Object.keys(e)){let n=e[r];if(n==null)continue;return{schema:n.schema??{},examples:KQt(n,t)}}}function KQt(e,t){let r=[];e.example!=null&&r.push({name:void 0,value:e.example,description:void 0});let n=Xn(e,Mk.EXAMPLES);return n!=null&&Object.keys(n).length>0&&r.push(...Object.entries(n).map(([i,o])=>({name:o.summary??i,value:o.value,description:o.description}))),e.examples!=null&&Object.keys(e.examples).length>0&&r.push(...Object.entries(e.examples).map(([i,o])=>{let s=yo(o)?t.resolveExampleReference(o):o;return{name:s.summary??i,value:s.value,description:s.description}})),r}function Dzu(e){let t=MXy(e),r={};return n1s({obj:t,occurrences:r,breadcrumbs:[]}),r}function n1s({obj:e,occurrences:t,breadcrumbs:r}){if(e!=null){if(Array.isArray(e)){for(let n of e)n1s({obj:n,occurrences:t,breadcrumbs:r});return}if(typeof e=="object"){if(e.$ref!=null&&typeof e.$ref=="string"){let n=e.$ref;t[n]==null?t[n]=1:t[n]+=1;return}for(let n in e)n1s({obj:e[n],occurrences:t,breadcrumbs:[...r,n]})}}}function MXy(e){return{...e,paths:Object.fromEntries(Object.entries(e.paths??{}).map(([t,r])=>[t,{...r,get:r?.get!=null?yPr(r.get):void 0,put:r?.put!=null?yPr(r.put):void 0,post:r?.post!=null?yPr(r.post):void 0,patch:r?.patch!=null?yPr(r.patch):void 0,delete:r?.delete!=null?yPr(r.delete):void 0}]))}}function yPr(e){return{...e,requestBody:e.requestBody!=null?yo(e.requestBody)?e.requestBody:VXy(e.requestBody):void 0}}function VXy(e){let t,r;for(let n in e.content){let i=GA.parse(n);i!=null&&(i.isJSON()?t=e.content[n]:i.isMultipart()&&(r=e.content[n]))}return r!=null&&t!=null?{...e,content:{[GA.MULTIPART_FORM_DATA]:r}}:e}var wvn=class{endpoints;parser=new kze;constructor({context:t,options:r}){this.endpoints=r.filter?.endpoints?new Set(this.validateAndFilterEndpoints({context:t,endpoints:r.filter.endpoints})):void 0}skipEndpoint({method:t,path:r}){return this.endpoints!=null&&!this.endpoints.has(`${t} ${r}`)}hasEndpoints(){return this.endpoints!=null}validateAndFilterEndpoints({context:t,endpoints:r}){let n=[];for(let i of r){let o=this.parser.tryParse(i);if(o==null){t.logger.debug(`Ignoring configured filter endpoint "${i}"; expected format "POST /users/get"`);continue}n.push(`${o.method} ${o.path}`)}return n}};var Rzu="#/components/parameters/",Fzu="#/components/responses/",Nzu="#/components/examples/",kzu="#/components/requestBodies/",zzu="#/components/securitySchemes/",JQt=class{logger;document;taskContext;authHeaders;refOccurrences;DUMMY;options;source;filter;namespace;schemaNamespaceMapping;constructor({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s}){this.document=t,this.logger=r.logger,this.taskContext=r,this.authHeaders=n,this.refOccurrences=Dzu(t),this.options=i,this.source=o,this.filter=new wvn({context:r,options:i}),this.DUMMY=this.getDummy(),this.namespace=s,this.schemaNamespaceMapping=this.buildSchemaNamespaceMapping()}getNumberOfOccurrencesForRef(t){return this.refOccurrences[t.$ref]??0}resolveTagsToTagIds(t){let r=[];return this.namespace!=null&&r.push(this.namespace),r.concat(t??[])}resolveTags(t){let r=[];if(this.namespace!=null){let n={type:"namespace",name:this.namespace};r.push(n)}return r.concat(t??[])}resolveGroupName(t){return this.namespace!=null?[{type:"namespace",name:this.namespace},...t]:t}resolveSchemaReference(t){let r=t.$ref.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return{"x-fern-type":"unknown"};if(Array.isArray(n)){let o=parseInt(i,10);if(isNaN(o)||o<0||o>=n.length)return{"x-fern-type":"unknown"};n=n[o]}else n=n[i]}return n==null?(this.logger.debug(`Encountered undefined reference: ${t.$ref}`),{"x-fern-type":"unknown"}):(yo(n)&&(n=this.resolveSchemaReference(n)),n)}resolveParameterReference(t){if(this.document.components==null||this.document.components.parameters==null||!t.$ref.startsWith(Rzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Rzu.length),n=this.document.components.parameters[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveParameterReference(n):n}resolveRequestBodyReference(t){if(this.document.components==null||this.document.components.requestBodies==null||!t.$ref.startsWith(kzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(kzu.length),n=this.document.components.requestBodies[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveRequestBodyReference(n):n}resolveResponseReference(t){if(this.document.components==null||this.document.components.responses==null||!t.$ref.startsWith(Fzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Fzu.length),n=this.document.components.responses[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveResponseReference(n):n}resolveExampleReference(t){if(this.document.components==null||this.document.components.examples==null||!t.$ref.startsWith(Nzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(Nzu.length),n=this.document.components.examples[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveExampleReference(n):n}resolveSecuritySchemeReference(t){if(this.document.components==null||this.document.components.securitySchemes==null||!t.$ref.startsWith(zzu))throw new Error(`Failed to resolve ${t.$ref}`);let r=t.$ref.substring(zzu.length),n=this.document.components.securitySchemes[r];if(n==null)throw new Error(`${t.$ref} is undefined`);return yo(n)?this.resolveSecuritySchemeReference(n):n}referenceExists(t){let r=t.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return!1;n=n[i]}return!0}getNamespace(t){return this.schemaNamespaceMapping?.get(t)}buildSchemaNamespaceMapping(){let t=new Map;if(!this.document.components?.schemas)return t;for(let[r,n]of Object.entries(this.document.components.schemas))!n||yo(n)||t.set(r,Xn(n,wi.SDK_NAMESPACE)||this.namespace);return t}};var GAt=class extends JQt{constructor({document:t,taskContext:r,options:n,source:i,namespace:o}){super({document:t,taskContext:r,authHeaders:new Set,options:n,source:i,namespace:o})}getDummy(){return this}markSchemaAsReferencedByNonRequest(t){}markSchemaAsReferencedByRequest(t){}getReferencedSchemas(){return new Set}markReferencedByDiscriminatedUnion(t,r,n){}getReferencesFromDiscriminatedUnion(t){}excludeSchema(t){}isSchemaExcluded(t){return!1}markSchemaWithDiscriminantValue(t,r,n){}getDiscriminatedUnionMetadata(t){}};var xvn=require("fs"),Pvn=require("path");var UXy=$t.object({lang:$t.string(),label:$t.optional($t.string()),source:$t.string()}),i1s=$t.array(UXy);var Qzu={README_EXT:"x-readme"};function LXy(e){if(!Array.isArray(e))return!1;for(let t of e)if(!cl(t)||typeof t.language!="string"||typeof t.code!="string")return!1;return!0}function Mzu(e){let t=Xn(e,Qzu.README_EXT);if(!cl(t))return[];let r=t["code-samples"];if(!LXy(r))return[];let n=[];for(let i of r)n.push({name:i.name,language:i.language,code:i.code,install:i.install,docs:void 0});return n}function qXy(e){return cl(e)&&typeof e.$ref=="string"}function WXy(e,t){if(e!=null){if(typeof e=="string")return e;if(qXy(e)){let r=(0,Pvn.resolve)(t??process.cwd(),e.$ref);if((0,xvn.existsSync)(r))try{return(0,xvn.readFileSync)(r,"utf-8")}catch{return}}}}function GXy(e,t){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!cl(n))continue;let o=WXy(n.code,t);o!=null&&r.push({...n,code:o})}return r}function Vzu(e,t,r){let n=Xn(t,wi.EXAMPLES),i=r.source.type==="openapi"?(0,Pvn.dirname)(r.source.file):void 0,s=(n??[]).map(p=>{if(!cl(p))return p;let f=p["code-samples"];if(f!=null){let h=GXy(f,i);return{...p,"code-samples":h}}return p}).filter(p=>{let m=rP.serialization.ExampleEndpointCallSchema.parse(p);return m.ok||r.logger.error(`Failed to parse x-fern-example in ${e.path}/${e.method}`),m.ok}),a=lPr(t,Mk.REDOCLY_CODE_SAMPLES_KEBAB,i1s,r.logger,[...e.baseBreadcrumbs,`${e.method} ${e.path}`])??[],u=[...lPr(t,Mk.REDOCLY_CODE_SAMPLES_CAMEL,i1s,r.logger,[...e.baseBreadcrumbs,`${e.method} ${e.path}`])??[],...a];u.length>0&&s.push({"code-samples":u.map(p=>({name:p.label??p.lang,language:p.lang,code:p.source,install:void 0,docs:void 0}))});let l=Mzu(t);return l.length>0&&s.push({"code-samples":l}),s.map(jK.unknown)}function Uzu(e){let t=Xn(e,wi.AVAILABILITY);if(t==="ga"||t==="generally-available")return WD.GenerallyAvailable;if(t==="beta"||t==="pre-release")return WD.Beta;if(t==="deprecated")return WD.Deprecated;if(e.deprecated)return WD.Deprecated}function Lzu(e){let t=Xn(e,wi.RETRIES);if(t!=null&&t.disabled===!0)return cw.RetriesConfiguration.disabled(t.disabled)}var HXy="x-fern-default-url";function Ivn(e,t){let r=e.variables!=null&&Object.keys(e.variables).length>0,n=$Xy(e);return{url:JXy({url:e.url,variables:e.variables??{}}),description:e.description,name:YXy(e,t),audiences:Xn(e,wi.AUDIENCES),urlTemplate:r?e.url:void 0,variables:r&&e.variables!=null?KXy(e.variables):void 0,defaultUrl:r?n:void 0}}function $Xy(e){let t=e[HXy];if(typeof t=="string")return t.endsWith("/")&&t!=="/"?t.slice(0,-1):t}function KXy(e){return Object.entries(e).map(([t,r])=>({id:t,default:r.default,values:r.enum}))}function JXy({url:e,variables:t}){let r=Object.fromEntries(Object.entries(t).map(([n,i])=>[n,i.default]));for(let[n,i]of Object.entries(r))e=e.replace(`{${n}}`,encodeURIComponent(i));return e}function YXy(e,t){let r=Xn(e,[wi.SERVER_NAME_V1,wi.SERVER_NAME_V2]);if(r!=null)return r;if(e.description?.toLowerCase()==="production")return"Production";if(e.description?.toLowerCase()==="sandbox")return"Sandbox";if(t?.groupMultiApiEnvironments&&e.description!=null&&e.description.trim()!==""){let n=e.description.toLowerCase();return n==="prd"?"Production":n==="sbx"?"Sandbox":n==="staging"||n==="stg"?"Staging":n==="development"||n==="dev"?"Development":e.description}}function qzu(e){return Xn(e,wi.PARAMETER_NAME)}function Wzu(e){return Xn(e,wi.SDK_VARIABLE)}function Cvn({path:e,httpMethod:t,parameters:r,context:n,requestBreadcrumbs:i,source:o}){let s={pathParameters:[],queryParameters:[],headers:[]};for(let a of r){let c=yo(a)?n.resolveParameterReference(a):a,u=Xn(a,wi.IGNORE)??Xn(c,wi.IGNORE);if(u!=null&&u){n.logger.debug(`${t.toUpperCase()} ${e} has a parameter marked with x-fern-ignore. Skipping.`);continue}let l=c.required??!1,p=_2(c),m=[...i,c.name],f=PS(m,n.options.preserveSchemaIds),[h,y]=n.options.coerceOptionalSchemasToNullable?[!1,!l]:[!l,!1],g=c.schema!=null?Nl(c.schema,h,y,n,m,o,n.namespace,!1,new Set,Abe({schema:c,logger:n.logger})):l?Dn.primitive({nameOverride:void 0,generatedName:f,title:void 0,schema:Zo.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:Abe({schema:c,logger:n.logger})}),description:void 0,availability:p,namespace:void 0,groupName:void 0}):Dn.optional({nameOverride:void 0,generatedName:f,title:void 0,value:Dn.primitive({nameOverride:void 0,generatedName:f,title:void 0,schema:Zo.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:Abe({schema:c,logger:n.logger})}),description:void 0,availability:void 0,namespace:void 0,groupName:void 0}),description:void 0,availability:p,namespace:void 0,groupName:void 0,inline:void 0});if(c.in==="header"&&c.schema!=null&&!yo(c.schema)&&c.schema.default!=null){let b=c.schema.default;typeof b=="string"&&b.length>0&&(g=Dn.literal({nameOverride:void 0,generatedName:f,title:void 0,value:kw.string(b),description:void 0,availability:p,namespace:void 0,groupName:void 0}))}let A={name:c.name,schema:g,description:c.description,parameterNameOverride:qzu(c),availability:p,source:o};c.in==="query"?s.queryParameters.push({...A,explode:ZXy(c)}):c.in==="path"?s.pathParameters.push({...A,variableReference:Wzu(c),explode:eZy(c)}):c.in==="header"?!XXy.has(c.name.toLowerCase())&&!n.authHeaders.has(c.name)?s.headers.push({...A,env:void 0}):n.logger.debug(`Ignoring ${c.name} header, in ${t.toUpperCase()} ${e}`):n.logger.warn(`Skipping ${c.in} parameter, ${c.name}, in ${t.toUpperCase()} ${e}`)}return s}var XXy=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]);function ZXy(e){let t=e.style??"form",r=e.explode;if(r!==void 0)return t==="form"?r===!0?void 0:r:r===!1?void 0:r}function eZy(e){let t=e.explode;if(t!==void 0)return t===!1?void 0:t}function tZy({content:e,context:t}){for(let[r,n]of Object.entries(e))if(Hzu({mediaType:r,mediaTypeObject:n,context:t}))return[r,n]}function Hzu({mediaType:e,mediaTypeObject:t,context:r}){if(GA.parse(e)?.isURLEncoded())return{schema:t.schema,contentType:e,examples:KQt(t,r)}}function rZy({content:e,context:t}){for(let[r,n]of Object.entries(e))if($zu({mediaType:r,mediaTypeObject:n,context:t}))return[r,n]}function $zu({mediaType:e,mediaTypeObject:t,context:r}){if(GA.parse(e)?.isMultipart())return{schema:t.schema,encoding:t.encoding,examples:KQt(t,r)}}function Kzu({mediaType:e}){return GA.parse(e)?.isBinary()??!1}function nZy({content:e}){for(let[t,r]of Object.entries(e))if(Kzu({mediaType:t}))return[t,r]}function iZy(e,t){let r=yo(e)?o1s(e,t):{id:void 0,schema:e};return Object.entries(r.schema.properties??{}).find(([n,i])=>!yo(i)&&i.type==="string"&&i.format==="binary")!=null}function jvn({content:e,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}){let a=nZy({content:e});if(a){let[m,f]=a;return _be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s})}let c=rZy({content:e,context:n}),u=r1s({content:e,context:n}),l=oZy({json:u,multipart:c,document:r,visitor:{json:([m,f])=>_be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}),multipart:([m,f])=>_be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s}),neither:()=>{}}});if(l)return l;let p=tZy({content:e,context:n});if(p){let[m,f]=p;return _be({mediaType:m,mediaTypeObject:f,description:t,document:r,context:n,requestBreadcrumbs:i,source:o,namespace:s})}}function oZy({json:e,multipart:t,document:r,visitor:n}){if(!e&&!t)return n.neither();let[,i]=e??[void 0,void 0],[,o]=t??[void 0,void 0];return!i?.schema&&!o?.schema?n.neither():i?.schema&&o?.schema?i.schema&&iZy(i.schema,r)?n.multipart(t):n.json(e):i?.schema?n.json(e):o?.schema?n.multipart(t):n.neither()}function _be({mediaType:e,mediaTypeObject:t,description:r,document:n,context:i,requestBreadcrumbs:o,source:s,namespace:a}){let c=sZy({mediaTypeObject:t});if(Kzu({mediaType:e}))return _V.octetStream({description:r,source:s,sdkMethodName:c,contentType:e});let u=$zu({mediaType:e,mediaTypeObject:t,context:i}),l=u?.schema,p=u?.encoding,m=u?.examples;if(l){let y=yo(l)?o1s(l,n):{id:void 0,schema:l},g=Nl(y.schema,!1,!1,i,o,s,a,!1),A=[];if(g.type==="object"){let b=new Set(y.schema.required??[]);for(let v of g.properties){let _=b.has(v.key),{isFile:E,isOptional:O,isArray:P,description:x}=Svn({schema:v.schema,isOptional:!_});if(E){let I=Gzu(v.key,p);A.push({key:v.key,schema:lbe.file({isOptional:O,isArray:P,description:x}),description:x,contentType:I,exploded:!1,encoding:I==null?i.options.defaultFormParameterEncoding:void 0})}else{let I=Gzu(v.key,p);A.push({key:v.key,schema:lbe.json(v.schema),description:void 0,contentType:I,exploded:p?.[v.key]?.explode,encoding:I==null?i.options.defaultFormParameterEncoding:cZy(I)})}}}return _V.multipart({name:yo(l)&&i.getNumberOfOccurrencesForRef(l)===1?y.id:void 0,description:y.schema.description,properties:A,source:s,sdkMethodName:c,fullExamples:m})}let f=Evn({mediaType:e,mediaTypeObject:t,context:i});if(f){let y=Nl(f.schema,!1,!1,i,o,s,a,!0);return _V.json({description:void 0,schema:y,contentType:f.contentType,fullExamples:f.examples,additionalProperties:!yo(f.schema)&&fPr(f.schema.additionalProperties,i.options),source:s,sdkMethodName:c})}let h=Hzu({mediaType:e,mediaTypeObject:t,context:i});if(h!=null&&h.schema!=null){let y=Nl(h.schema,!1,!1,i,o,s,a,!1);return _V.formUrlEncoded({schema:y,description:r,contentType:h.contentType,source:s,fullExamples:h.examples,additionalProperties:!1,sdkMethodName:c})}}function sZy({mediaTypeObject:e}){return Xn(e,wi.SDK_METHOD_NAME)}var aZy={"application/json":"json"};function cZy(e){return e?aZy[e]:void 0}function o1s(e,t){if(!e.$ref.startsWith(qAt))throw new Error(`Failed to resolve schema reference because of unsupported prefix: ${e.$ref}`);let r=N6e(e);if(r==null)throw new Error(`Failed to resolve schema reference because missing schema id: ${e.$ref}`);let n=t.components?.schemas?.[r];if(n==null)throw new Error(`Failed to resolve schema reference because missing: ${e.$ref}`);return yo(n)?o1s(n,t):{id:r,schema:n}}function Svn({schema:e,isOptional:t,isArray:r,description:n}){return lZy(e)?Svn({schema:e.value,isOptional:!0,isArray:r,description:e.description}):pZy(e)?Svn({schema:e.value,isOptional:t,isArray:r,description:e.description}):fZy(e)?Svn({schema:e.value,isOptional:t,isArray:!0,description:e.description}):uZy(e)?{isFile:!0,isOptional:t??!1,isArray:r??!1,description:n??e.description}:{isFile:!1,isOptional:t??!1,isArray:r??!1,description:void 0}}function uZy(e){return e.type==="primitive"&&e.schema.type==="string"&&e.schema.format==="binary"}function lZy(e){return e.type==="optional"}function pZy(e){return e.type==="nullable"}function fZy(e){return e.type==="array"}function Gzu(e,t){return t?.[e]?.contentType}var s1s={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},Jzu=new Set(Object.values(s1s));var mZy=["200","201","202","204"];function Bvn({operationContext:e,responses:t,context:r,responseBreadcrumbs:n,responseStatusCode:i,streamFormat:o,streamTerminator:s,source:a}){if(t==null)return{value:void 0,errors:{}};let c=dZy({responses:t,context:r,source:a,namespace:r.namespace}),u=!1,l;for(let p of i!=null?[i]:mZy){let m=t[p];m!=null&&(u=!0,l==null&&(l=Yzu({operationContext:e,response:m,context:r,responseBreadcrumbs:n,streamFormat:o,streamTerminator:s,source:a,namespace:r.namespace,statusCode:typeof p=="string"?parseInt(p):p})))}if(l==null&&!u&&t.default!=null&&(l=Yzu({operationContext:e,response:t.default,context:r,responseBreadcrumbs:n,streamFormat:o,streamTerminator:s,source:a,namespace:r.namespace})),l!=null)switch(l.type){case"json":return{value:l,errors:c};case"streamingJson":case"streamingSse":return{value:l,errors:c};case"bytes":case"file":case"text":case"streamingText":return{value:l,errors:c};default:Ve(l)}return{value:void 0,errors:c}}function Yzu({operationContext:e,streamFormat:t,streamTerminator:r,response:n,context:i,responseBreadcrumbs:o,source:s,namespace:a,statusCode:c}){let u=yo(n)?i.resolveResponseReference(n):n;if(u.content!=null&&Object.entries(u.content).find(([f,h])=>{if(h.schema==null)return!1;let y=yo(h.schema)?i.resolveSchemaReference(h.schema):h.schema;return y.type==="string"&&y.format==="binary"}))return i.options.useBytesForBinaryResponse&&t==null?NO.bytes({description:u.description,source:s,statusCode:c}):NO.file({description:u.description,source:s,statusCode:c});let l=jzu(u.content??{},i);if(l!=null&&t!=null)switch(t){case"json":return NO.streamingJson({statusCode:c,description:u.description,responseProperty:Xn(e.operation,wi.RESPONSE_PROPERTY),terminator:r,fullExamples:l.examples,schema:Nl(l.schema,!1,!1,i,o,s,a),source:s});case"sse":return NO.streamingSse({description:u.description,responseProperty:void 0,terminator:r,fullExamples:l.examples,schema:Nl(l.schema,!1,!1,i,o,s,a),source:s,statusCode:c})}let p=Ovn({context:i,content:u.content??{}});if(p){if(t!=null)switch(t){case"json":return NO.streamingJson({description:u.description,responseProperty:void 0,terminator:r,fullExamples:p.examples,schema:Nl(p.schema,!1,!1,i,o,s,a),source:s,statusCode:c});case"sse":return NO.streamingSse({description:u.description,responseProperty:void 0,terminator:r,fullExamples:p.examples,schema:Nl(p.schema,!1,!1,i,o,s,a),source:s,statusCode:c})}return NO.json({description:u.description,schema:Nl(p.schema,!1,!1,i,o,s,a),responseProperty:Xn(e.operation,wi.RESPONSE_PROPERTY),terminator:void 0,fullExamples:p.examples,source:s,statusCode:c})}for(let[m,f]of Object.entries(u.content??{})){let h=GA.parse(m);if(h!=null){if(h.isOctetStream()||h.isPDF()||h.isAudio()||h.isImage()||h.isVideo()||h.isMultiPartMixed())return NO.file({description:u.description,source:s,statusCode:c});if(h.isPlainText()){let y=f.schema;if(y==null)return NO.text({description:u.description,source:s,statusCode:c});let g=yo(y)?i.resolveSchemaReference(y):y;return g.type==="string"&&g.format==="byte"?NO.file({description:u.description,source:s,statusCode:c}):NO.text({description:u.description,source:s,statusCode:c})}}}}function dZy({responses:e,context:t,source:r,namespace:n}){let i={};for(let[o,s]of Object.entries(e)){if(o==="default")continue;let a=parseInt(o);if(a<400||a>600)continue;let c=yo(s)?t.resolveResponseReference(s):s,u=Tzu(c.content??{},t),l=s1s[a];if(l==null){t.logger.warn(`No error name found for status code ${o}`);continue}i[a]={statusCode:a,nameOverride:void 0,generatedName:l,description:c.description,schema:Nl(u?.schema??{},!1,!1,t,[l,"Body"],r,n),fullExamples:u?.examples,source:r}}return i}function c2e({operationContext:e,context:t,responseStatusCode:r,suffix:n,streamFormat:i,streamTerminator:o,source:s}){let{document:a,operation:c,path:u,method:l,baseBreadcrumbs:p}=e,m=Xn(c,wi.IDEMPOTENT),f=Xn(c,[wi.REQUEST_NAME_V1,wi.REQUEST_NAME_V2]),h=[...p,"Request"],y=Cvn({parameters:[...e.pathItemParameters,...e.operationParameters],context:t,requestBreadcrumbs:h,path:u,httpMethod:l,source:s}),g=/{([^}]+)}/g,A=[...u.matchAll(g)].map(q=>q[1]).filter(q=>q!==void 0),b=[...u.matchAll(g)].map(q=>q[1]);switch(t.options.pathParameterOrder){case Ei.PathParameterOrder.SpecOrder:{let q=b.filter(W=>!y.pathParameters.some(G=>G.name===W));if(q.length>0)for(let W of q)y.pathParameters.push({name:W??"",variableReference:void 0,parameterNameOverride:void 0,availability:void 0,source:s,schema:Dn.primitive({schema:Zo.string({default:void 0,example:void 0,format:void 0,maxLength:void 0,minLength:void 0,pattern:void 0}),description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0,availability:void 0,title:void 0}),description:void 0,explode:void 0})}break;case Ei.PathParameterOrder.UrlOrder:if(A.length>0){let q=new Map(y.pathParameters.map(re=>[re.name,re])),W=[],G=new Set;for(let re of A){let oe=q.get(re);G.add(re),oe?W.push(oe):W.push({name:re,variableReference:void 0,parameterNameOverride:void 0,availability:void 0,source:s,schema:Dn.primitive({schema:Zo.string({default:void 0,example:void 0,format:void 0,maxLength:void 0,minLength:void 0,pattern:void 0}),description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0,availability:void 0,title:void 0}),description:void 0,explode:void 0})}for(let re of y.pathParameters)G.has(re.name)||W.push(re);y.pathParameters=W}break;default:Ve(t.options.pathParameterOrder)}let v=(()=>{if(e.method==="GET")return[void 0];if(!c.requestBody)return[void 0];let q=yo(c.requestBody)?t.resolveRequestBodyReference(c.requestBody):c.requestBody,W=Object.values(q.content).every(re=>yZy({mediaTypeObject:re})!=null),G=[];if(W)return G.push(...Object.entries(q.content).map(([re,oe])=>{let H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:new GAt({document:t.document,taskContext:t.taskContext,options:t.options,source:t.source,namespace:t.namespace}),requestBreadcrumbs:h,source:s,namespace:t.namespace});return Xzu({context:t,convertedParameters:y})&&H!=null&&(H.type==="json"||H.type==="formUrlEncoded")&&H.schema.type!=="object"&&c.requestBody!=null?H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:t,requestBreadcrumbs:[...h,"Body"],source:s,namespace:t.namespace}):c.requestBody!=null&&(H=_be({mediaType:re,mediaTypeObject:oe,description:q.description,document:a,context:t,requestBreadcrumbs:[...h],source:s,namespace:t.namespace})),H}).filter(re=>re!=null)),G.length===0?[void 0]:G;{let re=jvn({content:q.content,description:q.description,document:a,context:new GAt({document:t.document,taskContext:t.taskContext,options:t.options,source:t.source,namespace:t.namespace}),requestBreadcrumbs:h,source:s,namespace:t.namespace});return Xzu({context:t,convertedParameters:y})&&re!=null&&(re.type==="json"||re.type==="formUrlEncoded")&&re.schema.type!=="object"&&c.requestBody!=null?re=jvn({content:q.content,description:q.description,document:a,context:t,requestBreadcrumbs:[...h,"Body"],source:s,namespace:t.namespace}):c.requestBody!=null&&(re=jvn({content:q.content,description:q.description,document:a,context:t,requestBreadcrumbs:[...h],source:s,namespace:t.namespace})),[re]}})(),_=v.length>1,E=[...p,"Response"],O=Bvn({operationContext:e,streamFormat:i,streamTerminator:o,responses:c.responses,context:t,responseBreadcrumbs:E,responseStatusCode:r,source:s}),P=Lzu(c),x=Uzu(c),I=Vzu(e,c,t),F=Xn(c,wi.SERVER_NAME_V2);return v.map(q=>({summary:c.summary,internal:Xn(c,Mk.INTERNAL),idempotent:m,audiences:Xn(c,wi.AUDIENCES)??[],operationId:c.operationId!=null&&n!=null?c.operationId+"_"+n:c.operationId,tags:t.resolveTagsToTagIds(c.tags),namespace:t.namespace,sdkName:gZy({operationContext:e,request:q}),pathParameters:y.pathParameters,queryParameters:y.queryParameters,headers:y.headers,requestNameOverride:f??void 0,generatedRequestName:PS(_?hZy({breadcrumbs:h,request:q}):h,t.options.preserveSchemaIds),request:q,response:O.value,errors:O.errors,servers:F!=null?[{name:F,url:void 0,audiences:void 0}]:(c.servers??[]).map(W=>Ivn(W,{groupMultiApiEnvironments:t.options.groupMultiApiEnvironments})),description:c.description,authed:bZy(c,a),security:AZy(c),availability:x,method:l,path:u,examples:I,pagination:e.pagination,source:s,retries:P}))}function hZy({breadcrumbs:e,request:t}){return t?[...e,t.type]:e}function yZy({mediaTypeObject:e}){return Xn(e,wi.SDK_METHOD_NAME)}function gZy({operationContext:e,request:t}){return!t||!t.sdkMethodName?e.sdkMethodName:e.sdkMethodName?{groupName:[...e.sdkMethodName.groupName],methodName:t.sdkMethodName??e.sdkMethodName.methodName}:{groupName:[],methodName:t.sdkMethodName}}function AZy(e){return e.security}function bZy(e,t){return e.security!=null?Object.keys(e.security).length>0:t.security!=null?Object.keys(t.security).length>0:!1}function Xzu({context:e,convertedParameters:t}){return e.options.inlinePathParameters&&t.pathParameters.length>0||t.queryParameters.length>0||t.headers.length>0}function e2u({operationContext:e,context:t,asyncExtension:r,source:n}){let{operation:i,pathItemParameters:o,operationParameters:s}=e,a=r.discriminant.name,c=r.discriminant.value,u=r["response-status-code"],l=Zzu({context:t,headerToIgnore:a,parameters:o}),p=Zzu({context:t,headerToIgnore:a,parameters:s}),m=c2e({operationContext:{...e,pathItemParameters:l,operationParameters:p,operation:{...i,responses:Object.fromEntries(Object.entries(i.responses).filter(([h])=>parseInt(h)!==u))}},context:t,streamFormat:void 0,source:n}),f=c2e({operationContext:{...e,pathItemParameters:l,operationParameters:p,baseBreadcrumbs:[...e.baseBreadcrumbs,"async"]},context:t,suffix:"async",responseStatusCode:u,streamFormat:void 0,source:n});return f.forEach(h=>{h.headers.push({name:a,schema:Dn.literal({nameOverride:void 0,generatedName:PS([a],t.options.preserveSchemaIds),title:void 0,description:void 0,availability:void 0,value:kw.string(c),namespace:void 0,groupName:void 0}),description:void 0,parameterNameOverride:void 0,env:void 0,availability:void 0,source:n})}),{sync:m,async:f}}function Zzu({context:e,headerToIgnore:t,parameters:r}){return r.filter(n=>{let i=yo(n)?e.resolveParameterReference(n):n;return!(i.in==="header"&&i.name===t)})}var a1s="stream";function i2u({operationContext:e,context:t,streamingExtension:r}){switch(r.type){case"stream":return{streaming:c2e({operationContext:e,context:t,streamFormat:r.format,streamTerminator:r.terminator,source:t.source}),nonStreaming:[]};case"streamCondition":{let n=t2u({context:t,operation:e.operation,streamingExtension:r,isStreaming:!0});if(n?.schemaReference!=null){let u=N6e(n.schemaReference);u!=null&&t.excludeSchema(u)}let i=r2u({operation:e.operation,response:r.responseStream}),o=c2e({operationContext:{...e,sdkMethodName:e.sdkMethodName!=null?{groupName:e.sdkMethodName.groupName,methodName:e.sdkMethodName.methodName+"_"+a1s}:void 0,operation:{...e.operation,description:r.streamDescription??e.operation.description,requestBody:n?.requestBody,responses:i},baseBreadcrumbs:[...e.baseBreadcrumbs,a1s]},context:t,streamFormat:r.format,streamTerminator:r.terminator,suffix:a1s,source:t.source});o.forEach(u=>{u.examples=u.examples.filter(l=>n2u(l,t)!==!1)});let s=t2u({context:t,operation:e.operation,streamingExtension:r,isStreaming:!1}),a=r2u({operation:e.operation,response:r.response}),c=c2e({streamFormat:void 0,operationContext:{...e,operation:{...e.operation,requestBody:s?.requestBody,responses:a}},context:t,source:t.source});return c.forEach(u=>{u.examples=u.examples.filter(l=>n2u(l,t)!==!0)}),{streaming:o,nonStreaming:c}}default:Ve(r)}}function t2u({context:e,operation:t,streamingExtension:r,isStreaming:n}){if(t.requestBody==null)return;let i=yo(t.requestBody)?e.resolveRequestBodyReference(t.requestBody):t.requestBody,o=Ovn({content:i.content,context:e});if(o==null)return;let s=yo(o.schema)?e.resolveSchemaReference(o.schema):o.schema;if(s.allOf==null&&s.properties==null)return;let a=s.properties?.[r.streamConditionProperty];a!=null&&yo(a)&&(a=void 0);let c={...s,properties:{...s.properties,[r.streamConditionProperty]:{type:"boolean","x-fern-boolean-literal":n,...a??{}}},title:void 0,required:[...s.required??[],r.streamConditionProperty]};return{requestBody:{content:{[GA.APPLICATION_JSON]:{schema:c}}},schemaReference:yo(o.schema)?o.schema:void 0}}function r2u({operation:e,response:t}){return{...e.responses,200:{description:"",content:{[GA.APPLICATION_JSON]:{schema:t}}}}}function n2u(e,t){return e._visit({unknown:r=>{let n=rP.serialization.ExampleEndpointCallSchema.parse(r);if(n.ok&&n.value.response!=null)return n.value.response.stream!=null},full:()=>{},_other:()=>{}})}var l2u=require("crypto");function _Zy(e){switch(e){case"unix-seconds":return cw.WebhookTimestampFormat.UnixSeconds;case"unix-millis":return cw.WebhookTimestampFormat.UnixMillis;case"iso8601":return cw.WebhookTimestampFormat.Iso8601}}function o2u(e){if(e!=null)return{header:e.header,format:e.format!=null?_Zy(e.format):void 0,tolerance:e.tolerance}}function vZy(e){if(e!=null)return{components:e.components.map(t=>{switch(t){case"body":return cw.WebhookPayloadComponent.Body;case"timestamp":return cw.WebhookPayloadComponent.Timestamp;case"notification-url":return cw.WebhookPayloadComponent.NotificationUrl;case"message-id":return cw.WebhookPayloadComponent.MessageId}}),delimiter:e.delimiter}}function EZy(e){if(e!=null)switch(e){case"sha256":return cw.WebhookSignatureAlgorithm.Sha256;case"sha1":return cw.WebhookSignatureAlgorithm.Sha1;case"sha384":return cw.WebhookSignatureAlgorithm.Sha384;case"sha512":return cw.WebhookSignatureAlgorithm.Sha512}}function s2u(e){if(e!=null)switch(e){case"base64":return cw.WebhookSignatureEncoding.Base64;case"hex":return cw.WebhookSignatureEncoding.Hex}}function OZy(e){if(e!=null)switch(e){case"rsa-sha256":return cw.AsymmetricAlgorithm.RsaSha256;case"rsa-sha384":return cw.AsymmetricAlgorithm.RsaSha384;case"rsa-sha512":return cw.AsymmetricAlgorithm.RsaSha512;case"ecdsa-sha256":return cw.AsymmetricAlgorithm.EcdsaSha256;case"ecdsa-sha384":return cw.AsymmetricAlgorithm.EcdsaSha384;case"ecdsa-sha512":return cw.AsymmetricAlgorithm.EcdsaSha512;case"ed25519":return cw.AsymmetricAlgorithm.Ed25519}}function c2u(e){if(e.type==="hmac")return cw.WebhookSignatureVerification.hmac({header:e.header,algorithm:EZy(e.algorithm),encoding:s2u(e.encoding),signaturePrefix:e["signature-prefix"],payloadFormat:vZy(e["payload-format"]),timestamp:o2u(e.timestamp)});if(e.type==="asymmetric"){let t=OZy(e["asymmetric-algorithm"]);return t==null?void 0:cw.WebhookSignatureVerification.asymmetric({header:e.header,asymmetricAlgorithm:t,encoding:s2u(e.encoding),signaturePrefix:e["signature-prefix"],jwksUrl:e["jwks-url"],keyIdHeader:e["key-id-header"],timestamp:o2u(e.timestamp)})}}function a2u(e){let t=Xn(e,wi.WEBHOOK_SIGNATURE);if(!(t==null||typeof t=="boolean"))return c2u(t)}function u2u(e,t){let r=Xn(t,wi.WEBHOOK_SIGNATURE);return r!=null?typeof r=="boolean"?a2u(e):c2u(r):a2u(e)}function p2u({context:e,operationContext:t,source:r}){let{document:n,operation:i,path:o,method:s,baseBreadcrumbs:a,sdkMethodName:c}=t,u=[...a,"Payload"],l=[...a,"Response"],p=Cvn({parameters:[...t.pathItemParameters,...t.operationParameters],context:e,requestBreadcrumbs:u,path:o,httpMethod:s,source:r});if(i.requestBody==null)return e.logger.error(`Skipping webhook ${s.toUpperCase()} ${o}: Missing a request body`),[];let m=i.operationId??xZy({path:o,method:s,sdkMethodName:c}),f=i.responses?Bvn({operationContext:t,streamFormat:void 0,responses:i.responses,context:e,responseBreadcrumbs:l,source:r}):void 0;if(s!=="POST"&&s!=="GET")return e.logger.error(`Skipping webhook ${s.toUpperCase()} ${o}: Not POST or GET`),[];let h=yo(i.requestBody)?e.resolveRequestBodyReference(i.requestBody):i.requestBody;return Object.entries(h.content).map(([y,g])=>_be({mediaType:y,mediaTypeObject:g,description:h.description,document:n,context:e,requestBreadcrumbs:[...a,"Payload"],source:r,namespace:e.namespace})).filter(y=>y!=null).map(y=>{if(y==null||y.type!=="json"&&y.type!=="formUrlEncoded"&&y.type!=="multipart"){e.logger.error(`Skipping webhook ${o} because non-json, non-formUrlEncoded, and non-multipart request body`);return}let g,A;y.type==="multipart"?(g={name:y.name,properties:y.properties,description:y.description,source:y.source},A=Dn.unknown({nameOverride:void 0,generatedName:PS(u,e.options.preserveSchemaIds),title:void 0,description:y.description,availability:void 0,namespace:e.namespace,groupName:void 0,example:void 0})):A=y.schema;let b=u2u(n,i);return{summary:i.summary,audiences:Xn(i,wi.AUDIENCES)??[],sdkName:c,namespace:e.namespace,method:s,operationId:m,tags:e.resolveTagsToTagIds(i.tags),headers:p.headers,generatedPayloadName:PS(u,e.options.preserveSchemaIds),payload:A,signatureVerification:b,multipartFormData:g,response:f?.value,description:i.description,examples:wZy(y.fullExamples),source:r}}).filter(y=>y!=null)}function wZy(e){if(e==null)return[];let t=[];for(let r of e){let n=z6e(r.value);n!=null&&t.push({description:r.description,name:r.name,payload:n})}return t}function xZy({path:e,method:t,sdkMethodName:r}){let n=r?.methodName??PZy(e),i=(0,l2u.createHash)("sha256").update(e).digest("hex").slice(0,8);return IZy(`${n}_${t.toLowerCase()}_${i}`)}function PZy(e){return e.replace(/[{$}#]/g,"").replace(/[^a-zA-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").replace(/_+/g,"_").toLowerCase().slice(0,64)}function IZy(e){return e.split("_").map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function c1s({context:e,pathItemContext:t,operation:r,convertToWebhook:n}){let i=Xn(r,wi.IGNORE);if(i!=null&&i){e.logger.debug(`${t.method.toUpperCase()} ${t.path} is marked with x-fern-ignore. Skipping.`);return}let o=CZy(r,e),s=Szu(e.document,r),a={...t,sdkMethodName:o,baseBreadcrumbs:SZy({operation:r,sdkMethodName:o,httpMethod:t.method,path:t.path,shouldUseIdiomaticRequestNames:e.options.shouldUseIdiomaticRequestNames}),operation:r,operationParameters:r.parameters??[],pagination:s};if(n)return{type:"webhook",value:p2u({context:e,operationContext:a,source:e.source})};let c=Izu(r);if(c==null&&jZy({operation:r,context:e})&&(c={type:"stream",format:"sse",terminator:void 0}),c!=null){let p=i2u({context:e,operationContext:a,streamingExtension:c});return p!=null?{type:"streaming",streaming:p.streaming,nonStreaming:p.nonStreaming}:void 0}let u=xzu(r);if(u!=null){let p=e2u({context:e,operationContext:a,asyncExtension:u,source:e.source});return{type:"async",async:p.async,sync:p.sync}}return{type:"http",value:c2e({context:e,operationContext:a,streamFormat:void 0,source:e.source})}}function CZy(e,t){let r=Xn(e,wi.SDK_METHOD_NAME),n=Xn(e,wi.SDK_GROUP_NAME)??[];if(r!=null){let i=typeof n=="string"?[n]:n;return i=t.resolveGroupName(i),{groupName:i,methodName:r}}}function SZy({sdkMethodName:e,operation:t,httpMethod:r,path:n,shouldUseIdiomaticRequestNames:i}){let o=[];if(e!=null){if(i&&o.push(e.methodName),e.groupName.length>0){let s=e.groupName[e.groupName.length-1];s!=null&&o.push(typeof s=="string"?s:s.name)}i||o.push(e.methodName)}else t.operationId!=null?o.push(t.operationId):o.push(eo(`${r}_${n.split("/").join("_")}`));return o}function jZy({operation:e,context:t}){if(e.responses==null)return!1;for(let r of Object.values(e.responses)){let n=yo(r)?t.resolveResponseReference(r):r;if(n.content!=null&&Bzu(n.content))return!0}return!1}function f2u(e,t,r,n){let i=[],o=d2u(t),s={document:r,pathItem:t,path:e,pathItemParameters:t.parameters??[]};for(let a of o){if(n.filter.skipEndpoint({method:a.method,path:e})){n.logger.debug(`Skipping endpoint "${a.method} ${e}"`);continue}let c=BZy({operation:a.operation}),u=c1s({context:n,pathItemContext:{...s,method:a.method},operation:a.operation,convertToWebhook:c});u&&i.push(u)}return i}function m2u(e,t,r,n){let i=[],o=d2u(t),s={document:r,pathItem:t,path:e,pathItemParameters:t.parameters??[]};for(let a of o){if(n.filter.skipEndpoint({method:a.method,path:e})){n.logger.debug(`Skipping endpoint "${a.method} ${e}"`);continue}let c=c1s({context:n,pathItemContext:{...s,method:a.method},operation:a.operation,convertToWebhook:!0});c&&i.push(c)}return i}function d2u(e){let t=[];return e.get!=null&&t.push({method:GD.Get,operation:e.get}),e.post!=null&&t.push({method:GD.Post,operation:e.post}),e.put!=null&&t.push({method:GD.Put,operation:e.put}),e.delete!=null&&t.push({method:GD.Delete,operation:e.delete}),e.patch!=null&&t.push({method:GD.Patch,operation:e.patch}),e.head!=null&&t.push({method:GD.Head,operation:e.head}),t}function BZy({operation:e}){return Xn(e,[wi.WEBHOOK])??!1}function h2u(e){let t=Xn(e,wi.BASIC_AUTH_USERNAME_VARIABLE_NAME),r=Xn(e,wi.BASIC_AUTH_PASSWORD_VARIABLE_NAME);return{usernameVariable:t,passwordVariable:r}}function y2u(e){return Xn(e,wi.FERN_BASIC_AUTH)}function A2u(e,t,r,n){if(yo(e)){if(n==null)throw new Error(`Converting referenced security schemes requires context: ${JSON.stringify(e)}`);let i=n.resolveSecuritySchemeReference(e);return g2u(i,t,r)}return g2u(e,t,r)}function g2u(e,t,r){try{if(e.type==="apiKey"&&e.in==="header"){let n=Xn(e,Mk.BEARER_FORMAT),i=Xn(e,wi.FERN_HEADER_AUTH);return qD.header({headerName:e.name,prefix:n!=null?"Bearer":i?.prefix,headerVariableName:i?.name??Xn(e,wi.HEADER_VARIABLE_NAME),headerEnvVar:i?.env})}else if(e.type==="http"&&e.scheme?.toLowerCase()==="bearer"){let n=Xn(e,wi.FERN_BEARER_TOKEN);return qD.bearer({tokenVariableName:n?.name??Xn(e,wi.BEARER_TOKEN_VARIABLE_NAME),tokenEnvVar:n?.env})}else if(e.type==="http"&&e.scheme?.toLowerCase()==="basic"){let n=y2u(e),i=h2u(e);return qD.basic({usernameVariableName:n?.username?.name??i.usernameVariable,usernameEnvVar:n?.username?.env,passwordVariableName:n?.password?.name??i.passwordVariable,passwordEnvVar:n?.password?.env})}else{if(e.type==="openIdConnect")return qD.bearer({tokenVariableName:void 0,tokenEnvVar:void 0});if(e.type==="oauth2")return qD.oauth({scopesEnum:TZy(e,t)})}}catch(n){r.logger.debug(`Error converting security scheme: ${n?.message}`)}r.logger.debug(`Skipping security scheme: ${JSON.stringify(e,null)} - not currently supported. Please reach out to Fern support team!`)}function TZy(e,t){let r=e.flows.authorizationCode?.scopes??e.flows.clientCredentials?.scopes??e.flows.implicit?.scopes??e.flows.password?.scopes;if(r!=null){let n=F6e({nameOverride:void 0,generatedName:"OauthScope",title:void 0,enumValues:Object.keys(r),fernEnum:Object.fromEntries(Object.entries(r).map(([o,s])=>[o,{description:s}])),_default:void 0,description:void 0,availability:void 0,enumVarNames:void 0,wrapAsOptional:!1,wrapAsNullable:!1,namespace:void 0,groupName:void 0,context:void 0,source:t,inline:void 0}),i=tb(n);if(i.type==="enum")return i}}function b2u(e){return Xn(e,wi.BASE_PATH)}var DZy=$t.record($t.string(),$t.object({summary:$t.string().optional(),description:$t.string().optional()}));function _2u({document:e,context:t}){return lPr(e,wi.GROUPS,DZy,t.logger)}function v2u({context:e,document:t}){return Xn(t,wi.FERN_VERSION)??void 0}function E2u(e){let t=Xn(e,wi.FERN_GLOBAL_HEADERS),r=[];for(let n of t??[])r.push({...n,schema:n.type!=null?pPr({fernType:n.type,description:void 0,availability:void 0,generatedName:n.name??n.header,title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}):void 0});return r}function O2u(e){let t=Xn(e,wi.FERN_IDEMPOTENCY_HEADERS),r=[];for(let n of t??[])r.push({...n,schema:n.type!=null?pPr({fernType:n.type,description:void 0,availability:void 0,generatedName:n.name??n.header,title:void 0,namespace:void 0,groupName:void 0,nameOverride:void 0}):void 0});return r}function w2u(e,t){let r=Xn(e,wi.SDK_VARIABLES);return r==null?{}:Object.fromEntries(Object.entries(r).map(([n,i])=>{if(i.type==="string")return[n,{nameOverride:void 0,generatedName:PS([n],t),title:i.title,schema:Ph.string({default:qQt(i),pattern:i.pattern,format:i.format,minLength:i.minLength,maxLength:i.maxLength}),description:i.description,availability:void 0,namespace:void 0,groupName:void 0}];throw new Error(`Variable ${n} has unsupported schema ${JSON.stringify(i)}`)}))}var RZy="webhooks";function x2u(e){return Xn(e,RZy)??{}}var gPr=class extends JQt{nonRequestReferencedSchemas=new Set;twoOrMoreRequestsReferencedSchemas=new Set;singleRequestReferencedSchemas=new Set;discriminatedUnionReferences={};discriminatedUnionMetadata={};schemasToExclude=new Set;constructor({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s}){super({document:t,taskContext:r,authHeaders:n,options:i,source:o,namespace:s})}getDummy(){return new GAt({document:this.document,taskContext:this.taskContext,options:this.options,source:this.source,namespace:this.namespace})}markSchemaAsReferencedByNonRequest(t){this.nonRequestReferencedSchemas.add(t)}markSchemaAsReferencedByRequest(t){this.singleRequestReferencedSchemas.has(t)?this.twoOrMoreRequestsReferencedSchemas.add(t):this.singleRequestReferencedSchemas.add(t)}getReferencedSchemas(){return new Set([...this.nonRequestReferencedSchemas,...this.twoOrMoreRequestsReferencedSchemas])}markReferencedByDiscriminatedUnion(t,r,n){let i=this.discriminatedUnionReferences[t.$ref];i!=null?(i.discriminants.add(r),i.numReferences+=n):this.discriminatedUnionReferences[t.$ref]={discriminants:new Set([r]),numReferences:n}}getReferencesFromDiscriminatedUnion(t){return this.discriminatedUnionReferences[t.$ref]}markSchemaWithDiscriminantValue(t,r,n){let i=this.discriminatedUnionMetadata[t.$ref];i!=null?i.discriminants.set(r,n):this.discriminatedUnionMetadata[t.$ref]={discriminants:new Map([[r,n]])}}getDiscriminatedUnionMetadata(t){return this.discriminatedUnionMetadata[t.$ref]}excludeSchema(t){this.schemasToExclude.add(t)}isSchemaExcluded(t){return this.schemasToExclude.has(t)}};function P2u(e){return Xn(e,wi.RESOLUTIONS)}function I2u({openapi:e}){let t=P2u(e);if(t==null)return e;let r={};for(let n of t){let i=`#/components/schemas/${n.name}`;for(let o of n.resolutions)e=FZy({openapi:e,schemaReference:o,schemaName:n.name}),e=C2u({openapi:e,replaceReference:o,schemaReference:i,replacedReferences:r}),r={...r,...Object.fromEntries(n.resolutions.map(s=>[i,s]))}}return e}function FZy({openapi:e,schemaReference:t,schemaName:r}){let n=t.replace("#/","").split("/").map(o=>o.replaceAll("~1","/")),i=e;for(let o of n){let s=i[o];if(s==null)return e;i=s}return e.components==null&&(e.components={}),e.components.schemas==null&&(e.components.schemas={}),e.components.schemas[r]=i,e}function C2u({openapi:e,replaceReference:t,schemaReference:r,replacedReferences:n}){let i=Object.keys(n).filter(c=>t.startsWith(c)).sort((c,u)=>u.length-c.length)[0];if(i!=null){let c=n[i];if(c!=null){let u=r.replace(i,c);return C2u({openapi:e,replaceReference:t,schemaReference:u,replacedReferences:{}})}}let o=t.replace("#/","").split("/").map(c=>c.replaceAll("~1","/")),s=e;for(let c of o.slice(0,-1)){let u=s[c];if(u==null)return e;s=u}let a=o[o.length-1];return a==null||(s[a]={$ref:r}),e}function j2u({openApi:e,taskContext:t,options:r,source:n,namespace:i}){e=I2u({openapi:e}),dvn();let o=new gPr({document:e,taskContext:t,authHeaders:new Set,options:r,source:n,namespace:i}),s=Object.fromEntries(Object.entries(e.components?.securitySchemes??{}).map(([q,W])=>{let G=A2u(W,n,t,o);return G==null?null:[q,G]}).filter(q=>q!==null)),a=e.security?.filter(q=>q!=null),c=new Set(...Object.entries(s).map(([q,W])=>W.type==="basic"||W.type==="bearer"?"Authorization":W.type==="header"?W.headerName:null)),u=w2u(e,r.preserveSchemaIds),l=E2u(e),p=O2u(e),m=r.audiences??[],f=[],h=[],y=new gPr({document:e,taskContext:t,authHeaders:c,options:r,source:n,namespace:i});y.filter.hasEndpoints()&&t.logger.debug("Endpoint filter applied..."),Object.entries(e.paths??{}).forEach(([q,W])=>{if(W==null)return;let G=f2u(q,W,e,y);for(let re of G){let oe=S2u({operation:re});if(!(m.length>0&&!m.some(H=>oe.includes(H))))switch(re.type){case"async":f.push(...re.sync),f.push(...re.async);break;case"http":f.push(...re.value);break;case"streaming":f.push(...re.streaming),re.nonStreaming&&f.push(...re.nonStreaming);break;case"webhook":h.push(...re.value);break;default:Ve(re)}}}),Object.entries(x2u(e)).forEach(([q,W])=>{if(W==null)return;t.logger.debug(`Converting path ${q}`);let G=m2u(q,W,e,y);for(let re of G){let oe=S2u({operation:re});m.length>0&&!m.some(H=>oe.includes(H))||h.push(...re.value)}});let g=Object.fromEntries(Object.entries(e.components?.schemas??{}).map(([q,W])=>{let G=Xn(W,wi.SDK_NAMESPACE);if(!yo(W)){let re=Xn(W,wi.IGNORE);if(re!=null&&re)return[];if(Jzu.has(q))return[q,Nl({...W,"x-fern-type-name":`${q}Body`},!1,!1,y,[q],n,G??i)]}return[q,Nl(W,!1,!1,y,[q],n,G??i)]}).filter(q=>q.length>0)),A=NZy(g,y,n),b=kZy(A,y),v=gbe(),_={};for(let[q,W]of Object.entries(b)){let G=tb(W);if(y.isSchemaExcluded(q))continue;let re=v.getUniqueSchemaId(q,y.logger,r.resolveSchemaCollisions);_[re]=G}let E=new Q6e(b,y.nonRequestReferencedSchemas,y),O=h.map(q=>{let G=q.examples;if(!r.disableExamples&&G.length===0){let re=E.buildExample({schema:q.payload,exampleId:void 0,example:void 0,skipReadonly:!1,options:{ignoreOptionals:!1,isParameter:!1}});re!=null&&(G=[{name:void 0,description:void 0,payload:re}])}return{...q,payload:tb(q.payload),examples:G}}),P=new gvn(b,y,l),x=f.map(q=>{let W=q.examples,G=W;if(!r.disableExamples&&(W.length===0||W.every(hPr))){let H=P.buildEndpointExample(q);H.length>0&&(G=[...H,...W.filter(ee=>!hPr(ee))])}let re=q.request,oe=q.response;return{...q,request:re?.type==="json"||re?.type==="formUrlEncoded"?{...re,schema:tb(re.schema)}:re,response:oe?.type==="json"?{...oe,schema:tb(oe.schema)}:oe,queryParameters:q.queryParameters.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,availability:H.availability,source:H.source})),pathParameters:q.pathParameters.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,variableReference:H.variableReference,availability:H.availability,source:H.source})),headers:q.headers.map(H=>({description:H.description,name:H.name,schema:tb(H.schema),parameterNameOverride:H.parameterNameOverride,env:H.env,availability:H.availability,source:H.source})),examples:G,errors:Mi(q.errors,H=>{let ee=H.fullExamples?.map(Ge=>{let Je=z6e(Ge.value);if(Je!=null)return{name:Ge.name,description:Ge.description,example:Je}}).filter(Yc);if(ee?.length===0){let Ge=E.buildExample({schema:H.schema,example:void 0,exampleId:void 0,skipReadonly:!1,options:{ignoreOptionals:!1,isParameter:!1}});Ge!=null&&ee.push({name:void 0,description:void 0,example:Ge})}return{generatedName:H.generatedName,nameOverride:H.nameOverride,schema:tb(H.schema),description:H.description,source:H.source,examples:ee}}),retries:q.retries}});P.finalize();let I=_2u({document:e,context:y});return{apiVersion:v2u({context:y,document:e}),basePath:b2u(e),title:e.info.title??"",description:e.info.description,groups:Object.fromEntries(Object.entries(I??{}).map(([q,W])=>[q,{summary:W.summary??void 0,description:W.description??void 0}])),servers:(e.servers??[]).map(q=>Ivn(q,{groupMultiApiEnvironments:r.groupMultiApiEnvironments})),websocketServers:[],tags:{tagsById:Object.fromEntries((e.tags??[]).map(q=>[q.name,{id:q.name,description:q.description}])),orderedTagIds:e.tags?.map(q=>q.name)},endpoints:x,webhooks:O,channels:{},groupedSchemas:GQt(i,_),securitySchemes:s,security:a,hasEndpointsMarkedInternal:x.some(q=>q.internal),nonRequestReferencedSchemas:y.getReferencedSchemas(),variables:u,globalHeaders:l,idempotencyHeaders:p}}function NZy(e,t,r){if(t.options.removeDiscriminantsFromSchemas===Ei.RemoveDiscriminantsFromSchemas.Never)return e;let n={};for(let[i,o]of Object.entries(e)){if(o.type!=="object"){n[i]=o;continue}let s={$ref:`#/components/schemas/${i}`},a=t.getReferencesFromDiscriminatedUnion(s);if(a==null){n[i]=o;continue}if(t.getReferencedSchemas().has(i)){n[i]=o;continue}let u={...o,type:"object",properties:o.properties.filter(p=>!a.discriminants.has(p.key)),allOfPropertyConflicts:o.allOfPropertyConflicts.filter(p=>!a.discriminants.has(p.propertyKey)),source:r};n[i]=u;let l=B2u({schema:o,schemas:e});for(let p of[...new Set(l)]){let m=n[p]??e[p];m==null||m.type!=="object"||(n[p]={...m,type:"object",properties:m.properties.filter(f=>!a.discriminants.has(f.key)),allOfPropertyConflicts:m.allOfPropertyConflicts.filter(f=>!a.discriminants.has(f.propertyKey))})}}return n}function kZy(e,t){let r={};for(let[n,i]of Object.entries(e)){if(i.type!=="object"){r[n]=i;continue}let o={$ref:`#/components/schemas/${n}`},s=t.getDiscriminatedUnionMetadata(o);if(s==null){r[n]=i;continue}let a=[];for(let u of i.properties)if(s.discriminants.has(u.key)){let l=s.discriminants.get(u.key);l!=null&&a.push({...u,schema:Dn.literal({nameOverride:void 0,generatedName:PS([i.generatedName,l],t.options.preserveSchemaIds),title:void 0,value:kw.string(l),namespace:void 0,groupName:void 0,description:void 0,availability:i.availability})})}else a.push(u);let c={...i,type:"object",properties:a};r[n]=c}return r}function B2u({schema:e,schemas:t}){let r=[];for(let n of e.allOf){r.push(n.schema);let i=t[n.schema];i!=null&&i.type==="object"&&r.push(...B2u({schema:i,schemas:t}))}return r}function Tvn(e){return[...new Set(e)]}function S2u({operation:e}){let t=[];switch(e.type){case"async":t=Tvn(e.async.flatMap(r=>r.audiences));break;case"http":t=Tvn(e.value.flatMap(r=>r.audiences));break;case"streaming":t=Tvn(e.streaming.flatMap(r=>r.audiences));break;case"webhook":t=Tvn(e.value.flatMap(r=>r.audiences));break;default:Ve(e)}return t}function HAt({context:e,documents:t,options:r}){let n={apiVersion:void 0,title:void 0,description:void 0,basePath:void 0,servers:[],websocketServers:[],tags:{tagsById:{},orderedTagIds:void 0},hasEndpointsMarkedInternal:!1,endpoints:[],webhooks:[],channels:{},groupedSchemas:{rootSchemas:{},namespacedSchemas:{}},variables:{},nonRequestReferencedSchemas:new Set,securitySchemes:{},security:void 0,globalHeaders:[],idempotencyHeaders:[],groups:{}},i=0;for(let o of t)try{let s=o.source!=null?o.source:A2.openapi({file:"<memory>"});switch(o.type){case"openapi":{let a=j2u({taskContext:e,openApi:o.value,options:DK({options:o.settings,overrides:r}),source:s,namespace:o.namespace});n=UZy(n,a,DK({options:o.settings,overrides:r})),i++;break}case"asyncapi":{let a=wzu({document:o.value,taskContext:e,options:DK({options:o.settings,overrides:r}),source:s,asyncApiOptions:zZy({options:o.settings}),namespace:o.namespace});a.servers!=null&&(n.websocketServers=[...n.websocketServers,...a.servers.map(c=>({...c,audiences:void 0,description:void 0,defaultUrl:void 0,urlTemplate:void 0,variables:void 0}))]),a.channels!=null&&(n.channels={...n.channels,...a.channels}),a.groupedSchemas!=null&&(n.groupedSchemas=Dvn(n.groupedSchemas,a.groupedSchemas,r)),a.basePath!=null&&(n.basePath=a.basePath),i++;break}default:Ve(o)}}catch(s){e.logger.error(`Failed to parse ${o.type} document ${o.type==="openapi"?o.value.info?.title:o.source?.file}`),s instanceof Error&&e.logger.error(s.message,s.stack?`
1526
1526
  `+s.stack:"")}return n}function zZy({options:e,overrides:t}){return{naming:t?.naming??e?.asyncApiNaming??Vku.naming}}function Rvn(e){let t=String(e.description||e.name||e["x-fern-server-name"]||"default").trim(),r=t.toUpperCase();return r==="PRODUCTION"||r==="PRD"||r==="PROD"?"PRD":r==="SANDBOX"||r==="SBX"?"SBX":r==="STAGING"||r==="STG"?"STG":r==="PERFORMANCE"||r==="PRF"||r==="PERF"?"PRF":r==="E2E"||r==="E_2_E"?"E2E":r==="QAL"||r==="QUALITY"?"QAL":t}function l1s(e){try{let n=new URL(e).hostname.split("."),i=new Set(["api","www","service","services","example","com","org","net","io"]);for(let s of n){let a=s.split("-")[0],c=a&&a.length>2?a:s;if(c&&!i.has(c.toLowerCase())&&c.length>2)return c.toLowerCase()}let o=n[0];return o&&o.length>0?o.toLowerCase():"api"}catch{let t=e.match(/https?:\/\/([^./-]+)/);return t&&t[1]?t[1].toLowerCase():"api"}}function u1s(e,t){let r=e??[],n=t??[];if(r.length===0&&n.length===0)return;let i=new Map;for(let o of[...r,...n]){let s=Object.keys(o).sort(),a={};for(let u of s)a[u]=o[u]??[];let c=JSON.stringify(a);i.has(c)||i.set(c,o)}return Array.from(i.values())}function QZy(e,t){if(VZy(e))return!0;if(e.length===0||t.length===0||e.length!==t.length)return!1;let r=new Map;for(let o of e){if(o.type==="grouped")continue;let s=Rvn(o);r.set(s,o.url)}let n=!0,i=!0;for(let o of t){if(o.type==="grouped")continue;let s=Rvn(o),a=r.get(s);a?a===o.url&&(i=!1):n=!1}return n&&i}function p1s(e){return e.defaultUrl??e.url}function MZy(e){if(e.length===0||!e[0])return"api";let t=e[0];return t.type==="grouped"?Object.keys(t.urls)[0]??"api":l1s(p1s(t))}function VZy(e){return e.some(t=>t.type==="grouped")}function UZy(e,t,r){if(!(r?.groupMultiApiEnvironments===!0))return{apiVersion:e.apiVersion??t.apiVersion,title:e.title??t.title,description:e.description??t.description,basePath:e.basePath??t.basePath,servers:[...e.servers,...t.servers],websocketServers:[...e.websocketServers,...t.websocketServers],tags:{tagsById:{...e.tags.tagsById,...t.tags.tagsById},orderedTagIds:e.tags.orderedTagIds==null&&t.tags.orderedTagIds==null?void 0:[...e.tags.orderedTagIds??[],...t.tags.orderedTagIds??[]]},hasEndpointsMarkedInternal:e.hasEndpointsMarkedInternal||t.hasEndpointsMarkedInternal,endpoints:[...e.endpoints,...t.endpoints],webhooks:[...e.webhooks,...t.webhooks],channels:{...e.channels,...t.channels},groupedSchemas:Dvn(e.groupedSchemas,t.groupedSchemas,r),variables:{...e.variables,...t.variables},nonRequestReferencedSchemas:new Set([...e.nonRequestReferencedSchemas,...t.nonRequestReferencedSchemas]),securitySchemes:{...e.securitySchemes,...t.securitySchemes},security:u1s(e.security,t.security),globalHeaders:e.globalHeaders!=null?[...e.globalHeaders,...t.globalHeaders??[]]:void 0,idempotencyHeaders:e.idempotencyHeaders!=null?[...e.idempotencyHeaders,...t.idempotencyHeaders??[]]:void 0,groups:{...e.groups,...t.groups}};if(QZy(e.servers,t.servers)){let o=[],s=[],a=MZy(t.servers),c=new Map;for(let p of e.servers)if(p.type==="grouped"){let m=p.name??"default";c.has(m)||c.set(m,{});let f=c.get(m);if(f)for(let[h,y]of Object.entries(p.urls))f[h]=y}else{let m=l1s(p1s(p)),f=Rvn(p);c.has(f)||c.set(f,{});let h=c.get(f);h&&(h[m]={url:p.url,audiences:p.audiences,defaultUrl:p.defaultUrl,urlTemplate:p.urlTemplate,variables:p.variables})}for(let p of t.servers){let m=Rvn(p);c.has(m)||c.set(m,{});let f=c.get(m);f&&(f[a]={url:p.url,audiences:p.audiences,defaultUrl:p.defaultUrl,urlTemplate:p.urlTemplate,variables:p.variables})}for(let[p,m]of c.entries()){let f={type:"grouped",name:p,description:`${p} environment`,urls:m};o.push(f)}let u=e.endpoints.map(p=>{let m=p.__apiName;if(m)return{...p,type:"multi-api",apiName:m,servers:[{name:m,url:void 0,audiences:void 0}]};let f=e.servers[0],h=f!=null&&f.type!=="grouped"?l1s(p1s(f)):"api";return{...p,type:"multi-api",apiName:h,servers:[{name:h,url:void 0,audiences:void 0}]}}),l=t.endpoints.map(p=>({...p,type:"multi-api",apiName:a,servers:[{name:a,url:void 0,audiences:void 0}]}));return s=[...u,...l],{apiVersion:e.apiVersion??t.apiVersion,title:e.title??t.title,description:e.description??t.description,basePath:e.basePath??t.basePath,servers:o,websocketServers:[...e.websocketServers,...t.websocketServers],tags:{tagsById:{...e.tags.tagsById,...t.tags.tagsById},orderedTagIds:e.tags.orderedTagIds==null&&t.tags.orderedTagIds==null?void 0:[...e.tags.orderedTagIds??[],...t.tags.orderedTagIds??[]]},hasEndpointsMarkedInternal:e.hasEndpointsMarkedInternal||t.hasEndpointsMarkedInternal,endpoints:s.map(p=>{if(p.type==="multi-api"){let{type:h,apiName:y,servers:g,...A}=p;return{...A,__apiName:y,servers:g}}let{type:m,...f}=p;return f}),webhooks:[...e.webhooks,...t.webhooks],channels:{...e.channels,...t.channels},groupedSchemas:Dvn(e.groupedSchemas,t.groupedSchemas,r),variables:{...e.variables,...t.variables},nonRequestReferencedSchemas:new Set([...e.nonRequestReferencedSchemas,...t.nonRequestReferencedSchemas]),securitySchemes:{...e.securitySchemes,...t.securitySchemes},security:u1s(e.security,t.security),globalHeaders:e.globalHeaders!=null?[...e.globalHeaders,...t.globalHeaders??[]]:void 0,idempotencyHeaders:e.idempotencyHeaders!=null?[...e.idempotencyHeaders,...t.idempotencyHeaders??[]]:void 0,groups:{...e.groups,...t.groups}}}return{apiVersion:e.apiVersion??t.apiVersion,title:e.title??t.title,description:e.description??t.description,basePath:e.basePath??t.basePath,servers:[...e.servers,...t.servers],websocketServers:[...e.websocketServers,...t.websocketServers],tags:{tagsById:{...e.tags.tagsById,...t.tags.tagsById},orderedTagIds:e.tags.orderedTagIds==null&&t.tags.orderedTagIds==null?void 0:[...e.tags.orderedTagIds??[],...t.tags.orderedTagIds??[]]},hasEndpointsMarkedInternal:e.hasEndpointsMarkedInternal||t.hasEndpointsMarkedInternal,endpoints:[...e.endpoints,...t.endpoints],webhooks:[...e.webhooks,...t.webhooks],channels:{...e.channels,...t.channels},groupedSchemas:Dvn(e.groupedSchemas,t.groupedSchemas,r),variables:{...e.variables,...t.variables},nonRequestReferencedSchemas:new Set([...e.nonRequestReferencedSchemas,...t.nonRequestReferencedSchemas]),securitySchemes:{...e.securitySchemes,...t.securitySchemes},security:u1s(e.security,t.security),globalHeaders:e.globalHeaders!=null?[...e.globalHeaders,...t.globalHeaders??[]]:void 0,idempotencyHeaders:e.idempotencyHeaders!=null?[...e.idempotencyHeaders,...t.idempotencyHeaders??[]]:void 0,groups:{...e.groups,...t.groups}}}function Dvn(e,t,r){let n=gbe(),i=r?.resolveSchemaCollisions??!1,o={...e.rootSchemas};for(let[s,a]of Object.entries(t.rootSchemas)){let c=n.getUniqueSchemaId(s,void 0,i);o[c]=a}e.rootSchemas=o;for(let[s,a]of Object.entries(t.namespacedSchemas))if(e.namespacedSchemas[s]!=null){let c=e.namespacedSchemas[s];for(let[u,l]of Object.entries(a)){let p=n.getUniqueSchemaId(u,void 0,i);c[p]=l}}else e.namespacedSchemas[s]=a;return e}var l6u=He(Fwn(),1),Nwn={config:new l6u.Config({apis:{},styleguide:{plugins:[$Ts],rules:{struct:"warn"}}},void 0),dereference:!1,removeUnusedComponents:!1,keepUrlRefs:!1};function Dce({options:e,overrides:t}={}){return{...DK({options:e,overrides:t}),...FAt({options:e,overrides:t})}}var rPg={shouldUseTitleAsName:"useTitlesAsName",shouldUseUndiscriminatedUnionsWithLiterals:["shouldUseUndiscriminatedUnionsWithLiterals","discriminatedUnionV2"],shouldUseIdiomaticRequestNames:"shouldUseIdiomaticRequestNames",asyncApiMessageNaming:"asyncApiNaming",shouldUseOptionalAdditionalProperties:"optionalAdditionalProperties",coerceEnumsToLiterals:"coerceEnumsToLiterals",objectQueryParameters:"objectQueryParameters",respectReadonlySchemas:"respectReadonlySchemas",respectNullableSchemas:"respectNullableSchemas",onlyIncludeReferencedSchemas:"onlyIncludeReferencedSchemas",inlinePathParameters:"inlinePathParameters",useBytesForBinaryResponse:"useBytesForBinaryResponse",respectForwardCompatibleEnums:"respectForwardCompatibleEnums",filter:"filter",defaultFormParameterEncoding:"defaultFormParameterEncoding",exampleGeneration:"exampleGeneration",additionalPropertiesDefaultsTo:"additionalPropertiesDefaultsTo",typeDatesAsStrings:"typeDatesAsStrings",preserveSingleSchemaOneOf:"preserveSingleSchemaOneOf",inlineAllOfSchemas:"inlineAllOfSchemas",resolveAliases:"resolveAliases",groupMultiApiEnvironments:"groupMultiApiEnvironments",groupEnvironmentsByHost:"groupEnvironmentsByHost",wrapReferencesToNullableInOptional:"wrapReferencesToNullableInOptional",coerceOptionalSchemasToNullable:"coerceOptionalSchemasToNullable",removeDiscriminantsFromSchemas:"removeDiscriminantsFromSchemas",defaultIntegerFormat:"defaultIntegerFormat",pathParameterOrder:"pathParameterOrder",resolveSchemaCollisions:"resolveSchemaCollisions"};function nPg(e,t,r){r!==void 0&&(e[t]=r)}function kwn(e){let t={};if(e!=null)for(let[r,n]of Object.entries(rPg)){let i=e[r],o=Array.isArray(n)?n:[n];for(let s of o)nPg(t,s,i)}return Dce({options:t})}function ZMt(e){if(e.settings==null&&e.apiOverride?.auth==null&&e.apiOverride?.["auth-schemes"]==null)return;let t={detectGlobalHeaders:!0};return e.settings?.unions==="v1"&&(t.discriminatedUnionV2=!0),e.apiOverride?.auth!=null&&(t.auth=e.apiOverride.auth),e.apiOverride?.["auth-schemes"]!=null&&(t.authSchemes=e.apiOverride["auth-schemes"]),t}function Pbt(e){return e.swagger!=null}function Jks(e){return e.openapi!=null}function dWe(e,t={}){return{...Object.fromEntries(II(e.namedDefinitionFiles).map(([r,n])=>[r,{...n,defaultUrl:t.defaultURL}])),...II(e.importedDefinitions).reduce((r,[n,i])=>({...r,...L_r(dWe(i.definition,{defaultURL:i.url}),(o,s)=>gC(n,nc.of(s)))}),{})}}function DIr(e,t={}){return{...Object.fromEntries(II(e.packageMarkers).map(([r,n])=>[r,{...n,defaultUrl:t.defaultURL}])),...II(e.importedDefinitions).reduce((r,[n,i])=>({...r,...L_r(DIr(i.definition,{defaultURL:i.url}),(o,s)=>gC(n,nc.of(s)))}),{})}}function I2e(e){return{...DIr(e),...dWe(e)}}function qK(e,t){return I2e(e.definition)[t]?.contents}function SS(e,t){for(let[r,n]of II(I2e(e.definition)))t(r,n.contents,{isPackageMarker:WM(r)===By,defaultUrl:n.defaultUrl})}function Ibt(e,t){for(let[r,n]of II(DIr(e.definition)))t(r,n.contents)}var p6u=He(require("path"),1);async function zwn({schema:e,value:t,context:r,filepathBeingParsed:n}){let i=await e.safeParseAsync(t);if(i.success)return i.data;let o=i.error.errors.map(a=>{let c=a.path.length>0?`${a.message} at "${iPg(a.path)}"`:a.message;return Iae({content:c,prefix:" - "})}),s=[`Failed to parse file: ${p6u.default.relative(process.cwd(),n)}`,...o].join(`
1527
1527
  `);return r.failAndThrow(s)}function iPg(e){return e.reduce((t,r)=>typeof r=="number"?t+"["+r+"]":t+(t===""?"":".")+r,"")}var f6u=He(require("path"),1),oPg={dependencies:{}};async function m6u({absolutePathToWorkspace:e,rawDependenciesConfiguration:t,context:r}){if(t==null)return oPg;let n={};for(let[i,o]of Object.entries(t.dependencies))if(aPg(o)){let s=Ar.of(f6u.default.join(e,o));await qr(s)?n[i]={type:"local",absoluteFilepath:s,path:o}:r.failWithoutThrowing(`Path to ${i} dependency does not exist: ${s}`)}else{let a=i.substring(1).split("/"),c=a[0],u=a[1];c!=null&&u!=null?n[i]={type:"version",organization:c,apiName:u,version:o}:r.failWithoutThrowing(`Failed to parse dependency: ${i}`)}return r.getResult()===YA.Failure&&r.failAndThrow(),{dependencies:n}}var sPg=/^\.\.\/.*$/;function aPg(e){return sPg.test(e)}var h6u=require("fs/promises");var d6u=$t.object({dependencies:$t.record($t.string(),$t.string())});async function y6u({absolutePathToWorkspace:e,context:t}){let r=Pt(e,Ke.of(mRu));if(!await qr(r))return;let n=await(0,h6u.readFile)(r),i=Cn.load(n.toString());return await zwn({schema:d6u,value:i,context:t,filepathBeingParsed:r})}async function Yks({absolutePathToWorkspace:e,context:t}){let r=await y6u({absolutePathToWorkspace:e,context:t});return m6u({absolutePathToWorkspace:e,rawDependenciesConfiguration:r,context:t})}w3r();function g6u(e={accentPrimary:void 0,background:void 0},t){e.accentPrimary=e.accentPrimary??e.accentPrimaryDeprecated;let r=Mwn(e);switch(r){case"dark":return{type:"dark",...Qwn(e,t,"dark")};case"light":return{type:"light",...Qwn(e,t,"light")};case"darkAndLight":return{type:"darkAndLight",dark:Qwn(e,t,"dark"),light:Qwn(e,t,"light")};default:Ve(r)}}function Mwn({background:e,accentPrimary:t,accentPrimaryDeprecated:r}){if(t=t??r,typeof e=="string"&&typeof t=="string")return da(e).isDark()?"dark":"light";if(e!=null){if(typeof e=="string")return da(e).isDark()?"dark":"light";if(e.dark!=null&&e.light!=null)return"darkAndLight"}if(t!=null){if(typeof t=="string")return da(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 Qwn(e,t,r){let n=XD(e.accentPrimary??e.accentPrimaryDeprecated,t,"accent-primary",r)??da.random(),i=XD(e.background,t,"background",r);return{accentPrimary:n.toRgb(),background:i?.toRgb(),border:XD(e.border,t,"border",r)?.toRgb(),sidebarBackground:XD(e.sidebarBackground,t,"sidebar-background",r)?.toRgb(),headerBackground:XD(e.headerBackground,t,"header-background",r)?.toRgb(),cardBackground:XD(e.cardBackground,t,"card-background",r)?.toRgb(),accent1:XD(e.accent1,t,"accent-1",r)?.toRgb(),accent2:XD(e.accent2,t,"accent-2",r)?.toRgb(),accent3:XD(e.accent3,t,"accent-3",r)?.toRgb(),accent4:XD(e.accent4,t,"accent-4",r)?.toRgb(),accent5:XD(e.accent5,t,"accent-5",r)?.toRgb(),accent6:XD(e.accent6,t,"accent-6",r)?.toRgb(),accent7:XD(e.accent7,t,"accent-7",r)?.toRgb(),accent8:XD(e.accent8,t,"accent-8",r)?.toRgb(),accent9:XD(e.accent9,t,"accent-9",r)?.toRgb(),accent10:XD(e.accent10,t,"accent-10",r)?.toRgb(),accent11:XD(e.accent11,t,"accent-11",r)?.toRgb(),accent12:XD(e.accent12,t,"accent-12",r)?.toRgb(),logo:void 0,backgroundImage:void 0}}function RIr(e,t,r){if(e==null)return;let n=typeof e=="string"?e:e[r];if(n==null&&t==="accent-primary"&&typeof e!="string"&&(n=e[r==="dark"?"light":"dark"]),n!=null)return n}function XD(e,t,r,n){let i=RIr(e,r,n);if(i==null)return;let o=da(i);return o.isValid()||t.failAndThrow(`'${typeof e=="string"?r:`colors.${r}.${n}`}' should be a hex color of the format #FFFFFF`),o}JO();var axn=require("fs/promises");var U9u=He(require("path"),1);var b6u=require("fs/promises");var A6u=100;async function cPg({files:e,absolutePathToFernFolder:t}){let r=await Promise.all(e.map(async n=>{let i=await(0,b6u.readFile)(n,"utf-8");return[zj(t,n),i]}));return Object.fromEntries(r)}async function _6u({files:e,absolutePathToFernFolder:t}){let r={};for(let n=0;n<e.length;n+=A6u){let i=e.slice(n,n+A6u),o=await cPg({files:i,absolutePathToFernFolder:t});Object.assign(r,o)}return r}function Uwn({landingPage:e,navigation:t}){return E$([e?.absolutePath,...uPg(t)])}function uPg(e){switch(e.type){case"tabbed":return e.items.flatMap(t=>t.child.type==="layout"?t.child.layout.flatMap(r=>Vwn({item:r})):t.child.type==="variants"?t.child.variants.flatMap(r=>r.layout.flatMap(n=>Vwn({item:n}))):t.child.type==="changelog"?t.child.changelog:[]);case"untabbed":return e.items.flatMap(t=>Vwn({item:t}));case"versioned":return e.versions.flatMap(t=>Uwn({landingPage:t.landingPage,navigation:t.navigation}));case"productgroup":return e.products.flatMap(t=>t.type==="external"?[]:Uwn({landingPage:t.landingPage,navigation:t.navigation}));default:Ve(e)}}function Vwn({item:e}){switch(e.type){case"apiSection":return E$([e.overviewAbsolutePath,...e.navigation.flatMap(t=>v6u({item:t}))]);case"link":return[];case"page":return[e.absolutePath];case"section":return E$([e.overviewAbsolutePath,...e.contents.flatMap(t=>Vwn({item:t}))]);case"changelog":return e.changelog;case"librarySection":return[];default:Ve(e)}}function v6u({item:e}){return e.type==="page"?[e.absolutePath]:e.type==="package"||e.type==="section"?E$([e.overviewAbsolutePath,...e.contents.flatMap(t=>v6u({item:t}))]):[]}var nxn=require("fs/promises"),dzs=He(Dbe(),1);function exn({name:e}){return e.replace(/\.(md|mdx)$/i,"").toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}function txn({name:e}){return e.replace(/\.(md|mdx)$/i,"").replace(/[-_]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}async function M9u({absolutePath:e,readFileFn:t=(r,n)=>(0,nxn.readFile)(r,n)}){try{let r=await t(e,"utf-8"),{data:n}=(0,dzs.default)(r);if(n.position==null)return;let i=typeof n.position=="string"?parseFloat(n.position):n.position;return typeof i=="number"&&Number.isFinite(i)?i:void 0}catch{return}}async function rxn({absolutePath:e,readFileFn:t=(r,n)=>(0,nxn.readFile)(r,n)}){try{let r=await t(e,"utf-8"),{data:n}=(0,dzs.default)(r);return typeof n.title=="string"&&n.title.trim().length>0?n.title.trim():void 0}catch{return}}async function hzs({directoryPath:e,titleSource:t,getDir:r=AC,readFileFn:n=(i,o)=>(0,nxn.readFile)(i,o)}){let i=await r(e),o=t==="frontmatter",s=i.filter(f=>f.type==="file"&&(f.name.toLowerCase().endsWith(".md")||f.name.toLowerCase().endsWith(".mdx"))),a=i.filter(f=>f.type==="directory"),[c,u]=await Promise.all([Promise.all(s.map(f=>M9u({absolutePath:f.absolutePath,readFileFn:n}))),o?Promise.all(s.map(f=>rxn({absolutePath:f.absolutePath,readFileFn:n}))):Promise.resolve(s.map(()=>{}))]),l=s.map((f,h)=>({type:"page",title:u[h]??txn({name:f.name}),absolutePath:f.absolutePath,slug:exn({name:f.name}),icon:void 0,hidden:void 0,noindex:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0,availability:void 0})),p=await Promise.all(a.map(async f=>{let h=await hzs({directoryPath:f.absolutePath,titleSource:t,getDir:r,readFileFn:n}),y=h.find(_=>_.type==="page"&&(_.slug==="index"||_.absolutePath.toLowerCase().endsWith("/index.mdx")||_.absolutePath.toLowerCase().endsWith("/index.md"))),g=y?h.filter(_=>_!==y):h,b=(o&&y?.type==="page"?await rxn({absolutePath:y.absolutePath,readFileFn:n}):void 0)??txn({name:f.name}),v=y?.type==="page"?await M9u({absolutePath:y.absolutePath,readFileFn:n}):void 0;return{section:{type:"section",title:b,slug:exn({name:f.name}),icon:void 0,contents:g,collapsed:void 0,hidden:void 0,skipUrlSlug:!1,overviewAbsolutePath:y?.type==="page"?y.absolutePath:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0,availability:void 0},position:v}})),m=[...l.map((f,h)=>({item:f,title:f.type==="page"?f.title:"",position:c[h]})),...p.map(f=>({item:f.section,title:f.section.type==="section"?f.section.title:"",position:f.position}))];return m.sort((f,h)=>{let y=typeof f.position=="number",g=typeof h.position=="number";if(y&&!g)return-1;if(!y&&g)return 1;if(typeof f.position=="number"&&typeof h.position=="number"){let A=f.position-h.position;return A!==0?A:f.title.localeCompare(h.title,void 0,{sensitivity:"base"})}return f.title.localeCompare(h.title,void 0,{sensitivity:"base"})}),m.map(f=>f.item)}function vSg(e){return!e||e.startsWith("<")?!1:e.startsWith(".")||e.includes("/")||e.includes("\\")||e.includes(":")}function KP(e,t){if(e)return vSg(e)?FI(e,t):e}async function _zs({rawDocsConfiguration:e,absolutePathToFernFolder:t,absoluteFilepathToDocsConfig:r,context:n}){let{instances:i,title:o,tabs:s,products:a,versions:c,navigation:u,navbarLinks:l,footerLinks:p,defaultLanguage:m,metadata:f,redirects:h,logo:y,favicon:g,backgroundImage:A,colors:b,typography:v,layout:_,integrations:E,css:O,js:P,aiChat:x,aiSearch:I,pageActions:F,experimental:q}=e,W=LIr(e.landingPage,r),G=e.settings?.folderTitleSource,re=RSg({tabs:s,products:a,versions:c,navigation:u,absolutePathToFernFolder:t,absolutePathToConfig:r,context:n,folderTitleSource:G}),oe=re.then(Ot=>_6u({files:Uwn({navigation:Ot,landingPage:W}),absolutePathToFernFolder:t})),H=ESg(y,r),ee=FI(g,r),Ge=OSg(A,r),Je=v!=null?FSg({rawTypography:v,absoluteFilepathToDocsConfig:r}):void 0,J=wSg(O,r),K=ISg(P,r),Pe=ijg(f,r),[we,Me,Ze,Oe,de,vt]=await Promise.all([re,oe,Je,J,K,Pe]);return{title:o,instances:i,roles:e.roles,libraries:$Sg(e.libraries),pages:Me,landingPage:W,navigation:we,navbarLinks:rjg(l,r),footerLinks:njg(p),defaultLanguage:m,languages:e.languages,announcement:e.announcement,metadata:vt,redirects:h?.map(Ot=>({...Ot,permanent:Ot?.permanent})),logo:H,favicon:ee,backgroundImage:Ge,colors:g6u(b,n),typography:Ze,layout:DSg(_),settings:TSg(e.settings),theme:BSg(e.theme),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:{...E,intercom:E?.intercom?E.intercom:void 0},css:Oe,js:de,aiChatConfig:I??x,pageActions:CSg(F,r),header:FI(e.header,r),footer:FI(e.footer,r),experimental:q}}function ESg(e,t){return e!=null?{dark:FI(e.dark,t),light:FI(e.light,t),height:e.height,href:e.href!=null?An.Url(e.href):void 0,rightText:e.rightText}:void 0}function OSg(e,t){if(e!=null)if(typeof e=="string"){let r=FI(e,t);return{dark:r,light:r}}else{let r=FI(e.dark,t),n=FI(e.light,t);return{dark:r,light:n}}}async function wSg(e,t){if(e==null)return;let r=typeof e=="string"?[e]:e;return{inline:await Promise.all(r.map(async n=>(await(0,axn.readFile)(FI(n,t))).toString()))}}function xSg(e){return Object.hasOwn(e,"url")}function PSg(e){return Object.hasOwn(e,"path")}async function ISg(e,t){let r=[],n=[];if(e==null)return{files:[]};let i=Array.isArray(e)?e:[e];for(let o of i)typeof o=="string"?n.push({absolutePath:FI(o,t)}):xSg(o)?r.push({strategy:o.strategy,url:An.Url(o.url)}):PSg(o)&&n.push({absolutePath:FI(o.path,t),strategy:o.strategy});return{remote:r,files:n}}function CSg(e,t){return e==null?void 0:{default:e.default!=null?SSg(e.default):void 0,options:{askAi:e.options?.askAi??!0,copyPage:e.options?.copyPage??!0,viewAsMarkdown:e.options?.viewAsMarkdown??!0,openAi:e.options?.chatgpt??!0,claude:e.options?.claude??!0,cursor:e.options?.cursor??!0,vscode:e.options?.vscode??!1,custom:(e.options?.custom??[]).map(n=>jSg(n,t))}}}function SSg(e){switch(e){case"copy-page":return An.docs.v1.commons.PageActionOption.CopyPage;case"view-as-markdown":return An.docs.v1.commons.PageActionOption.ViewAsMarkdown;case"ask-ai":return An.docs.v1.commons.PageActionOption.AskAi;case"chatgpt":return An.docs.v1.commons.PageActionOption.OpenAi;case"claude":return An.docs.v1.commons.PageActionOption.Claude;case"cursor":return An.docs.v1.commons.PageActionOption.Cursor;case"vscode":return An.docs.v1.commons.PageActionOption.Vscode;default:Ve(e)}}function jSg(e,t){return{title:e.title,subtitle:e.subtitle,url:e.url,icon:KP(e.icon,t),default:e.default}}function BSg(e){if(e!=null)return{sidebar:e.sidebar??"default",tabs:e.tabs??"default",body:e.body??"default",pageActions:e.pageActions??"default",footerNav:e.footerNav??"default",languageSwitcher:e.languageSwitcher??"default",productSwitcher:e.productSwitcher??"default"}}function TSg(e){if(e!=null)return{darkModeCode:e.darkModeCode??!1,defaultSearchFilters:e.defaultSearchFilters??!1,language:e.language??"en",disableSearch:e.disableSearch??!1,hide404Page:e.hide404Page??!1,httpSnippets:e.httpSnippets??!0,searchText:e.searchText??void 0,useJavascriptAsTypescript:e.useJavascriptAsTypescript??!1,disableExplorerProxy:e.disableExplorerProxy??!1,disableAnalytics:e.disableAnalytics??!1}}function DSg(e){if(e!=null)return{pageWidth:e.pageWidth?.trim().toLowerCase()==="full"?{type:"full"}:ixn(e.pageWidth),contentWidth:ixn(e.contentWidth),sidebarWidth:ixn(e.sidebarWidth),headerHeight:ixn(e.headerHeight),searchbarPlacement:e.searchbarPlacement==="header"?An.docs.v1.commons.SearchbarPlacement.Header:e.searchbarPlacement==="header-tabs"?An.docs.v1.commons.SearchbarPlacement.HeaderTabs:An.docs.v1.commons.SearchbarPlacement.Sidebar,switcherPlacement:!e.switcherPlacement||e.switcherPlacement==="header"?An.docs.v1.commons.SwitcherPlacement.Header:An.docs.v1.commons.SwitcherPlacement.Sidebar,tabsPlacement:e.tabsPlacement==="header"?An.docs.v1.commons.TabsPlacement.Header:An.docs.v1.commons.TabsPlacement.Sidebar,contentAlignment:e.contentAlignment==="left"?An.docs.v1.commons.ContentAlignment.Left:An.docs.v1.commons.ContentAlignment.Center,headerPosition:e.headerPosition==="static"?An.docs.v1.commons.HeaderPosition.Absolute:An.docs.v1.commons.HeaderPosition.Fixed,disableHeader:e.disableHeader??!1,hideNavLinks:e.hideNavLinks??!1,hideFeedback:e.hideFeedback??!1}}function ixn(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 n=t.match(/^(\d+)rem$/);if(n!=null&&n[1]!=null)return{type:"rem",value:parseFloat(n[1])}}async function V9u({versions:e,absolutePathToFernFolder:t,context:r,folderTitleSource:n}){let i=[];for(let o of e){let s=ya(t,o.path),a=Cn.load((await(0,axn.readFile)(s)).toString()),c=[],u=w$(a,[],c);c.length>0&&r.logger.warn(`Version file ${o.path} contained null/undefined sections that were ignored: ${c.map(m=>m.join(".")).join(", ")}`);let l=tq.RawSchemas.Serializer.VersionFileConfig.parseOrThrow(u),p=await bzs({tabs:l.tabs,rawNavigationConfig:l.navigation,absolutePathToFernFolder:t,absolutePathToConfig:s,context:r,folderTitleSource:n});i.push({landingPage:LIr(l.landingPage,s),version:o.displayName,navigation:p,availability:o.availability,slug:o.slug,hidden:o.hidden,viewers:eR(o.viewers),orphaned:o.orphaned,featureFlags:ZD(o.featureFlag),announcement:o.announcement})}return{type:"versioned",versions:i}}async function RSg({tabs:e,products:t,versions:r,navigation:n,absolutePathToFernFolder:i,absolutePathToConfig:o,context:s,folderTitleSource:a}){if(n!=null)return await bzs({tabs:e,rawNavigationConfig:n,absolutePathToFernFolder:i,absolutePathToConfig:o,context:s,folderTitleSource:a});if(t!=null){let c=[];for(let u of t){let l=u.image!=null?ya(i,u.image):void 0;if("path"in u){let p,m=ya(i,u.path),f=Cn.load((await(0,axn.readFile)(m)).toString()),h=[],y=w$(f,[],h);h.length>0&&s.logger.warn(`Product file ${u.path} contained null/undefined sections that were ignored: ${h.map(A=>A.join(".")).join(", ")}`);let g=tq.RawSchemas.Serializer.ProductFileConfig.parseOrThrow(y);u.versions!=null&&u.versions.length>0?p=await V9u({versions:u.versions,absolutePathToFernFolder:i,context:s,folderTitleSource:a}):p=await bzs({tabs:g.tabs,rawNavigationConfig:g.navigation,absolutePathToFernFolder:i,absolutePathToConfig:m,context:s,folderTitleSource:a}),c.push({type:"internal",landingPage:LIr(g.landingPage,m),product:u.displayName,navigation:p,slug:u.slug,subtitle:u.subtitle,icon:KP(u.icon,o)||"fa-solid fa-code",image:l,viewers:eR(u.viewers),orphaned:u.orphaned,featureFlags:ZD(u.featureFlag),announcement:u.announcement})}else if("href"in u&&u.href!=null)c.push({type:"external",product:u.displayName,href:u.href,target:u.target,subtitle:u.subtitle,icon:KP(u.icon,o)||"fa-solid fa-code",image:l,viewers:eR(u.viewers),orphaned:u.orphaned,featureFlags:ZD(u.featureFlag)});else throw new Error("Invalid product configuration: product must have either 'path' or valid 'href' property")}return{type:"productgroup",products:c}}else if(r!=null)return await V9u({versions:r,absolutePathToFernFolder:i,context:s,folderTitleSource:a});throw new Error("Unexpected. Docs have neither navigation or versions defined.")}function ZD(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 FSg({rawTypography:e,absoluteFilepathToDocsConfig:t}){return{headingsFont:e.headingsFont!=null?await yzs({rawFontConfig:e.headingsFont,absoluteFilepathToDocsConfig:t}):void 0,bodyFont:e.bodyFont!=null?await yzs({rawFontConfig:e.bodyFont,absoluteFilepathToDocsConfig:t}):void 0,codeFont:e.codeFont!=null?await yzs({rawFontConfig:e.codeFont,absoluteFilepathToDocsConfig:t}):void 0}}async function yzs({rawFontConfig:e,absoluteFilepathToDocsConfig:t}){return{name:e.name,variants:await NSg(e,t),display:e.display,fallback:e.fallback,fontVariationSettings:e.fontVariationSettings}}function NSg(e,t){let r=[];return e.path!=null&&r.push({path:e.path,weight:e.weight,style:e.style}),e.paths?.forEach(n=>{typeof n=="string"?r.push({path:n,weight:e.weight,style:e.style}):r.push({path:n.path,weight:n.weight??e.weight,style:n.style??e.style})}),Promise.all(r.map(async n=>({absolutePath:FI(n.path,t),weight:kSg(n.weight),style:n.style})))}function kSg(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 zSg({tabs:e,item:t,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o}){let s=e[t.tab];if(s==null)throw new Error(`Tab ${t.tab} is not defined in the tabs config.`);if(tjg(t)){let a=await Promise.all(t.variants.map(async c=>{let u=await Promise.all(c.layout.map(l=>sxn({rawConfig:l,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o})));return{title:c.title,subtitle:c.subtitle,icon:KP(c.icon,n),layout:u,slug:c.slug,skipUrlSlug:c.skipSlug,hidden:c.hidden,default:c.default,viewers:eR(c.viewers),orphaned:c.orphaned,featureFlags:ZD(c.featureFlag)}}));return{title:s.displayName,icon:KP(s.icon,n),slug:s.slug,skipUrlSlug:s.skipSlug,hidden:s.hidden,child:{type:"variants",variants:a},viewers:eR(s.viewers),orphaned:s.orphaned,featureFlags:ZD(s.featureFlag)}}if(ejg(t)){let a=await Promise.all(t.layout.map(c=>sxn({rawConfig:c,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o})));return{title:s.displayName,icon:KP(s.icon,n),slug:s.slug,skipUrlSlug:s.skipSlug,hidden:s.hidden,child:{type:"layout",layout:a},viewers:eR(s.viewers),orphaned:s.orphaned,featureFlags:ZD(s.featureFlag)}}if(s.href!=null)return{title:s.displayName,icon:KP(s.icon,n),slug:s.slug,skipUrlSlug:s.skipSlug,hidden:s.hidden,child:{type:"link",href:s.href,target:s.target},viewers:eR(s.viewers),orphaned:s.orphaned,featureFlags:ZD(s.featureFlag)};if(s.changelog!=null)return{title:s.displayName,icon:KP(s.icon,n),slug:s.slug,skipUrlSlug:s.skipSlug,hidden:s.hidden,child:{type:"changelog",changelog:await ak(FI(s.changelog,n),"{md,mdx}")},viewers:eR(s.viewers),orphaned:s.orphaned,featureFlags:ZD(s.featureFlag)};Ve(s)}async function bzs({tabs:e={},rawNavigationConfig:t,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o}){return ZSg(t)?{type:"tabbed",items:await Promise.all(t.map(a=>zSg({tabs:e,item:a,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o})))}:{type:"untabbed",items:await Promise.all(t.map(s=>sxn({rawConfig:s,absolutePathToFernFolder:r,absolutePathToConfig:n,context:i,folderTitleSource:o})))}}var QSg="Changelog";async function MSg({rawConfig:e,absolutePathToFernFolder:t,absolutePathToConfig:r,context:n,folderTitleSource:i}){let o=FI(e.folder,r);await qr(o)||n.failAndThrow(`Folder not found: ${e.folder}`);let s=e.titleSource??i,a=await hzs({directoryPath:o,titleSource:s}),c=a.find(h=>h.type==="page"&&(h.slug==="index"||h.absolutePath.toLowerCase().endsWith("/index.mdx")||h.absolutePath.toLowerCase().endsWith("/index.md"))),u=c?a.filter(h=>h!==c):a,l=U9u.default.basename(o),p=s==="frontmatter"&&c?.type==="page"?await rxn({absolutePath:c.absolutePath}):void 0,m=e.title??p??txn({name:l}),f=e.slug??exn({name:l});return{type:"section",title:m,icon:KP(e.icon,r),contents:u,slug:f,collapsed:e.collapsed??void 0,hidden:e.hidden??void 0,skipUrlSlug:e.skipSlug??!1,overviewAbsolutePath:c?.type==="page"?c.absolutePath:void 0,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag),availability:e.availability}}async function sxn({rawConfig:e,absolutePathToFernFolder:t,absolutePathToConfig:r,context:n,folderTitleSource:i}){if(L9u(e))return LIr(e,r);if(USg(e))return{type:"section",title:e.section,icon:KP(e.icon,r),contents:await Promise.all(e.contents.map(o=>sxn({rawConfig:o,absolutePathToFernFolder:t,absolutePathToConfig:r,context:n,folderTitleSource:i}))),slug:e.slug??void 0,collapsed:e.collapsed??void 0,hidden:e.hidden??void 0,skipUrlSlug:e.skipSlug??!1,overviewAbsolutePath:FI(e.path,r),viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag),availability:e.availability};if(LSg(e))return{type:"apiSection",openrpc:e.openrpc,title:e.api,icon:KP(e.icon,r),apiName:e.apiName??void 0,audiences:e.audiences!=null?{type:"select",audiences:qIr(e.audiences)??[]}:{type:"all"},availability:e.availability,showErrors:e.displayErrors??!0,tagDescriptionPages:e.tagDescriptionPages??!1,snippetsConfiguration:e.snippets!=null?VSg({rawConfig:e.snippets}):void 0,postman:e.postman,navigation:e.layout?.flatMap(o=>oxn(o,r))??[],overviewAbsolutePath:FI(e.summary,r),collapsed:e.collapsed??void 0,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:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)};if(q9u(e))return{type:"link",text:e.link,url:e.href,icon:KP(e.icon,r),target:e.target};if(qSg(e))return{type:"changelog",changelog:await ak(FI(e.changelog,r),"{md,mdx}"),hidden:e.hidden??!1,icon:KP(e.icon,r),title:e.title??QSg,slug:e.slug,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)};if(WSg(e))return await MSg({rawConfig:e,absolutePathToFernFolder:t,absolutePathToConfig:r,context:n,folderTitleSource:i});if(GSg(e))return{type:"librarySection",libraryName:e.library,title:e.title??void 0,slug:e.slug??void 0,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)};Ve(e)}function LIr(e,t){if(e!=null)return{type:"page",title:e.page,absolutePath:FI(e.path,t),slug:e.slug,icon:KP(e.icon,t),hidden:e.hidden,noindex:e.noindex,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag),availability:e.availability}}function oxn(e,t){return typeof e=="string"?[{type:"item",value:e}]:L9u(e)?[LIr(e,t)]:q9u(e)?[{type:"link",text:e.link,url:e.href,icon:KP(e.icon,t),target:e.target}]:KSg(e)?[{type:"section",title:e.section,referencedSubpackages:e.referencedPackages??[],overviewAbsolutePath:FI(e.summary,t),contents:e.contents?.flatMap(r=>oxn(r,t))??[],slug:e.slug,hidden:e.hidden,skipUrlSlug:e.skipSlug,availability:e.availability,icon:KP(e.icon,t),playground:e.playground,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)}]:JSg(e)?[{type:"endpoint",endpoint:e.endpoint,title:e.title,icon:KP(e.icon,t),slug:e.slug,hidden:e.hidden,availability:e.availability,playground:e.playground,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)}]:YSg(e)?[{type:"operation",operation:e.operation,title:e.title,slug:e.slug,hidden:e.hidden,availability:e.availability,viewers:eR(e.viewers),orphaned:e.orphaned,featureFlags:ZD(e.featureFlag)}]:Object.entries(e).map(([r,n])=>XSg(n)?{type:"package",title:n.title,package:r,overviewAbsolutePath:FI(n.summary,t),contents:n.contents?.flatMap(i=>oxn(i,t))??[],slug:n.slug,hidden:n.hidden,skipUrlSlug:n.skipSlug,icon:KP(n.icon,t),playground:n.playground,availability:n.availability,viewers:eR(n.viewers),orphaned:n.orphaned,featureFlags:ZD(n.featureFlag)}:{type:"package",title:void 0,package:r,overviewAbsolutePath:void 0,contents:n.flatMap(i=>oxn(i,t)),hidden:!1,slug:void 0,skipUrlSlug:!1,icon:void 0,playground:void 0,availability:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}function VSg({rawConfig:e}){return{python:e.python,typescript:e.typescript,go:e.go,java:e.java,ruby:e.ruby,csharp:e.csharp,php:e.php,swift:e.swift}}function L9u(e){return cl(e)&&typeof e.page=="string"&&typeof e.path=="string"}function USg(e){return e.section!=null}function LSg(e){return e.api!=null}function q9u(e){return tq.RawSchemas,cl(e)&&typeof e.link=="string"&&typeof e.href=="string"}function qSg(e){return cl(e)&&typeof e.changelog=="string"}function WSg(e){return cl(e)&&typeof e.folder=="string"}function GSg(e){return cl(e)&&typeof e.library=="string"}function HSg(e){return"git"in e}function $Sg(e){if(e==null)return;let t={};for(let[r,n]of Object.entries(e)){if(!HSg(n.input))throw new Error(`Library '${r}' uses 'path' input which is not yet supported. Please use 'git' input.`);t[r]={input:{git:n.input.git,subpath:n.input.subpath},output:{path:n.output.path},lang:n.lang}}return t}function KSg(e){return cl(e)&&typeof e.section=="string"&&Array.isArray(e.contents)}function JSg(e){return cl(e)&&typeof e.endpoint=="string"}function YSg(e){return cl(e)&&typeof e.operation=="string"}function XSg(e){return!Array.isArray(e)}function FI(e,t){if(e!=null)return ya(Ci(t),e)}function ZSg(e){return Array.isArray(e)&&e.length>0&&e[0].tab!=null}function ejg(e){return"layout"in e&&Array.isArray(e.layout)}function tjg(e){return"variants"in e&&Array.isArray(e.variants)}function rjg(e,t){return e?.map(r=>{if(r.type==="github"){let i=r.value;return typeof i=="string"?{type:"github",url:An.Url(i),viewers:void 0,target:void 0}:{type:"github",url:An.Url(i.url),viewers:gzs(i.viewers),target:i.target}}let n=gzs(r.viewers);return r.type==="dropdown"?{type:"dropdown",text:r.text,icon:KP(r.icon,t),rightIcon:KP(r.rightIcon,t),rounded:r.rounded,viewers:n,links:r.links?.map(i=>({href:i.href,target:i.target,url:An.Url(i.url??i.href??"/"),text:i.text,icon:KP(i.icon,t),rightIcon:KP(i.rightIcon,t),rounded:i.rounded,viewers:gzs(i.viewers)}))??[]}:{type:r.type,text:r.text,url:An.Url(r.href??r.url??"/"),target:r.target,icon:KP(r.icon,t),rightIcon:KP(r.rightIcon,t),rounded:r.rounded,viewers:n}})}function gzs(e){if(e!=null)return Array.isArray(e)?e.map(t=>An.RoleId(t)):[An.RoleId(e)]}function njg(e){if(e==null)return;let t=[];if(Object.keys(e).forEach(r=>{let n=e[r];n!=null&&t.push({type:r,value:An.Url(n)})}),t.length!==0)return t}async function ijg(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 Azs(e.ogImage,t),"og:image:width":e.ogImageWidth,"og:image:height":e.ogImageHeight,"og:locale":e.ogLocale,"og:logo":await Azs(e.ogLogo,t),"twitter:title":e.twitterTitle,"twitter:description":e.twitterDescription,"twitter:image":await Azs(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,canonicalHost:e.canonicalHost}}async function Azs(e,t){if(e==null)return;if(e.startsWith("http"))return{type:"url",value:e};let r=FI(e,t);return await qr(r)?{type:"filepath",value:r}:{type:"url",value:e}}function eR(e){if(e!=null){if(typeof e=="string")return[An.RoleId(e)];if(e.length!==0)return e.map(An.RoleId)}}function qIr(e){if(e!=null){if(typeof e=="string")return[e];if(e.length!==0)return e}}var G9u=require("fs/promises");var W9u=$t.strictObject({organization:$t.string(),version:$t.string()});async function T9({directory:e,context:t}){let r=Pt(e,Ke.of(SC)),n=await(0,G9u.readFile)(r),i=JSON.parse(n.toString()),o=await zwn({schema:W9u,value:i,context:t,filepathBeingParsed:r});return{_absolutePath:r,rawConfig:o,organization:o.organization,version:o.version}}var w={TYPESCRIPT:"fernapi/fern-typescript",TYPESCRIPT_SDK:"fernapi/fern-typescript-sdk",TYPESCRIPT_NODE_SDK:"fernapi/fern-typescript-node-sdk",TYPESCRIPT_BROWSER_SDK:"fernapi/fern-typescript-browser-sdk",TYPESCRIPT_EXPRESS:"fernapi/fern-typescript-express",JAVA:"fernapi/fern-java",JAVA_MODEL:"fernapi/fern-java-model",JAVA_SDK:"fernapi/fern-java-sdk",JAVA_SPRING:"fernapi/fern-java-spring",PYTHON_FASTAPI:"fernapi/fern-fastapi-server",PYTHON_PYDANTIC:"fernapi/fern-pydantic-model",PYTHON_SDK:"fernapi/fern-python-sdk",GO_MODEL:"fernapi/fern-go-model",GO_SDK:"fernapi/fern-go-sdk",RUBY_SDK:"fernapi/fern-ruby-sdk",CSHARP_MODEL:"fernapi/fern-csharp-model",CSHARP_SDK:"fernapi/fern-csharp-sdk",SWIFT_MODEL:"fernapi/fern-swift-model",SWIFT_SDK:"fernapi/fern-swift-sdk",PHP_MODEL:"fernapi/fern-php-model",PHP_SDK:"fernapi/fern-php-sdk",RUST_MODEL:"fernapi/fern-rust-model",RUST_SDK:"fernapi/fern-rust-sdk",OPENAPI:"fernapi/fern-openapi",STOPLIGHT:"fernapi/fern-stoplight",POSTMAN:"fernapi/fern-postman",OPENAPI_PYTHON_CLIENT:"fernapi/openapi-python-client"};var WIr={[w.JAVA]:{version:"2.38.1"},[w.TYPESCRIPT_EXPRESS]:{version:"0.18.4",output:{location:"local-file-system",path:"../src/fern"}},[w.JAVA_MODEL]:{version:"1.0.0"},[w.JAVA_SDK]:{version:"2.38.1",output:{location:"local-file-system",path:"../sdks/java/src/main/java/"}},[w.JAVA_SPRING]:{version:"0.9.2",output:{location:"local-file-system",path:"../src/main/java/com/fern"}},[w.TYPESCRIPT]:{version:"0.0.247"},[w.TYPESCRIPT_SDK]:{version:"2.3.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[w.TYPESCRIPT_NODE_SDK]:{version:"2.3.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[w.TYPESCRIPT_BROWSER_SDK]:{version:"1.0.0",output:{location:"local-file-system",path:"../sdks/typescript"}},[w.PYTHON_PYDANTIC]:{version:"1.4.7"},[w.PYTHON_FASTAPI]:{version:"1.7.0",output:{location:"local-file-system",path:"../src/fern"}},[w.PYTHON_SDK]:{version:"4.23.2",output:{location:"local-file-system",path:"../sdks/python"}},[w.GO_MODEL]:{version:"0.23.5"},[w.GO_SDK]:{version:"1.4.0",output:{location:"local-file-system",path:"../sdks/go"},config:{module:{path:"sdk"}}},[w.RUBY_SDK]:{version:"0.8.2",output:{location:"local-file-system",path:"../sdks/ruby"}},[w.OPENAPI]:{version:"0.1.7",config:{format:"yaml"},output:{location:"local-file-system",path:"../openapi"}},[w.STOPLIGHT]:{version:"0.0.28",config:{format:"yaml"}},[w.POSTMAN]:{version:"0.4.0",output:{location:"local-file-system",path:"../postman"}},[w.OPENAPI_PYTHON_CLIENT]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/python"},config:{format:"yaml"}},[w.CSHARP_MODEL]:{version:"0.0.1"},[w.CSHARP_SDK]:{version:"2.0.2",output:{location:"local-file-system",path:"../sdks/csharp"}},[w.SWIFT_MODEL]:{version:"0.0.0"},[w.SWIFT_SDK]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/swift/sdk"}},[w.PHP_MODEL]:{version:"0.0.0"},[w.PHP_SDK]:{version:"1.16.3",output:{location:"local-file-system",path:"../sdks/php/sdk"}},[w.RUST_MODEL]:{version:"0.0.1",output:{location:"local-file-system",path:"../models/rust"}},[w.RUST_SDK]:{version:"0.0.1",output:{location:"local-file-system",path:"../sdks/rust"}}};var GIr="fernapi",Fbt="fern-api";function tR(e){return e=uVt(e),e.includes("/")?e:`${GIr}/${e}`}function uVt(e){let t=`${Fbt}/`;return e.startsWith(t)?`${GIr}/${e.slice(t.length)}`:e}function vzs(e,t){let r=`${Fbt}/`;if(e.startsWith(r)){let n=`${GIr}/${e.slice(r.length)}`;return t.logger.warn(`"${e}" is not a valid generator name. Using "${n}" instead \u2014 the Docker org is "fernapi", not "fern-api".`),n}return e}function Ezs(e){let t=`${GIr}/`;return e.startsWith(t)?e.slice(t.length):e}function Ozs(e,t){let r=Nbt(e);return r??t.failAndThrow("Unrecognized generator: "+e)}var ojg={"fernapi/java-model":w.JAVA_MODEL,"fernapi/fern-typescript-node-sdk":w.TYPESCRIPT_SDK};function Nbt(e){e=tR(e);let t=ojg[e];if(t!=null&&(e=t),sjg(e))return e}function sjg(e){return Object.values(w).includes(e)}var cxn=He(zbr(),1),H9u=He(y3(),1);async function Rce({generatorName:e,cliVersion:t,channel:r,currentGeneratorVersion:n,includeMajor:i,context:o}){let s=H9u.default.parse(n),a="https://registry.buildwithfern.com",c=new cxn.FernRegistryClient({environment:a});o?.logger.debug(`Getting latest version for ${e} with CLI version ${t}, includeMajor: ${i}, prior version: ${s}, FDR origin: ${a}`);let u={generator:ajg(e,o),releaseTypes:[r??cxn.FernRegistry.generators.ReleaseType.Ga],cliVersion:t};!i&&s!=null&&(u.generatorMajorVersion=s.major),o?.logger.debug(`[FDR] getLatestGeneratorRelease request: ${JSON.stringify(u)}`);let l=await c.generators.versions.getLatestGeneratorRelease(u);if(l.ok)return o?.logger.debug(`[FDR] getLatestGeneratorRelease response for ${e}: version=${l.body.version}, irVersion=${l.body.irVersion}`),l.body.version;o?.logger.debug(`[FDR] getLatestGeneratorRelease failed for ${e}: ${JSON.stringify(l)}`)}function ajg(e,t){switch(e.startsWith("fernapi/")&&(e=e.replace("fernapi/","")),e){case"fern-python-sdk":return"python-sdk";case"fern-pydantic-model":return"pydantic";case"fern-fastapi-server":return"fastapi";case"fern-typescript":case"fern-typescript-browser-sdk":case"fern-typescript-node-sdk":case"fern-typescript-sdk":return"ts-sdk";case"fern-typescript-express":return"ts-express";case"fern-java-sdk":return"java-sdk";case"fern-java-model":case"java-model":return"java-model";case"fern-java-spring":return"java-spring";case"fern-go-sdk":return"go-sdk";case"fern-go-model":return"go-model";case"fern-csharp-sdk":return"csharp-sdk";case"fern-csharp-model":return"csharp-model";case"fern-ruby-sdk":return"ruby-sdk";case"fern-postman":return"postman";case"fern-openapi":return"openapi";case"fern-php-sdk":return"php-sdk";case"fern-php-model":return"php-model";case"fern-rust-sdk":return"rust-sdk";case"fern-rust-model":return"rust-model";case"fern-swift-sdk":return"swift-sdk";case"fern-swift-model":return"swift-model";default:return t?.logger.warn(`Unrecognized generator name found, attempting to parse manually: ${e}`),e.startsWith("fern-")?e.replace("fern-",""):e}}async function $9u({generatorsConfiguration:e,groupName:t=e[Ei.DEFAULT_GROUP_GENERATORS_CONFIG_KEY],context:r,update:n}){if(t==null)return r.failAndThrow("No group specified.");let i=e.groups??={},o=i[t];if(o==null){let s=i[t]??={generators:[]};await n(s,t)}else await n(o,t);return e}async function wzs({generatorName:e,generatorsConfiguration:t,groupName:r=t[p2t],context:n,cliVersion:i}){let o=Ozs(e,n),s=Ezs(o),a=WIr[o];return await $9u({generatorsConfiguration:t,groupName:r,context:n,update:async c=>{c.generators.some(u=>tR(u.name)===o)&&n.failAndThrow(`${e} is already installed in group ${r}.`),c.generators.push({name:s,...a,version:await Rce({cliVersion:i,generatorName:o,context:n,channel:void 0})??a.version})}})}var Fce=require("fs/promises"),Vbt=He(require("path"),1);var jGu=require("buffer"),vxn=He(J9u(),1),Axn=He(zP(),1),_7u=require("child_process"),nHu=He(Pzs(),1),dHu=require("path"),pVt=He(Pzs(),1),BHu=require("events"),Hzs=Object.defineProperty,djg=Object.getOwnPropertyDescriptor,$zs=Object.getOwnPropertyNames,hjg=Object.prototype.hasOwnProperty,ms=(e,t)=>function(){return e&&(t=(0,e[$zs(e)[0]])(e=0)),t},yjg=(e,t)=>function(){return t||(0,e[$zs(e)[0]])((t={exports:{}}).exports,t),t.exports},BS=(e,t)=>{for(var r in t)Hzs(e,r,{get:t[r],enumerable:!0})},gjg=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $zs(t))!hjg.call(e,i)&&i!==r&&Hzs(e,i,{get:()=>t[i],enumerable:!(n=djg(t,i))||n.enumerable});return e},RC=e=>gjg(Hzs({},"__esModule",{value:!0}),e);function Ajg(...e){let t=new String(e);return _xn.set(t,e),t}function hxn(e){return e instanceof String&&_xn.has(e)}function Y9u(e){return _xn.get(e)||[]}var _xn,JIr=ms({"src/lib/args/pathspec.ts"(){"use strict";_xn=new WeakMap}}),B2e,AWe=ms({"src/lib/errors/git-error.ts"(){"use strict";B2e=class extends Error{constructor(e,t){super(t),this.task=e,Object.setPrototypeOf(this,new.target.prototype)}}}}),YIr,mVt=ms({"src/lib/errors/git-response-error.ts"(){"use strict";AWe(),YIr=class extends B2e{constructor(e,t){super(void 0,t||String(e)),this.git=e}}}}),CGu,SGu=ms({"src/lib/errors/task-configuration-error.ts"(){"use strict";AWe(),CGu=class extends B2e{constructor(e){super(void 0,e)}}}});function BGu(e){return typeof e!="function"?Mbt:e}function TGu(e){return typeof e=="function"&&e!==Mbt}function DGu(e,t){let r=e.indexOf(t);return r<=0?[e,""]:[e.substr(0,r),e.substr(r+1)]}function RGu(e,t=0){return FGu(e)&&e.length>t?e[t]:void 0}function Qbt(e,t=0){if(FGu(e)&&e.length>t)return e[e.length-1-t]}function FGu(e){return xxn(e)}function XIr(e="",t=!0,r=`
1528
1528
  `){return e.split(r).reduce((n,i)=>{let o=t?i.trim():i;return o&&n.push(o),n},[])}function Kzs(e,t){return XIr(e,!0).map(r=>t(r))}function Jzs(e){return(0,vxn.exists)(e,vxn.FOLDER)}function lv(e,t){return Array.isArray(e)?e.includes(t)||e.push(t):e.add(t),t}function NGu(e,t){return Array.isArray(e)&&!e.includes(t)&&e.push(t),e}function Exn(e,t){if(Array.isArray(e)){let r=e.indexOf(t);r>=0&&e.splice(r,1)}else e.delete(t);return t}function Rbe(e){return Array.isArray(e)?e:[e]}function kGu(e){return e.replace(/[\s-]+(.)/g,(t,r)=>r.toUpperCase())}function dVt(e){return Rbe(e).map(t=>t instanceof String?t:String(t))}function Qw(e,t=0){if(e==null)return t;let r=parseInt(e,10);return Number.isNaN(r)?t:r}function $Ir(e,t){let r=[];for(let n=0,i=e.length;n<i;n++)r.push(t,e[n]);return r}function KIr(e){return(Array.isArray(e)?jGu.Buffer.concat(e):e).toString("utf-8")}function zGu(e,t){let r={};return t.forEach(n=>{e[n]!==void 0&&(r[n]=e[n])}),r}function Dzs(e=0){return new Promise(t=>setTimeout(t,e))}function Rzs(e){if(e!==!1)return e}var fVt,Mbt,ZIr,Oxn=ms({"src/lib/utils/util.ts"(){"use strict";Yzs(),fVt="\0",Mbt=()=>{},ZIr=Object.prototype.toString.call.bind(Object.prototype.toString)}});function F9(e,t,r){return t(e)?e:arguments.length>2?r:void 0}function Fzs(e,t){let r=hxn(e)?"string":typeof e;return/number|string|boolean/.test(r)&&(!t||!t.includes(r))}function wxn(e){return!!e&&ZIr(e)==="[object Object]"}function QGu(e){return typeof e=="function"}var eCr,MGu,rR,yxn,xxn,Yzs=ms({"src/lib/utils/argument-filters.ts"(){"use strict";JIr(),Oxn(),eCr=e=>Array.isArray(e),MGu=e=>typeof e=="number",rR=e=>typeof e=="string",yxn=e=>rR(e)||Array.isArray(e)&&e.every(rR),xxn=e=>e==null||"number|boolean|function".includes(typeof e)?!1:typeof e.length=="number"}}),Nzs,bjg=ms({"src/lib/utils/exit-codes.ts"(){"use strict";Nzs=(e=>(e[e.SUCCESS=0]="SUCCESS",e[e.ERROR=1]="ERROR",e[e.NOT_FOUND=-2]="NOT_FOUND",e[e.UNCLEAN=128]="UNCLEAN",e))(Nzs||{})}}),gxn,_jg=ms({"src/lib/utils/git-output-streams.ts"(){"use strict";gxn=class VGu{constructor(t,r){this.stdOut=t,this.stdErr=r}asStrings(){return new VGu(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function vjg(){throw new Error("LineParser:useMatches not implemented")}var vd,gWe,Ejg=ms({"src/lib/utils/line-parser.ts"(){"use strict";vd=class{constructor(e,t){this.matches=[],this.useMatches=vjg,this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,o)=>this.addMatch(i,o,r(o)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(e)?e:[e],t&&(this.useMatches=t)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(e,t,r){let n=r&&e.exec(r);return n&&this.pushMatch(t,n),!!n}pushMatch(e,t){this.matches.push(...t.slice(1))}},gWe=class extends vd{addMatch(e,t,r){return/^remote:\s/.test(String(r))&&super.addMatch(e,t,r)}pushMatch(e,t){(e>0||t.length>1)&&super.pushMatch(e,t)}}}});function UGu(...e){let t=process.cwd(),r=Object.assign({baseDir:t,...LGu},...e.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||t,r.trimmed=r.trimmed===!0,r}var LGu,Ojg=ms({"src/lib/utils/simple-git-options.ts"(){"use strict";LGu={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function Xzs(e,t=[]){return wxn(e)?Object.keys(e).reduce((r,n)=>{let i=e[n];if(hxn(i))r.push(i);else if(Fzs(i,["boolean"]))r.push(n+"="+i);else if(Array.isArray(i))for(let o of i)Fzs(o,["string","number"])||r.push(n+"="+o);else r.push(n);return r},t):t}function hq(e,t=0,r=!1){let n=[];for(let i=0,o=t<0?e.length:t;i<o;i++)"string|number".includes(typeof e[i])&&n.push(String(e[i]));return Xzs(Zzs(e),n),r||n.push(...wjg(e)),n}function wjg(e){let t=typeof Qbt(e)=="function";return dVt(F9(Qbt(e,t?1:0),eCr,[]))}function Zzs(e){let t=QGu(Qbt(e));return F9(Qbt(e,t?1:0),wxn)}function FC(e,t=!0){let r=BGu(Qbt(e));return t||TGu(r)?r:void 0}var xjg=ms({"src/lib/utils/task-options.ts"(){"use strict";Yzs(),Oxn(),JIr()}});function kzs(e,t){return e(t.stdOut,t.stdErr)}function gq(e,t,r,n=!0){return Rbe(r).forEach(i=>{for(let o=XIr(i,n),s=0,a=o.length;s<a;s++){let c=(u=0)=>{if(!(s+u>=a))return o[s+u]};t.some(({parse:u})=>u(c,e))}}),e}var Pjg=ms({"src/lib/utils/task-parser.ts"(){"use strict";Oxn()}}),qGu={};BS(qGu,{ExitCodes:()=>Nzs,GitOutputStreams:()=>gxn,LineParser:()=>vd,NOOP:()=>Mbt,NULL:()=>fVt,RemoteLineParser:()=>gWe,append:()=>lv,appendTaskOptions:()=>Xzs,asArray:()=>Rbe,asCamelCase:()=>kGu,asFunction:()=>BGu,asNumber:()=>Qw,asStringArray:()=>dVt,bufferToString:()=>KIr,callTaskParser:()=>kzs,createInstanceConfig:()=>UGu,delay:()=>Dzs,filterArray:()=>eCr,filterFunction:()=>QGu,filterHasLength:()=>xxn,filterNumber:()=>MGu,filterPlainObject:()=>wxn,filterPrimitives:()=>Fzs,filterString:()=>rR,filterStringOrStringArray:()=>yxn,filterType:()=>F9,first:()=>RGu,folderExists:()=>Jzs,forEachLineWithContent:()=>Kzs,getTrailingOptions:()=>hq,including:()=>NGu,isUserFunction:()=>TGu,last:()=>Qbt,objectToString:()=>ZIr,orVoid:()=>Rzs,parseStringResponse:()=>gq,pick:()=>zGu,prefixedArray:()=>$Ir,remove:()=>Exn,splitOn:()=>DGu,toLinesWithContent:()=>XIr,trailingFunctionArgument:()=>FC,trailingOptionsArgument:()=>Zzs});var Lf=ms({"src/lib/utils/index.ts"(){"use strict";Yzs(),bjg(),_jg(),Ejg(),Ojg(),xjg(),Pjg(),Oxn()}}),WGu={};BS(WGu,{CheckRepoActions:()=>zzs,checkIsBareRepoTask:()=>HGu,checkIsRepoRootTask:()=>GGu,checkIsRepoTask:()=>Ijg});function Ijg(e){switch(e){case"bare":return HGu();case"root":return GGu()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:Pxn,parser:e2s}}function GGu(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:Pxn,parser(t){return/^\.(git)?$/.test(t.trim())}}}function HGu(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:Pxn,parser:e2s}}function Cjg(e){return/(Not a git repository|Kein Git-Repository)/i.test(String(e))}var zzs,Pxn,e2s,$Gu=ms({"src/lib/tasks/check-is-repo.ts"(){"use strict";Lf(),zzs=(e=>(e.BARE="bare",e.IN_TREE="tree",e.IS_REPO_ROOT="root",e))(zzs||{}),Pxn=({exitCode:e},t,r,n)=>{if(e===128&&Cjg(t))return r(Buffer.from("false"));n(t)},e2s=e=>e.trim()==="true"}});function Sjg(e,t){let r=new KGu(e),n=e?YGu:JGu;return XIr(t).forEach(i=>{let o=i.replace(n,"");r.paths.push(o),(XGu.test(o)?r.folders:r.files).push(o)}),r}var KGu,JGu,YGu,XGu,jjg=ms({"src/lib/responses/CleanSummary.ts"(){"use strict";Lf(),KGu=class{constructor(e){this.dryRun=e,this.paths=[],this.files=[],this.folders=[]}},JGu=/^[a-z]+\s*/i,YGu=/^[a-z]+\s+[a-z]+\s*/i,XGu=/\/$/}}),Qzs={};BS(Qzs,{EMPTY_COMMANDS:()=>Ixn,adhocExecTask:()=>ZGu,configurationErrorTask:()=>yq,isBufferTask:()=>t7u,isEmptyTask:()=>r7u,straightThroughBufferTask:()=>e7u,straightThroughStringTask:()=>DV});function ZGu(e){return{commands:Ixn,format:"empty",parser:e}}function yq(e){return{commands:Ixn,format:"empty",parser(){throw typeof e=="string"?new CGu(e):e}}}function DV(e,t=!1){return{commands:e,format:"utf-8",parser(r){return t?String(r).trim():r}}}function e7u(e){return{commands:e,format:"buffer",parser(t){return t}}}function t7u(e){return e.format==="buffer"}function r7u(e){return e.format==="empty"||!e.commands.length}var Ixn,jS=ms({"src/lib/tasks/task.ts"(){"use strict";SGu(),Ixn=[]}}),n7u={};BS(n7u,{CONFIG_ERROR_INTERACTIVE_MODE:()=>t2s,CONFIG_ERROR_MODE_REQUIRED:()=>r2s,CONFIG_ERROR_UNKNOWN_OPTION:()=>n2s,CleanOptions:()=>pxn,cleanTask:()=>i7u,cleanWithOptionsTask:()=>Bjg,isCleanOptionsArray:()=>Tjg});function Bjg(e,t){let{cleanMode:r,options:n,valid:i}=Djg(e);return r?i.options?(n.push(...t),n.some(Njg)?yq(t2s):i7u(r,n)):yq(n2s+JSON.stringify(e)):yq(r2s)}function i7u(e,t){return{commands:["clean",`-${e}`,...t],format:"utf-8",parser(n){return Sjg(e==="n",n)}}}function Tjg(e){return Array.isArray(e)&&e.every(t=>i2s.has(t))}function Djg(e){let t,r=[],n={cleanMode:!1,options:!0};return e.replace(/[^a-z]i/g,"").split("").forEach(i=>{Rjg(i)?(t=i,n.cleanMode=!0):n.options=n.options&&Fjg(r[r.length]=`-${i}`)}),{cleanMode:t,options:r,valid:n}}function Rjg(e){return e==="f"||e==="n"}function Fjg(e){return/^-[a-z]$/i.test(e)&&i2s.has(e.charAt(1))}function Njg(e){return/^-[^\-]/.test(e)?e.indexOf("i")>0:e==="--interactive"}var t2s,r2s,n2s,pxn,i2s,o7u=ms({"src/lib/tasks/clean.ts"(){"use strict";jjg(),Lf(),jS(),t2s="Git clean interactive mode is not supported",r2s='Git clean mode parameter ("n" or "f") is required',n2s="Git clean unknown option found in: ",pxn=(e=>(e.DRY_RUN="n",e.FORCE="f",e.IGNORED_INCLUDED="x",e.IGNORED_ONLY="X",e.EXCLUDING="e",e.QUIET="q",e.RECURSIVE="d",e))(pxn||{}),i2s=new Set(["i",...dVt(Object.values(pxn))])}});function kjg(e){let t=new a7u;for(let r of s7u(e))t.addValue(r.file,String(r.key),r.value);return t}function zjg(e,t){let r=null,n=[],i=new Map;for(let o of s7u(e,t))o.key===t&&(n.push(r=o.value),i.has(o.file)||i.set(o.file,[]),i.get(o.file).push(r));return{key:t,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function Qjg(e){return e.replace(/^(file):/,"")}function*s7u(e,t=null){let r=e.split("\0");for(let n=0,i=r.length-1;n<i;){let o=Qjg(r[n++]),s=r[n++],a=t;if(s.includes(`
@@ -1963,7 +1963,7 @@ https://buildwithfern.com/learn/docs/getting-started/project-structure#api-defin
1963
1963
  Learn more about project structure:
1964
1964
  https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`;throw new Error(r)}async toRootNode(){let t=er.V1.SlugGenerator.init(er.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),n=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:n,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(i=>er.RoleId(i)),featureFlags:void 0}}async toRootChild(t){return Mj(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),productgroup:r=>this.toProductGroupNode({landingPageConfig:this.parsedDocsConfig.landingPage,productGroup:r,parentSlug:t})})}toLandingPageNode(t,r){let n=er.PageId(this.toRelativeFilepath(t.absolutePath)),i=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(n),title:t.title,slug:i.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:n,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:n}){let i=this.#e.get("unversioned"),o=t!=null?this.toLandingPageNode(t,n):void 0,s=r.type==="tabbed"?await this.convertTabbedNavigation(i,r.items,n):await this.toSidebarRootNode(i,r.items,n);return{type:"unversioned",id:i,landingPage:o,child:s}}async toVersionedNode(t,r){let n=this.#e.get("versioned"),i=t.versions[0];if(i?.hidden===!0)throw new Error(`The default version "${i.version}" cannot be hidden. Please set a non-hidden version as the first version in your versions list, or remove the hidden flag from the default version.`);let o=5,s=[];for(let a=0;a<t.versions.length;a+=o){let c=t.versions.slice(a,a+o),u=await Promise.all(c.map((l,p)=>this.toVersionNode(l,r,a+p===0)));s.push(...u)}return{id:n,type:"versioned",children:s}}async toProductGroupNode({productGroup:t,landingPageConfig:r,parentSlug:n}){let i=this.#e.get("productgroup"),o=r!=null?this.toLandingPageNode(r,n):void 0;return{id:i,type:"productgroup",landingPage:o,children:await Promise.all(t.products.map(s=>this.toProductNode(s,n)))}}async toProductNode(t,r){if(t.type==="internal"){let n=r.setProductSlug(t.slug??O0(t.product)),i;switch(t.navigation.type){case"tabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.convertTabbedNavigation(this.#e.get(t.product),t.navigation.items,n)};break;case"untabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.toSidebarRootNode(this.#e.get(t.product),t.navigation.items,n)};break;case"versioned":i=await this.toVersionedNode(t.navigation,n);break;default:Ve(t.navigation)}return{type:"product",id:this.#e.get(t.product),productId:er.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",slug:n.get(),child:i,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,pointsTo:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}else return{type:"productLink",id:this.#e.get(t.product),productId:er.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",href:zM.Url(t.href??""),target:t.target,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,viewers:t.viewers,orphaned:t.orphaned}}async toVersionNode(t,r,n){let i=this.#e.get(t.version),o=r.setVersionSlug(t.slug??O0(t.version)),s=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(i,t.navigation.items,o):await this.toSidebarRootNode(i,t.navigation.items,o);return{type:"version",id:i,versionId:er.VersionId(t.version),title:t.version,slug:o.get(),child:s,default:n,availability:t.availability!=null?yWg(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,o):void 0,hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}async toSidebarRootNode(t,r,n){let i=this.#e.get(`${t}/root`),s=(await Promise.all(r.map(c=>this.toNavigationChild({prefix:i,item:c,parentSlug:n})))).filter(c=>c!=null),a=[];return s.forEach(c=>{if(c.type==="apiReference"){a.push(c);return}if(c.type==="section"&&!c.collapsed){a.push(c);return}let u=a.length>0?a[a.length-1]:void 0,l;u?.type==="sidebarGroup"?l=u:(l={id:this.#e.get(`${i}/group`),type:"sidebarGroup",children:[]},a.push(l)),l.children.push(c)}),{type:"sidebarRoot",id:i,children:a}}async toSidebarRootNodeWithVariants(t,r,n){let i=this.#e.get(`${t}/root`);return{type:"sidebarRoot",id:i,children:[{type:"varianted",id:i,children:await Promise.all(r.map(o=>this.toVariantNode(o,i,n)))}]}}async toVariantNode(t,r,n){let i=this.#e.get(`${r}/variant/${t.slug??O0(t.title)}`),o=n.apply({urlSlug:t.slug??O0(t.title),skipUrlSlug:t.skipUrlSlug}),a=(await Promise.all(t.layout.map(c=>this.toVariantChild(c,i,o)))).filter(c=>c!=null);return{type:"variant",id:i,variantId:er.V1.VariantId(t.title),subtitle:t.subtitle??"",default:t.default??!1,image:void 0,children:a,title:t.title,slug:o.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,pointsTo:void 0}}async toVariantChild(t,r,n){return Mj(t)._visit({page:async i=>this.toPageNode({item:i,parentSlug:n}),apiSection:async i=>this.toApiSectionNode({item:i,parentSlug:n}),section:async i=>this.toSectionNode({prefix:r,item:i,parentSlug:n}),link:async i=>this.toLinkNode(i),changelog:async i=>this.toChangelogNode(i,n),librarySection:async i=>this.handleLibrarySection(i,n)})}async toNavigationChild({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){return Mj(r)._visit({page:async s=>this.toPageNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),apiSection:async s=>this.toApiSectionNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),section:async s=>this.toSectionNode({prefix:t,item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),link:async s=>this.toLinkNode(s),changelog:async s=>this.toChangelogNode(s,n,i),librarySection:async s=>this.handleLibrarySection(s,n)})}async toApiSectionNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=wcl(t.snippetsConfiguration),s,a,c,u,l=this.parsedDocsConfig.experimental?.openapiParserV3,p=l==null||l;if(p)try{c=this.getOpenApiWorkspaceForApiSection(t),s=await c.getIntermediateRepresentation({context:this.taskContext,audiences:t.audiences,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1})}catch(_){u=_}let m;if(t.tagDescriptionPages&&p)try{let E=await(c??this.getOpenApiWorkspaceForApiSection(t)).getOpenAPIIr({context:this.taskContext,loadAiExamples:!0});E.tags.tagsById&&(m=Object.fromEntries(Object.entries(E.tags.tagsById).filter(([O,P])=>P.description&&P.description.trim().length>0).map(([O,P])=>[eo(O),{id:String(P.id),description:P.description}])))}catch(_){this.taskContext.logger.warn("Failed to extract OpenAPI tags for tag description pages",String(_))}if(s==null){if(this.apiWorkspaces.length===0&&u!=null)throw u;a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0}),s=pw({workspace:a,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new eO(this.taskContext,a)})}else if(Object.keys(o).length>0)try{a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0})}catch(_){this.taskContext.logger.debug(`Could not load workspace for dynamic snippets: ${_}. Dynamic snippets may not be available.`)}this.docsWorkspace.config.settings?.substituteEnvVars&&(s=ZT(s,{onError:_=>this.taskContext.failAndThrow(`Error substituting environment variables in API spec: ${_}`)},{substituteAsEmpty:!1}));let f=await this.extractGraphQLData(),h=t.apiName??a?.workspaceName??c?.workspaceName,y=(c??a)?.getSources().find(_=>_.type==="openapi"),g=await this.registerApi({ir:s,snippetsConfig:o,playgroundConfig:{oauth:t.playground?.oauth},apiName:h,workspace:a,openApiSourceFilePath:y?.absoluteFilePath,graphqlOperations:f.operations,graphqlTypes:f.types}),A=kjr({ir:s,apiDefinitionId:g,playgroundConfig:{oauth:t.playground?.oauth},context:this.taskContext,graphqlOperations:f.operations,graphqlTypes:f.types}),b=new tBn(t,A,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.#e,this.collectedFileIds,a,n,i??t.availability,m,f.namespacesByOperationId),v=b.getTagDescriptionContent();for(let[_,E]of v.entries()){let O=_.split("/").pop()||_,P=Ke.of(O),x=E;this.docsWorkspace.config.settings?.substituteEnvVars&&(x=ZT(E,{onError:I=>this.taskContext.logger.error(`Error in tag description environment variable substitution: ${I}`)},{substituteAsEmpty:!1})),this.rawMarkdownFiles[P]=x,this.parsedDocsConfig.pages[P]=x}return b.get()}async toChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:n||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:er.V1.Url(t.url),icon:this.resolveIconFileId(t.icon),target:t.target}}async extractGraphQLData(){let t={},r={},n=new Map;for(let i of this.ossWorkspaces){let o=i.allSpecs.filter(s=>s.type==="graphql");for(let s of o)try{let c=await new IUt({context:this.taskContext,filePath:s.absoluteFilepath,namespace:s.namespace}).convert();if(Object.assign(t,c.graphqlOperations),Object.assign(r,c.types),s.namespace)for(let u of Object.keys(c.graphqlOperations))n.set(An.GraphQlOperationId(u),s.namespace)}catch(a){this.taskContext.logger.error(`Failed to process GraphQL spec ${s.absoluteFilepath}:`,String(a))}}return{operations:t,types:r,namespacesByOperationId:n}}async handleLibrarySection(t,r){let n=this.parsedDocsConfig.libraries?.[t.libraryName];if(n==null)return this.taskContext.logger.warn(`Library '${t.libraryName}' not found in libraries config. Skipping.`),null;let i=ya(this.docsWorkspace.absoluteFilePath,n.output.path),o=await this.loadLibraryNavNodes(t.libraryName,i);if(o==null)return null;let s=t.title??t.libraryName,a=r.apply({urlSlug:t.slug??O0(s)}),c=this.#e.get(`library/${t.libraryName}`),u;if(o.length>0){let p=o[0]?.slug.split("/").slice(0,-1).join("/");p&&(u=await this.registerLibraryMdxPage(i,`${p}.mdx`))}let l=await this.convertLibraryNavNodes(o,i,a);return{id:c,type:"section",overviewPageId:u,slug:a.get(),title:s,icon:void 0,collapsed:void 0,hidden:!1,viewers:t.viewers,orphaned:t.orphaned,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:t.featureFlags,availability:void 0}}async loadLibraryNavNodes(t,r){let n=Pt(r,Ke.of("_navigation.yml"));if(!(0,Y3s.existsSync)(n))return this.taskContext.logger.warn(`No _navigation.yml found for library '${t}' at ${n}. Run 'fern docs md generate' first.`),null;let o=(await(0,v9e.readFile)(n,"utf-8")).split(`
1965
1965
  `).filter(s=>!s.startsWith("#")).join(`
1966
- `);try{return Cn.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Pt(t,Ke.of(r));if(!(0,Y3s.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=hl(this.docsWorkspace.absoluteFilePath,n),o=await(0,v9e.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,er.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)}),a=this.#e.get(`library-section/${o.slug}`),c=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),u=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(u,r,s);i.push({id:a,type:"section",overviewPageId:c,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=er.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),c=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:c??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?er.PageId(s):void 0,c=this.#e.get(a??`${t}/section`),u=n.apply({urlSlug:r.slug??O0(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,m=i||r.hidden,h=(await Promise.all(r.contents.map(y=>this.toNavigationChild({prefix:c,item:y,parentSlug:u,hideChildren:m,parentAvailability:r.availability??o})))).filter(y=>y!=null);if(a==null){let y=h.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);y!=null&&(a=y.overviewPageId)}return{id:c,type:"section",overviewPageId:a,slug:u.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:m,viewers:r.viewers,orphaned:r.orphaned,children:h,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return Mj(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:er.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),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):zM.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}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:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}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 n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.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(Yc),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:zM.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,...i}=this.parsedDocsConfig.metadata;return{...i,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n)}}convertFileIdOrUrl(t){if(t!=null)return Mj(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:zM.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function hWg(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${KV(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function yWg(e){switch(e){case"beta":return er.V1.NavigationV1Availability.Beta;case"deprecated":return er.V1.NavigationV1Availability.Deprecated;case"ga":return er.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return er.V1.NavigationV1Availability.Stable;default:Ve(e)}}async function tz(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof nb?t:null))).filter(Yc)}async function X3s(e,t,r){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return $V({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Tu={};D(Tu,{AlgoliaSearchIndex:()=>qcl,ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,IndexSegmentId:()=>Wcl,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PayloadLocation:()=>nll,PropertyKey:()=>Pul,PullRequestState:()=>Xul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul,algolia:()=>Z3s,api:()=>uqs,commons:()=>lqs,diff:()=>Bul,docs:()=>bqs,generators:()=>vqs,git:()=>Eqs,navigation:()=>xqs,sdks:()=>Iqs,snippets:()=>tll,snippetsFactory:()=>rll,templates:()=>Cqs,tokens:()=>ill});var Z3s={};D(Z3s,{AlgoliaSearchIndex:()=>qcl,IndexSegmentId:()=>Wcl});function qcl(e){return e}function Wcl(e){return e}var uqs={};D(uqs,{latest:()=>rqs,v1:()=>cqs});var rqs={};D(rqs,{AuthSchemeId:()=>Gcl,WebhookHttpMethod:()=>Jcl,auth:()=>eqs,commons:()=>Hcl,endpoint:()=>$cl,type_:()=>Kcl,webhook:()=>tqs,websocket:()=>Ycl});var eqs={};D(eqs,{AuthSchemeId:()=>Gcl});function Gcl(e){return e}var Hcl={};var $cl={};var Kcl={};var tqs={};D(tqs,{WebhookHttpMethod:()=>Jcl});var Jcl={Get:"GET",Post:"POST"};var Ycl={};var cqs={};D(cqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul,commons:()=>aqs,db:()=>nqs,read:()=>oqs,register:()=>sqs});var nqs={};D(nqs,{endpoint:()=>Xcl});var Xcl={};var oqs={};D(oqs,{SupportedLanguage:()=>Zcl,endpoint:()=>iqs,type_:()=>eul,webhook:()=>tul,websocket:()=>rul});var iqs={};D(iqs,{SupportedLanguage:()=>Zcl});var Zcl={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var eul={};var tul={};var rul={};var sqs={};D(sqs,{SourceId:()=>gWg,endpoint:()=>nul,type_:()=>iul,webhook:()=>oul,websocket:()=>sul});var nul={};var iul={};var oul={};var sul={};function gWg(e){return e}var aqs={};D(aqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul});function aul(e){return e}function cul(e){return e}var uul={Client:"client",Server:"server"};var lul={Get:"GET",Post:"POST"};var lqs={};D(lqs,{ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PropertyKey:()=>Pul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul});function pul(e){return e}function ful(e){return e}function mul(e){return e}function dul(e){return e}function hul(e){return e}function yul(e){return e}function gul(e){return e}function Aul(e){return e}function bul(e){return e}function _ul(e){return e}function vul(e){return e}function Eul(e){return e}function Oul(e){return e}function wul(e){return e}function xul(e){return e}function Pul(e){return e}function Iul(e){return e}function Cul(e){return e}var Sul={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var jul={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Bul={};var bqs={};D(bqs,{latest:()=>mqs,v1:()=>gqs,v2:()=>Aqs});var mqs={};D(mqs,{Layout:()=>Dul,MdxEngine:()=>AWg,TwitterCardSetting:()=>Rul,commons:()=>Tul,frontmatter:()=>pqs,seo:()=>fqs});var AWg={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var Tul={};var pqs={};D(pqs,{Layout:()=>Dul});var Dul={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var fqs={};D(fqs,{TwitterCardSetting:()=>Rul});var Rul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var gqs={};D(gqs,{commons:()=>yqs,db:()=>Ful,read:()=>Nul,write:()=>dqs});var Ful={};var Nul={};var dqs={};D(dqs,{DocsRegistrationId:()=>_Wg,FilePath:()=>bWg});function bWg(e){return e}function _Wg(e){return e}var yqs={};D(yqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul,commons:()=>hqs});var hqs={};D(hqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul});var kul={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 zul={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var Qul={Header:"HEADER",Sidebar:"SIDEBAR"};var Mul={Center:"CENTER",Left:"LEFT"};var Vul={Fixed:"FIXED",Absolute:"ABSOLUTE"};var Uul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Lul={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var qul={Normal:"normal",Italic:"italic"};var Wul={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Aqs={};D(Aqs,{read:()=>Gul,write:()=>Hul});var Gul={};var Hul={};var vqs={};D(vqs,{ChangelogEntryType:()=>Kul,GeneratorId:()=>vWg,GeneratorLanguage:()=>EWg,ReleaseType:()=>Jul,cli:()=>$ul,commons:()=>_qs,versions:()=>Yul});var $ul={};var _qs={};D(_qs,{ChangelogEntryType:()=>Kul,ReleaseType:()=>Jul});var Kul={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var Jul={Ga:"GA",Rc:"RC"};var Yul={};function vWg(e){return e}var EWg={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Eqs={};D(Eqs,{PullRequestState:()=>Xul});var Xul={Open:"open",Closed:"closed",Merged:"merged"};var xqs={};D(xqs,{latest:()=>Oqs,v1:()=>wqs});var Oqs={};D(Oqs,{NodeId:()=>xWg,ProductId:()=>PWg,Slug:()=>OWg,TabId:()=>wWg});function OWg(e){return e}function wWg(e){return e}function xWg(e){return e}function PWg(e){return e}var wqs={};D(wqs,{NavigationV1Availability:()=>BWg,NodeId:()=>SWg,ProductId:()=>jWg,Slug:()=>IWg,TabId:()=>CWg});function IWg(e){return e}function CWg(e){return e}function SWg(e){return e}function jWg(e){return e}var BWg={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Iqs={};D(Iqs,{Language:()=>Zul,VersionBump:()=>ell,versions:()=>Pqs});var Pqs={};D(Pqs,{Language:()=>Zul,VersionBump:()=>ell});var Zul={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var ell={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var tll={};var rll={};var Cqs={};D(Cqs,{PayloadLocation:()=>nll});var nll={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var ill={};var pBn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function oll({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=Tu.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:ez(o)},i.push(o)})}),r}var fBn=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 sll(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var ta=class extends fBn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${sll(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})}}},MS=class extends ta{},Fq=class extends MS{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var all="x-fern-base-path",cll="x-fern-availability",mBn="x-fern-sdk-group-name",ull="x-fern-global-headers",lll="x-fern-sdk-method-name";var pll="x-fern-webhook",fll="x-fern-access-token-locator",mll="x-fern-basic",dll="x-fern-username-variable-name",hll="x-fern-password-variable-name",yll="x-fern-bearer",gll="x-fern-token-variable-name",All="x-fern-header",bll="x-fern-header-variable-name",_ll="x-fern-server-name",vll="x-fern-examples";var dBn=class extends ta{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_ll]}convert(){if(this.serverName!=null)return this.serverName}};var hBn=class extends ta{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new dBn({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:Tu.EnvironmentId(t),baseUrl:this.url}}};function E9e(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,c)=>new hBn({input:a,context:r,accessPath:n,pathId:["servers",`${c}`]}));return[...i,...s]}function hg(e){return typeof e=="object"&&ba(e)&&"$ref"in e&&typeof e.$ref=="string"}function rz(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(hg(i)&&(i=rz(i,t,r)),i)}function yBn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return hg(r)?rz(r,t,void 0):r}var Vll=He(FP());var gBn=class extends ta{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[mll];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var ABn=class extends ta{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[hll]}convert(){return this.passwordVariableName}};var bBn=class extends ta{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[dll]}convert(){return this.usernameVariableName}};var _Bn=class extends ta{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[yll];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var vBn=class extends ta{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[gll]}convert(){return this.tokenVariableName}};function Ell(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Oll="x-bearer-format",wll="x-code-samples",xll="x-codeSamples";var EBn=class extends ta{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Oll]}convert(){return this.bearerFormat}};var OBn=class extends ta{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[All];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var wBn=class extends ta{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[bll]}convert(){return this.headerVariableName}};function Pll(e){return e.type==="apiKey"}var o4t=class extends ta{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){Pll(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new OBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new wBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new EBn({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()}}};z$o();Nuc();function xBn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function s4t(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function lvt(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(lvt).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function PBn(e){if(Array.isArray(e))return e.map(s4t);if(typeof e=="symbol")return[e];e=lvt(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function zjr(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(pLr(t))return r;let n=e[t];return n===void 0?xBn(t)?zjr(e,PBn(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=s4t(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return TWg(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),pLr(t))return r;let n=e[t];return n===void 0?r:n}}}function TWg(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||pLr(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function Ill(e){return function(t){return zjr(t,e)}}function Cll(e){return e!==null&&(typeof e=="object"||typeof e=="function")}hHo();function Sqs(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Bqs(e,t,r){return typeof r!="function"?Bqs(e,t,()=>{}):jqs(e,t,function n(i,o,s,a,c,u){let l=r(i,o,s,a,c,u);return l!==void 0?!!l:jqs(i,o,n,u)},new Map)}function jqs(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return DWg(e,t,r,n);case"function":return Object.keys(t).length>0?jqs(e,{...t},r,n):Sqs(e,t);default:return Cll(e)?typeof t=="string"?t==="":!0:Sqs(e,t)}}function DWg(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Sll(e,t,r,n);if(t instanceof Map)return RWg(e,t,r,n);if(t instanceof Set)return FWg(e,t,r,n);let i=Object.keys(t);if(e==null||Jhr(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!Jhr(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function RWg(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function Sll(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let u=e[c],l=!1;if(r(u,s,o,e,t,n)&&(l=!0),l){i.add(c),a=!0;break}}if(!a)return!1}return!0}function FWg(e,t,r,n){return t.size===0?!0:e instanceof Set?Sll([...e],[...t],r,n):!1}function IBn(e,t){return Bqs(e,t,()=>{})}Fuc();function jll(e){return e=Ruc(e),t=>IBn(t,e)}gHo();oLr();yHo();function Bll(e,t){return Duc(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(qjt(e)===lLr&&typeof e.constructor!="function"){let a={};return o.set(e,a),mH(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case aLr:case sLr:case cLr:{let a=new e.constructor(e?.valueOf());return mH(a,e),a}case uLr:{let a={};return mH(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function Tll(e){return Bll(e)}var NWg=/^(?:0|[1-9]\d*)$/;function Dll(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return NWg.test(e)}}oLr();function Rll(e){return e!==null&&typeof e=="object"&&qjt(e)==="[object Arguments]"}function Fll(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&xBn(t)&&e?.[t]==null?r=PBn(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||Rll(n))&&Dll(o)&&o<n.length))return!1;n=n[o]}return!0}function Nll(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=s4t(e);break}}return t=Tll(t),function(r){let n=zjr(r,e);return n===void 0?Fll(r,e):t===void 0?n===void 0:IBn(n,t)}}function kll(e){if(e==null)return x3r;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?Nll(e[0],e[1]):jll(e);case"string":case"symbol":case"number":return Ill(e)}}z$o();AHo();function CBn(e,t=x3r){return e==null?{}:zN(e,kll(t))}oyc();function zll(e){return iyc(lvt(e))}Muc();function Qll(e){return typeof e!="string"&&(e=lvt(e)),e.replace(/['\u2019]/g,"")}function lue(e){return Quc(Qll(zll(e)))}function rE(e){if(e!=null)return Array.isArray(e)?e:[e]}function SBn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${kWg(s)}${zWg(e)}.${QWg(n,i,o,a)}`}function kWg(e){return e?"webhook_":"endpoint_"}function zWg(e){return e!=null?rE(e)?.map(t=>lue(t)).join("/"):""}function QWg(e,t,r,n){return e||t||lue(r??"")||lue(n??"")}function Mll(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jBn=class extends ta{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[fll],this.accessTokenLocator!=null&&(Mll(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 BBn=class extends ta{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 o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jBn({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{type:"bearerAuth",tokenName:void 0};let r=SBn({namespace:void 0,path:this.authorizationUrl,method:"POST",sdkMethodName:void 0,operationId:void 0,displayName:void 0,isWebhook:void 0});if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:Tu.EndpointId(r),accessTokenLocator:Tu.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var a4t=class extends ta{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 gBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new bBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new ABn({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 _Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new vBn({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":{Ell(this.input)?(this.authScheme="header",this.headerAuthNode=new o4t({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 BBn({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 Vll.UnreachableCaseError(this.authScheme);return}}};var c4t=class extends ta{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=yBn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter(ba))}};var TBn=class extends ta{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[all],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 Ull(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function Lll(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function u4t(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>rE(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!Ull(i))&&(s=Lll(s,s.type==="enum"?s.default:void 0)),{key:Tu.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter(ba)).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function DBn(e,t){return hg(e)?rz(e,t,void 0):e}function O9e(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function qll(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function Wll(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var Gll=He(FP());var Tqs=["decimal","decimal128","double-int","double","float","sf-decimal"],Dqs=["int16","int32","int64","int8","sf-integer","uint8"],Rqs=["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"],Fqs=["beta","pre-release","in-development","generally-available","deprecated"];function VS(e,t){return hg(e)?rz(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var hJ=class extends ta{availability;constructor(t){super(t),this.safeParse()}parse(){if(VS(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[cll];r!=null&&(Fqs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Fqs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Tu.Availability.Beta;case"in-development":return Tu.Availability.InDevelopment;case"generally-available":return Tu.Availability.GenerallyAvailable;case"deprecated":return Tu.Availability.Deprecated;case void 0:return;default:new Gll.UnreachableCaseError(this.availability);return}}};var FBn=He(FP());function Hll(e){return typeof e=="object"&&e!=null&&"language"in e}function $ll(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Kll(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Jll(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function RBn(e){return typeof e=="object"&&e!=null&&"event"in e}function Nqs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(RBn)}function w9e(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Yll(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var NBn=class extends ta{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[vll]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return w9e(s)?[i,{type:"filenameWithData",filename:s.filename,data:Tu.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>w9e(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:Tu.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new FBn.UnreachableCaseError(o.multipartType);return}}).filter(ba))};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(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=Yll(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new FBn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{Kll(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{Nqs(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!Nqs(r.response)&&Jll(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new FBn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{Hll(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):$ll(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let c=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),u=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,m])=>[Tu.PropertyKey(p),m]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(c).length>0?c:void 0,queryParameters:Object.keys(u).length>0?u:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var Qjr=class extends ta{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[mBn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Tu.api.v1.SubpackageId(lue(r)))}};var kBn=class extends ta{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[lll]}convert(){return this.sdkMethodName}};var zBn=class extends ta{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[pll]}convert(){return this.isWebhook}};var QBn=class extends ta{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[wll]??[],...this.input[xll]??[]],this.codeSamples.forEach(t=>{[...Object.values(Tu.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}};var pvt=He(FP());function kqs(e,t){return hg(e)?rz(e,t,void 0):e}function Xll(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var mR="",a_e=class extends ta{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(w9e(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>w9e(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new pvt.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=kqs(this.input?.requestExample,this.context.document)??(t!=null?{value:t}:void 0);let r=this.shapes.responseBody?.schema?.example({includeOptionals:!1,override:void 0});if(this.resolvedResponseInput=kqs(this.input?.responseExample,this.context.document)??(r!=null?{value:r}:void 0),this.summary=this.input?.requestExample?.summary??this.input?.responseExample?.summary,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 pvt.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(RBn)){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 pvt.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,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return w9e(i)?[r,{type:"filenameWithData",filename:i.filename,data:Tu.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>w9e(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:Tu.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new pvt.UnreachableCaseError(n.multipartType);return}}).filter(ba))};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 pvt.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 pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:Xll(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?ez(this.name):this.summary!=null?ez(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function Zll(e,t){return hg(e)?rz(e,t,void 0):e}var fpl=He(FP());var epl="#/components/schemas/";function l4t(e){if(e.$ref.startsWith(epl))return e.$ref.replace(epl,"")}function hQe(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function x9e(e){return typeof e.type=="string"&&e.type==="array"}function tpl(e){return e.type==="boolean"}function rpl(e){return e.type==="integer"}function P9e(e){return!Array.isArray(e.type)&&!x9e(e)}function npl(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||P9e(t)||x9e(t))}function ipl(e){return"nullable"in e&&typeof e.nullable=="boolean"}function opl(e){return e.type==="null"}function spl(e){return e.type==="number"}function zqs(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function apl(e){return e.type==="string"}var MBn=class extends Fq{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new hw({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return rE(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(t){return this.input.example??this.input.examples?.[0]??[this.item?.example(t)]}};var VBn=class extends MS{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 hJ({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 UBn=class extends Fq{typeNodes;nullable;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(ba)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>rE(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter(ba).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(hQe).filter(ba):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function LBn(e){return e!=null&&e.length>0?e:[void 0]}var p4t=class extends Fq{description;extends=[];properties;extraProperties;requiredProperties;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:["properties",t],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new hw({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:["additionalProperties"],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map((t,r)=>{if(hg(t))return l4t(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new hw({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(ba))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return u4t(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{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:{type:"unknown",displayName:this.extraProperties}}}]:rE(this.extraProperties.convert())?.map(r=>({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:r})).filter(ba)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>LBn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>Tu.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=VS(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new hw({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var qBn=class extends Fq{isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>VS(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>VS(t,this.context.document)?.type!=="null"?new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(ba);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(([n,i])=>{let o=VS({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new hw({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter(ba);return this.isNullable&&i!=null?i.map(hQe).filter(ba):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Tu.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>rE(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??ez(i),availability:o.availability?.convert(),description:o.description,...a}}).filter(ba)).filter(ba)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>rE(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?ez(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?ez(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter(ba)).filter(ba)}:void 0,n=this.isNullable?hQe(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var WBn=class extends MS{default;nullable;constructor(t){super(t),this.nullable=t.nullable,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??(this.nullable?null:!1)}};var I9e=class extends MS{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(hg(r)){let i=VS(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter(ba),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]??(this.nullable?null:void 0)}};var cpl=He(FP());function MWg(e){return Dqs.includes(e)}var GBn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,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&&(MWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Dqs.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 cpl.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??(this.nullable?null:0)}};var HBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return hQe({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var upl=He(FP());function VWg(e){return Tqs.includes(e)}var $Bn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,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&&(VWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Tqs.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 upl.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??(this.nullable?null:0)}};var lpl=He(FP());function UWg(e){return Rqs.includes(e)}var KBn=class extends MS{format;regex;default;minLength;maxLength;enum;mimeType;nullable;constructor(t){super(t),this.nullable=t.nullable,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 lpl.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&&(UWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Rqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum",nullable:this.nullable}))}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({override:t}){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:t??"string")}};var ppl=He(FP());var JBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ppl.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var fvt=class extends Fq{description;availability;schemaId;maybeEnumConverterNode;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.description=t.description,this.availability=t.availability,this.safeParse()}parse(){this.schemaId=l4t(this.input);let t=VS(this.input,this.context.document);t?.enum!=null&&P9e(t)&&(this.maybeEnumConverterNode=new I9e({input:t,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",nullable:this.nullable})),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:Tu.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=VS(this.input,this.context.document);if(r!=null)return new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var hw=class e extends Fq{typeShapeNode;description;name;examples;availability;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),P9e(this.input)&&ipl(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),hg(this.input)){let t=l4t(this.input);if(t==null){this.context.errors.error({message:"Reference object does not have a valid schema ID",path:this.accessPath});return}if(this.seenSchemas.has(t)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(t),this.typeShapeNode=new fvt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName,description:this.description,availability:this.availability})}else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new VBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(npl(this.input))this.typeShapeNode=new UBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new qBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(zqs(this.input)&&this.input.allOf!=null)this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&this.input.enum!=null)this.typeShapeNode=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable});else if(typeof this.input.type=="string"||Array.isArray(this.input.type)&&this.input.type.length===1){if(this.input.type=Array.isArray(this.input.type)?this.input.type[0]:this.input.type,!Array.isArray(this.input.type))switch(this.input.type){case"object":zqs(this.input)&&(this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":x9e(this.input)&&(this.typeShapeNode=new MBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":tpl(this.input)&&(this.typeShapeNode=new WBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":rpl(this.input)&&(this.typeShapeNode=new GBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":spl(this.input)&&(this.typeShapeNode=new $Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":apl(this.input)&&(this.typeShapeNode=new KBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":opl(this.input)&&(this.typeShapeNode=new HBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new fpl.UnreachableCaseError(this.input.type);break}}else if(Array.isArray(this.input.type)&&this.input.type.includes("null")&&this.input.type.length===2){let t=this.input.type.filter(r=>r!=="null")[0];t!=="array"&&(this.typeShapeNode=new e({input:{...this.input,type:t},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:!0,schemaName:this.schemaName}))}else this.input.properties!=null&&(this.typeShapeNode=new p4t({input:{...this.input,type:"object"},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));this.typeShapeNode==null&&(this.typeShapeNode=new JBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!hg(this.input)&&(!x9e(this.input)&&this.input==null||x9e(this.input)&&this.input.items==null)&&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=rE(t)?.map(n=>this.nullable?hQe(n):n).filter(ba);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function C9e(e){if(e!=null)return u4t(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(ba))}var c_e=class extends MS{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;hg(this.input)?r=this.input:this.input.schema!=null?(r=this.input.schema,this.required=this.input.required):(r={type:"string"},this.required=!1),this.availability=new hJ({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=Zll(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function mpl(e,t){return hg(e)?rz(e,t,void 0):e}var Qqs=He(FP());function YBn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[Tu.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var dpl=He(zcs(),1),f4t=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}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=dpl.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()}};function LWg(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var XBn=class extends ta{typeSchemas;securitySchemes;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas!=null&&(this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),LWg(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(hg(r)?i=yBn(r.$ref,this.context.document):i=r,i!=null)return[t,new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter(ba)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[Tu.api.latest.AuthSchemeId(t),n]}).filter(ba)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=rE(r.convert());return i==null?[t,void 0]:[Tu.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>ba(r))):void 0}}};var ZBn=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=VS(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${hg(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=VS(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 eTn=class extends ta{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=VS(this.input.schema,this.context.document);this.availability=new hJ({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=hg(this.input.schema)?new fvt({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=f4t.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new ZBn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter(ba))):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})}let r=this.schema?.example({includeOptionals:!0,override:void 0});this.examples={...this.input.example!=null?{[mR]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[mR]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:rE(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=lue([this.method,this.path,this.contentType,"request"].join("_"));return YBn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new Qqs.UnreachableCaseError(i);return}}).filter(ba)}convert(){if(this.schema instanceof fvt)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=rE(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:Tu.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new Qqs.UnreachableCaseError(i.multipartType),[]}}).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var tTn=class extends ta{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=mpl(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new eTn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>rE(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter(ba)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>rE(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter(ba)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var hpl={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 ypl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var rTn=He(FP());var gpl="application/json";var Apl="application/octet-stream";function bpl(e,t){return e===t||t===mR||e===mR}var Mjr=class extends ta{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,c){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=c,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,c]of Object.entries(r))for(let u of c)bpl(a,o)&&(n.add(a),this.examples?.push(new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[c,u,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new a_e({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,O9e(u,s),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,c,u]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new a_e({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,O9e(c,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,c]of r.slice(t.length))this.examples?.push(...c.map(u=>new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[mR];if(o!=null)for(let s of o)this.examples?.push(new a_e({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,O9e(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=f4t.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=gpl,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 hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=Apl,this.contentSubtype=VS(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 hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"})}let r={};this.input.examples!=null&&(r=CBn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]=[{value:this.input.example}]);let n=VS(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=CBn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[mR]??=[],r[mR]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([c])=>!i.has(c)&&c!==mR).map(([c,u])=>[a,c,u]));let s=Object.entries(r).filter(([a,c])=>!i.has(a)&&ba(c)&&a!==mR);Object.keys(r).every(a=>a===mR)||this.matchExamplesByIndex(o,s),!i.has(mR)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return rE(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new rTn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return rE(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=lue([this.method,this.path,this.statusCode,"response"].join("_"));return YBn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new rTn.UnreachableCaseError(n);return}}).filter(ba)}convert(){if(this.empty)return{type:"empty"};if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?this.convertJsonLike():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 rTn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var Vjr=class extends ta{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=ypl(this.input,this.context.document);if(r==null){this.context.errors.error({message:hg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new Mjr({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new Mjr({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(ba)}};var nTn=class extends ta{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new Vjr({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new Vjr({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return LBn(C9e(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter(ba))})))}).filter(ba)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=rE(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??hpl[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let c=a.convert();if(c!=null&&c.responseBody?.type==="json")return{name:c.name,description:c.description,responseBody:c.responseBody}}).filter(ba)})).filter(ba)})).filter(ba)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var S9e=class extends ta{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new a_e({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,O9e(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}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 hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=E9e(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new zBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(hg(n)){let o=DBn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new QBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new tTn({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody",method:this.method,path:this.path}):void 0,this.responses=this.input.responses!=null?new nTn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new Qjr({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new Qjr({input:{[mBn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new kBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>SBn({namespace:rE(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(ba),this.xFernExamplesNode=new NBn({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(ba)}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((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:Tu.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter(ba),i=Wll(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:qll(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Tu.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(m=>m.value.toString())??[],queryParameters:C9e(this.queryParameters)?.flat(),headers:C9e(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(ba)}}).filter(ba);let o=this.servers?.map(l=>l.convert()).filter(ba),s=this.convertPathToPathParts();if(s==null)return;let a,c=this.auth?.convert();c!=null&&(a=Object.keys(c));let u=t?.flatMap(l=>l.headers).filter(ba);return this.endpointIds.map((l,p)=>({id:Tu.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(m=>Tu.api.v1.SubpackageId(m)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(m=>Tu.api.latest.AuthSchemeId(m)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:C9e(this.pathParameters)?.flat(),queryParameters:C9e(this.queryParameters)?.flat(),requestHeaders:C9e(this.requestHeaders)?.flat(),responseHeaders:u!=null&&u.length>0?u:void 0,requests:this.requests?.convert(),responses:t?.map(m=>m.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var m4t=class extends ta{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=E9e(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new S9e({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new S9e({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new S9e({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new S9e({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new S9e({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(ba)}};function iTn(e){return"payloads"in e}var oTn=class extends ta{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new m4t({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:E9e(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter(ba)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{iTn(o)?r[Tu.WebhookId(o.id)]=o:t[Tu.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var sTn=class extends ta{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ull]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||DBn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return u4t(this.globalHeaders,this.requiredProperties)?.flat()}};function _pl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var aTn=class extends ta{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=_pl(o,this.context.document);if(s!=null)return new m4t({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter(ba)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{iTn(n)&&(t[Tu.WebhookId(n.id)]=n)}),t),{})}};var cTn=class extends ta{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=E9e(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new TBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});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 oTn({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths",basePath:r,servers:t,globalAuth:this.auth})),this.input.webhooks!=null&&(this.webhooks=new aTn({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks",basePath:r,servers:t,globalAuth:this.auth})),this.input.components!=null&&(this.components=new XBn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new sTn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=wD(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=oll({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:Tu.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Mqs(e,t){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let r=new Kce(e.absoluteFilePath),n=await ZK({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new pBn,generatedTypes:{}},c=new cTn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=DDt(o,c.convert())}return o}JO();var BEl=He(Lqs(),1),TEl=He($Tn(),1),TDn=require("fs/promises"),DEl=He(require("http"),1),REl=He(require("path"),1);var Ayl=require("events"),ZTn=He(require("fs"),1),Evt=He(require("path"),1);var eyl=He(require("os"),1),tyl=300,N9e=20,fBr=1e7,ryl=eyl.default.platform();var iYg=ryl==="darwin",c8s=ryl==="win32",k9e=iYg||c8s,nyl=3e3,iyl=2e4,u8s=1250;var f_e;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(f_e||(f_e={}));var vvt;(function(e){e.CHANGE="change",e.RENAME="rename"})(vvt||(vvt={}));var mBr;(function(e){e.CHANGE="change",e.ERROR="error"})(mBr||(mBr={}));var Ql;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(Ql||(Ql={}));var XV;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(XV||(XV={}));var oYg=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let _=Date.now(),E=_-c,O=_-u,P=E>=t||O>=o;return[_,P]},p=_=>{if(u=_,!s)return;let E=s;s=void 0,e.apply(void 0,E)},m=()=>{b(0)},f=()=>{a&&(m(),p(Date.now()))},h=_=>{if(u=_,n)return p(_)},y=_=>{if(i&&s)return p(_);s=void 0},g=()=>{a=void 0;let[_,E]=l();return E?y(_):A(_)},A=_=>{let E=_-c,O=_-u,P=t-E,x=o-O,I=Math.min(P,x);return b(I)},b=_=>{a&&clearTimeout(a),!(_<=0)&&(a=setTimeout(g,_))},v=(..._)=>{let[E,O]=l(),P=!!a;if(s=_,c=E,(O||!a)&&b(t),O)return P?p(E):h(E)};return v.cancel=m,v.flush=f,v},KTn=oYg;var m8s=He(require("fs"),1),YTn=He(require("path"),1);var ib=He(require("fs"),1),nz=require("util");var gQe=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},m_e=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var l8s=He(require("process"),1),oyl=l8s.default.getuid?!l8s.default.getuid():!1,syl=1e4,Qq=()=>{};var dBr={isChangeErrorOk:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!oyl&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!dBr.isNodeError(e))throw e;if(!dBr.isChangeErrorOk(e))throw e}},US=dBr;var p8s=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=syl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},ayl=new p8s;var AQe=(e,t)=>function(n){return function i(...o){return ayl.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(m=>setTimeout(m,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},bQe=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var sYg={attempt:{chmod:gQe((0,nz.promisify)(ib.default.chmod),US.onChangeError),chown:gQe((0,nz.promisify)(ib.default.chown),US.onChangeError),close:gQe((0,nz.promisify)(ib.default.close),Qq),fsync:gQe((0,nz.promisify)(ib.default.fsync),Qq),mkdir:gQe((0,nz.promisify)(ib.default.mkdir),Qq),realpath:gQe((0,nz.promisify)(ib.default.realpath),Qq),stat:gQe((0,nz.promisify)(ib.default.stat),Qq),unlink:gQe((0,nz.promisify)(ib.default.unlink),Qq),chmodSync:m_e(ib.default.chmodSync,US.onChangeError),chownSync:m_e(ib.default.chownSync,US.onChangeError),closeSync:m_e(ib.default.closeSync,Qq),existsSync:m_e(ib.default.existsSync,Qq),fsyncSync:m_e(ib.default.fsync,Qq),mkdirSync:m_e(ib.default.mkdirSync,Qq),realpathSync:m_e(ib.default.realpathSync,Qq),statSync:m_e(ib.default.statSync,Qq),unlinkSync:m_e(ib.default.unlinkSync,Qq)},retry:{close:AQe((0,nz.promisify)(ib.default.close),US.isRetriableError),fsync:AQe((0,nz.promisify)(ib.default.fsync),US.isRetriableError),open:AQe((0,nz.promisify)(ib.default.open),US.isRetriableError),readFile:AQe((0,nz.promisify)(ib.default.readFile),US.isRetriableError),rename:AQe((0,nz.promisify)(ib.default.rename),US.isRetriableError),stat:AQe((0,nz.promisify)(ib.default.stat),US.isRetriableError),write:AQe((0,nz.promisify)(ib.default.write),US.isRetriableError),writeFile:AQe((0,nz.promisify)(ib.default.writeFile),US.isRetriableError),closeSync:bQe(ib.default.closeSync,US.isRetriableError),fsyncSync:bQe(ib.default.fsyncSync,US.isRetriableError),openSync:bQe(ib.default.openSync,US.isRetriableError),readFileSync:bQe(ib.default.readFileSync,US.isRetriableError),renameSync:bQe(ib.default.renameSync,US.isRetriableError),statSync:bQe(ib.default.statSync,US.isRetriableError),writeSync:bQe(ib.default.writeSync,US.isRetriableError),writeFileSync:bQe(ib.default.writeFileSync,US.isRetriableError)}},cyl=sYg;var JTn=He(require("fs"),1),hBr=He(require("path"),1);var f8s=()=>{};var aYg=()=>{let e=f8s,t=f8s,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},uyl=aYg;var cYg=()=>{let{promise:e,resolve:t,isPending:r}=uyl(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},lyl=cYg;var pyl={then:e=>{e()}};var fyl=e=>Array.isArray(e)?e:[e],myl=e=>typeof e=="function";var uYg=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=fyl(o).map(J=>myl(J)?J:K=>J.test(K)),a=J=>s.some(K=>K(J)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,m={},f=[],h=new Set,y={},g=[],A=new Set,b={},v={},_=new Set,E={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},O={directories:l,directoriesNames:p,directoriesNamesToPaths:m,files:f,filesNames:h,filesNamesToPaths:y,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:P,increment:x,decrement:I}=lyl(),F=0,q=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.directories.push(K),J.directoriesNames.add(Pe),l.push(K),p.add(Pe),m.propertyIsEnumerable(Pe)||(m[Pe]=[]),m[Pe].push(K),_.add(K),!(we>=n)&&(F>=i||ee(K,we+1)))},W=(J,K,Pe)=>{_.has(K)||F>=i||(F+=1,J.files.push(K),J.filesNames.add(Pe),f.push(K),h.add(Pe),y.propertyIsEnumerable(Pe)||(y[Pe]=[]),y[Pe].push(K),_.add(K))},G=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.symlinks.push(K),J.symlinksNames.add(Pe),g.push(K),A.add(Pe),b.propertyIsEnumerable(Pe)||(b[Pe]=[]),b[Pe].push(K),_.add(K),r&&(we>=n||F>=i||Ge(K,we+1)))},re=(J,K,Pe,we,Me)=>{c.aborted||a(K)||(we.isDirectory()?q(J,K,Pe,Me):we.isFile()?W(J,K,Pe):we.isSymbolicLink()&&G(J,K,Pe,Me))},oe=(J,K,Pe,we)=>{if(c.aborted)return;let Me=K===hBr.default.sep?"":hBr.default.sep,Ze=Pe.name,Oe=`${K}${Me}${Ze}`;a(Oe)||(Pe.isDirectory()?q(J,Oe,Ze,we):Pe.isFile()?W(J,Oe,Ze):Pe.isSymbolicLink()&&G(J,Oe,Ze,we))},H=(J,K,Pe,we)=>{for(let Me=0,Ze=Pe.length;Me<Ze;Me++)oe(J,K,Pe[Me],we)},ee=(J,K)=>{c.aborted||K>n||F>=i||(x(),JTn.default.readdir(J,{withFileTypes:!0},(Pe,we)=>{if(Pe||c.aborted||!we.length)return I();(u(we)||pyl).then(()=>{let Ze=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Ze,J,we,K),I()})}))},Ge=(J,K)=>{x(),JTn.default.realpath(J,(Pe,we)=>{if(Pe||c.aborted)return I();JTn.default.stat(we,(Me,Ze)=>{if(Me||c.aborted)return I();let Oe=hBr.default.basename(we),de=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};re(de,we,Oe,Ze,K),I()})})};return(async(J,K=1)=>(J=hBr.default.normalize(J),_.add(J),ee(J,K),await P,c.aborted?E:O))(e)},dyl=uYg;var d_e={lang:{debounce:KTn,attempt:e=>{try{return e()}catch(t){return d_e.lang.castError(t)}},castArray:e=>d_e.lang.isArray(e)?e:[e],castError:e=>d_e.lang.isError(e)?e:d_e.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(d_e.lang.isNaN(e))return d_e.lang.isNaN(t);if(d_e.lang.isPrimitive(e)||d_e.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(YTn.default.sep).length-1),getRealPath:(e,t)=>{try{return t?m8s.default.realpathSync.native(e):m8s.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===YTn.default.sep&&t.length-e.length>YTn.default.sep.length,poll:(e,t=iyl)=>cyl.retry.stat(t)(e,{bigint:!0}).catch(d_e.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await dyl(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Gd=d_e;var XTn=He(require("path"),1);var d8s=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Gd.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=tyl){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=Gd.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Ql.CHANGE&&a===Ql.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Ql.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Ql.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),s=this.options.limit??fBr,[a,c]=await Gd.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())Gd.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Ql.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!k9e&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(Ql.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Ql.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Ql.ADD?this.onTargetAdd(n):r===Ql.ADD_DIR?this.onTargetAddDir(n):r===Ql.CHANGE?this.onTargetChange(n):r===Ql.UNLINK?this.onTargetUnlink(n):r===Ql.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=vvt.CHANGE,r){if(this.watcher.isClosed())return;let n=XTn.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){c8s&&t.code==="EPERM"?this.onWatcherChange(vvt.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(mBr.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(mBr.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(vvt.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&k9e&&this.options.native!==!1?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),n=this.options.limit??fBr,[i,o]=await Gd.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(vvt.CHANGE,a,t)}))}}},hyl=d8s;var ZV={interval:100,intervalId:void 0,fns:new Map,init:()=>{ZV.intervalId||(ZV.intervalId=setInterval(ZV.resolve,ZV.interval))},reset:()=>{ZV.intervalId&&(clearInterval(ZV.intervalId),delete ZV.intervalId)},add:(e,t)=>{ZV.fns.set(e,Date.now()+t),ZV.init()},remove:e=>{ZV.fns.delete(e)},resolve:()=>{if(!ZV.fns.size)return ZV.reset();let e=Date.now();for(let[t,r]of ZV.fns)r>=e||(ZV.remove(t),t())}},yBr=ZV;var gBr=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,m=>m!==i);if(p&&p!==i){if(Gd.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let m=p();i===m?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,m,i)};s.add.set(n,l),l()}getLockUnlink(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD,f_e.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD_DIR,f_e.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK,f_e.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK_DIR,f_e.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};gBr.DIR_EVENTS={add:Ql.ADD_DIR,rename:Ql.RENAME_DIR,unlink:Ql.UNLINK_DIR};gBr.FILE_EVENTS={add:Ql.ADD,change:Ql.CHANGE,rename:Ql.RENAME,unlink:Ql.UNLINK};var yyl=gBr;var h8s=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gd.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(Gd.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Gd.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Gd.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},y8s=h8s;var g8s=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},gyl=g8s;var A8s=class{constructor(){this.inos={},this.paths=new y8s,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await Gd.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new gyl(n)}reset(){this.inos={},this.paths=new y8s,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Ql.ADD,i),[Ql.ADD];if(i.isDirectory())return this.updateIno(t,Ql.ADD_DIR,i),[Ql.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Ql.UNLINK,n),[Ql.UNLINK];if(n.isDirectory())return this.updateIno(t,Ql.UNLINK_DIR,n),[Ql.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Ql.CHANGE,i),[Ql.CHANGE]);if(i.isDirectory())return this.updateIno(t,Ql.UNLINK,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK,Ql.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD,i),[Ql.UNLINK_DIR,Ql.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK_DIR,Ql.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?f_e.FILE:f_e.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},b8s=A8s;var _8s=class e extends Ayl.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(XV.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(XV.CLOSE,i)),this._readyWait=new Promise(i=>this.on(XV.READY,i)),this._locker=new yyl(this),this._roots=new Set,this._poller=new b8s,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gd.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(XV.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gd.lang.castError(t);return this.emit(XV.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(XV.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(XV.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)Gd.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new hyl(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gd.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=Evt.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??N9e))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&k9e&&l.options.native!==!1)))return!0;if(!k9e)break;let u=Evt.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Gd.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||k9e&&r.native!==!1?r:{...r,recursive:!1},l={watcher:ZTn.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},h=Evt.default.dirname(a),y=a;await this.watchDirectories([h],f,n,y,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||k9e&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??N9e,a=r.limit??fBr,[c]=await Gd.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=Gd.fs.getDepth(t);for(let p of c){let m=Gd.fs.getDepth(p),f=Math.max(0,s-(m-l)),h={...r,depth:f};await this.watchDirectories([p],h,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(XV.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(XV.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=Evt.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new b8s,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return Gd.lang.noop;if(this.pollerExists(t,r))return Gd.lang.noop;let i={...r,interval:r.pollingInterval??nyl},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(XV.CLOSE,a),ZTn.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(XV.CLOSE,a),ZTn.default.unwatchFile(t,n)};return Gd.lang.attempt(s),()=>Gd.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=Gd.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Gd.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=Evt.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Gd.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=Evt.default.dirname(t);return(await Gd.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Gd.lang.noop){if(Gd.lang.isFunction(t))return this.watch([],{},t);if(Gd.lang.isUndefined(t))return this.watch([],r,n);if(Gd.lang.isFunction(r))return this.watch(t,{},r);if(Gd.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Gd.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Gd.lang.noop&&this.on(XV.ALL,n),r.readdirMap=void 0,this.ready())}},e1n=_8s;d1n();var k4t=require("fs/promises"),wgl=require("os"),xgl=He(require("path"),1),TXg=".fern",DXg="logs";function RXg(){return"cli@3.85.3"}var IBr=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Pt(Ar.of((0,wgl.homedir)()),Ke.of(TXg)),r=Pt(t,Ke.of(DXg));await qr(r)||await(0,k4t.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Pt(r,Ke.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${xgl.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1966
+ `);try{return Cn.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Pt(t,Ke.of(r));if(!(0,Y3s.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=hl(this.docsWorkspace.absoluteFilePath,n),o=await(0,v9e.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,er.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)}),a=this.#e.get(`library-section/${o.slug}`),c=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),u=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(u,r,s);i.push({id:a,type:"section",overviewPageId:c,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=er.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),c=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:c??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?er.PageId(s):void 0,c=this.#e.get(a??`${t}/section`),u=n.apply({urlSlug:r.slug??O0(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,m=i||r.hidden,h=(await Promise.all(r.contents.map(y=>this.toNavigationChild({prefix:c,item:y,parentSlug:u,hideChildren:m,parentAvailability:r.availability??o})))).filter(y=>y!=null);if(a==null){let y=h.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);y!=null&&(a=y.overviewPageId)}return{id:c,type:"section",overviewPageId:a,slug:u.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:m,viewers:r.viewers,orphaned:r.orphaned,children:h,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return Mj(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:er.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),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):zM.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}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:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}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 n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.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(Yc),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:zM.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,...i}=this.parsedDocsConfig.metadata;return{...i,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n)}}convertFileIdOrUrl(t){if(t!=null)return Mj(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:zM.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function hWg(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${KV(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function yWg(e){switch(e){case"beta":return er.V1.NavigationV1Availability.Beta;case"deprecated":return er.V1.NavigationV1Availability.Deprecated;case"ga":return er.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return er.V1.NavigationV1Availability.Stable;default:Ve(e)}}async function tz(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof nb?t:null))).filter(Yc)}async function X3s(e,t,r){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return $V({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Tu={};D(Tu,{AlgoliaSearchIndex:()=>qcl,ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,IndexSegmentId:()=>Wcl,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PayloadLocation:()=>nll,PropertyKey:()=>Pul,PullRequestState:()=>Xul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul,algolia:()=>Z3s,api:()=>uqs,commons:()=>lqs,diff:()=>Bul,docs:()=>bqs,generators:()=>vqs,git:()=>Eqs,navigation:()=>xqs,sdks:()=>Iqs,snippets:()=>tll,snippetsFactory:()=>rll,templates:()=>Cqs,tokens:()=>ill});var Z3s={};D(Z3s,{AlgoliaSearchIndex:()=>qcl,IndexSegmentId:()=>Wcl});function qcl(e){return e}function Wcl(e){return e}var uqs={};D(uqs,{latest:()=>rqs,v1:()=>cqs});var rqs={};D(rqs,{AuthSchemeId:()=>Gcl,WebhookHttpMethod:()=>Jcl,auth:()=>eqs,commons:()=>Hcl,endpoint:()=>$cl,type_:()=>Kcl,webhook:()=>tqs,websocket:()=>Ycl});var eqs={};D(eqs,{AuthSchemeId:()=>Gcl});function Gcl(e){return e}var Hcl={};var $cl={};var Kcl={};var tqs={};D(tqs,{WebhookHttpMethod:()=>Jcl});var Jcl={Get:"GET",Post:"POST"};var Ycl={};var cqs={};D(cqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul,commons:()=>aqs,db:()=>nqs,read:()=>oqs,register:()=>sqs});var nqs={};D(nqs,{endpoint:()=>Xcl});var Xcl={};var oqs={};D(oqs,{SupportedLanguage:()=>Zcl,endpoint:()=>iqs,type_:()=>eul,webhook:()=>tul,websocket:()=>rul});var iqs={};D(iqs,{SupportedLanguage:()=>Zcl});var Zcl={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var eul={};var tul={};var rul={};var sqs={};D(sqs,{SourceId:()=>gWg,endpoint:()=>nul,type_:()=>iul,webhook:()=>oul,websocket:()=>sul});var nul={};var iul={};var oul={};var sul={};function gWg(e){return e}var aqs={};D(aqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul});function aul(e){return e}function cul(e){return e}var uul={Client:"client",Server:"server"};var lul={Get:"GET",Post:"POST"};var lqs={};D(lqs,{ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PropertyKey:()=>Pul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul});function pul(e){return e}function ful(e){return e}function mul(e){return e}function dul(e){return e}function hul(e){return e}function yul(e){return e}function gul(e){return e}function Aul(e){return e}function bul(e){return e}function _ul(e){return e}function vul(e){return e}function Eul(e){return e}function Oul(e){return e}function wul(e){return e}function xul(e){return e}function Pul(e){return e}function Iul(e){return e}function Cul(e){return e}var Sul={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var jul={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Bul={};var bqs={};D(bqs,{latest:()=>mqs,v1:()=>gqs,v2:()=>Aqs});var mqs={};D(mqs,{Layout:()=>Dul,MdxEngine:()=>AWg,TwitterCardSetting:()=>Rul,commons:()=>Tul,frontmatter:()=>pqs,seo:()=>fqs});var AWg={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var Tul={};var pqs={};D(pqs,{Layout:()=>Dul});var Dul={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var fqs={};D(fqs,{TwitterCardSetting:()=>Rul});var Rul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var gqs={};D(gqs,{commons:()=>yqs,db:()=>Ful,read:()=>Nul,write:()=>dqs});var Ful={};var Nul={};var dqs={};D(dqs,{DocsRegistrationId:()=>_Wg,FilePath:()=>bWg});function bWg(e){return e}function _Wg(e){return e}var yqs={};D(yqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul,commons:()=>hqs});var hqs={};D(hqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul});var kul={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 zul={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var Qul={Header:"HEADER",Sidebar:"SIDEBAR"};var Mul={Center:"CENTER",Left:"LEFT"};var Vul={Fixed:"FIXED",Absolute:"ABSOLUTE"};var Uul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Lul={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var qul={Normal:"normal",Italic:"italic"};var Wul={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Aqs={};D(Aqs,{read:()=>Gul,write:()=>Hul});var Gul={};var Hul={};var vqs={};D(vqs,{ChangelogEntryType:()=>Kul,GeneratorId:()=>vWg,GeneratorLanguage:()=>EWg,ReleaseType:()=>Jul,cli:()=>$ul,commons:()=>_qs,versions:()=>Yul});var $ul={};var _qs={};D(_qs,{ChangelogEntryType:()=>Kul,ReleaseType:()=>Jul});var Kul={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var Jul={Ga:"GA",Rc:"RC"};var Yul={};function vWg(e){return e}var EWg={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Eqs={};D(Eqs,{PullRequestState:()=>Xul});var Xul={Open:"open",Closed:"closed",Merged:"merged"};var xqs={};D(xqs,{latest:()=>Oqs,v1:()=>wqs});var Oqs={};D(Oqs,{NodeId:()=>xWg,ProductId:()=>PWg,Slug:()=>OWg,TabId:()=>wWg});function OWg(e){return e}function wWg(e){return e}function xWg(e){return e}function PWg(e){return e}var wqs={};D(wqs,{NavigationV1Availability:()=>BWg,NodeId:()=>SWg,ProductId:()=>jWg,Slug:()=>IWg,TabId:()=>CWg});function IWg(e){return e}function CWg(e){return e}function SWg(e){return e}function jWg(e){return e}var BWg={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Iqs={};D(Iqs,{Language:()=>Zul,VersionBump:()=>ell,versions:()=>Pqs});var Pqs={};D(Pqs,{Language:()=>Zul,VersionBump:()=>ell});var Zul={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var ell={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var tll={};var rll={};var Cqs={};D(Cqs,{PayloadLocation:()=>nll});var nll={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var ill={};var pBn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function oll({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=Tu.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:ez(o)},i.push(o)})}),r}var fBn=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 sll(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var ta=class extends fBn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${sll(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})}}},MS=class extends ta{},Fq=class extends MS{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var all="x-fern-base-path",cll="x-fern-availability",mBn="x-fern-sdk-group-name",ull="x-fern-global-headers",lll="x-fern-sdk-method-name";var pll="x-fern-webhook",fll="x-fern-access-token-locator",mll="x-fern-basic",dll="x-fern-username-variable-name",hll="x-fern-password-variable-name",yll="x-fern-bearer",gll="x-fern-token-variable-name",All="x-fern-header",bll="x-fern-header-variable-name",_ll="x-fern-server-name",vll="x-fern-examples";var dBn=class extends ta{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_ll]}convert(){if(this.serverName!=null)return this.serverName}};var hBn=class extends ta{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new dBn({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:Tu.EnvironmentId(t),baseUrl:this.url}}};function E9e(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,c)=>new hBn({input:a,context:r,accessPath:n,pathId:["servers",`${c}`]}));return[...i,...s]}function hg(e){return typeof e=="object"&&ba(e)&&"$ref"in e&&typeof e.$ref=="string"}function rz(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(hg(i)&&(i=rz(i,t,r)),i)}function yBn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return hg(r)?rz(r,t,void 0):r}var Vll=He(FP());var gBn=class extends ta{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[mll];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var ABn=class extends ta{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[hll]}convert(){return this.passwordVariableName}};var bBn=class extends ta{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[dll]}convert(){return this.usernameVariableName}};var _Bn=class extends ta{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[yll];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var vBn=class extends ta{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[gll]}convert(){return this.tokenVariableName}};function Ell(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Oll="x-bearer-format",wll="x-code-samples",xll="x-codeSamples";var EBn=class extends ta{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Oll]}convert(){return this.bearerFormat}};var OBn=class extends ta{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[All];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var wBn=class extends ta{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[bll]}convert(){return this.headerVariableName}};function Pll(e){return e.type==="apiKey"}var o4t=class extends ta{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){Pll(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new OBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new wBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new EBn({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()}}};z$o();Nuc();function xBn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function s4t(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function lvt(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(lvt).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function PBn(e){if(Array.isArray(e))return e.map(s4t);if(typeof e=="symbol")return[e];e=lvt(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function zjr(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(pLr(t))return r;let n=e[t];return n===void 0?xBn(t)?zjr(e,PBn(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=s4t(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return TWg(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),pLr(t))return r;let n=e[t];return n===void 0?r:n}}}function TWg(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||pLr(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function Ill(e){return function(t){return zjr(t,e)}}function Cll(e){return e!==null&&(typeof e=="object"||typeof e=="function")}hHo();function Sqs(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Bqs(e,t,r){return typeof r!="function"?Bqs(e,t,()=>{}):jqs(e,t,function n(i,o,s,a,c,u){let l=r(i,o,s,a,c,u);return l!==void 0?!!l:jqs(i,o,n,u)},new Map)}function jqs(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return DWg(e,t,r,n);case"function":return Object.keys(t).length>0?jqs(e,{...t},r,n):Sqs(e,t);default:return Cll(e)?typeof t=="string"?t==="":!0:Sqs(e,t)}}function DWg(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Sll(e,t,r,n);if(t instanceof Map)return RWg(e,t,r,n);if(t instanceof Set)return FWg(e,t,r,n);let i=Object.keys(t);if(e==null||Jhr(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!Jhr(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function RWg(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function Sll(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let u=e[c],l=!1;if(r(u,s,o,e,t,n)&&(l=!0),l){i.add(c),a=!0;break}}if(!a)return!1}return!0}function FWg(e,t,r,n){return t.size===0?!0:e instanceof Set?Sll([...e],[...t],r,n):!1}function IBn(e,t){return Bqs(e,t,()=>{})}Fuc();function jll(e){return e=Ruc(e),t=>IBn(t,e)}gHo();oLr();yHo();function Bll(e,t){return Duc(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(qjt(e)===lLr&&typeof e.constructor!="function"){let a={};return o.set(e,a),mH(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case aLr:case sLr:case cLr:{let a=new e.constructor(e?.valueOf());return mH(a,e),a}case uLr:{let a={};return mH(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function Tll(e){return Bll(e)}var NWg=/^(?:0|[1-9]\d*)$/;function Dll(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return NWg.test(e)}}oLr();function Rll(e){return e!==null&&typeof e=="object"&&qjt(e)==="[object Arguments]"}function Fll(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&xBn(t)&&e?.[t]==null?r=PBn(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||Rll(n))&&Dll(o)&&o<n.length))return!1;n=n[o]}return!0}function Nll(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=s4t(e);break}}return t=Tll(t),function(r){let n=zjr(r,e);return n===void 0?Fll(r,e):t===void 0?n===void 0:IBn(n,t)}}function kll(e){if(e==null)return x3r;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?Nll(e[0],e[1]):jll(e);case"string":case"symbol":case"number":return Ill(e)}}z$o();AHo();function CBn(e,t=x3r){return e==null?{}:zN(e,kll(t))}oyc();function zll(e){return iyc(lvt(e))}Muc();function Qll(e){return typeof e!="string"&&(e=lvt(e)),e.replace(/['\u2019]/g,"")}function lue(e){return Quc(Qll(zll(e)))}function rE(e){if(e!=null)return Array.isArray(e)?e:[e]}function SBn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${kWg(s)}${zWg(e)}.${QWg(n,i,o,a)}`}function kWg(e){return e?"webhook_":"endpoint_"}function zWg(e){return e!=null?rE(e)?.map(t=>lue(t)).join("/"):""}function QWg(e,t,r,n){return e||t||lue(r??"")||lue(n??"")}function Mll(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jBn=class extends ta{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[fll],this.accessTokenLocator!=null&&(Mll(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 BBn=class extends ta{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 o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jBn({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{type:"bearerAuth",tokenName:void 0};let r=SBn({namespace:void 0,path:this.authorizationUrl,method:"POST",sdkMethodName:void 0,operationId:void 0,displayName:void 0,isWebhook:void 0});if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:Tu.EndpointId(r),accessTokenLocator:Tu.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var a4t=class extends ta{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 gBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new bBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new ABn({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 _Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new vBn({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":{Ell(this.input)?(this.authScheme="header",this.headerAuthNode=new o4t({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 BBn({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 Vll.UnreachableCaseError(this.authScheme);return}}};var c4t=class extends ta{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=yBn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter(ba))}};var TBn=class extends ta{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[all],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 Ull(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function Lll(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function u4t(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>rE(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!Ull(i))&&(s=Lll(s,s.type==="enum"?s.default:void 0)),{key:Tu.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter(ba)).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function DBn(e,t){return hg(e)?rz(e,t,void 0):e}function O9e(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function qll(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function Wll(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var Gll=He(FP());var Tqs=["decimal","decimal128","double-int","double","float","sf-decimal"],Dqs=["int16","int32","int64","int8","sf-integer","uint8"],Rqs=["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"],Fqs=["beta","pre-release","in-development","generally-available","deprecated"];function VS(e,t){return hg(e)?rz(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var hJ=class extends ta{availability;constructor(t){super(t),this.safeParse()}parse(){if(VS(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[cll];r!=null&&(Fqs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Fqs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Tu.Availability.Beta;case"in-development":return Tu.Availability.InDevelopment;case"generally-available":return Tu.Availability.GenerallyAvailable;case"deprecated":return Tu.Availability.Deprecated;case void 0:return;default:new Gll.UnreachableCaseError(this.availability);return}}};var FBn=He(FP());function Hll(e){return typeof e=="object"&&e!=null&&"language"in e}function $ll(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Kll(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Jll(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function RBn(e){return typeof e=="object"&&e!=null&&"event"in e}function Nqs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(RBn)}function w9e(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Yll(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var NBn=class extends ta{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[vll]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return w9e(s)?[i,{type:"filenameWithData",filename:s.filename,data:Tu.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>w9e(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:Tu.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new FBn.UnreachableCaseError(o.multipartType);return}}).filter(ba))};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(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=Yll(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new FBn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{Kll(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{Nqs(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!Nqs(r.response)&&Jll(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new FBn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{Hll(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):$ll(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let c=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),u=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,m])=>[Tu.PropertyKey(p),m]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(c).length>0?c:void 0,queryParameters:Object.keys(u).length>0?u:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var Qjr=class extends ta{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[mBn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Tu.api.v1.SubpackageId(lue(r)))}};var kBn=class extends ta{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[lll]}convert(){return this.sdkMethodName}};var zBn=class extends ta{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[pll]}convert(){return this.isWebhook}};var QBn=class extends ta{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[wll]??[],...this.input[xll]??[]],this.codeSamples.forEach(t=>{[...Object.values(Tu.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}};var pvt=He(FP());function kqs(e,t){return hg(e)?rz(e,t,void 0):e}function Xll(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var mR="",a_e=class extends ta{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(w9e(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>w9e(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new pvt.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=kqs(this.input?.requestExample,this.context.document)??(t!=null?{value:t}:void 0);let r=this.shapes.responseBody?.schema?.example({includeOptionals:!1,override:void 0});if(this.resolvedResponseInput=kqs(this.input?.responseExample,this.context.document)??(r!=null?{value:r}:void 0),this.summary=this.input?.requestExample?.summary??this.input?.responseExample?.summary,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 pvt.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(RBn)){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 pvt.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,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return w9e(i)?[r,{type:"filenameWithData",filename:i.filename,data:Tu.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>w9e(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:Tu.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new pvt.UnreachableCaseError(n.multipartType);return}}).filter(ba))};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 pvt.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 pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:Xll(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?ez(this.name):this.summary!=null?ez(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function Zll(e,t){return hg(e)?rz(e,t,void 0):e}var fpl=He(FP());var epl="#/components/schemas/";function l4t(e){if(e.$ref.startsWith(epl))return e.$ref.replace(epl,"")}function hQe(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function x9e(e){return typeof e.type=="string"&&e.type==="array"}function tpl(e){return e.type==="boolean"}function rpl(e){return e.type==="integer"}function P9e(e){return!Array.isArray(e.type)&&!x9e(e)}function npl(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||P9e(t)||x9e(t))}function ipl(e){return"nullable"in e&&typeof e.nullable=="boolean"}function opl(e){return e.type==="null"}function spl(e){return e.type==="number"}function zqs(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function apl(e){return e.type==="string"}var MBn=class extends Fq{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new hw({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return rE(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(t){return this.input.example??this.input.examples?.[0]??[this.item?.example(t)]}};var VBn=class extends MS{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 hJ({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 UBn=class extends Fq{typeNodes;nullable;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(ba)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>rE(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter(ba).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(hQe).filter(ba):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function LBn(e){return e!=null&&e.length>0?e:[void 0]}var p4t=class extends Fq{description;extends=[];properties;extraProperties;requiredProperties;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:["properties",t],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new hw({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:["additionalProperties"],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map((t,r)=>{if(hg(t))return l4t(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new hw({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(ba))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return u4t(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{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:{type:"unknown",displayName:this.extraProperties}}}]:rE(this.extraProperties.convert())?.map(r=>({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:r})).filter(ba)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>LBn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>Tu.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=VS(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new hw({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var qBn=class extends Fq{isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>VS(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>VS(t,this.context.document)?.type!=="null"?new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(ba);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(([n,i])=>{let o=VS({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new hw({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter(ba);return this.isNullable&&i!=null?i.map(hQe).filter(ba):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Tu.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>rE(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??ez(i),availability:o.availability?.convert(),description:o.description,...a}}).filter(ba)).filter(ba)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>rE(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?ez(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?ez(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter(ba)).filter(ba)}:void 0,n=this.isNullable?hQe(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var WBn=class extends MS{default;nullable;constructor(t){super(t),this.nullable=t.nullable,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??(this.nullable?null:!1)}};var I9e=class extends MS{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(hg(r)){let i=VS(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter(ba),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]??(this.nullable?null:void 0)}};var cpl=He(FP());function MWg(e){return Dqs.includes(e)}var GBn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,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&&(MWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Dqs.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 cpl.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??(this.nullable?null:0)}};var HBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return hQe({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var upl=He(FP());function VWg(e){return Tqs.includes(e)}var $Bn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,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&&(VWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Tqs.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 upl.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??(this.nullable?null:0)}};var lpl=He(FP());function UWg(e){return Rqs.includes(e)}var KBn=class extends MS{format;regex;default;minLength;maxLength;enum;mimeType;nullable;constructor(t){super(t),this.nullable=t.nullable,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 lpl.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&&(UWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Rqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum",nullable:this.nullable}))}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({override:t}){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:t??"string")}};var ppl=He(FP());var JBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ppl.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var fvt=class extends Fq{description;availability;schemaId;maybeEnumConverterNode;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.description=t.description,this.availability=t.availability,this.safeParse()}parse(){this.schemaId=l4t(this.input);let t=VS(this.input,this.context.document);t?.enum!=null&&P9e(t)&&(this.maybeEnumConverterNode=new I9e({input:t,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",nullable:this.nullable})),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:Tu.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=VS(this.input,this.context.document);if(r!=null)return new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var hw=class e extends Fq{typeShapeNode;description;name;examples;availability;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),P9e(this.input)&&ipl(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),hg(this.input)){let t=l4t(this.input);if(t==null){this.context.errors.error({message:"Reference object does not have a valid schema ID",path:this.accessPath});return}if(this.seenSchemas.has(t)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(t),this.typeShapeNode=new fvt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName,description:this.description,availability:this.availability})}else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new VBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(npl(this.input))this.typeShapeNode=new UBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new qBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(zqs(this.input)&&this.input.allOf!=null)this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&this.input.enum!=null)this.typeShapeNode=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable});else if(typeof this.input.type=="string"||Array.isArray(this.input.type)&&this.input.type.length===1){if(this.input.type=Array.isArray(this.input.type)?this.input.type[0]:this.input.type,!Array.isArray(this.input.type))switch(this.input.type){case"object":zqs(this.input)&&(this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":x9e(this.input)&&(this.typeShapeNode=new MBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":tpl(this.input)&&(this.typeShapeNode=new WBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":rpl(this.input)&&(this.typeShapeNode=new GBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":spl(this.input)&&(this.typeShapeNode=new $Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":apl(this.input)&&(this.typeShapeNode=new KBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":opl(this.input)&&(this.typeShapeNode=new HBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new fpl.UnreachableCaseError(this.input.type);break}}else if(Array.isArray(this.input.type)&&this.input.type.includes("null")&&this.input.type.length===2){let t=this.input.type.filter(r=>r!=="null")[0];t!=="array"&&(this.typeShapeNode=new e({input:{...this.input,type:t},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:!0,schemaName:this.schemaName}))}else this.input.properties!=null&&(this.typeShapeNode=new p4t({input:{...this.input,type:"object"},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));this.typeShapeNode==null&&(this.typeShapeNode=new JBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!hg(this.input)&&(!x9e(this.input)&&this.input==null||x9e(this.input)&&this.input.items==null)&&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=rE(t)?.map(n=>this.nullable?hQe(n):n).filter(ba);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function C9e(e){if(e!=null)return u4t(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(ba))}var c_e=class extends MS{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;hg(this.input)?r=this.input:this.input.schema!=null?(r=this.input.schema,this.required=this.input.required):(r={type:"string"},this.required=!1),this.availability=new hJ({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=Zll(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function mpl(e,t){return hg(e)?rz(e,t,void 0):e}var Qqs=He(FP());function YBn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[Tu.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var dpl=He(zcs(),1),f4t=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}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=dpl.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()}};function LWg(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var XBn=class extends ta{typeSchemas;securitySchemes;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas!=null&&(this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),LWg(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(hg(r)?i=yBn(r.$ref,this.context.document):i=r,i!=null)return[t,new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter(ba)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[Tu.api.latest.AuthSchemeId(t),n]}).filter(ba)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=rE(r.convert());return i==null?[t,void 0]:[Tu.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>ba(r))):void 0}}};var ZBn=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=VS(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${hg(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=VS(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 eTn=class extends ta{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=VS(this.input.schema,this.context.document);this.availability=new hJ({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=hg(this.input.schema)?new fvt({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=f4t.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new ZBn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter(ba))):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})}let r=this.schema?.example({includeOptionals:!0,override:void 0});this.examples={...this.input.example!=null?{[mR]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[mR]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:rE(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=lue([this.method,this.path,this.contentType,"request"].join("_"));return YBn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new Qqs.UnreachableCaseError(i);return}}).filter(ba)}convert(){if(this.schema instanceof fvt)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=rE(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:Tu.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new Qqs.UnreachableCaseError(i.multipartType),[]}}).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var tTn=class extends ta{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=mpl(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new eTn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>rE(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter(ba)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>rE(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter(ba)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var hpl={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 ypl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var rTn=He(FP());var gpl="application/json";var Apl="application/octet-stream";function bpl(e,t){return e===t||t===mR||e===mR}var Mjr=class extends ta{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,c){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=c,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,c]of Object.entries(r))for(let u of c)bpl(a,o)&&(n.add(a),this.examples?.push(new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[c,u,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new a_e({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,O9e(u,s),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,c,u]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new a_e({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,O9e(c,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,c]of r.slice(t.length))this.examples?.push(...c.map(u=>new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[mR];if(o!=null)for(let s of o)this.examples?.push(new a_e({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,O9e(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=f4t.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=gpl,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 hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=Apl,this.contentSubtype=VS(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 hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"})}let r={};this.input.examples!=null&&(r=CBn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]=[{value:this.input.example}]);let n=VS(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=CBn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[mR]??=[],r[mR]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([c])=>!i.has(c)&&c!==mR).map(([c,u])=>[a,c,u]));let s=Object.entries(r).filter(([a,c])=>!i.has(a)&&ba(c)&&a!==mR);Object.keys(r).every(a=>a===mR)||this.matchExamplesByIndex(o,s),!i.has(mR)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return rE(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new rTn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return rE(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=lue([this.method,this.path,this.statusCode,"response"].join("_"));return YBn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new rTn.UnreachableCaseError(n);return}}).filter(ba)}convert(){if(this.empty)return{type:"empty"};if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?this.convertJsonLike():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 rTn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var Vjr=class extends ta{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=ypl(this.input,this.context.document);if(r==null){this.context.errors.error({message:hg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new Mjr({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new Mjr({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(ba)}};var nTn=class extends ta{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new Vjr({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new Vjr({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return LBn(C9e(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter(ba))})))}).filter(ba)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=rE(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??hpl[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let c=a.convert();if(c!=null&&c.responseBody?.type==="json")return{name:c.name,description:c.description,responseBody:c.responseBody}}).filter(ba)})).filter(ba)})).filter(ba)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var S9e=class extends ta{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new a_e({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,O9e(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}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 hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=E9e(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new zBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(hg(n)){let o=DBn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new QBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new tTn({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody",method:this.method,path:this.path}):void 0,this.responses=this.input.responses!=null?new nTn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new Qjr({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new Qjr({input:{[mBn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new kBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>SBn({namespace:rE(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(ba),this.xFernExamplesNode=new NBn({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(ba)}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((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:Tu.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter(ba),i=Wll(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:qll(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Tu.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(m=>m.value.toString())??[],queryParameters:C9e(this.queryParameters)?.flat(),headers:C9e(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(ba)}}).filter(ba);let o=this.servers?.map(l=>l.convert()).filter(ba),s=this.convertPathToPathParts();if(s==null)return;let a,c=this.auth?.convert();c!=null&&(a=Object.keys(c));let u=t?.flatMap(l=>l.headers).filter(ba);return this.endpointIds.map((l,p)=>({id:Tu.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(m=>Tu.api.v1.SubpackageId(m)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(m=>Tu.api.latest.AuthSchemeId(m)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:C9e(this.pathParameters)?.flat(),queryParameters:C9e(this.queryParameters)?.flat(),requestHeaders:C9e(this.requestHeaders)?.flat(),responseHeaders:u!=null&&u.length>0?u:void 0,requests:this.requests?.convert(),responses:t?.map(m=>m.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var m4t=class extends ta{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=E9e(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new S9e({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new S9e({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new S9e({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new S9e({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new S9e({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(ba)}};function iTn(e){return"payloads"in e}var oTn=class extends ta{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new m4t({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:E9e(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter(ba)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{iTn(o)?r[Tu.WebhookId(o.id)]=o:t[Tu.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var sTn=class extends ta{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ull]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||DBn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return u4t(this.globalHeaders,this.requiredProperties)?.flat()}};function _pl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var aTn=class extends ta{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=_pl(o,this.context.document);if(s!=null)return new m4t({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter(ba)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{iTn(n)&&(t[Tu.WebhookId(n.id)]=n)}),t),{})}};var cTn=class extends ta{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=E9e(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new TBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});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 oTn({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths",basePath:r,servers:t,globalAuth:this.auth})),this.input.webhooks!=null&&(this.webhooks=new aTn({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks",basePath:r,servers:t,globalAuth:this.auth})),this.input.components!=null&&(this.components=new XBn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new sTn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=wD(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=oll({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:Tu.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Mqs(e,t){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let r=new Kce(e.absoluteFilePath),n=await ZK({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new pBn,generatedTypes:{}},c=new cTn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=DDt(o,c.convert())}return o}JO();var BEl=He(Lqs(),1),TEl=He($Tn(),1),TDn=require("fs/promises"),DEl=He(require("http"),1),REl=He(require("path"),1);var Ayl=require("events"),ZTn=He(require("fs"),1),Evt=He(require("path"),1);var eyl=He(require("os"),1),tyl=300,N9e=20,fBr=1e7,ryl=eyl.default.platform();var iYg=ryl==="darwin",c8s=ryl==="win32",k9e=iYg||c8s,nyl=3e3,iyl=2e4,u8s=1250;var f_e;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(f_e||(f_e={}));var vvt;(function(e){e.CHANGE="change",e.RENAME="rename"})(vvt||(vvt={}));var mBr;(function(e){e.CHANGE="change",e.ERROR="error"})(mBr||(mBr={}));var Ql;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(Ql||(Ql={}));var XV;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(XV||(XV={}));var oYg=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let _=Date.now(),E=_-c,O=_-u,P=E>=t||O>=o;return[_,P]},p=_=>{if(u=_,!s)return;let E=s;s=void 0,e.apply(void 0,E)},m=()=>{b(0)},f=()=>{a&&(m(),p(Date.now()))},h=_=>{if(u=_,n)return p(_)},y=_=>{if(i&&s)return p(_);s=void 0},g=()=>{a=void 0;let[_,E]=l();return E?y(_):A(_)},A=_=>{let E=_-c,O=_-u,P=t-E,x=o-O,I=Math.min(P,x);return b(I)},b=_=>{a&&clearTimeout(a),!(_<=0)&&(a=setTimeout(g,_))},v=(..._)=>{let[E,O]=l(),P=!!a;if(s=_,c=E,(O||!a)&&b(t),O)return P?p(E):h(E)};return v.cancel=m,v.flush=f,v},KTn=oYg;var m8s=He(require("fs"),1),YTn=He(require("path"),1);var ib=He(require("fs"),1),nz=require("util");var gQe=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},m_e=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var l8s=He(require("process"),1),oyl=l8s.default.getuid?!l8s.default.getuid():!1,syl=1e4,Qq=()=>{};var dBr={isChangeErrorOk:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!oyl&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!dBr.isNodeError(e))throw e;if(!dBr.isChangeErrorOk(e))throw e}},US=dBr;var p8s=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=syl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},ayl=new p8s;var AQe=(e,t)=>function(n){return function i(...o){return ayl.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(m=>setTimeout(m,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},bQe=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var sYg={attempt:{chmod:gQe((0,nz.promisify)(ib.default.chmod),US.onChangeError),chown:gQe((0,nz.promisify)(ib.default.chown),US.onChangeError),close:gQe((0,nz.promisify)(ib.default.close),Qq),fsync:gQe((0,nz.promisify)(ib.default.fsync),Qq),mkdir:gQe((0,nz.promisify)(ib.default.mkdir),Qq),realpath:gQe((0,nz.promisify)(ib.default.realpath),Qq),stat:gQe((0,nz.promisify)(ib.default.stat),Qq),unlink:gQe((0,nz.promisify)(ib.default.unlink),Qq),chmodSync:m_e(ib.default.chmodSync,US.onChangeError),chownSync:m_e(ib.default.chownSync,US.onChangeError),closeSync:m_e(ib.default.closeSync,Qq),existsSync:m_e(ib.default.existsSync,Qq),fsyncSync:m_e(ib.default.fsync,Qq),mkdirSync:m_e(ib.default.mkdirSync,Qq),realpathSync:m_e(ib.default.realpathSync,Qq),statSync:m_e(ib.default.statSync,Qq),unlinkSync:m_e(ib.default.unlinkSync,Qq)},retry:{close:AQe((0,nz.promisify)(ib.default.close),US.isRetriableError),fsync:AQe((0,nz.promisify)(ib.default.fsync),US.isRetriableError),open:AQe((0,nz.promisify)(ib.default.open),US.isRetriableError),readFile:AQe((0,nz.promisify)(ib.default.readFile),US.isRetriableError),rename:AQe((0,nz.promisify)(ib.default.rename),US.isRetriableError),stat:AQe((0,nz.promisify)(ib.default.stat),US.isRetriableError),write:AQe((0,nz.promisify)(ib.default.write),US.isRetriableError),writeFile:AQe((0,nz.promisify)(ib.default.writeFile),US.isRetriableError),closeSync:bQe(ib.default.closeSync,US.isRetriableError),fsyncSync:bQe(ib.default.fsyncSync,US.isRetriableError),openSync:bQe(ib.default.openSync,US.isRetriableError),readFileSync:bQe(ib.default.readFileSync,US.isRetriableError),renameSync:bQe(ib.default.renameSync,US.isRetriableError),statSync:bQe(ib.default.statSync,US.isRetriableError),writeSync:bQe(ib.default.writeSync,US.isRetriableError),writeFileSync:bQe(ib.default.writeFileSync,US.isRetriableError)}},cyl=sYg;var JTn=He(require("fs"),1),hBr=He(require("path"),1);var f8s=()=>{};var aYg=()=>{let e=f8s,t=f8s,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},uyl=aYg;var cYg=()=>{let{promise:e,resolve:t,isPending:r}=uyl(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},lyl=cYg;var pyl={then:e=>{e()}};var fyl=e=>Array.isArray(e)?e:[e],myl=e=>typeof e=="function";var uYg=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=fyl(o).map(J=>myl(J)?J:K=>J.test(K)),a=J=>s.some(K=>K(J)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,m={},f=[],h=new Set,y={},g=[],A=new Set,b={},v={},_=new Set,E={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},O={directories:l,directoriesNames:p,directoriesNamesToPaths:m,files:f,filesNames:h,filesNamesToPaths:y,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:P,increment:x,decrement:I}=lyl(),F=0,q=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.directories.push(K),J.directoriesNames.add(Pe),l.push(K),p.add(Pe),m.propertyIsEnumerable(Pe)||(m[Pe]=[]),m[Pe].push(K),_.add(K),!(we>=n)&&(F>=i||ee(K,we+1)))},W=(J,K,Pe)=>{_.has(K)||F>=i||(F+=1,J.files.push(K),J.filesNames.add(Pe),f.push(K),h.add(Pe),y.propertyIsEnumerable(Pe)||(y[Pe]=[]),y[Pe].push(K),_.add(K))},G=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.symlinks.push(K),J.symlinksNames.add(Pe),g.push(K),A.add(Pe),b.propertyIsEnumerable(Pe)||(b[Pe]=[]),b[Pe].push(K),_.add(K),r&&(we>=n||F>=i||Ge(K,we+1)))},re=(J,K,Pe,we,Me)=>{c.aborted||a(K)||(we.isDirectory()?q(J,K,Pe,Me):we.isFile()?W(J,K,Pe):we.isSymbolicLink()&&G(J,K,Pe,Me))},oe=(J,K,Pe,we)=>{if(c.aborted)return;let Me=K===hBr.default.sep?"":hBr.default.sep,Ze=Pe.name,Oe=`${K}${Me}${Ze}`;a(Oe)||(Pe.isDirectory()?q(J,Oe,Ze,we):Pe.isFile()?W(J,Oe,Ze):Pe.isSymbolicLink()&&G(J,Oe,Ze,we))},H=(J,K,Pe,we)=>{for(let Me=0,Ze=Pe.length;Me<Ze;Me++)oe(J,K,Pe[Me],we)},ee=(J,K)=>{c.aborted||K>n||F>=i||(x(),JTn.default.readdir(J,{withFileTypes:!0},(Pe,we)=>{if(Pe||c.aborted||!we.length)return I();(u(we)||pyl).then(()=>{let Ze=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Ze,J,we,K),I()})}))},Ge=(J,K)=>{x(),JTn.default.realpath(J,(Pe,we)=>{if(Pe||c.aborted)return I();JTn.default.stat(we,(Me,Ze)=>{if(Me||c.aborted)return I();let Oe=hBr.default.basename(we),de=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};re(de,we,Oe,Ze,K),I()})})};return(async(J,K=1)=>(J=hBr.default.normalize(J),_.add(J),ee(J,K),await P,c.aborted?E:O))(e)},dyl=uYg;var d_e={lang:{debounce:KTn,attempt:e=>{try{return e()}catch(t){return d_e.lang.castError(t)}},castArray:e=>d_e.lang.isArray(e)?e:[e],castError:e=>d_e.lang.isError(e)?e:d_e.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(d_e.lang.isNaN(e))return d_e.lang.isNaN(t);if(d_e.lang.isPrimitive(e)||d_e.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(YTn.default.sep).length-1),getRealPath:(e,t)=>{try{return t?m8s.default.realpathSync.native(e):m8s.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===YTn.default.sep&&t.length-e.length>YTn.default.sep.length,poll:(e,t=iyl)=>cyl.retry.stat(t)(e,{bigint:!0}).catch(d_e.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await dyl(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Gd=d_e;var XTn=He(require("path"),1);var d8s=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Gd.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=tyl){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=Gd.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Ql.CHANGE&&a===Ql.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Ql.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Ql.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),s=this.options.limit??fBr,[a,c]=await Gd.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())Gd.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Ql.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!k9e&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(Ql.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Ql.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Ql.ADD?this.onTargetAdd(n):r===Ql.ADD_DIR?this.onTargetAddDir(n):r===Ql.CHANGE?this.onTargetChange(n):r===Ql.UNLINK?this.onTargetUnlink(n):r===Ql.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=vvt.CHANGE,r){if(this.watcher.isClosed())return;let n=XTn.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){c8s&&t.code==="EPERM"?this.onWatcherChange(vvt.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(mBr.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(mBr.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(vvt.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&k9e&&this.options.native!==!1?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),n=this.options.limit??fBr,[i,o]=await Gd.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(vvt.CHANGE,a,t)}))}}},hyl=d8s;var ZV={interval:100,intervalId:void 0,fns:new Map,init:()=>{ZV.intervalId||(ZV.intervalId=setInterval(ZV.resolve,ZV.interval))},reset:()=>{ZV.intervalId&&(clearInterval(ZV.intervalId),delete ZV.intervalId)},add:(e,t)=>{ZV.fns.set(e,Date.now()+t),ZV.init()},remove:e=>{ZV.fns.delete(e)},resolve:()=>{if(!ZV.fns.size)return ZV.reset();let e=Date.now();for(let[t,r]of ZV.fns)r>=e||(ZV.remove(t),t())}},yBr=ZV;var gBr=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,m=>m!==i);if(p&&p!==i){if(Gd.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let m=p();i===m?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,m,i)};s.add.set(n,l),l()}getLockUnlink(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD,f_e.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD_DIR,f_e.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK,f_e.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK_DIR,f_e.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};gBr.DIR_EVENTS={add:Ql.ADD_DIR,rename:Ql.RENAME_DIR,unlink:Ql.UNLINK_DIR};gBr.FILE_EVENTS={add:Ql.ADD,change:Ql.CHANGE,rename:Ql.RENAME,unlink:Ql.UNLINK};var yyl=gBr;var h8s=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gd.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(Gd.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Gd.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Gd.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},y8s=h8s;var g8s=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},gyl=g8s;var A8s=class{constructor(){this.inos={},this.paths=new y8s,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await Gd.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new gyl(n)}reset(){this.inos={},this.paths=new y8s,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Ql.ADD,i),[Ql.ADD];if(i.isDirectory())return this.updateIno(t,Ql.ADD_DIR,i),[Ql.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Ql.UNLINK,n),[Ql.UNLINK];if(n.isDirectory())return this.updateIno(t,Ql.UNLINK_DIR,n),[Ql.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Ql.CHANGE,i),[Ql.CHANGE]);if(i.isDirectory())return this.updateIno(t,Ql.UNLINK,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK,Ql.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD,i),[Ql.UNLINK_DIR,Ql.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK_DIR,Ql.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?f_e.FILE:f_e.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},b8s=A8s;var _8s=class e extends Ayl.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(XV.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(XV.CLOSE,i)),this._readyWait=new Promise(i=>this.on(XV.READY,i)),this._locker=new yyl(this),this._roots=new Set,this._poller=new b8s,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gd.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(XV.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gd.lang.castError(t);return this.emit(XV.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(XV.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(XV.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)Gd.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new hyl(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gd.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=Evt.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??N9e))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&k9e&&l.options.native!==!1)))return!0;if(!k9e)break;let u=Evt.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Gd.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||k9e&&r.native!==!1?r:{...r,recursive:!1},l={watcher:ZTn.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},h=Evt.default.dirname(a),y=a;await this.watchDirectories([h],f,n,y,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||k9e&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??N9e,a=r.limit??fBr,[c]=await Gd.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=Gd.fs.getDepth(t);for(let p of c){let m=Gd.fs.getDepth(p),f=Math.max(0,s-(m-l)),h={...r,depth:f};await this.watchDirectories([p],h,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(XV.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(XV.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=Evt.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new b8s,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return Gd.lang.noop;if(this.pollerExists(t,r))return Gd.lang.noop;let i={...r,interval:r.pollingInterval??nyl},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(XV.CLOSE,a),ZTn.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(XV.CLOSE,a),ZTn.default.unwatchFile(t,n)};return Gd.lang.attempt(s),()=>Gd.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=Gd.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Gd.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=Evt.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Gd.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=Evt.default.dirname(t);return(await Gd.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Gd.lang.noop){if(Gd.lang.isFunction(t))return this.watch([],{},t);if(Gd.lang.isUndefined(t))return this.watch([],r,n);if(Gd.lang.isFunction(r))return this.watch(t,{},r);if(Gd.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Gd.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Gd.lang.noop&&this.on(XV.ALL,n),r.readdirMap=void 0,this.ready())}},e1n=_8s;d1n();var k4t=require("fs/promises"),wgl=require("os"),xgl=He(require("path"),1),TXg=".fern",DXg="logs";function RXg(){return"cli@3.85.5"}var IBr=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Pt(Ar.of((0,wgl.homedir)()),Ke.of(TXg)),r=Pt(t,Ke.of(DXg));await qr(r)||await(0,k4t.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Pt(r,Ke.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${xgl.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1967
1967
  `);await(0,k4t.writeFile)(this.logFilePath,o,"utf-8"),this.initialized=!0}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
1968
1968
  `;try{await(0,k4t.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let n={timestamp:t.timestamp,source:RXg(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(n)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let n={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliDocsGeneration(t,r){let n={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliValidation(t,r){let n={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(n)}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var EWs=He(J8s(),1),OEl=He(lWs(),1),Mq=require("fs/promises"),wEl=require("os"),xEl=He(lk(),1),PEl=He(vEl(),1),PDn=process.platform==="win32",vWs=st.cyan("[docs]:"),lnA="etag",pnA=23,EEl=e=>e.padEnd(pnA," "),fnA="preview",mnA="app-preview",dnA="bundle",hnA=".next",ynA="standalone",gnA=".fern",AnA="packages/fern-docs/bundle/.next/server/instrumentation.js",bnA=".npmrc",_nA=".pnpmfile.cjs",vnA="pnpm-workspace.yaml",EnA='Cannot find matching keyid: {"signatures":';function OnA(){return Pt(Ar.of((0,wEl.homedir)()),Ke.of(gnA))}function tLt({app:e=!1}){return Pt(OnA(),Ke.of(e?mnA:fnA))}function K9e({app:e=!1}){return Pt(tLt({app:e}),Ke.of(e?hnA:dnA))}function YBr({app:e=!1}){return Pt(K9e({app:e}),Ke.of(ynA))}function wnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(AnA))}function xnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(vnA))}function PnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(_nA))}function InA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(bnA))}function Nvt(e){return new Error(`${e}. Please reach out to support@buildwithfern.com.`)}function CnA({app:e=!1}){return Pt(tLt({app:e}),Ke.of(lnA))}var SnA=`module.exports = {
1969
1969
  hooks: {
@@ -2764,7 +2764,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
2764
2764
  Run ${st.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
2765
2765
  Run ${st.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),eNt(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function XJa({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!Qrd(e))return;let i=t??"",o=e.filter(a=>a.isUpgradeAvailable);r!=null&&(o=o.slice(0,r+1));let s=o.sort((a,c)=>a.generatorName.localeCompare(c.generatorName)||a.currentVersion.localeCompare(c.currentVersion));for(let a of s)i+=`
2766
2766
  ${await kaw(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+st.dim(a.currentVersion)+st.reset(" \u2192 ")+st.green(a.latestVersion);return i+=`
2767
- `,n?eNt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function kaw(e){let r=await new zrd.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 zaw({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let m=Nbt(l.name);if(m==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Rce({generatorName:m,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=Nbt(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let m=await Rce({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});m!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:m})},generatorFilter:r,groupFilter:n}),s}async function Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await N9({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?tR(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Urd(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c=vq(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function l8o({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await zaw({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Urd(u,c,t.logger));else s.push(...Urd(a.versions,void 0,t.logger))}return s}async function kft({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:vxr(e.packageName,{version:t?"prerelease":"latest"})}var Lrd=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],p8o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=to.Info;isLocal;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new mgt(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.85.3"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${st.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Tw}failWithoutThrowing(t,r){this.didSucceed=!1,TEr({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await WFt()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await Mrd({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
2767
+ `,n?eNt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function kaw(e){let r=await new zrd.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 zaw({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let m=Nbt(l.name);if(m==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Rce({generatorName:m,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=Nbt(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let m=await Rce({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});m!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:m})},generatorFilter:r,groupFilter:n}),s}async function Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await N9({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?tR(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Urd(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c=vq(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function l8o({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await zaw({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Urd(u,c,t.logger));else s.push(...Urd(a.versions,void 0,t.logger))}return s}async function kft({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:vxr(e.packageName,{version:t?"prerelease":"latest"})}var Lrd=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],p8o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=to.Info;isLocal;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new mgt(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.85.5"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${st.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Tw}failWithoutThrowing(t,r){this.didSucceed=!1,TEr({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await WFt()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await Mrd({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
2768
2768
  `)||(r+=`
2769
2769
  `),this.stderr.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram({code:t}={}){process.exit(t??(this.didSucceed?0:1))}longestWorkspaceName;registerWorkspaces(t){let r=Ccs(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new _Vr(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 n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(o){throw o.message.includes("globalThis")?(n.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),n.failWithoutThrowing()):n.failWithoutThrowing(void 0,o),new Tw}finally{n.finish()}return i}async instrumentPostHogEvent(t){this.isLocal||(await WFt()).sendEvent(t)}logger=nV((t,...r)=>this.log(t,...r));stderr=nV((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=qrd(t.type==="docs"?"docs":t.workspaceName??"api"),n=1+(this.longestWorkspaceName!=null?qrd(this.longestWorkspaceName):r).length,i=r.padEnd(n),o=Lrd[this.numTasks++%Lrd.length],s=st.hex(o)(i);return{...this.constructTaskInit(),logPrefix:s}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===YA.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let n=t.filter(i=>Ak.indexOf(i.level)>=Ak.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===to.Debug,stderr:r})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await kft({cliEnvironment:this.environment,includePreReleases:t}),n=vq(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await l8o({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await JJa({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:st.yellow("?"),style:{answer:i=>st.cyan(i),message:i=>st.bold(i),highlight:i=>st.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
2770
2770
  Cancelled by user.`),new Tw):n}}async getInput(t){return await HJa({message:t.message,default:t.default})}};function qrd(e){return`[${e}]:`}var Wrd=require("fs/promises");async function ZJa({context:e,nameOverride:t,...r}){let n=await sP(t);return n==null?e.failAndThrow(`Directory "${t??sw}" not found.`):await Grd({absolutePathToFernDirectory:n,context:e,nameOverride:t,...r})}async function Grd({absolutePathToFernDirectory:e,cliName:t,cliVersion:r,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:i,context:o}){let s=[],[a,c,u,l,p,m]=await Promise.all([qr(Pt(e,Ke.of(bV))),qr(Pt(e,Ke.of(nP))),qr(Pt(e,Ke.of(aw))),qr(Pt(e,Ke.of(l2t))),qr(Pt(e,Ke.of(jxr))),qr(Pt(e,Ke.of(eBs)))]);(a||c||u||l||p||m)&&(s=await Hrd({cliName:t,fernDirectory:e,cliVersion:r,context:o,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:i}));let f=await pqa({fernDirectory:e,context:o});return s.length===0&&f==null?o.failAndThrow(`No SDK specifications or docs specifications found. Please ensure one of the following .yml (not .yaml) files is present:
@@ -2862,7 +2862,7 @@ Found ${c.length} preview deployment(s):
2862
2862
  `));for(let u of c){let l=new Date(u.updatedAt).toLocaleString();i.logger.info(` ${st.cyan(u.url)}`),i.logger.info(` Organization: ${u.organizationId}`),i.logger.info(` Updated: ${l}
2863
2863
  `)}})}var Sad=require("fs/promises");var Oad=Symbol.for("immer-nothing"),gad=Symbol.for("immer-draftable"),V7=Symbol.for("immer-state"),Qfw=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 BW(e,...t){if(process.env.NODE_ENV!=="production"){let r=Qfw[e],n=typeof r=="function"?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var TVr=Object.getPrototypeOf;function hdr(e){return!!e&&!!e[V7]}function zSt(e){return e?wad(e)||Array.isArray(e)||!!e[gad]||!!e.constructor?.[gad]||FVr(e)||l6o(e):!1}var Mfw=Object.prototype.constructor.toString(),Aad=new WeakMap;function wad(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Aad.get(r);return n===void 0&&(n=Function.toString.call(r),Aad.set(r,n)),n===Mfw}function s6o(e,t,r=!0){u6o(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function u6o(e){let t=e[V7];return t?t.type_:Array.isArray(e)?1:FVr(e)?2:l6o(e)?3:0}function bXa(e,t){return u6o(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function xad(e,t,r){let n=u6o(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function Vfw(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function FVr(e){return e instanceof Map}function l6o(e){return e instanceof Set}function kSt(e){return e.copy_||e.base_}function _Xa(e,t){if(FVr(e))return new Map(e);if(l6o(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=wad(e);if(t===!0||t==="class_only"&&!r){let n=Object.getOwnPropertyDescriptors(e);delete n[V7];let i=Reflect.ownKeys(n);for(let o=0;o<i.length;o++){let s=i[o],a=n[s];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(n[s]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[s]})}return Object.create(TVr(e),n)}else{let n=TVr(e);if(n!==null&&r)return{...e};let i=Object.create(n);return Object.assign(i,e)}}function xXa(e,t=!1){return p6o(e)||hdr(e)||!zSt(e)||(u6o(e)>1&&Object.defineProperties(e,{set:o6o,add:o6o,clear:o6o,delete:o6o}),Object.freeze(e),t&&Object.values(e).forEach(r=>xXa(r,!0))),e}function Ufw(){BW(2)}var o6o={value:Ufw};function p6o(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var Lfw={};function QSt(e){let t=Lfw[e];return t||BW(0,e),t}var DVr;function Pad(){return DVr}function qfw(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function bad(e,t){t&&(QSt("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function vXa(e){EXa(e),e.drafts_.forEach(Wfw),e.drafts_=null}function EXa(e){e===DVr&&(DVr=e.parent_)}function _ad(e){return DVr=qfw(DVr,e)}function Wfw(e){let t=e[V7];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function vad(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[V7].modified_&&(vXa(t),BW(4)),zSt(e)&&(e=a6o(t,e),t.parent_||c6o(t,e)),t.patches_&&QSt("Patches").generateReplacementPatches_(r[V7].base_,e,t.patches_,t.inversePatches_)):e=a6o(t,r,[]),vXa(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Oad?e:void 0}function a6o(e,t,r){if(p6o(t))return t;let n=e.immer_.shouldUseStrictIteration(),i=t[V7];if(!i)return s6o(t,(o,s)=>Ead(e,i,t,o,s,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return c6o(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;let o=i.copy_,s=o,a=!1;i.type_===3&&(s=new Set(o),o.clear(),a=!0),s6o(s,(c,u)=>Ead(e,i,o,c,u,r,a),n),c6o(e,o,!1),r&&e.patches_&&QSt("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function Ead(e,t,r,n,i,o,s){if(i==null||typeof i!="object"&&!s)return;let a=p6o(i);if(!(a&&!s)){if(process.env.NODE_ENV!=="production"&&i===r&&BW(5),hdr(i)){let c=o&&t&&t.type_!==3&&!bXa(t.assigned_,n)?o.concat(n):void 0,u=a6o(e,i,c);if(xad(r,n,u),hdr(u))e.canAutoFreeze_=!1;else return}else s&&r.add(i);if(zSt(i)&&!a){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&a)return;a6o(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(FVr(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&c6o(e,i)}}}function c6o(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&xXa(t,r)}function Gfw(e,t){let r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:Pad(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=n,o=PXa;r&&(i=[n],o=RVr);let{revoke:s,proxy:a}=Proxy.revocable(i,o);return n.draft_=a,n.revoke_=s,a}var PXa={get(e,t){if(t===V7)return e;let r=kSt(e);if(!bXa(r,t))return Hfw(e,r,t);let n=r[t];return e.finalized_||!zSt(n)?n:n===gXa(e.base_,t)?(AXa(e),e.copy_[t]=wXa(n,e)):n},has(e,t){return t in kSt(e)},ownKeys(e){return Reflect.ownKeys(kSt(e))},set(e,t,r){let n=Iad(kSt(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let i=gXa(kSt(e),t),o=i?.[V7];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(Vfw(r,i)&&(r!==void 0||bXa(e.base_,t)))return!0;AXa(e),OXa(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 gXa(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,AXa(e),OXa(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=kSt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){BW(11)},getPrototypeOf(e){return TVr(e.base_)},setPrototypeOf(){BW(12)}},RVr={};s6o(PXa,(e,t)=>{RVr[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});RVr.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&BW(13),RVr.set.call(this,e,t,void 0)};RVr.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&BW(14),PXa.set.call(this,e[0],t,r,e[0])};function gXa(e,t){let r=e[V7];return(r?kSt(r):e)[t]}function Hfw(e,t,r){let n=Iad(t,r);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}function Iad(e,t){if(!(t in e))return;let r=TVr(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=TVr(r)}}function OXa(e){e.modified_||(e.modified_=!0,e.parent_&&OXa(e.parent_))}function AXa(e){e.copy_||(e.copy_=_Xa(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var $fw=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){let o=r;r=t;let s=this;return function(c=o,...u){return s.produce(c,l=>r.call(this,l,...u))}}typeof r!="function"&&BW(6),n!==void 0&&typeof n!="function"&&BW(7);let i;if(zSt(t)){let o=_ad(this),s=wXa(t,void 0),a=!0;try{i=r(s),a=!1}finally{a?vXa(o):EXa(o)}return bad(o,n),vad(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===Oad&&(i=void 0),this.autoFreeze_&&xXa(i,!0),n){let o=[],s=[];QSt("Patches").generateReplacementPatches_(t,i,o,s),n(o,s)}return i}else BW(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...a)=>this.produceWithPatches(s,c=>t(c,...a));let n,i;return[this.produce(t,r,(s,a)=>{n=s,i=a}),n,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof e?.useStrictIteration=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){zSt(e)||BW(8),hdr(e)&&(e=Kfw(e));let t=_ad(this),r=wXa(e,void 0);return r[V7].isManual_=!0,EXa(t),r}finishDraft(e,t){let r=e&&e[V7];(!r||!r.isManual_)&&BW(9);let{scope_:n}=r;return bad(n,t),vad(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));let n=QSt("Patches").applyPatches_;return hdr(e)?n(e,t):this.produce(e,i=>n(i,t))}};function wXa(e,t){let r=FVr(e)?QSt("MapSet").proxyMap_(e,t):l6o(e)?QSt("MapSet").proxySet_(e,t):Gfw(e,t);return(t?t.scope_:Pad()).drafts_.push(r),r}function Kfw(e){return hdr(e)||BW(10,e),Cad(e)}function Cad(e){if(!zSt(e)||p6o(e))return e;let t=e[V7],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=_Xa(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=_Xa(e,!0);return s6o(r,(i,o)=>{xad(r,i,Cad(o))},n),t&&(t.finalized_=!1),r}var Jfw=new $fw,f6o=Jfw.produce;function Yfw(e){return e.endsWith(`
2864
2864
  `)?e:e+`
2865
- `}async function jad({cliContext:e,targetVersion:t}){if(!t)return e.failAndThrow("Please specify a version to downgrade to using --version");let r=await sP();if(r==null)return e.failAndThrow(`Directory "${sw}" not found.`);let n=await e.runTask(o=>T9({directory:r,context:o})),i=f6o(n.rawConfig,o=>{o.version=t});await(0,Sad.writeFile)(n._absolutePath,Yfw(JSON.stringify(i,void 0,2))),e.logger.info(`Updated ${SC} to version ${t}`)}var g6o=require("fs/promises");var MSt=He(hCn(),1),Dad=He(zg(),1);function Bad(e,t){let r=e.shape,n=e.docs??void 0;return{openApiSchema:Sl._visit(r,{alias:o=>Xfw({aliasTypeDeclaration:o,docs:n}),enum:o=>Zfw({enumTypeDeclaration:o,docs:n}),object:o=>{let s=e.userProvidedExamples[0],a=s==null?imw(t,e.name):void 0,c=s==null&&a==null?omw(t,e.name):void 0;return d6o({properties:o.properties.map(u=>{let l;return s!=null&&s.shape.type==="object"?l=s.shape.properties.find(p=>p.name.wireValue===u.name.wireValue):a!=null?a.type==="reference"&&a.shape.type==="named"&&a.shape.shape.type==="object"&&(l=a.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)):c!=null&&c.type==="body"&&c.value?.shape.type==="named"&&c.value.shape.shape.type==="object"&&(l=c.value.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)),{docs:u.docs??void 0,name:u.name,valueType:u.valueType,example:l}}),extensions:o.extends,docs:n})},union:o=>emw({unionTypeDeclaration:o,docs:n}),undiscriminatedUnion:o=>tmw({undiscriminatedUnionDeclaration:o,docs:n}),_other:()=>{throw new Error("Encountered unknown type: "+r.type)}}),schemaName:Tad(e.name)}}function Xfw({aliasTypeDeclaration:e,docs:t}){return{...Ej(e.aliasOf),description:t}}function Zfw({enumTypeDeclaration:e,docs:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue),description:t}}function emw({unionTypeDeclaration:e,docs:t}){let n={oneOf:e.types.map(i=>{let o={[e.discriminant.wireValue]:{type:"string",enum:[i.discriminantValue.wireValue]}};return TD._visit(i.shape,{noProperties:()=>({type:"object",properties:o,required:[e.discriminant.wireValue]}),singleProperty:s=>({type:"object",properties:{...o,[s.name.wireValue]:Ej(s.type)},required:[e.discriminant.wireValue]}),samePropertiesAsObject:s=>({type:"object",allOf:[{type:"object",properties:o},{$ref:m6o(s)}],required:[e.discriminant.wireValue]}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}),description:t};return e.baseProperties.length>0&&(n.properties=e.baseProperties.reduce((i,o)=>(i[o.name.wireValue]={description:o.docs??void 0,...Ej(o.valueType)},o.valueType.type==="container"&&o.valueType.container.type==="optional"||(n.required=[...n.required??[],o.name.wireValue]),i),{})),n}function tmw({undiscriminatedUnionDeclaration:e,docs:t}){return{oneOf:e.members.map(r=>({description:r.docs??void 0,...Ej(r.type)})),description:t}}function Ej(e){return Bn._visit(e,{container:t=>nmw(t),named:t=>({$ref:m6o(t)}),primitive:t=>rmw(t),unknown:()=>({}),_other:()=>{throw new Error("Encountered unknown typeReference: "+e.type)}})}function rmw(e){return e.v2==null?xc._visit(e.v1,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:()=>({type:"string"}),uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v1)}})??{}:io._visit(e.v2,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:t=>{let r={type:"string"};return t.validation?.format!=null&&(r.format=t.validation.format),t.validation?.pattern!=null&&(r.pattern=t.validation.pattern),r},uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v2)}})}function nmw(e){return Xc._visit(e,{list:t=>({type:"array",items:Ej(t)}),set:t=>({type:"array",items:Ej(t)}),map:t=>t.keyType.type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType.type==="unknown"?{type:"object",additionalProperties:!0}:{type:"object",additionalProperties:Ej(t.valueType)},optional:t=>({...Ej(t),nullable:!0}),nullable:t=>({...Ej(t),nullable:!0}),literal:t=>t._visit({boolean:r=>({type:"boolean",const:r}),string:r=>({type:"string",const:r}),_other:()=>({})}),_other:()=>{throw new Error("Encountered unknown containerType: "+e.type)}})}function m6o(e){return`#/components/schemas/${Tad(e)}`}function Tad(e){return[...e.fernFilepath.packagePath.map(t=>t.originalName),e.name.originalName].join("")}function imw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0)&&n.requestBody?.type==="reference"&&n.requestBody.requestBodyType.type==="named"&&smw(n.requestBody.requestBodyType,t))return n.userSpecifiedExamples[0]?.example?.request??void 0}function omw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0||n.response?.body?.type!=="json")&&n.response.body.value.responseBodyType.type==="named"&&n.response.body.value.responseBodyType.typeId===t.typeId){let i=n.userSpecifiedExamples.find(o=>o.example?.response.type==="ok");if(i!=null&&i.example?.response.type==="ok")return i.example.response.value}}function smw(e,t){return _C(e.fernFilepath,t.fernFilepath)&&_C(e.name,t.name)}function d6o({docs:e,properties:t,extensions:r}){let n={},i=[];t.forEach(s=>{let a=Ej(s.valueType),c;(s.example!=null&&s.valueType.type==="primitive"||s.example!=null&&s.valueType.type==="container"&&s.valueType.container.type==="list"&&s.valueType.container.list.type==="primitive")&&(c=s.example.value.jsonExample),n[s.name.wireValue]={...a,description:s.docs??void 0,example:c},s.valueType.type==="container"&&s.valueType.container.type==="optional"||i.push(s.name.wireValue)});let o={type:"object",description:e,properties:n};return i.length>0&&(o.required=i),r.length>0&&(o.allOf=r.map(s=>({$ref:m6o(s)}))),o}function Rad({ir:e,httpServices:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}){let c={};return t.forEach(u=>{u.endpoints.forEach(l=>{let{fullPath:p,convertedHttpMethod:m,operationObject:f}=amw({ir:e,httpEndpoint:l,httpService:u,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}),h=c[p]??={};if(h[m]!=null)throw new Error(`Duplicate ${m} endpoint at ${p}`);h[m]=f})}),c}function amw({httpEndpoint:e,httpService:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a,ir:c}){let u=(0,Dad.default)(c.basePath!=null?CXa(c.basePath):"",CXa(t.basePath),CXa(e.path));u=u.startsWith("/")?u:`/${u}`;let l=cmw(e.method),p=c.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),m=t.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),f=e.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),h=e.queryParameters.map(v=>mmw({queryParameter:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),y=e.headers.map(v=>dmw({httpHeader:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),g=[...p,...m,...f,...h,...y],A=a==="stoplight"?t.displayName??t.name.fernFilepath.allParts.map(v=>v.originalName).join(" "):t.name.fernFilepath.allParts.map(v=>v.pascalCase.unsafeName).join(""),b={description:e.docs??void 0,operationId:[...t.name.fernFilepath.allParts.map(v=>v.camelCase.unsafeName),e.name.originalName].join("_"),tags:[A],parameters:g,responses:lmw({httpResponse:e.response,responseErrors:e.errors,errorsByName:n,errorDiscriminationStrategy:i,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]}),summary:e.displayName??void 0};if(e.baseUrl!=null){let v=e.baseUrl;if(s?.environments.type!=="multipleBaseUrls")throw new Error("baseUrl is defined environments are not multipleBaseUrls");b.servers=s.environments.environments.map(_=>{let E=_.urls[v];if(E==null)throw new Error("No URL defined for "+v);let O={url:E};return _.docs!=null&&(O.description=_.docs),O})}return e.auth&&(b.security=o),e.requestBody!=null&&(b.requestBody=umw({httpRequest:e.requestBody,typesByName:r,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]})),{fullPath:u,convertedHttpMethod:l,operationObject:b}}function cmw(e){return iw._visit(e,{get:()=>MSt.OpenAPIV3.HttpMethods.GET,post:()=>MSt.OpenAPIV3.HttpMethods.POST,put:()=>MSt.OpenAPIV3.HttpMethods.PUT,patch:()=>MSt.OpenAPIV3.HttpMethods.PATCH,delete:()=>MSt.OpenAPIV3.HttpMethods.DELETE,head:()=>MSt.OpenAPIV3.HttpMethods.HEAD,_other:()=>{throw new Error("Encountered unknown http method: "+e)}})}function umw({httpRequest:e,typesByName:t,examples:r}){let n={};for(let i of r)i.request!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:i.request.jsonExample}:n[`Example${w0(n)+1}`]={value:i.request.jsonExample});return Sb._visit(e,{inlinedRequestBody:i=>{let o={schema:d6o({docs:void 0,properties:i.properties.map(s=>{let a;return r.length>0&&r[0]?.request?.type==="inlinedRequestBody"&&(a=r[0]?.request.properties.find(c=>c.name.wireValue===s.name.wireValue)),{docs:s.docs??void 0,name:s.name,valueType:s.valueType,example:a}}),extensions:i.extends})};return w0(n)>0&&(o.examples=n),{required:!0,content:{"application/json":o}}},reference:i=>{let o={schema:Ej(i.requestBodyType)};return w0(n)>0&&(o.examples=n),{description:i.docs??void 0,required:h6o({typeReference:i.requestBodyType,typesByName:t}),content:{"application/json":o}}},fileUpload:i=>({required:!0,content:{"multipart/form-data":{schema:{type:"object",properties:i.properties.reduce((o,s)=>(Yj._visit(s,{file:a=>{o[a.key.wireValue]={type:"string",format:"binary"}},bodyProperty:a=>{o[a.name.wireValue]={description:a.docs??void 0,...Ej(a.valueType)}},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+s.type)}}),{...o}),{})}}}}),bytes:i=>{let o=i.contentType??"application/octet-stream";return{required:!i.isOptional,description:i.docs??void 0,content:{[o]:{schema:{type:"string",format:"binary"}}}}},_other:()=>{throw new Error("Unknown HttpRequestBody type: "+e.type)}})}function lmw({httpResponse:e,responseErrors:t,errorsByName:r,errorDiscriminationStrategy:n,examples:i}){let o={};if(e?.body?.type==="json"){let s={schema:Ej(e.body.value.responseBodyType)},a={};for(let c of i)c.response.type==="ok"&&c.response.value.type==="body"&&c.response.value.value!=null&&(c.name&&c.name.originalName!==""?a[c.name.originalName]={value:c.response.value.value.jsonExample}:a[`Example${w0(a)+1}`]={value:c.response.value.value.jsonExample});w0(a)>0&&(s.examples=a),o[String(e.statusCode??200)]={description:e.body.value.docs??"",content:{"application/json":s}}}else if(e?.body?.type==="fileDownload"||e?.body?.type==="bytes")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"application/octet-stream":{schema:{type:"string",format:"binary"}}}};else if(e?.body?.type==="text")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"text/plain":{schema:{type:"string"}}}};else if(e?.body?.type==="streaming"){let s=e.body.value,a;switch(s.type){case"sse":a="text/event-stream";break;case"json":a="application/jsonl";break;case"text":a="text/plain";break;default:a="application/octet-stream";break}o[String(e.statusCode??200)]={description:s.docs??"",content:{[a]:{schema:{type:"string",format:"binary"}}}}}else o[204]={description:""};return w9._visit(n,{statusCode:()=>{for(let s of t){let a=r[y6o(s.error)];if(a==null)throw new Error("Encountered undefined error declaration: "+s.error.name.originalName);let c={description:s.docs??""};if(a.type!=null){let u={schema:Ej(a.type)},l={};for(let p of i)p.response.type==="error"&&p.response.body!=null&&_C(s.error,p.response.error)&&(p.name&&p.name.originalName!==""?l[p.name.originalName]={value:p.response.body.jsonExample}:l[`Example${w0(l)+1}`]={value:p.response.body.jsonExample});w0(l)>0&&(u.examples=l),c.content={"application/json":u}}o[a.statusCode]=c}},property:s=>{let a=fmw({responseErrors:t,errorsByName:r});for(let c of Object.keys(a)){let u=a[c];if(u==null||u.length===0)continue;let l={schema:{oneOf:u.map(m=>pmw({errorInfo:m,property:s}))}},p={};for(let m of i)if(m.response.type==="error"&&m.response.body!=null){let f=m.response.error;u.some(h=>_C(h.errorDeclaration.name,f))&&(m.name&&m.name.originalName!==""?p[m.name.originalName]={value:m.response.body.jsonExample}:p[`Example${w0(p)+1}`]={value:m.response.body.jsonExample})}w0(p)>0&&(l.examples=p),o[c]={description:"",content:{"application/json":l}}}},_other:()=>{throw new Error("Unknown error discrimination strategy: "+n.type)}}),o}function pmw({errorInfo:e,property:t}){let r=e.errorDeclaration.discriminantValue.wireValue,n=e.responseError.docs??void 0,i={[t.discriminant.wireValue]:{type:"string",enum:[r]}};return e.errorDeclaration.type!=null&&(i[t.contentProperty.wireValue]=Ej(e.errorDeclaration.type)),{type:"object",description:n,properties:i}}function fmw({responseErrors:e,errorsByName:t}){let r={};for(let n of e){let i=t[y6o(n.error)];if(i==null)throw new Error("Encountered undefined error declaration: "+n.error.name.originalName);let o=i.statusCode,s=r[o];s==null?r[o]=[{responseError:n,errorDeclaration:i}]:s.push({responseError:n,errorDeclaration:i})}return r}function IXa({pathParameter:e,examples:t}){let r={name:e.name.originalName,in:"path",description:e.docs??void 0,required:!0,schema:Ej(e.valueType)},n={};for(let i of t){let o=[...i.rootPathParameters,...i.servicePathParameters,...i.endpointPathParameters].find(s=>s.name.originalName===e.name.originalName);o!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:o.value.jsonExample}:n[`Example${w0(n)+1}`]={value:o.value.jsonExample},r.example==null&&(r.example=o.value.jsonExample))}return w0(n)>0&&(r.examples=n),r}function mmw({queryParameter:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"query",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:e.allowMultiple?Ej(Bn.container(Xc.list(e.valueType))):Ej(e.valueType)},i={};for(let o of r){let s=o.queryParameters.find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function dmw({httpHeader:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"header",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:Ej(e.valueType)},i={};for(let o of r){let s=[...o.serviceHeaders,...o.endpointHeaders].find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function CXa(e){let t=e.head;for(let r of e.parts)t+=`{${r.pathParameter}}${r.tail}`;return t}function h6o({typeReference:e,typesByName:t}){if(e.type==="container"&&e.container.type==="optional")return!1;if(e.type==="named"){let r=SXa(e),n=t[r];if(n==null)throw new Error("Encountered non-existent type: "+e.name.originalName);if(n.shape.type==="alias")return h6o({typeReference:n.shape.aliasOf,typesByName:t})}return!0}function Fad(e){return c1._visit(e.requirement,{all:()=>[e.schemes.reduce((t,r)=>({...t,[jXa(r)]:[]}),{})],any:()=>e.schemes.map(t=>({[jXa(t)]:[]})),endpointSecurity:()=>[],_other:()=>{throw new Error("Unknown auth scheme requirement: "+e.requirement)}})}function Nad(e){let t={};for(let r of e.schemes){let n=nv._visit(r,{bearer:()=>({type:"http",scheme:"bearer"}),basic:()=>({type:"http",scheme:"basic"}),header:i=>({type:"apiKey",in:"header",name:i.name.wireValue}),oauth:()=>({type:"http",scheme:"bearer"}),inferred:()=>{},_other:()=>{throw new Error("Unknown auth scheme: "+r.type)}});n&&(t[jXa(r)]=n)}return t}function jXa(e){return nv._visit(e,{bearer:()=>"BearerAuth",inferred:()=>"InferredAuth",basic:()=>"BasicAuth",oauth:()=>"BearerAuth",header:t=>`${t.name.name.pascalCase.unsafeName}Auth`,_other:()=>{throw new Error("Unknown auth scheme: "+e.type)}})}function kad({apiName:e,ir:t,mode:r}){let n={},i={};Object.values(t.types).forEach(l=>{let p=Bad(l,t);n[p.schemaName]={title:p.schemaName,...p.openApiSchema},i[SXa(l.name)]=l});let o={};Object.values(t.errors).forEach(l=>{o[y6o(l.name)]=l});let s=Fad(t.auth),a=Rad({ir:t,httpServices:Object.values(t.services),typesByName:i,errorsByName:o,errorDiscriminationStrategy:t.errorDiscriminationStrategy,security:s,environments:t.environments??void 0,mode:r}),c={title:t.apiDisplayName??e,version:""};t.apiDocs!=null&&(c.description=t.apiDocs);let u={openapi:"3.0.1",info:c,paths:a,components:{schemas:n,securitySchemes:Nad(t.auth)}};return t.environments!=null&&t.environments.environments.type==="singleBaseUrl"&&(u.servers=t.environments.environments.environments.map(l=>({url:l.url,description:l.docs!=null?`${l.name.originalName} (${l.docs})`:l.name.originalName}))),u}function SXa(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}function y6o(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}async function zad({project:e,cliContext:t,outputPath:r,indent:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await t.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},readme:void 0,version:void 0,packageName:void 0,context:o,sourceResolver:new eO(o,s)}),c=kad({apiName:i.workspaceName??"api",ir:a,mode:"openapi"});await(0,g6o.mkdir)(Ci(r),{recursive:!0}),await(0,g6o.writeFile)(r,r.endsWith(".json")?JSON.stringify(c,void 0,n):Cn.dump(c,{indent:n}))})}))}async function Qad({project:e,cliContext:t,shouldFix:r}){await Promise.all(e.apiWorkspaces.map(async n=>{n instanceof nb||await t.runTaskForWorkspace(n,async i=>{await T5a({workspace:await n.toFernWorkspace({context:i}),context:i,shouldFix:r})})}))}var Mad="group";var Vad=".preview",Uad="approved-output-directories",Lad=".fern";var Kad=require("fs/promises");var Wad=require("fs/promises");var qad=require("os");function NVr(){return Pt(Ar.of((0,qad.homedir)()),Ke.of(Lad),Ke.of(Uad))}async function Gad(){let e=NVr();if(!await qr(e))return[];let r=await(0,Wad.readFile)(e,{encoding:"utf-8"});return JSON.parse(r)}var A6o=require("fs/promises"),Had=He(require("path"),1);async function $ad(e){await(0,A6o.mkdir)(Had.default.dirname(NVr()),{recursive:!0}),await(0,A6o.writeFile)(NVr(),JSON.stringify(e,null,2))}async function Jad(e,t,r){if(!e||jas()||r)return{shouldProceed:!0};let n=await Gad();return n?.includes(e)?{shouldProceed:!0}:await qr(e)?(await(0,Kad.readdir)(e)).length===0?{shouldProceed:!0}:await t.confirmPrompt(`Directory ${e} contains existing files that may be overwritten. Continue?`,!1)?(await $ad([...n??[],e]),{shouldProceed:!0}):{shouldProceed:!1}:{shouldProceed:!0}}var icd=He(Lke(),1);async function Yad({groups:e,visitor:t,nodePath:r,cliVersion:n}){if(e!=null)for(let[i,o]of Object.entries(e))await hmw({group:o,visitor:t,nodePath:[...r,i],cliVersion:n})}async function hmw({group:e,visitor:t,nodePath:r,cliVersion:n}){await Promise.all(e.generators.map(async(i,o)=>await t.generatorInvocation?.({invocation:i,cliVersion:n},[...r,"generators",o.toString(),i.name])))}async function Xad(e,t,r){await r.file?.(e,[]),await Sae(e,{"auth-schemes":Ut,api:Ut,whitelabel:Ut,metadata:Ut,readme:Ut,"default-group":Ut,aliases:Ut,reviewers:Ut,openapi:Ut,"openapi-overrides":Ut,"spec-origin":Ut,"async-api":Ut,"api-settings":Ut,ai:Ut,autorelease:Ut,groups:async n=>{await Yad({groups:n,visitor:r,nodePath:["groups"],cliVersion:t})}})}function Zad({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:n}){function i(o){let s=async(a,c)=>{for(let u of r){let l=u.generatorsYml?.[o];if(l!=null){let p=await l(a,{relativeFilepath:e,contents:t});n(p.map(m=>({severity:m.severity,relativeFilepath:e,nodePath:c,message:m.message})))}}};return{[o]:s}}return{...i("file"),...i("generatorInvocation")}}function ymw(e,t,r){if(!vq(r,t))return[{severity:"fatal",message:`The generator ${e} requires CLI version ${t} or later (current version: ${r}). Please run \`fern upgrade\` to upgrade your CLI version and use this generator.`}]}function gmw(e){return Number(e.replace("v",""))}var BXa={name:"compatible-ir-version",create:async()=>({generatorsYml:{generatorInvocation:async({invocation:e,cliVersion:t})=>{let r=mWr({token:void 0});if(t==null)return[];console.debug(`[FDR] compatible-ir-versions: checking CLI release for version=${t}`);let n=await r.generators.cli.getCliRelease(t);if(!n.ok)return console.debug(`[FDR] compatible-ir-versions: getCliRelease failed for ${t}`,n),[];let i=n.body.irVersion;console.debug(`[FDR] compatible-ir-versions: CLI version=${t} has irVersion=${i}`);let o;if(e["ir-version"]!=null)o=gmw(e["ir-version"]);else{let a={...e,name:tR(e.name)},c=await Pht(a);if(console.debug(`[FDR] compatible-ir-versions: irVersion for ${a.name}@${a.version} = ${c}`),c==null)return console.debug(`[FDR] compatible-ir-versions: could not resolve irVersion for ${a.name}@${a.version}, skipping validation`),[];o=c}if(o<=i)return[];let s=await r.generators.cli.getMinCliForIr(o);return s.ok?ymw(e.name,s.body.version,t)??[]:[]}}})};var TXa={name:"valid-alias-group-references",create:async()=>({generatorsYml:{file:async e=>{let t=[],r=e.aliases,n=e.groups??{};if(r==null)return t;let i=new Set(Object.keys(n));for(let[o,s]of Object.entries(r))if(Array.isArray(s))for(let a of s)i.has(a)||t.push({severity:"error",message:`Alias "${o}" references unknown group "${a}". Available groups: ${[...i].join(", ")||"none"}`});return t}}})};function ecd(){return[BXa,TXa]}async function b6o(e,t){return Amw({workspace:e,rules:ecd(),logger:t})}async function Amw({workspace:e,rules:t,logger:r}){let n=[],i=await Promise.all(t.map(o=>o.create({workspace:e,logger:r})));if(e.generatorsConfiguration?.rawConfiguration){let o=await bmw({contents:e.generatorsConfiguration.rawConfiguration,allRuleVisitors:i,cliVersion:e.cliVersion});n.push(...o)}return n}async function bmw({contents:e,allRuleVisitors:t,cliVersion:r}){let n=[],i=Zad({relativeFilepath:Ke.of(aw),contents:e,allRuleVisitors:t,addViolations:o=>{n.push(...o)}});return await Xad(e,r,i),n}var DXa=He(rcd(),1);async function ncd({workspace:e,context:t,ossWorkspace:r}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let n=performance.now(),i=r_t(e,t.logger),o=await b6o(e,t.logger),s=[...i,...o];r&&s.push(...await CUt(r,t));let a=performance.now()-n,c=s.some(u=>u.severity==="fatal"||u.severity==="error");return{apiName:e.definition.rootApiFile.contents.name,violations:s,elapsedMillis:a,hasErrors:c}}async function wmw({workspace:e,context:t,logWarnings:r,logSummary:n=!0,ossWorkspace:i}){let o=performance.now(),s=r_t(e,t.logger),a=await b6o(e,t.logger),c=[...s,...a];i&&c.push(...await CUt(i,t));let u=performance.now()-o,{hasErrors:l}=sdr({violations:c,context:t,logWarnings:r,logSummary:n,elapsedMillis:u});return{hasErrors:l}}async function qft({workspace:e,context:t,logWarnings:r,ossWorkspace:n}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let{hasErrors:i}=await wmw({workspace:e,context:t,logWarnings:r,ossWorkspace:n});i&&t.failAndThrow()}async function ocd({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,generatorName:o,version:s,shouldLogS3Url:a,token:c,useLocalDocker:u,keepDocker:l,absolutePathToPreview:p,mode:m,runner:f,inspect:h,lfsOverride:y,fernignorePath:g,dynamicIrOnly:A}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspace has no groups specified in ${aw}`);return}let b=i??t.generatorsConfiguration.defaultGroup;if(b==null)return n.failAndThrow(`No group specified. Use the --${Mad} option, or set "${p2t}" in ${aw}`);let v=xmw(b,t.generatorsConfiguration.groupAliases,t.generatorsConfiguration.groups.map(E=>E.groupName),n),{ai:_}=t.generatorsConfiguration;if(!u&&!c)return n.failAndThrow("Please run fern login");await qft({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1,ossWorkspace:t instanceof nb?t:void 0}),await Promise.all(v.map(async E=>{let O=t.generatorsConfiguration?.groups.find(P=>P.groupName===E);if(O==null)return n.failAndThrow(`Group '${E}' does not exist.`);if(o!=null){let P=O.generators.filter(x=>x.name===o);if(P.length===0){let x=O.generators.map(I=>I.name);return n.failAndThrow(`Generator '${o}' not found in group '${E}'. Available generators: ${x.join(", ")}`)}O={...O,generators:P}}y!=null&&(O=Pmw(O,y,n)),v.length>1&&n.logger.info(`Running generation for group '${E}'...`),u?await BMo({token:c,projectConfig:r,workspace:t,generatorGroup:O,version:s,keepDocker:l,context:n,runner:f,absolutePathToPreview:p,inspect:h,ai:_}):c!=null&&await h2r({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:s,shouldLogS3Url:a,token:c,whitelabel:t.generatorsConfiguration?.whitelabel,absolutePathToPreview:p,mode:m,fernignorePath:g,dynamicIrOnly:A})}))}function xmw(e,t,r,n){let i=t[e];if(i!=null){for(let a of i)r.includes(a)||n.failAndThrow(`Group alias '${e}' references non-existent group '${a}'. Available groups: ${r.join(", ")}`);return i}if(r.includes(e))return[e];let o=Object.keys(t),s=[...r,...o];return n.failAndThrow(`'${e}' is not a valid group or alias. Available groups: ${r.join(", ")}`+(o.length>0?`. Available aliases: ${o.join(", ")}`:"")),[]}function Pmw(e,t,r){let n=Ar.of(ya(Vg(),t)),i={},o=[];for(let s of e.generators){let a=s.language??Imw(s.name),c;if(e.generators.length===1)c=n;else{let l=a||"unknown";i[l]==null&&(i[l]=0),i[l]++;let p=i[l]===1?l:`${l}-${i[l]}`;c=Pt(n,Ke.of(p))}let u={...s,outputMode:icd.FernFiddle.remoteGen.OutputMode.downloadFiles({}),absolutePathToLocalOutput:c};o.push(u),r.logger.info(`Overriding output for generator '${s.name}' to local-file-system at: ${c}`)}return{...e,generators:o}}function Imw(e){return e.includes("typescript")||e.includes("ts")?"typescript":e.includes("python")||e.includes("py")?"python":e.includes("java")?"java":e.includes("go")?"go":e.includes("ruby")?"ruby":e.includes("csharp")||e.includes("c#")?"csharp":e.includes("swift")?"swift":e.includes("php")?"php":e.includes("rust")?"rust":e.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}var acd={PullRequest:"pull-request"};async function RXa({project:e,cliContext:t,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,keepDocker:s,useLocalDocker:a,preview:c,mode:u,force:l,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y,outputDir:g}){let A;if(!a){let b=await t.runTask(async v=>qj(v));b.type==="user"&&await t.runTask(async v=>{await qM({organization:e.config.organization,token:b,context:v})}),A=b}for(let b of e.apiWorkspaces){let v=scd(n,b.generatorsConfiguration);for(let _ of b.generatorsConfiguration?.groups.filter(E=>v==null||v.includes(E.groupName)).flatMap(E=>E.generators).filter(E=>i==null||E.name===i)??[]){let{shouldProceed:E}=await Jad(_.absolutePathToLocalOutput,t,l);E||t.failAndThrow("Generation cancelled")}}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(b=>{let v=scd(n,b.generatorsConfiguration);return{name:b.workspaceName,group:n,generators:b.generatorsConfiguration?.groups.filter(_=>v==null||v.includes(_.groupName)).map(_=>_.generators.filter(E=>i==null||E.name===i).map(E=>({name:E.name,version:E.version,outputMode:E.outputMode.type,config:E.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async b=>{await t.runTaskForWorkspace(b,async v=>{let _=c?g!=null?Ar.of(ya(Vg(),g)):Pt(b.absoluteFilePath,Ke.of(Vad)):void 0;_!=null&&v.logger.info(`Writing preview to ${_}`),await ocd({organization:e.config.organization,workspace:b,projectConfig:e.config,context:v,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,token:A,useLocalDocker:a,keepDocker:s,absolutePathToPreview:_,mode:u,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y})})}))}function scd(e,t){if(e==null)return null;if(t==null)return[e];let r=t.groupAliases[e];return r??[e]}function ccd(){return!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.TF_BUILD||process.env.BUILDKITE||process.env.CODEBUILD_BUILD_ID||process.env.TEAMCITY_VERSION||process.env.BITBUCKET_BUILD_NUMBER||process.env.DRONE||process.env.SEMAPHORE||process.env.APPVEYOR||process.env.BUDDY_WORKSPACE_ID||process.env.WERCKER_RUN_ID)}async function ucd({project:e,cliContext:t,instance:r,preview:n,brokenLinks:i,strictBrokenLinks:o,disableTemplates:s,noPrompt:a,skipUpload:c}){let u=e.docsWorkspaces;if(u==null){t.failAndThrow("No docs.yml file found. Please make sure your project has one.");return}let l=process.env.FERN_SELF_HOSTED==="true";if(!n&&!ccd()&&!a){let m=r??u.config.instances[0]?.url,f=m?` (${st.cyan(`https://${m}`)})`:"";if(!await t.confirmPrompt(`This will affect a production site${f}. Run with --preview to generate docs for a preview instance.
2865
+ `}async function jad({cliContext:e,targetVersion:t}){if(!t)return e.failAndThrow("Please specify a version to downgrade to using --version");let r=await sP();if(r==null)return e.failAndThrow(`Directory "${sw}" not found.`);let n=await e.runTask(o=>T9({directory:r,context:o})),i=f6o(n.rawConfig,o=>{o.version=t});await(0,Sad.writeFile)(n._absolutePath,Yfw(JSON.stringify(i,void 0,2))),e.logger.info(`Updated ${SC} to version ${t}`)}var g6o=require("fs/promises");var MSt=He(hCn(),1),Dad=He(zg(),1);function Bad(e,t){let r=e.shape,n=e.docs??void 0;return{openApiSchema:Sl._visit(r,{alias:o=>Xfw({aliasTypeDeclaration:o,docs:n}),enum:o=>Zfw({enumTypeDeclaration:o,docs:n}),object:o=>{let s=e.userProvidedExamples[0],a=s==null?imw(t,e.name):void 0,c=s==null&&a==null?omw(t,e.name):void 0;return d6o({properties:o.properties.map(u=>{let l;return s!=null&&s.shape.type==="object"?l=s.shape.properties.find(p=>p.name.wireValue===u.name.wireValue):a!=null?a.type==="reference"&&a.shape.type==="named"&&a.shape.shape.type==="object"&&(l=a.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)):c!=null&&c.type==="body"&&c.value?.shape.type==="named"&&c.value.shape.shape.type==="object"&&(l=c.value.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)),{docs:u.docs??void 0,name:u.name,valueType:u.valueType,example:l}}),extensions:o.extends,docs:n})},union:o=>emw({unionTypeDeclaration:o,docs:n}),undiscriminatedUnion:o=>tmw({undiscriminatedUnionDeclaration:o,docs:n}),_other:()=>{throw new Error("Encountered unknown type: "+r.type)}}),schemaName:Tad(e.name)}}function Xfw({aliasTypeDeclaration:e,docs:t}){return{...Ej(e.aliasOf),description:t}}function Zfw({enumTypeDeclaration:e,docs:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue),description:t}}function emw({unionTypeDeclaration:e,docs:t}){let n={oneOf:e.types.map(i=>{let o={[e.discriminant.wireValue]:{type:"string",enum:[i.discriminantValue.wireValue]}};return TD._visit(i.shape,{noProperties:()=>({type:"object",properties:o,required:[e.discriminant.wireValue]}),singleProperty:s=>({type:"object",properties:{...o,[s.name.wireValue]:Ej(s.type)},required:[e.discriminant.wireValue]}),samePropertiesAsObject:s=>({type:"object",allOf:[{type:"object",properties:o},{$ref:m6o(s)}],required:[e.discriminant.wireValue]}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}),description:t};return e.baseProperties.length>0&&(n.properties=e.baseProperties.reduce((i,o)=>(i[o.name.wireValue]={description:o.docs??void 0,...Ej(o.valueType)},o.valueType.type==="container"&&o.valueType.container.type==="optional"||(n.required=[...n.required??[],o.name.wireValue]),i),{})),n}function tmw({undiscriminatedUnionDeclaration:e,docs:t}){return{oneOf:e.members.map(r=>({description:r.docs??void 0,...Ej(r.type)})),description:t}}function Ej(e){return Bn._visit(e,{container:t=>nmw(t),named:t=>({$ref:m6o(t)}),primitive:t=>rmw(t),unknown:()=>({}),_other:()=>{throw new Error("Encountered unknown typeReference: "+e.type)}})}function rmw(e){return e.v2==null?xc._visit(e.v1,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:()=>({type:"string"}),uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v1)}})??{}:io._visit(e.v2,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:t=>{let r={type:"string"};return t.validation?.format!=null&&(r.format=t.validation.format),t.validation?.pattern!=null&&(r.pattern=t.validation.pattern),r},uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v2)}})}function nmw(e){return Xc._visit(e,{list:t=>({type:"array",items:Ej(t)}),set:t=>({type:"array",items:Ej(t)}),map:t=>t.keyType.type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType.type==="unknown"?{type:"object",additionalProperties:!0}:{type:"object",additionalProperties:Ej(t.valueType)},optional:t=>({...Ej(t),nullable:!0}),nullable:t=>({...Ej(t),nullable:!0}),literal:t=>t._visit({boolean:r=>({type:"boolean",const:r}),string:r=>({type:"string",const:r}),_other:()=>({})}),_other:()=>{throw new Error("Encountered unknown containerType: "+e.type)}})}function m6o(e){return`#/components/schemas/${Tad(e)}`}function Tad(e){return[...e.fernFilepath.packagePath.map(t=>t.originalName),e.name.originalName].join("")}function imw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0)&&n.requestBody?.type==="reference"&&n.requestBody.requestBodyType.type==="named"&&smw(n.requestBody.requestBodyType,t))return n.userSpecifiedExamples[0]?.example?.request??void 0}function omw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0||n.response?.body?.type!=="json")&&n.response.body.value.responseBodyType.type==="named"&&n.response.body.value.responseBodyType.typeId===t.typeId){let i=n.userSpecifiedExamples.find(o=>o.example?.response.type==="ok");if(i!=null&&i.example?.response.type==="ok")return i.example.response.value}}function smw(e,t){return _C(e.fernFilepath,t.fernFilepath)&&_C(e.name,t.name)}function d6o({docs:e,properties:t,extensions:r}){let n={},i=[];t.forEach(s=>{let a=Ej(s.valueType),c;(s.example!=null&&s.valueType.type==="primitive"||s.example!=null&&s.valueType.type==="container"&&s.valueType.container.type==="list"&&s.valueType.container.list.type==="primitive")&&(c=s.example.value.jsonExample),n[s.name.wireValue]={...a,description:s.docs??void 0,example:c},s.valueType.type==="container"&&s.valueType.container.type==="optional"||i.push(s.name.wireValue)});let o={type:"object",description:e,properties:n};return i.length>0&&(o.required=i),r.length>0&&(o.allOf=r.map(s=>({$ref:m6o(s)}))),o}function Rad({ir:e,httpServices:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}){let c={};return t.forEach(u=>{u.endpoints.forEach(l=>{let{fullPath:p,convertedHttpMethod:m,operationObject:f}=amw({ir:e,httpEndpoint:l,httpService:u,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}),h=c[p]??={};if(h[m]!=null)throw new Error(`Duplicate ${m} endpoint at ${p}`);h[m]=f})}),c}function amw({httpEndpoint:e,httpService:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a,ir:c}){let u=(0,Dad.default)(c.basePath!=null?CXa(c.basePath):"",CXa(t.basePath),CXa(e.path));u=u.startsWith("/")?u:`/${u}`;let l=cmw(e.method),p=c.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),m=t.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),f=e.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),h=e.queryParameters.map(v=>mmw({queryParameter:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),y=e.headers.map(v=>dmw({httpHeader:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),g=[...p,...m,...f,...h,...y],A=a==="stoplight"?t.displayName??t.name.fernFilepath.allParts.map(v=>v.originalName).join(" "):t.name.fernFilepath.allParts.map(v=>v.pascalCase.unsafeName).join(""),b={description:e.docs??void 0,operationId:[...t.name.fernFilepath.allParts.map(v=>v.camelCase.unsafeName),e.name.originalName].join("_"),tags:[A],parameters:g,responses:lmw({httpResponse:e.response,responseErrors:e.errors,errorsByName:n,errorDiscriminationStrategy:i,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]}),summary:e.displayName??void 0};if(e.baseUrl!=null){let v=e.baseUrl;if(s?.environments.type!=="multipleBaseUrls")throw new Error("baseUrl is defined environments are not multipleBaseUrls");b.servers=s.environments.environments.map(_=>{let E=_.urls[v];if(E==null)throw new Error("No URL defined for "+v);let O={url:E};return _.docs!=null&&(O.description=_.docs),O})}return e.auth&&(b.security=o),e.requestBody!=null&&(b.requestBody=umw({httpRequest:e.requestBody,typesByName:r,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]})),{fullPath:u,convertedHttpMethod:l,operationObject:b}}function cmw(e){return iw._visit(e,{get:()=>MSt.OpenAPIV3.HttpMethods.GET,post:()=>MSt.OpenAPIV3.HttpMethods.POST,put:()=>MSt.OpenAPIV3.HttpMethods.PUT,patch:()=>MSt.OpenAPIV3.HttpMethods.PATCH,delete:()=>MSt.OpenAPIV3.HttpMethods.DELETE,head:()=>MSt.OpenAPIV3.HttpMethods.HEAD,_other:()=>{throw new Error("Encountered unknown http method: "+e)}})}function umw({httpRequest:e,typesByName:t,examples:r}){let n={};for(let i of r)i.request!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:i.request.jsonExample}:n[`Example${w0(n)+1}`]={value:i.request.jsonExample});return Sb._visit(e,{inlinedRequestBody:i=>{let o={schema:d6o({docs:void 0,properties:i.properties.map(s=>{let a;return r.length>0&&r[0]?.request?.type==="inlinedRequestBody"&&(a=r[0]?.request.properties.find(c=>c.name.wireValue===s.name.wireValue)),{docs:s.docs??void 0,name:s.name,valueType:s.valueType,example:a}}),extensions:i.extends})};return w0(n)>0&&(o.examples=n),{required:!0,content:{"application/json":o}}},reference:i=>{let o={schema:Ej(i.requestBodyType)};return w0(n)>0&&(o.examples=n),{description:i.docs??void 0,required:h6o({typeReference:i.requestBodyType,typesByName:t}),content:{"application/json":o}}},fileUpload:i=>({required:!0,content:{"multipart/form-data":{schema:{type:"object",properties:i.properties.reduce((o,s)=>(Yj._visit(s,{file:a=>{o[a.key.wireValue]={type:"string",format:"binary"}},bodyProperty:a=>{o[a.name.wireValue]={description:a.docs??void 0,...Ej(a.valueType)}},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+s.type)}}),{...o}),{})}}}}),bytes:i=>{let o=i.contentType??"application/octet-stream";return{required:!i.isOptional,description:i.docs??void 0,content:{[o]:{schema:{type:"string",format:"binary"}}}}},_other:()=>{throw new Error("Unknown HttpRequestBody type: "+e.type)}})}function lmw({httpResponse:e,responseErrors:t,errorsByName:r,errorDiscriminationStrategy:n,examples:i}){let o={};if(e?.body?.type==="json"){let s={schema:Ej(e.body.value.responseBodyType)},a={};for(let c of i)c.response.type==="ok"&&c.response.value.type==="body"&&c.response.value.value!=null&&(c.name&&c.name.originalName!==""?a[c.name.originalName]={value:c.response.value.value.jsonExample}:a[`Example${w0(a)+1}`]={value:c.response.value.value.jsonExample});w0(a)>0&&(s.examples=a),o[String(e.statusCode??200)]={description:e.body.value.docs??"",content:{"application/json":s}}}else if(e?.body?.type==="fileDownload"||e?.body?.type==="bytes")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"application/octet-stream":{schema:{type:"string",format:"binary"}}}};else if(e?.body?.type==="text")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"text/plain":{schema:{type:"string"}}}};else if(e?.body?.type==="streaming"){let s=e.body.value,a;switch(s.type){case"sse":a="text/event-stream";break;case"json":a="application/jsonl";break;case"text":a="text/plain";break;default:a="application/octet-stream";break}o[String(e.statusCode??200)]={description:s.docs??"",content:{[a]:{schema:{type:"string",format:"binary"}}}}}else o[204]={description:""};return w9._visit(n,{statusCode:()=>{for(let s of t){let a=r[y6o(s.error)];if(a==null)throw new Error("Encountered undefined error declaration: "+s.error.name.originalName);let c={description:s.docs??""};if(a.type!=null){let u={schema:Ej(a.type)},l={};for(let p of i)p.response.type==="error"&&p.response.body!=null&&_C(s.error,p.response.error)&&(p.name&&p.name.originalName!==""?l[p.name.originalName]={value:p.response.body.jsonExample}:l[`Example${w0(l)+1}`]={value:p.response.body.jsonExample});w0(l)>0&&(u.examples=l),c.content={"application/json":u}}o[a.statusCode]=c}},property:s=>{let a=fmw({responseErrors:t,errorsByName:r});for(let c of Object.keys(a)){let u=a[c];if(u==null||u.length===0)continue;let l={schema:{oneOf:u.map(m=>pmw({errorInfo:m,property:s}))}},p={};for(let m of i)if(m.response.type==="error"&&m.response.body!=null){let f=m.response.error;u.some(h=>_C(h.errorDeclaration.name,f))&&(m.name&&m.name.originalName!==""?p[m.name.originalName]={value:m.response.body.jsonExample}:p[`Example${w0(p)+1}`]={value:m.response.body.jsonExample})}w0(p)>0&&(l.examples=p),o[c]={description:"",content:{"application/json":l}}}},_other:()=>{throw new Error("Unknown error discrimination strategy: "+n.type)}}),o}function pmw({errorInfo:e,property:t}){let r=e.errorDeclaration.discriminantValue.wireValue,n=e.responseError.docs??void 0,i={[t.discriminant.wireValue]:{type:"string",enum:[r]}};return e.errorDeclaration.type!=null&&(i[t.contentProperty.wireValue]=Ej(e.errorDeclaration.type)),{type:"object",description:n,properties:i}}function fmw({responseErrors:e,errorsByName:t}){let r={};for(let n of e){let i=t[y6o(n.error)];if(i==null)throw new Error("Encountered undefined error declaration: "+n.error.name.originalName);let o=i.statusCode,s=r[o];s==null?r[o]=[{responseError:n,errorDeclaration:i}]:s.push({responseError:n,errorDeclaration:i})}return r}function IXa({pathParameter:e,examples:t}){let r={name:e.name.originalName,in:"path",description:e.docs??void 0,required:!0,schema:Ej(e.valueType)},n={};for(let i of t){let o=[...i.rootPathParameters,...i.servicePathParameters,...i.endpointPathParameters].find(s=>s.name.originalName===e.name.originalName);o!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:o.value.jsonExample}:n[`Example${w0(n)+1}`]={value:o.value.jsonExample},r.example==null&&(r.example=o.value.jsonExample))}return w0(n)>0&&(r.examples=n),r}function mmw({queryParameter:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"query",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:e.allowMultiple?Ej(Bn.container(Xc.list(e.valueType))):Ej(e.valueType)},i={};for(let o of r){let s=o.queryParameters.find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function dmw({httpHeader:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"header",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:Ej(e.valueType)},i={};for(let o of r){let s=[...o.serviceHeaders,...o.endpointHeaders].find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function CXa(e){let t=e.head;for(let r of e.parts)t+=`{${r.pathParameter}}${r.tail}`;return t}function h6o({typeReference:e,typesByName:t}){if(e.type==="container"&&e.container.type==="optional")return!1;if(e.type==="named"){let r=SXa(e),n=t[r];if(n==null)throw new Error("Encountered non-existent type: "+e.name.originalName);if(n.shape.type==="alias")return h6o({typeReference:n.shape.aliasOf,typesByName:t})}return!0}function Fad(e){return c1._visit(e.requirement,{all:()=>[e.schemes.reduce((t,r)=>({...t,[jXa(r)]:[]}),{})],any:()=>e.schemes.map(t=>({[jXa(t)]:[]})),endpointSecurity:()=>[],_other:()=>{throw new Error("Unknown auth scheme requirement: "+e.requirement)}})}function Nad(e){let t={};for(let r of e.schemes){let n=nv._visit(r,{bearer:()=>({type:"http",scheme:"bearer"}),basic:()=>({type:"http",scheme:"basic"}),header:i=>({type:"apiKey",in:"header",name:i.name.wireValue}),oauth:()=>({type:"http",scheme:"bearer"}),inferred:()=>{},_other:()=>{throw new Error("Unknown auth scheme: "+r.type)}});n&&(t[jXa(r)]=n)}return t}function jXa(e){return nv._visit(e,{bearer:()=>"BearerAuth",inferred:()=>"InferredAuth",basic:()=>"BasicAuth",oauth:()=>"BearerAuth",header:t=>`${t.name.name.pascalCase.unsafeName}Auth`,_other:()=>{throw new Error("Unknown auth scheme: "+e.type)}})}function kad({apiName:e,ir:t,mode:r}){let n={},i={};Object.values(t.types).forEach(l=>{let p=Bad(l,t);n[p.schemaName]={title:p.schemaName,...p.openApiSchema},i[SXa(l.name)]=l});let o={};Object.values(t.errors).forEach(l=>{o[y6o(l.name)]=l});let s=Fad(t.auth),a=Rad({ir:t,httpServices:Object.values(t.services),typesByName:i,errorsByName:o,errorDiscriminationStrategy:t.errorDiscriminationStrategy,security:s,environments:t.environments??void 0,mode:r}),c={title:t.apiDisplayName??e,version:""};t.apiDocs!=null&&(c.description=t.apiDocs);let u={openapi:"3.0.1",info:c,paths:a,components:{schemas:n,securitySchemes:Nad(t.auth)}};return t.environments!=null&&t.environments.environments.type==="singleBaseUrl"&&(u.servers=t.environments.environments.environments.map(l=>({url:l.url,description:l.docs!=null?`${l.name.originalName} (${l.docs})`:l.name.originalName}))),u}function SXa(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}function y6o(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}async function zad({project:e,cliContext:t,outputPath:r,indent:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await t.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},readme:void 0,version:void 0,packageName:void 0,context:o,sourceResolver:new eO(o,s)}),c=kad({apiName:i.workspaceName??"api",ir:a,mode:"openapi"});await(0,g6o.mkdir)(Ci(r),{recursive:!0}),await(0,g6o.writeFile)(r,r.endsWith(".json")?JSON.stringify(c,void 0,n):Cn.dump(c,{indent:n}))})}))}async function Qad({project:e,cliContext:t,shouldFix:r}){await Promise.all(e.apiWorkspaces.map(async n=>{n instanceof nb||await t.runTaskForWorkspace(n,async i=>{await T5a({workspace:await n.toFernWorkspace({context:i}),context:i,shouldFix:r})})}))}var Mad="group";var Vad=".preview",Uad="approved-output-directories",Lad=".fern";var Kad=require("fs/promises");var Wad=require("fs/promises");var qad=require("os");function NVr(){return Pt(Ar.of((0,qad.homedir)()),Ke.of(Lad),Ke.of(Uad))}async function Gad(){let e=NVr();if(!await qr(e))return[];let r=await(0,Wad.readFile)(e,{encoding:"utf-8"});return JSON.parse(r)}var A6o=require("fs/promises"),Had=He(require("path"),1);async function $ad(e){await(0,A6o.mkdir)(Had.default.dirname(NVr()),{recursive:!0}),await(0,A6o.writeFile)(NVr(),JSON.stringify(e,null,2))}async function Jad(e,t,r){if(!e||jas()||r)return{shouldProceed:!0};let n=await Gad();return n?.includes(e)?{shouldProceed:!0}:await qr(e)?(await(0,Kad.readdir)(e)).length===0?{shouldProceed:!0}:await t.confirmPrompt(`Directory ${e} contains existing files that may be overwritten. Continue?`,!1)?(await $ad([...n??[],e]),{shouldProceed:!0}):{shouldProceed:!1}:{shouldProceed:!0}}var icd=He(Lke(),1);async function Yad({groups:e,visitor:t,nodePath:r,cliVersion:n}){if(e!=null)for(let[i,o]of Object.entries(e))await hmw({group:o,visitor:t,nodePath:[...r,i],cliVersion:n})}async function hmw({group:e,visitor:t,nodePath:r,cliVersion:n}){await Promise.all(e.generators.map(async(i,o)=>await t.generatorInvocation?.({invocation:i,cliVersion:n},[...r,"generators",o.toString(),i.name])))}async function Xad(e,t,r){await r.file?.(e,[]),await Sae(e,{"auth-schemes":Ut,api:Ut,whitelabel:Ut,metadata:Ut,readme:Ut,"default-group":Ut,aliases:Ut,reviewers:Ut,openapi:Ut,"openapi-overrides":Ut,"spec-origin":Ut,"async-api":Ut,"api-settings":Ut,ai:Ut,autorelease:Ut,groups:async n=>{await Yad({groups:n,visitor:r,nodePath:["groups"],cliVersion:t})}})}function Zad({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:n}){function i(o){let s=async(a,c)=>{for(let u of r){let l=u.generatorsYml?.[o];if(l!=null){let p=await l(a,{relativeFilepath:e,contents:t});n(p.map(m=>({severity:m.severity,relativeFilepath:e,nodePath:c,message:m.message})))}}};return{[o]:s}}return{...i("file"),...i("generatorInvocation")}}function ymw(e,t,r){if(!vq(r,t))return[{severity:"fatal",message:`The generator ${e} requires CLI version ${t} or later (current version: ${r}). Please run \`fern upgrade\` to upgrade your CLI version and use this generator.`}]}function gmw(e){return Number(e.replace("v",""))}var BXa={name:"compatible-ir-version",create:async()=>({generatorsYml:{generatorInvocation:async({invocation:e,cliVersion:t})=>{if(t==null||t==="0.0.0")return[];let r=mWr({token:void 0});console.debug(`[FDR] compatible-ir-versions: checking CLI release for version=${t}`);let n=await r.generators.cli.getCliRelease(t);if(!n.ok)return console.debug(`[FDR] compatible-ir-versions: getCliRelease failed for ${t}`,n),[];let i=n.body.irVersion;console.debug(`[FDR] compatible-ir-versions: CLI version=${t} has irVersion=${i}`);let o;if(e["ir-version"]!=null)o=gmw(e["ir-version"]);else{let a={...e,name:tR(e.name)},c=await Pht(a);if(console.debug(`[FDR] compatible-ir-versions: irVersion for ${a.name}@${a.version} = ${c}`),c==null)return console.debug(`[FDR] compatible-ir-versions: could not resolve irVersion for ${a.name}@${a.version}, skipping validation`),[];o=c}if(o<=i)return[];let s=await r.generators.cli.getMinCliForIr(o);return s.ok?ymw(e.name,s.body.version,t)??[]:[]}}})};var TXa={name:"valid-alias-group-references",create:async()=>({generatorsYml:{file:async e=>{let t=[],r=e.aliases,n=e.groups??{};if(r==null)return t;let i=new Set(Object.keys(n));for(let[o,s]of Object.entries(r))if(Array.isArray(s))for(let a of s)i.has(a)||t.push({severity:"error",message:`Alias "${o}" references unknown group "${a}". Available groups: ${[...i].join(", ")||"none"}`});return t}}})};function ecd(){return[BXa,TXa]}async function b6o(e,t){return Amw({workspace:e,rules:ecd(),logger:t})}async function Amw({workspace:e,rules:t,logger:r}){let n=[],i=await Promise.all(t.map(o=>o.create({workspace:e,logger:r})));if(e.generatorsConfiguration?.rawConfiguration){let o=await bmw({contents:e.generatorsConfiguration.rawConfiguration,allRuleVisitors:i,cliVersion:e.cliVersion});n.push(...o)}return n}async function bmw({contents:e,allRuleVisitors:t,cliVersion:r}){let n=[],i=Zad({relativeFilepath:Ke.of(aw),contents:e,allRuleVisitors:t,addViolations:o=>{n.push(...o)}});return await Xad(e,r,i),n}var DXa=He(rcd(),1);async function ncd({workspace:e,context:t,ossWorkspace:r}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let n=performance.now(),i=r_t(e,t.logger),o=await b6o(e,t.logger),s=[...i,...o];r&&s.push(...await CUt(r,t));let a=performance.now()-n,c=s.some(u=>u.severity==="fatal"||u.severity==="error");return{apiName:e.definition.rootApiFile.contents.name,violations:s,elapsedMillis:a,hasErrors:c}}async function wmw({workspace:e,context:t,logWarnings:r,logSummary:n=!0,ossWorkspace:i}){let o=performance.now(),s=r_t(e,t.logger),a=await b6o(e,t.logger),c=[...s,...a];i&&c.push(...await CUt(i,t));let u=performance.now()-o,{hasErrors:l}=sdr({violations:c,context:t,logWarnings:r,logSummary:n,elapsedMillis:u});return{hasErrors:l}}async function qft({workspace:e,context:t,logWarnings:r,ossWorkspace:n}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let{hasErrors:i}=await wmw({workspace:e,context:t,logWarnings:r,ossWorkspace:n});i&&t.failAndThrow()}async function ocd({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,generatorName:o,version:s,shouldLogS3Url:a,token:c,useLocalDocker:u,keepDocker:l,absolutePathToPreview:p,mode:m,runner:f,inspect:h,lfsOverride:y,fernignorePath:g,dynamicIrOnly:A}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspace has no groups specified in ${aw}`);return}let b=i??t.generatorsConfiguration.defaultGroup;if(b==null)return n.failAndThrow(`No group specified. Use the --${Mad} option, or set "${p2t}" in ${aw}`);let v=xmw(b,t.generatorsConfiguration.groupAliases,t.generatorsConfiguration.groups.map(E=>E.groupName),n),{ai:_}=t.generatorsConfiguration;if(!u&&!c)return n.failAndThrow("Please run fern login");await qft({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1,ossWorkspace:t instanceof nb?t:void 0}),await Promise.all(v.map(async E=>{let O=t.generatorsConfiguration?.groups.find(P=>P.groupName===E);if(O==null)return n.failAndThrow(`Group '${E}' does not exist.`);if(o!=null){let P=O.generators.filter(x=>x.name===o);if(P.length===0){let x=O.generators.map(I=>I.name);return n.failAndThrow(`Generator '${o}' not found in group '${E}'. Available generators: ${x.join(", ")}`)}O={...O,generators:P}}y!=null&&(O=Pmw(O,y,n)),v.length>1&&n.logger.info(`Running generation for group '${E}'...`),u?await BMo({token:c,projectConfig:r,workspace:t,generatorGroup:O,version:s,keepDocker:l,context:n,runner:f,absolutePathToPreview:p,inspect:h,ai:_}):c!=null&&await h2r({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:s,shouldLogS3Url:a,token:c,whitelabel:t.generatorsConfiguration?.whitelabel,absolutePathToPreview:p,mode:m,fernignorePath:g,dynamicIrOnly:A})}))}function xmw(e,t,r,n){let i=t[e];if(i!=null){for(let a of i)r.includes(a)||n.failAndThrow(`Group alias '${e}' references non-existent group '${a}'. Available groups: ${r.join(", ")}`);return i}if(r.includes(e))return[e];let o=Object.keys(t),s=[...r,...o];return n.failAndThrow(`'${e}' is not a valid group or alias. Available groups: ${r.join(", ")}`+(o.length>0?`. Available aliases: ${o.join(", ")}`:"")),[]}function Pmw(e,t,r){let n=Ar.of(ya(Vg(),t)),i={},o=[];for(let s of e.generators){let a=s.language??Imw(s.name),c;if(e.generators.length===1)c=n;else{let l=a||"unknown";i[l]==null&&(i[l]=0),i[l]++;let p=i[l]===1?l:`${l}-${i[l]}`;c=Pt(n,Ke.of(p))}let u={...s,outputMode:icd.FernFiddle.remoteGen.OutputMode.downloadFiles({}),absolutePathToLocalOutput:c};o.push(u),r.logger.info(`Overriding output for generator '${s.name}' to local-file-system at: ${c}`)}return{...e,generators:o}}function Imw(e){return e.includes("typescript")||e.includes("ts")?"typescript":e.includes("python")||e.includes("py")?"python":e.includes("java")?"java":e.includes("go")?"go":e.includes("ruby")?"ruby":e.includes("csharp")||e.includes("c#")?"csharp":e.includes("swift")?"swift":e.includes("php")?"php":e.includes("rust")?"rust":e.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}var acd={PullRequest:"pull-request"};async function RXa({project:e,cliContext:t,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,keepDocker:s,useLocalDocker:a,preview:c,mode:u,force:l,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y,outputDir:g}){let A;if(!a){let b=await t.runTask(async v=>qj(v));b.type==="user"&&await t.runTask(async v=>{await qM({organization:e.config.organization,token:b,context:v})}),A=b}for(let b of e.apiWorkspaces){let v=scd(n,b.generatorsConfiguration);for(let _ of b.generatorsConfiguration?.groups.filter(E=>v==null||v.includes(E.groupName)).flatMap(E=>E.generators).filter(E=>i==null||E.name===i)??[]){let{shouldProceed:E}=await Jad(_.absolutePathToLocalOutput,t,l);E||t.failAndThrow("Generation cancelled")}}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(b=>{let v=scd(n,b.generatorsConfiguration);return{name:b.workspaceName,group:n,generators:b.generatorsConfiguration?.groups.filter(_=>v==null||v.includes(_.groupName)).map(_=>_.generators.filter(E=>i==null||E.name===i).map(E=>({name:E.name,version:E.version,outputMode:E.outputMode.type,config:E.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async b=>{await t.runTaskForWorkspace(b,async v=>{let _=c?g!=null?Ar.of(ya(Vg(),g)):Pt(b.absoluteFilePath,Ke.of(Vad)):void 0;_!=null&&v.logger.info(`Writing preview to ${_}`),await ocd({organization:e.config.organization,workspace:b,projectConfig:e.config,context:v,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,token:A,useLocalDocker:a,keepDocker:s,absolutePathToPreview:_,mode:u,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y})})}))}function scd(e,t){if(e==null)return null;if(t==null)return[e];let r=t.groupAliases[e];return r??[e]}function ccd(){return!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.TF_BUILD||process.env.BUILDKITE||process.env.CODEBUILD_BUILD_ID||process.env.TEAMCITY_VERSION||process.env.BITBUCKET_BUILD_NUMBER||process.env.DRONE||process.env.SEMAPHORE||process.env.APPVEYOR||process.env.BUDDY_WORKSPACE_ID||process.env.WERCKER_RUN_ID)}async function ucd({project:e,cliContext:t,instance:r,preview:n,brokenLinks:i,strictBrokenLinks:o,disableTemplates:s,noPrompt:a,skipUpload:c}){let u=e.docsWorkspaces;if(u==null){t.failAndThrow("No docs.yml file found. Please make sure your project has one.");return}let l=process.env.FERN_SELF_HOSTED==="true";if(!n&&!ccd()&&!a){let m=r??u.config.instances[0]?.url,f=m?` (${st.cyan(`https://${m}`)})`:"";if(!await t.confirmPrompt(`This will affect a production site${f}. Run with --preview to generate docs for a preview instance.
2866
2866
  ${st.yellow("?")} Are you sure you want to continue?`,!1)){t.logger.info("Docs generation cancelled.");return}}let p=null;if(l){let m=process.env.FERN_TOKEN;if(!m){t.failAndThrow("No token found. Please set the FERN_TOKEN environment variable.");return}p={type:"organization",value:m}}else if(p=await t.runTask(async m=>qj(m)),p.type==="user"){let m=p;await t.runTask(async f=>{await qM({organization:e.config.organization,token:m,context:f})})}l||await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(u,async m=>{await $od({workspace:u,context:m,logWarnings:!1,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:await tz(e),errorOnBrokenLinks:o,excludeRules:Cmw(i,o,l)}),m.logger.info("Validation complete, starting remote docs generation...");let f=performance.now(),h=await tz(e),y=performance.now()-f;m.logger.debug(`Filtered OSS workspaces (${h.length} workspaces) in ${y.toFixed(0)}ms`);let g=performance.now();await qqa({organization:e.config.organization,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:h,docsWorkspace:u,context:m,token:p,instanceUrl:r,preview:n,disableTemplates:s,skipUpload:c});let A=performance.now()-g;m.logger.debug(`Remote docs generation completed in ${A.toFixed(0)}ms`)})}function Cmw(e,t,r){let n=[];return!e&&!t&&n.push(jVr.ValidMarkdownLinks.name),r&&n.push(jVr.ValidFileTypes.name),n}var lcd=He(require("path"),1);async function ydr({workspace:e,context:t,generationLanguage:r,keywords:n,smartCasing:i,disableExamples:o,audiences:s,readme:a,disableDynamicExamples:c}){return await qft({workspace:e,context:t,logWarnings:!1}),pw({workspace:e,generationLanguage:r,keywords:n,smartCasing:i,exampleGeneration:{disabled:o},audiences:s,readme:a,version:void 0,packageName:void 0,context:t,sourceResolver:new eO(t,e),disableDynamicExamples:c})}async function pcd({project:e,irFilepath:t,cliContext:r,generationLanguage:n,audiences:i,version:o,keywords:s,smartCasing:a,disableDynamicExamples:c}){await Promise.all(e.apiWorkspaces.map(async u=>{await r.runTaskForWorkspace(u,async l=>{r.logger.info(`Generating IR for workspace ${u.workspaceName??"api"}`);let p=await u.toFernWorkspace({context:l}),m=await ydr({workspace:p,context:l,generationLanguage:n,keywords:s,smartCasing:a,disableExamples:!1,audiences:i,readme:void 0,disableDynamicExamples:c});if(m.dynamic==null)throw new Error("Internal error; dynamic IR was not generated");let f=lcd.default.resolve(t);await KM(Ar.of(f),m.dynamic),l.logger.info(`Wrote IR to ${f}`)})}))}var fcd=He(require("path"),1);async function mcd({project:e,outputFilepath:t,cliContext:r,audiences:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=await ydr({workspace:s,context:o,generationLanguage:void 0,audiences:n,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,disableDynamicExamples:!0}),c=$V({ir:a,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},context:o}),u=Ar.of(fcd.default.resolve(t));await KM(u,c,{pretty:!0}),o.logger.info(`Wrote FDR API definition to ${u}`)})}))}var dcd=He(require("path"),1);async function hcd({project:e,irFilepath:t,cliContext:r,generationLanguage:n,audiences:i,version:o,keywords:s,smartCasing:a,readme:c,directFromOpenapi:u,disableExamples:l}){await Promise.all(e.apiWorkspaces.map(async p=>{await r.runTaskForWorkspace(p,async m=>{r.logger.info(`Generating IR for workspace ${p.workspaceName??"api"}`);let f=await Smw({workspace:p,context:m,generationLanguage:n,keywords:s,smartCasing:a,disableExamples:l,audiences:i,version:o,readme:c,directFromOpenapi:u}),h=Ar.of(dcd.default.resolve(t));await KM(h,f,{pretty:!0}),m.logger.info(`Wrote IR to ${h}`)})}))}async function Smw({workspace:e,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:o,disableExamples:s,version:a,readme:c,directFromOpenapi:u}){let l;if(u&&e instanceof nb)l=await e.getIntermediateRepresentation({context:t,audiences:n,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});else{let p=await e.toFernWorkspace({context:t});l=await ydr({workspace:p,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:o,disableExamples:s,readme:c,disableDynamicExamples:!0})}return a==null?Lo.IntermediateRepresentation.jsonOrThrow(l,{unrecognizedObjectKeys:"strip"}):c2r({intermediateRepresentation:l,version:a,context:t})}var ycd=He(require("path"),1);async function FXa({project:e,outputFilepath:t,cliContext:r,directFromOpenapi:n,audiences:i}){await Promise.all(e.apiWorkspaces.map(async o=>{await r.runTaskForWorkspace(o,async s=>{let a=n?await X3s(o,s,i):await Mqs(o,s),c=Ar.of(ycd.default.resolve(t));await KM(c,a,{pretty:!0}),s.logger.info(`Wrote FDR API definition to ${c}`)})}))}var gcd=He(require("path"),1);async function Acd({project:e,irFilepath:t,cliContext:r,sdkLanguage:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async o=>{if(i instanceof R2){o.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(i instanceof nb))return;let s=new Kce(i.absoluteFilePath),a=await ZK({context:o,specs:i.specs}),c=HAt({context:o,documents:await s.loadDocuments({context:o,specs:a})}),u=Ar.of(gcd.default.resolve(t)),l=Su.OpenApiIntermediateRepresentation.jsonOrThrow(c,{skipValidation:!0});await KM(u,l,{pretty:!0}),o.logger.info(`Wrote IR to ${u}`)})}))}var _6o=require("fs/promises");async function _cd({originalPath:e,modifiedPath:t,outputPath:r,cliContext:n}){await n.runTask(async i=>{if(!await qr(e))return i.failAndThrow(`Original file does not exist: ${e}`);if(!await qr(t))return i.failAndThrow(`Modified file does not exist: ${t}`);i.logger.info(`Comparing ${e} with ${t}`);let o=await bcd(e,i),s=await bcd(t,i),a=jmw(o,s);if(Object.keys(a).length===0){i.logger.info("No differences found between the two specs.");return}let c;if(r!=null)c=r;else{let u=Gke(e),l="openapi-overrides.yml";if(u!=null){let p=u.lastIndexOf(".");p>0&&(l=`${u.substring(0,p)}-overrides.yml`)}c=Pt(Ci(e),Ke.of(l))}await(0,_6o.writeFile)(c,Cn.dump(a,{lineWidth:-1,noRefs:!0})),i.logger.info(`Overrides written to ${c}`)})}async function bcd(e,t){let r=await(0,_6o.readFile)(e,"utf8");try{return JSON.parse(r)}catch{try{return Cn.load(r)}catch{return t.failAndThrow(`Failed to parse file as JSON or YAML: ${e}`)}}}function jmw(e,t){let r={};for(let n of Object.keys(t))if(t[n]!==void 0){let i=vcd(e[n],t[n],n);i!==void 0&&Object.keys(i).length>0&&(r[n]=i)}return r}function vcd(e,t,r){if(t===void 0)return;if(e==null)return t;if(typeof t!="object"||t===null)return e!==t?t:void 0;if(Array.isArray(t))return NXa(e,t)?void 0:t;if(typeof e!="object"||e===null||Array.isArray(e))return t;let n={};for(let i of Object.keys(t)){let o=vcd(e[i],t[i],`${r}.${i}`);o!==void 0&&(n[i]=o)}if(Object.keys(n).length!==0)return n}function NXa(e,t){if(e===t)return!0;if(e===null||t===null||e===void 0||t===void 0)return e===t;if(typeof e!=typeof t)return!1;if(typeof e!="object")return e===t;if(Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!NXa(e[i],t[i]))return!1;return!0}let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i of r)if(!Object.hasOwn(t,i)||!NXa(e[i],t[i]))return!1;return!0}var v6o=require("fs/promises");async function kXa({project:e,includeModels:t,cliContext:r}){await Promise.all(e.apiWorkspaces.map(async n=>{await r.runTaskForWorkspace(n,async i=>{n instanceof nb?await Tmw({workspace:n,context:i,includeModels:t}):i.logger.warn("Skipping fern workspace definition generation")})}))}async function Bmw(e,t){let r=null;try{let n=(await(0,v6o.readFile)(e,"utf8")).toString();try{r=JSON.parse(n)}catch{r=Cn.load(n,{json:!0})}}catch{return t.failAndThrow(`Failed to read OpenAPI overrides from file ${e}`)}return r}async function Tmw({workspace:e,includeModels:t,context:r}){let n=new Kce(e.absoluteFilePath),i=await ZK({context:r,specs:e.specs});for(let o of i){let s=HAt({context:r,documents:await n.loadDocuments({context:r,specs:[o]})}),a={};o.absoluteFilepathToOverrides!==void 0&&(a=await Bmw(o.absoluteFilepathToOverrides,r));let c="path"in a?a.path:{};for(let f of s.endpoints){let h=aPr(f);f.path in c||(c[f.path]={});let y=c[f.path];if(y!=null&&y[f.method]==null){let g=h.file.split("/").map(b=>b.replace(".yml","")).filter(b=>b!=="__package__"),A={};g.length>0&&(A["x-fern-sdk-group-name"]=g),A["x-fern-sdk-method-name"]=h.endpointId,y[f.method.toLowerCase()]=A}else a==null&&r.logger.warn(`Endpoint ${f.path} ${f.method} is defined multiple times`)}let u="path"in a?a.path:{};if(t){Ecd(u,s.groupedSchemas.rootSchemas);for(let[f,h]of Object.entries(s.groupedSchemas.namespacedSchemas))Ecd(u,h)}let l={schemas:u},p=Gke(o.absoluteFilepath),m="openapi-overrides.yml";if(p!=null){let f=p.lastIndexOf(".");if(f>0){let h=p.substring(0,f),y=p.substring(f);m=`${h}-overrides${y}`}}await(0,v6o.writeFile)(Pt(Ci(o.absoluteFilepath),Ke.of(m)),Cn.dump({paths:c,components:l}))}}function Ecd(e,t){for(let[r,n]of Object.entries(t)){if(r in e)continue;let i={};i["x-fern-type-name"]="nameOverride"in n?n.nameOverride??r:r,e[r]=i}}function Ocd({enum:e,context:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue)}}function wcd({container:e,context:t}){switch(e.type){case"list":return{type:"array",items:bL({typeReference:e.list,context:t})};case"map":return{type:"object",additionalProperties:bL({typeReference:e.valueType,context:t})};case"optional":return e.optional.type==="container"&&e.optional.container.type==="nullable"?{oneOf:[bL({typeReference:e.optional.container.nullable,context:t}),{type:"null"}]}:{oneOf:[bL({typeReference:e.optional,context:t}),{type:"null"}]};case"nullable":return{oneOf:[bL({typeReference:e.nullable,context:t}),{type:"null"}]};case"set":return{type:"array",items:bL({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:Ve(e.literal)}default:Ve(e)}}function bL({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 n=gdr({typeDeclaration:r,context:t});t.registerDefinition(e.typeId,n),t.finishedBuildingTypeDeclaration(e.typeId)}return{$ref:`#/definitions/${t.getDefinitionKey(r)}`}}case"container":return wcd({container:e.container,context:t});case"primitive":return Dmw(e.primitive.v1);case"unknown":return{type:["string","number","boolean","object","array","null"]};default:Ve(e)}}function Dmw(e){switch(e){case xc.String:return{type:"string"};case xc.Integer:return{type:"integer"};case xc.Long:return{type:"integer"};case xc.Uint:return{type:"integer",minimum:0};case xc.Uint64:return{type:"integer",minimum:0};case xc.Float:return{type:"number"};case xc.Double:return{type:"number"};case xc.Boolean:return{type:"boolean"};case xc.Date:return{type:"string",format:"date"};case xc.DateTime:return{type:"string",format:"date-time"};case xc.Uuid:return{type:"string",format:"uuid"};case xc.Base64:return{type:"string",contentEncoding:"base64"};case xc.BigInteger:return{type:"string",pattern:"^-?[0-9]+$"};default:Ve(e)}}function xcd({object:e,context:t}){let r={type:"object"},n=[...e.extendedProperties??[],...e.properties],i=n.map(s=>{let a=s.name.wireValue,c=bL({typeReference:s.valueType,context:t});return[a,c]}),o=n.filter(s=>!t.isOptional(s.valueType)).map(s=>s.name.wireValue);return i.length>0&&(r.properties=Object.fromEntries(i)),o.length>0&&(r.required=o),r.additionalProperties=e.extraProperties,r}function Pcd({undiscriminatedUnion:e,context:t}){return{anyOf:e.members.map(r=>{let n=bL({typeReference:r.type,context:t});return r.docs&&(n.description=r.docs),n})}}function Icd({union:e,context:t}){let r=e.discriminant.wireValue;return{type:"object",properties:{[r]:{type:"string",enum:e.types.map(n=>n.discriminantValue.wireValue)}},oneOf:e.types.map(n=>{let i={},o=[];switch(n.shape.propertiesType){case"samePropertiesAsObject":{let s=t.getTypeDeclarationForId({typeId:n.shape.typeId}),a=gdr({typeDeclaration:s,context:t});i=a.properties??{},o=Array.isArray(a.required)?a.required:[];break}case"singleProperty":i.value=bL({typeReference:n.shape.type,context:t});break;case"noProperties":break;default:Ve(n.shape)}return{properties:{[r]:{const:n.discriminantValue.wireValue},...i},required:[r,...o]}})}}function gdr({typeDeclaration:e,context:t}){switch(e.shape.type){case"object":return xcd({object:e.shape,context:t});case"alias":return bL({typeReference:e.shape.aliasOf,context:t});case"enum":return Ocd({enum:e.shape,context:t});case"union":return Icd({union:e.shape,context:t});case"undiscriminatedUnion":return Pcd({undiscriminatedUnion:e.shape,context:t});default:Ve(e.shape)}}var E6o=class{context;ir;buildingTypeIds=new Set;definitions={};constructor(t,r){this.context=t,this.ir=r}getTypeDeclarationForId({typeName:t,typeId:r}){let n=this.ir.types[r];return n??(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 n=this.getTypeDeclarationForId({typeId:t});this.definitions[this.getDefinitionKey(n)]=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 zXa(e){let t=new E6o(e.context,e.ir),r=t.getTypeDeclarationForId({typeId:e.typeId,typeName:e.typeName});return{...gdr({typeDeclaration:r,context:t}),definitions:t.getDefinitions()}}var O6o=require("fs/promises");async function Ccd({typeLocator:e,project:t,jsonschemaFilepath:r,cliContext:n}){await Promise.all(t.apiWorkspaces.map(async i=>{await n.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,context:o,generationLanguage:void 0,audiences:{type:"all"},keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},disableDynamicExamples:!0,version:void 0,packageName:void 0,readme:void 0,sourceResolver:new eO(o,s)}),c=e.split("."),u=d1({generationLanguage:void 0,keywords:void 0,smartCasing:!1}),l=c[c.length-1]??e,p=c.length>1?`${c.slice(0,-1).join("/")}.yml`:By,m=Wd.generateTypeId({fernFilepath:Aq({relativeFilepath:Ke.of(`${c.slice(0,-1).join("/")}.yml`),casingsGenerator:u}),name:u.generateName(l),displayName:void 0}),f=zXa({ir:a,typeName:l,typeId:m,context:o});await qr(Ci(r))||await(0,O6o.mkdir)(Ci(r),{recursive:!0}),await(0,O6o.writeFile)(r,JSON.stringify(f,null,2)),o.logger.info(st.green(`Wrote JSON Schema to ${r}`))})}))}var QXa=He($Tn(),1);var w6o=He(zg(),1);function Scd({request:e,example:t}){if(t.request==null&&Object.entries(e.body??{}).length===0)return{type:"equal"};if(typeof t.request?.jsonExample=="object"){if(Yge(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{})))return{type:"equal"};for(let[r,n]of Object.entries(t.request?.jsonExample??{})){let i=e.body[r];if(!_C(i,n))return{type:"notEqual",parameter:[r],actualValue:i,expectedValue:n,location:"body"}}return{type:"equal"}}return Yge(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{}))?{type:"equal"}:{type:"notEqual",parameter:[],actualValue:e.body,expectedValue:t.request?.jsonExample,location:"body"}}function jcd({request:e,example:t}){for(let r of[...t.serviceHeaders,...t.endpointHeaders]){let n=e.headers[r.name.wireValue.toLowerCase()];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:n,expectedValue:r.value.jsonExample,location:"header"}}return{type:"equal"}}function Bcd({request:e,example:t}){for(let r of[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters]){let n=e.params[r.name.originalName];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.originalName],actualValue:n,expectedValue:r.value.jsonExample,location:"path"}}return{type:"equal"}}function Tcd({request:e,example:t}){for(let r of[...t.queryParameters]){let n=e.query[r.name.wireValue];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:n,expectedValue:r.value.jsonExample,location:"query"}}return{type:"equal"}}function Dcd({request:e,example:t}){let r=Bcd({request:e,example:t});if(r.type==="notEqual")return r;let n=Tcd({request:e,example:t});if(n.type==="notEqual")return n;let i=jcd({request:e,example:t});if(i.type==="notEqual")return i;let o=Scd({request:e,example:t});return o.type==="notEqual"?o:{type:"equal"}}var VSt=class{app=(0,QXa.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:n}){this.context=t,this.app.use(QXa.default.json({limit:"50mb",strict:!1})),this.port=n;let i=new Map;for(let c of Object.values(r.services))for(let u of c.endpoints){let l=Rmw(u);t.logger.debug(`Registering ${u.method} ${l} ...`);let p=i.get(l)??new Map,m=p.get(u.method)??[];i.set(l,p.set(u.method,[...m,u]))}let o=(c,u)=>{let l=c[0],p=u[0],m=l.split("/"),f=p.split("/");if(m.length!==f.length)return m.length-f.length;for(let h=0;h<Math.min(m.length,f.length);h++){let y=m[h],g=f[h];if(y===g)continue;if(y==null||g==null)return y==null?-1:1;let A=y.startsWith(":"),b=g.startsWith(":");return A&&!b?1:!A&&b?-1:y.localeCompare(g)}return 0},a=Array.from(i).sort(o);for(let[c,u]of a)for(let[l,p]of u)switch(l){case"GET":this.app.get(c,zVr(p));break;case"POST":this.app.post(c,zVr(p));break;case"PUT":this.app.put(c,zVr(p));break;case"PATCH":this.app.patch(c,zVr(p));break;case"DELETE":this.app.delete(c,zVr(p));break}}stop(){this.server?.close()}async start(){return this.port=this.port??await i9e(),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 Rmw(e){let t="";e.fullPath.head.length>0&&(t=(0,w6o.default)(t,e.fullPath.head));for(let r of e.fullPath.parts)t=(0,w6o.default)(t,":"+r.pathParameter),r.tail.length>0&&(t=(0,w6o.default)(t,r.tail));return t.startsWith("/")?t:`/${t}`}function zVr(e){let t=!1;return(r,n)=>{let i=[];for(let o of e)for(let s of[...o.userSpecifiedExamples,...o.autogeneratedExamples])if(t=!0,s.example!=null){let a=Dcd({request:r,example:s.example});if(a.type==="notEqual"){i.push(a);continue}s.example.response?._visit({ok:c=>{c._visit({body:u=>{if(u==null){n.sendStatus(o.response?.statusCode??204);return}if(o.response?.body?.type==="text"){n.contentType("text/plain"),n.send(u.jsonExample);return}n.json(u.jsonExample)},stream:u=>{u.forEach(l=>{n.write(l.jsonExample)}),n.end()},sse:u=>{n.setHeader("Content-Type","text/event-stream"),u.forEach(l=>{n.write(`event: ${l.event}
2867
2867
  `),n.write(`data: ${JSON.stringify(l.data.jsonExample)}
2868
2868