fern-api 3.48.1 → 3.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +4 -4
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1261,7 +1261,7 @@ ${G6_.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&uRc(th
1261
1261
  `+Khn.default.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Khn.default.cyan(k6_(t,this.opt.mask)):Khn.default.italic(Khn.default.dim("[hidden]")):this.opt.mask?k6_(t,this.opt.mask):Khn.default.italic(Khn.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 DXo=ue(PR(),1);var k9_=ue(VRc(),1),SXo=require("child_process"),Qta=require("fs"),EXo=ue(require("path"),1),eG_=ue(require("os"),1),tG_=require("crypto"),Ezc=ue(X9_(),1);var PXo=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var gGa=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var jXo=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var wXo=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function MXo(e="",t,r){let i=new Szc(e,r);i.runAsync((n,a)=>{if(n)setImmediate(t,n,void 0);else try{i.cleanup(),setImmediate(t,void 0,a)}catch(o){setImmediate(t,o,void 0)}})}function Z9_(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function vpD(e){let t=[],r="";for(let i=0;i<e.length;i++){let n=e.charAt(i);i>0&&n===" "&&e[i-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${n}`}return r.length>0&&t.push(r),t}var Szc=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=vpD(t).map(n=>n.replace("\\ "," ")),i=r.shift();this.editor={args:r,bin:i}}createTemporaryFile(){try{let t=this.fileOptions.dir??eG_.default.tmpdir(),r=(0,tG_.randomUUID)(),i=Z9_(this.fileOptions.prefix),n=Z9_(this.fileOptions.postfix),a=`${i}${r}${n}`,o=EXo.default.resolve(t,a),c=EXo.default.resolve(t)+EXo.default.sep;if(!o.startsWith(c))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=o;let d={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(d.mode=this.fileOptions.mode),(0,Qta.writeFileSync)(this.tempFile,this.text,d)}catch(t){throw new PXo(t)}}readTemporaryFile(){try{let t=(0,Qta.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,k9_.detect)(t)??"utf8";Ezc.default.encodingExists(r)||(r="utf8"),this.text=Ezc.default.decode(t,r)}}catch(t){throw new jXo(t)}}removeTemporaryFile(){try{(0,Qta.unlinkSync)(this.tempFile)}catch(t){throw new wXo(t)}}launchEditor(){try{let t=(0,SXo.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new gGa(t)}}launchEditorAsync(t){try{(0,SXo.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",i=>{this.lastExitStatus=i,setImmediate(t)})}catch(r){throw new gGa(r)}}};var rG_=ue(qve(),1);var OGa=class extends jR{_run(t){this.done=t,this.editorResult=new rG_.Subject;let r=aL(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let i=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,i?this.render():this.startExternalEditor(),this}render(t){let r="",i=this.getQuestion();i+=this.status==="answered"?DXo.default.dim("Received"):DXo.default.dim("Press <enter> to launch your preferred editor."),t&&(r=DXo.default.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),MXo(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 uG_=require("stream");var aG_=ue(require("readline"),1),oG_=ue(nG_(),1),Xhn=class{constructor(t){this.rl||=aG_.default.createInterface(OpD(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 OpD(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let n=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw n.isTtyError=!0,n}let r=new oG_.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var mGa=class extends Xhn{constructor(t={}){super(t),this.log=new uG_.Writable({write:(r,i,n)=>{this.writeLog(r),n()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return nGa(this.rl,this.bottomBar.split(`
1262
1262
  `).length),this}updateBottomBar(t){return nGa(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+`
1263
1263
  `}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&&XYo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var sm=ue(qve(),1),lG_=ue(R9a(),1);var BXo=ue(qve(),1),sG_=ue(R9a(),1),IXo=function(e,t,r){return typeof e[t]!="function"?(0,BXo.of)(e):(0,BXo.from)((0,sG_.default)(e[t])(r).then(i=>(e[t]=i,e)))};var cG_={set:(e,t="",r)=>{let i=e;t.split(".").forEach((n,a,o)=>{n==="__proto__"||n==="constructor"||(a===o.length-1?i[n]=r:(!(n in i)||typeof i[n]!="object")&&(i[n]={}),i=i[n])})},get:(e,t="",r)=>{let i=a=>String.prototype.split.call(t,a).filter(Boolean).reduce((o,c)=>o!=null?o[c]:o,e),n=i(/[,[\]]+?/)||i(/[,.[\]]+?/);return n===void 0||n===e?r:n}},Uta=class extends Xhn{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let i;return Array.isArray(t)?i=(0,sm.from)(t):(0,sm.isObservable)(t)?i=t:Object.values(t).every(n=>typeof n=="object"&&!Array.isArray(n)&&n!=null)?i=(0,sm.from)(Object.entries(t).map(([n,a])=>({name:n,...a}))):i=(0,sm.from)([t]),this.process=i.pipe((0,sm.concatMap)(this.processQuestion.bind(this)),(0,sm.publish)()),this.process.connect(),this.process.pipe((0,sm.reduce)((n,a)=>(cG_.set(n,a.name,a.answer),n),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,sm.defer)(()=>(0,sm.of)(t).pipe((0,sm.concatMap)(this.setDefaultType.bind(this)),(0,sm.concatMap)(this.filterIfRunnable.bind(this)),(0,sm.concatMap)(()=>IXo(t,"message",this.answers)),(0,sm.concatMap)(()=>IXo(t,"default",this.answers)),(0,sm.concatMap)(()=>IXo(t,"choices",this.answers)),(0,sm.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,sm.defer)(()=>(0,sm.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,sm.defer)(()=>(0,sm.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&cG_.get(this.answers,t.name)!==void 0)return sm.EMPTY;if(t.when===!1)return sm.EMPTY;if(typeof t.when!="function")return(0,sm.of)(t);let{answers:r}=this;return(0,sm.defer)(()=>(0,sm.from)((0,lG_.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,sm.filter)(i=>i!=null)))}};function fG_(e){let t=function(r,i){let n;try{n=new Uta(t.prompts,e)}catch(o){return Promise.reject(o)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",oGa),this.registerPrompt("input",Hhn),this.registerPrompt("number",uGa),this.registerPrompt("confirm",sGa),this.registerPrompt("rawlist",cGa),this.registerPrompt("expand",lGa),this.registerPrompt("checkbox",fGa),this.registerPrompt("password",dGa),this.registerPrompt("editor",OGa)},t.restoreDefaultPrompts(),t}var Dzc=fG_();function ApD(e,t){Dzc.registerPrompt(e,t)}function PpD(){Dzc.restoreDefaultPrompts()}var jpD={prompt:Dzc,ui:{BottomBar:mGa,Prompt:Uta},createPromptModule:fG_,registerPrompt:ApD,restoreDefaultPrompts:PpD,Separator:F$},CXo=jpD;var Lta=require("path");function pG_(){let e=wpD();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function wpD(e=process.argv[1]?(0,Lta.dirname)(process.argv[1]):process.cwd(),t=Lta.sep==="\\"){let r=t?dG_(e):e;return i=>{if(!i)return;let n=t?dG_(i):i,{dir:a,base:o,ext:c}=Lta.posix.parse(n);(c===".js"||c===".mjs"||c===".cjs")&&(o=o.slice(0,-1*c.length));let d=decodeURIComponent(o);a||(a=".");let s=a.lastIndexOf("/node_modules");if(s>-1)return`${a.slice(s+14).replace(/\//g,".")}:${d}`;if(a.startsWith(r)){let u=a.slice(r.length+1).replace(/\//g,".");return u?`${u}:${d}`:d}return d}}function dG_(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var Bzc=e=>{if("flags"in e){let t=_G_(e.flags),r=hG_(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([n,a])=>[n,yG_(a)])),i=Object.fromEntries(Object.entries(t).map(([n,a])=>[n,EpD(n,a,r[n])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:i}}};function EpD(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 _G_=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,Zhn(r)]).filter(([,t])=>t!==void 0)),hG_=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let i=t[r];return i.enabled&&i.metadata&&i.metadata.payload!==void 0}).map(r=>{let i=t[r].metadata?.payload;return[r,i?yG_(i):void 0]}))};var Zhn=e=>e===void 0?void 0:e.variant??e.enabled,yG_=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var qXo="0123456789abcdef",TXo=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,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/256,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=qXo.charAt(this.bytes[r]>>>4),t+=qXo.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+=qXo.charAt(this.bytes[r]>>>4),t+=qXo.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 i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},Izc=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??SpD()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return TXo.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,TXo.ofInner(t)}},SpD=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),bG_,T$t=()=>MpD().toString(),MpD=()=>(bG_||(bG_=new Izc)).generate();var DpD=["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"],vG_=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return DpD.concat(t).some(i=>{let n=i.toLowerCase();return r.indexOf(n)!==-1})};var U$=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",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 IpD=Array.isArray,gG_=Object.prototype,SV9=gG_.hasOwnProperty,Czc=gG_.toString,OG_=IpD||function(e){return Czc.call(e)==="[object Array]"};var Vta=e=>e===void 0,AGa=e=>Czc.call(e)=="[object String]",mG_=e=>AGa(e)&&e.trim().length===0;var AG_=e=>Czc.call(e)=="[object Number]";var qzc=e=>e instanceof Error;function CpD(e,t){try{return e instanceof t}catch{return!1}}function PGa(e){return e===null||typeof e!="object"}function khn(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function PG_(e){return khn(e,"ErrorEvent")}function RXo(e){return!Vta(Event)&&CpD(e,Event)}function jG_(e){return khn(e,"Object")}function jGa(e,t,r,i,n){return t>r&&(i.warn("min cannot be greater than max."),t=r),AG_(e)?e>r?(i.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(i.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(i.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+n),jGa(n||r,t,r,i))}var qpD=864e5,zXo=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=jGa(t.bucketSize,0,100,t._logger),this._refillRate=jGa(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=jGa(t.refillInterval,0,qpD,t._logger)}_applyRefill(t,r){let i=r-t.lastAccess,n=Math.floor(i/this._refillInterval);if(n>0){let a=n*this._refillRate;t.tokens=Math.min(t.tokens+a,this._bucketSize),t.lastAccess=t.lastAccess+n*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),i=String(t),n=this._buckets[i];return n?this._applyRefill(n,r):(n={tokens:this._bucketSize,lastAccess:r},this._buckets[i]=n),n.tokens===0?!0:(n.tokens--,n.tokens===0&&this._onBucketRateLimited?.(t),n.tokens===0)}stop(){this._buckets={}}};var NXo=class{add(t){let r=T$t();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 TpD(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var wG_=(e,t,r)=>{function i(a,...o){t(()=>{let c=r[a];c(e,...o)})}return{info:(...a)=>{i("log",...a)},warn:(...a)=>{i("warn",...a)},error:(...a)=>{i("error",...a)},critical:(...a)=>{r.error(e,...a)},createLogger:a=>wG_(`${e} ${a}`,t,r)}},RpD=e=>e();function EG_(e,t=RpD){return wG_(e,t,TpD())}var Gta="Mobile",QXo="iOS",Wta="Android",SG_="Tablet",QV9=Wta+" "+SG_;var zpD="Apple",UV9=zpD+" Watch",MG_="Safari",UXo="BlackBerry",DG_="Samsung",NpD=DG_+"Browser",FpD=DG_+" Internet",LXo="Chrome",QpD=LXo+" OS",UpD=LXo+" "+QXo,BG_="Internet Explorer",LpD=BG_+" "+Gta,Rzc="Opera",LV9=Rzc+" Mini",IG_="Edge",VpD="Microsoft "+IG_,zzc="Firefox",WpD=zzc+" "+QXo,Nzc="Nintendo",Fzc="PlayStation",FXo="Xbox",GpD=Wta+" "+Gta,xpD=Gta+" "+MG_,wGa="Windows",HpD=wGa+" Phone";var CG_="Generic",VV9=CG_+" "+Gta.toLowerCase(),WV9=CG_+" "+SG_.toLowerCase(),KpD="Konqueror",KG="(\\d+(\\.\\d+)?)",Tzc=new RegExp("Version/"+KG),GV9=new RegExp(FXo,"i"),xV9=new RegExp(Fzc+" \\w+","i"),HV9=new RegExp(Nzc+" \\w+","i"),JpD=new RegExp(UXo+"|PlayBook|BB10","i"),$pD={"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 KV9={[LpD]:[new RegExp("rv:"+KG)],[VpD]:[new RegExp(IG_+"?\\/"+KG)],[LXo]:[new RegExp("("+LXo+"|CrMo)\\/"+KG)],[UpD]:[new RegExp("CriOS\\/"+KG)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+KG)],[MG_]:[Tzc],[xpD]:[Tzc],[Rzc]:[new RegExp("("+Rzc+"|OPR)\\/"+KG)],[zzc]:[new RegExp(zzc+"\\/"+KG)],[WpD]:[new RegExp("FxiOS\\/"+KG)],[KpD]:[new RegExp("Konqueror[:/]?"+KG,"i")],[UXo]:[new RegExp(UXo+" "+KG),Tzc],[GpD]:[new RegExp("android\\s"+KG,"i")],[FpD]:[new RegExp(NpD+"\\/"+KG)],[BG_]:[new RegExp("(rv:|MSIE )"+KG)],Mozilla:[new RegExp("rv:"+KG)]};var JV9=[[new RegExp(FXo+"; "+FXo+" (.*?)[);]","i"),e=>[FXo,e&&e[1]||""]],[new RegExp(Nzc,"i"),[Nzc,""]],[new RegExp(Fzc,"i"),[Fzc,""]],[JpD,[UXo,""]],[new RegExp(wGa,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[HpD,""];if(new RegExp(Gta).test(t)&&!/IEMobile\b/.test(t))return[wGa+" "+Gta,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let i=r[1],n=$pD[i]||"";return/arm/i.test(t)&&(n="RT"),[wGa,n]}return[wGa,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[QXo,t.join(".")]}return[QXo,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=Vta(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+Wta+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Wta+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[Wta,t.join(".")]}return[Wta,""]}],[/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/,[QpD,""]],[/Linux|debian/i,["Linux",""]]];var qG_="utf8";function TG_(e,t){if(!e||typeof e!="string"||YpD(e))throw new Error(t)}function YpD(e){return e.trim().length===0}function RG_(e){return e?.replace(/\/+$/,"")}async function zG_(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function VXo(){return new Date().toISOString()}function eyn(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var NG_=e=>e instanceof Error;function Qzc(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var WXo=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};function FG_(){return"CompressionStream"in globalThis}async function Uzc(e,t=!0){try{let i=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(i).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var xta=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()}},EGa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function QG_(e){if(e instanceof xta){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 Lzc(e){return typeof e=="object"&&(e instanceof xta||e instanceof EGa)}function UG_(e){return typeof e=="object"&&e instanceof xta&&e.status===413}var SGa=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new NXo,this._events=new WXo,this._isInitialized=!1,TG_(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=RG_(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:Lzc},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.evaluationEnvironments=r?.evaluationEnvironments,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=EG_("[PostHog]",this.logMsgIfDebug.bind(this)),this.disableCompression=!FG_()||(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(U$.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(U$.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(U$.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>this._logger.info(i,n));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,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}async identifyStatelessImmediate(t,r,i){let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",n,i)}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}async captureStatelessImmediate(t,r,i,n){let a=this.buildPayload({distinct_id:t,event:r,properties:i});await this.sendImmediate("capture",a,n)}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}async aliasStatelessImmediate(t,r,i,n){let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",a,n)}groupIdentifyStateless(t,r,i,n,a,o){this.wrap(()=>{let c=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...o||{}}});this.enqueue("capture",c,n)})}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`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,i,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(n=>n.json()).catch(n=>{this._logger.error("Remote config could not be loaded",n),this._events.emit("error",n)})}async getFlags(t,r={},i={},n={},a={},o=!0){await this._initPromise;let c=o?"&config=true":"",d=`${this.host}/flags/?v=2${c}`,s={token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a};this.evaluationEnvironments&&this.evaluationEnvironments.length>0&&(s.evaluation_environments=this.evaluationEnvironments);let u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(s)};return this._logger.info("Flags URL",d),this.fetchWithRetry(d,u,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(l=>l.json()).then(l=>Bzc(l)).catch(l=>{this._events.emit("error",l)})}async getFeatureFlagStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailStateless(t,r,i,n,a,o);if(c===void 0)return{response:void 0,requestId:void 0};let d=Zhn(c.response);return d===void 0&&(d=!1),{response:d,requestId:c.requestId}}async getFeatureFlagDetailStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(r,i,n,a,o,[t]);return c===void 0?void 0:{response:c.flags[t],requestId:c.requestId,evaluatedAt:c.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagPayloadsStateless(r,i,n,a,o,[t]);if(!c)return;let d=c[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a,o){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)).payloads}async getFeatureFlagsStateless(t,r={},i={},n={},a,o){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(t,r,i,n,a,o);return c?{flags:c.featureFlags,payloads:c.featureFlagPayloads,requestId:c.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c={};(a??this.disableGeoip)&&(c.geoip_disable=!0),o&&(c.flag_keys_to_evaluate=o);let d=await this.getFlags(t,r,i,n,c);if(d!==void 0)return d.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"),d.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:d?.requestId}):d}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"}},n=(await this.fetchWithRetry(t,r).then(a=>{if(a.status!==200||!a.json){let o=`Surveys API could not be loaded: ${a.status}`,c=new Error(o);this._logger.error(c),this._events.emit("error",new Error(o));return}return a.json()}).catch(a=>{this._logger.error("Surveys API could not be loaded",a),this._events.emit("error",a)}))?.surveys;return n&&this._logger.info("Surveys fetched from API: ",JSON.stringify(n)),n??[]}get props(){return this._props||(this._props=this.getPersistedProperty(U$.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(U$.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(U$.Props,this.props)})}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let n=this.prepareMessage(t,r,i),a=this.getPersistedProperty(U$.Queue)||[];a.length>=this.maxQueueSize&&(a.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),a.push({message:n}),this.setPersistedProperty(U$.Queue,a),this._events.emit(t,n),a.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=eyn(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,i){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 n={api_key:this.apiKey,batch:[this.prepareMessage(t,r,i)],sent_at:VXo()};this.historicalMigration&&(n.historical_migration=!0);let a=JSON.stringify(n),o=`${this.host}/batch/`,c=this.disableCompression?null:await Uzc(a,this.isDebug),d={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||a};try{await this.fetchWithRetry(o,d)}catch(s){this._events.emit("error",s)}}prepareMessage(t,r,i){let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:VXo(),uuid:i?.uuid?i.uuid:T$t()};return(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId),n}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await QG_(t)})}async flush(){let t=Qzc([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),Qzc([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(U$.Queue)||[];if(!t.length)return;let r=[],i=t.length;for(;t.length>0&&r.length<i;){let n=t.slice(0,this.maxBatchSize),a=n.map(_=>_.message),o=()=>{let h=(this.getPersistedProperty(U$.Queue)||[]).slice(n.length);this.setPersistedProperty(U$.Queue,h),t=h},c={api_key:this.apiKey,batch:a,sent_at:VXo()};this.historicalMigration&&(c.historical_migration=!0);let d=JSON.stringify(c),s=`${this.host}/batch/`,u=this.disableCompression?null:await Uzc(d,this.isDebug),l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...u!==null&&{"Content-Encoding":"gzip"}},body:u||d},p={retryCheck:_=>UG_(_)?!1:Lzc(_)};try{await this.fetchWithRetry(s,l,p)}catch(_){if(UG_(_)&&a.length>1){this.maxBatchSize=Math.max(1,Math.floor(a.length/2)),this._logger.warn(`Received 413 when sending batch of size ${a.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw _ instanceof EGa||o(),this._events.emit("error",_),_}o(),r.push(...a)}this._events.emit("flush",r)}async fetchWithRetry(t,r,i,n){AbortSignal.timeout??=function(c){let d=new AbortController;return setTimeout(()=>d.abort(),c),d.signal};let a=r.body?r.body:"",o=-1;try{o=a instanceof Blob?a.size:Buffer.byteLength(a,qG_)}catch{a instanceof Blob?o=a.size:o=new TextEncoder().encode(a).length}return await zG_(async()=>{let c=null;try{c=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(s){throw new EGa(s)}if(!(r.mode==="no-cors")&&(c.status<200||c.status>=400))throw new xta(c,o);return c},{...this._retryOptions,...i})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let i=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(U$.Queue)||[]).length===0||(await this.flush(),r)););}catch(n){if(!Lzc(n))throw n;await QG_(n)}};return Promise.race([new Promise((n,a)=>{eyn(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,a("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),i()])}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 L$={};Yt(L$,{DOMExceptionCoercer:()=>Wzc,ErrorCoercer:()=>Gzc,ErrorEventCoercer:()=>xzc,ErrorPropertiesBuilder:()=>Vzc,EventCoercer:()=>Jzc,ObjectCoercer:()=>Kzc,PrimitiveCoercer:()=>$zc,PromiseRejectionEventCoercer:()=>Yzc,ReduceableCache:()=>Xzc,StringCoercer:()=>Hzc,chromeStackLineParser:()=>WG_,createStackParser:()=>l_D,geckoStackLineParser:()=>xG_,nodeStackLineParser:()=>$G_,opera10StackLineParser:()=>HG_,opera11StackLineParser:()=>KG_,reverseAndStripFrames:()=>ZG_,winjsStackLineParser:()=>GG_});var GXo,LG_,xXo;function VG_(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return xXo&&r.length===LG_||(LG_=r.length,xXo=r.reduce((i,n)=>{GXo||(GXo={});let a=GXo[n];if(a)i[a[0]]=a[1];else{let o=e(n);for(let c=o.length-1;c>=0;c--){let s=o[c]?.filename,u=t[n];if(s&&u){i[s]=u,GXo[n]=[s,u];break}}}return i},{})),xXo}var XpD=4,Vzc=class{constructor(t,r,i=[]){this.coercers=t,this.stackParser=r,this.modifiers=i}buildFromUnknown(t,r={}){let n=r&&r.mechanism||{handled:!0,type:"generic"},o=this.buildCoercingContext(n,r,0).apply(t),c=this.buildParsingContext(),d=this.parseStacktrace(o,c);return{$exception_list:this.convertToExceptionList(d,n),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&OG_(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 i;t.cause!=null&&(i=this.parseStacktrace(t.cause,r));let n;return t.stack!=""&&t.stack!=null&&(n=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?1:0),r.chunkIdMap)),{...t,cause:i,stack:n}}applyChunkIds(t,r){return t.map(i=>(i.filename&&r&&(i.chunk_id=r[i.filename]),i))}applyCoercers(t,r){for(let i of this.coercers)if(i.match(t))return i.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let i of this.modifiers)r=await i(r);return r}convertToExceptionList(t,r){let i={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(i.stacktrace={type:"raw",frames:t.stack});let n=[i];return t.cause!=null&&n.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),n}buildParsingContext(){return{chunkIdMap:VG_(this.stackParser)}}buildCoercingContext(t,r,i=0){let n=(o,c)=>{if(c<=XpD){let d=this.buildCoercingContext(t,r,c);return this.applyCoercers(o,d)}};return{...r,syntheticException:i==0?r.syntheticException:void 0,mechanism:t,apply:o=>n(o,i),next:o=>n(o,i+1)}}};var uL="?";function R$t(e,t,r,i,n){let a={platform:e,filename:t,function:r==="<anonymous>"?uL:r,in_app:!0};return Vta(i)||(a.lineno=i),Vta(n)||(a.colno=n),a}var HXo=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,i=e.indexOf("safari-web-extension")!==-1;return r||i?[e.indexOf("@")!==-1?e.split("@")[0]:uL,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var ZpD=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,kpD=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,e_D=/\((\S*)(?::(\d+))(?::(\d+))\)/,WG_=(e,t)=>{let r=ZpD.exec(e);if(r){let[,n,a,o]=r;return R$t(t,n,uL,+a,+o)}let i=kpD.exec(e);if(i){if(i[2]&&i[2].indexOf("eval")===0){let c=e_D.exec(i[2]);c&&(i[2]=c[1],i[3]=c[2],i[4]=c[3])}let[a,o]=HXo(i[1]||uL,i[2]);return R$t(t,o,a,i[3]?+i[3]:void 0,i[4]?+i[4]:void 0)}};var t_D=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,GG_=(e,t)=>{let r=t_D.exec(e);return r?R$t(t,r[2],r[1]||uL,+r[3],r[4]?+r[4]:void 0):void 0};var r_D=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,i_D=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,xG_=(e,t)=>{let r=r_D.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let o=i_D.exec(r[3]);o&&(r[1]=r[1]||"eval",r[3]=o[1],r[4]=o[2],r[5]="")}let n=r[3],a=r[1]||uL;return[a,n]=HXo(a,n),R$t(t,n,a,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var n_D=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,HG_=(e,t)=>{let r=n_D.exec(e);return r?R$t(t,r[2],r[3]||uL,+r[1]):void 0},a_D=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,KG_=(e,t)=>{let r=a_D.exec(e);return r?R$t(t,r[5],r[3]||r[4]||uL,+r[1],+r[2]):void 0};var o_D=/^\s*[-]{4,}$/,u_D=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,$G_=(e,t)=>{let r=e.match(u_D);if(r){let i,n,a,o,c;if(r[1]){a=r[1];let u=a.lastIndexOf(".");if(a[u-1]==="."&&u--,u>0){i=a.slice(0,u),n=a.slice(u+1);let l=i.indexOf(".Module");l>0&&(a=a.slice(l+1),i=i.slice(0,l))}o=void 0}n&&(o=i,c=n),n==="<anonymous>"&&(c=void 0,a=void 0),a===void 0&&(c=c||uL,a=o?`${o}.${c}`:c);let d=r[2]?.startsWith("file://")?r[2].slice(7):r[2],s=r[5]==="native";return d?.match(/\/[A-Z]:/)&&(d=d.slice(1)),!d&&r[5]&&!s&&(d=r[5]),{filename:d?decodeURI(d):void 0,module:void 0,function:a,lineno:JG_(r[3]),colno:JG_(r[4]),in_app:s_D(d||"",s),platform:t}}if(e.match(o_D))return{filename:e,platform:t}};function s_D(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 JG_(e){return parseInt(e||"",10)||void 0}var YG_=/\(error: (.*)\)/,XG_=50;function ZG_(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,XG_).map(r=>({...r,filename:r.filename||c_D(t).filename,function:r.function||uL}))}function c_D(e){return e[e.length-1]||{}}function l_D(e,...t){return(r,i=0)=>{let n=[],a=r.split(`
1264
- `);for(let o=i;o<a.length;o++){let c=a[o];if(c.length>1024)continue;let d=YG_.test(c)?c.replace(YG_,"$1"):c;if(!d.match(/\S*Error: /)){for(let s of t){let u=s(d,e);if(u){n.push(u);break}}if(n.length>=XG_)break}}return ZG_(n)}}var Wzc=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let i=AGa(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:i?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 khn(t,"DOMException")}isDOMError(t){return khn(t,"DOMError")}};var Gzc=class{match(t){return qzc(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 i=t.message;return i.error&&typeof i.error.message=="string"?String(i.error.message):String(i)}getStack(t){return t.stacktrace||t.stack||void 0}};var xzc=class{constructor(){}match(t){return PG_(t)&&t.error!=null}coerce(t,r){let i=r.apply(t.error);return i||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var f_D=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Hzc=class{match(t){return typeof t=="string"}coerce(t,r){let[i,n]=this.getInfos(t);return{type:i??"Error",value:n??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",i=t,n=t.match(f_D);return n&&(r=n[1],i=n[2]),[r,i]}};var kG_=["fatal","error","warning","log","info","debug"];function KXo(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let i=r.length;i>0;i--){let n=r.slice(0,i).join(", ");if(!(n.length>t))return i===r.length||n.length<=t?n:`${n.slice(0,t)}...`}return""}var Kzc=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let i=this.getErrorPropertyFromObject(t);return i?r.apply(i):{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 RXo(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let n=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(n+=` with message: '${t.message}'`),n}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),i=KXo(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${i}`}isSeverityLevel(t){return AGa(t)&&!mG_(t)&&kG_.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(NG_(i))return i}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var Jzc=class{match(t){return RXo(t)}coerce(t,r){let i=t.constructor.name;return{type:i,value:`${i} captured as exception with keys: ${KXo(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var $zc=class{match(t){return PGa(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var Yzc=class{match(t){return khn(t,"PromiseRejectionEvent")}coerce(t,r){let i=this.getUnhandledRejectionReason(t);return PGa(i)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(i)}getUnhandledRejectionReason(t){if(PGa(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 Xzc=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 rx_=require("fs"),ix_=require("readline"),JXo=new L$.ReduceableCache(25),nx_=new L$.ReduceableCache(20),Zzc=7,d_D=1e3,p_D=1e4;async function ax_(e){let t={};for(let n=e.length-1;n>=0;n--){let a=e[n],o=a?.filename;if(!a||typeof o!="string"||typeof a.lineno!="number"||b_D(o)||v_D(a))continue;t[o]||(t[o]=[]),t[o].push(a.lineno)}let r=Object.keys(t);if(r.length==0)return e;let i=[];for(let n of r){if(nx_.get(n))continue;let a=t[n];if(!a)continue;a.sort((d,s)=>d-s);let o=O_D(a);if(o.every(d=>g_D(n,d)))continue;let c=m_D(JXo,n,{});i.push(__D(n,o,c))}return await Promise.all(i).catch(()=>{}),e&&e.length>0&&h_D(e,JXo),JXo.reduce(),e}function __D(e,t,r){return new Promise(i=>{let n=(0,rx_.createReadStream)(e),a=(0,ix_.createInterface)({input:n});function o(){n.destroy(),i()}let c=0,d=0,s=t[d];if(s===void 0)return void o();let u=s[0],l=s[1];function p(){nx_.set(e,1),a.close(),a.removeAllListeners(),o()}n.on("error",p),a.on("error",p),a.on("close",o),a.on("line",_=>{if(c++,!(c<u)&&(r[c]=A_D(_,0),c>=l)){if(d===t.length-1){a.close(),a.removeAllListeners();return}d++;let h=t[d];if(h===void 0){a.close(),a.removeAllListeners();return}u=h[0],l=h[1]}})})}function h_D(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let i=t.get(r.filename);if(i===void 0)continue;y_D(r.lineno,r,i)}}function y_D(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let n=ox_(e);n<e;n++){let a=r[n];if(a===void 0)return void ex_(t);t.pre_context.push(a)}if(r[e]===void 0)return void ex_(t);t.context_line=r[e];let i=ux_(e);t.post_context=[];for(let n=e+1;n<=i;n++){let a=r[n];if(a===void 0)break;t.post_context.push(a)}}function ex_(e){delete e.pre_context,delete e.context_line,delete e.post_context}function b_D(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function v_D(e){return e.lineno!==void 0&&e.lineno>p_D||e.colno!==void 0&&e.colno>d_D}function g_D(e,t){let r=JXo.get(e);if(r===void 0)return!1;for(let i=t[0];i<=t[1];i++)if(r[i]===void 0)return!1;return!0}function O_D(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let i=tx_(r),n=[];for(;;){if(t===e.length-1){n.push(i);break}let a=e[t+1];if(typeof a!="number")break;a<=i[1]?i[1]=a+Zzc:(n.push(i),i=tx_(a)),t++}return n}function tx_(e){return[ox_(e),ux_(e)]}function ox_(e){return Math.max(1,e-Zzc)}function ux_(e){return e+Zzc}function m_D(e,t,r){let i=e.get(t);return i===void 0?(e.set(t,r),r):i}function A_D(e,t){let r=e,i=r.length;if(i<=150)return r;t>i&&(t=i);let n=Math.max(t-60,0);n<5&&(n=0);let a=Math.min(n+140,i);return a>i-5&&(a=i),a===i&&(n=Math.max(a-140,0)),r=r.slice(n,a),n>0&&(r=`...${r}`),a<i&&(r+="..."),r}function P_D(e,t){let r=!1;return Object.assign(i=>{let a=global.process.listeners("uncaughtException").filter(o=>o.name!=="domainUncaughtExceptionClear"&&o._posthogErrorHandler!==!0).length===0;e(i,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&a&&(r=!0,t(i))},{_posthogErrorHandler:!0})}function sx_(e,t){globalThis.process?.on("uncaughtException",P_D(e,t))}function cx_(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var j_D=2e3,bQi=class e{constructor(t,r,i){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=i,this._rateLimiter=new zXo({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static async buildEventMessage(t,r,i,n){let a={...n};i||(a.$process_person_profile=!1);let o=this.errorPropertiesBuilder.buildFromUnknown(t,r);return o.$exception_list=await this.errorPropertiesBuilder.modifyFrames(o.$exception_list),{event:"$exception",distinctId:i||T$t(),properties:{...o,...a}}}startAutocaptureIfEnabled(){this.isEnabled()&&(sx_(this.onException.bind(this),this.onFatalError.bind(this)),cx_(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{let i=await e.buildEventMessage(t,r),a=i.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(a)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:a}):this.client.capture(i)})())}async onFatalError(t){console.error(t),await this.client.shutdown(j_D),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var lx_="5.17.4";async function fx_(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(n=>n.toString(16).padStart(2,"0")).join("")}var w_D=6e4,E_D=1152921504606847e3,S_D=["is_not"],Hta=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},q0=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},z$t=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},$Xo=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:o,...c}){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=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=c.fetch||fetch,this.onError=c.onError,this.customHeaders=o,this.onLoad=c.onLoad,this.cacheProvider=c.cacheProvider,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let o,c;if(!this.loadedSuccessfullyOnce)return o;if(c=this.featureFlagsByKey[t],c!==void 0)try{o=(await this.computeFlagAndPayloadLocally(c,r,i,n,a)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${o}`))}catch(d){d instanceof z$t||d instanceof q0?this.logMsgIfDebug(()=>console.debug(`${d.name} when computing flag locally: ${t}: ${d.message}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return o}async getAllFlagsAndPayloads(t,r={},i={},n={},a){await this.loadFeatureFlags();let o={},c={},d=this.featureFlags.length==0,s=a?a.map(l=>this.featureFlagsByKey[l]).filter(Boolean):this.featureFlags,u={};return await Promise.all(s.map(async l=>{try{let{value:p,payload:_}=await this.computeFlagAndPayloadLocally(l,t,r,i,n,void 0,u);o[l.key]=p,_&&(c[l.key]=_)}catch(p){p instanceof z$t||p instanceof q0?this.logMsgIfDebug(()=>console.debug(`${p.name} when computing flag locally: ${l.key}: ${p.message}`)):p instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${l.key}: ${p}`)),d=!0}})),{response:o,payloads:c,fallbackToFlags:d}}async computeFlagAndPayloadLocally(t,r,i={},n={},a={},o,c,d=!1){if(d||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=o!==void 0?o:await this.computeFlagValueLocally(t,r,i,n,a,c);let u=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:u}}async computeFlagValueLocally(t,r,i={},n={},a={},o={}){if(t.ensure_experience_continuity)throw new q0("Flag has experience continuity enabled");if(!t.active)return!1;let d=(t.filters||{}).aggregation_group_type_index;if(d==null)return await this.matchFeatureFlagProperties(t,r,n,o);{let s=this.groupTypeMapping[String(d)];if(!s)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${d} for feature flag ${t.key}`)),new q0("Flag has unknown group type index");if(!(s in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let u=a[s];return await this.matchFeatureFlagProperties(t,i[s],u,o)}}getFeatureFlagPayload(t,r){let i=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),i!=null)){if(typeof i=="object")return i;if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}return null}async evaluateFlagDependency(t,r,i,n){let a=t.key;if(!this.featureFlagsByKey)throw new q0("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new q0(`Flag dependency property for '${a}' is missing required 'dependency_chain' field`);let o=t.dependency_chain;if(!Array.isArray(o))throw new q0(`Flag dependency property for '${a}' has an invalid 'dependency_chain' (expected array, got ${typeof o})`);if(o.length===0)throw new q0(`Circular dependency detected for flag '${a}' (empty dependency chain)`);for(let d of o){if(!(d in n)){let u=this.featureFlagsByKey[d];if(u)if(u.active)try{let l=await this.matchFeatureFlagProperties(u,r,i,n);n[d]=l}catch(l){throw new q0(`Error evaluating flag dependency '${d}' for flag '${a}': ${l}`)}else n[d]=!1;else throw new q0(`Missing flag dependency '${d}' for flag '${a}'`)}if(n[d]==null)throw new q0(`Dependency '${d}' could not be evaluated`)}let c=n[a];return this.flagEvaluatesToExpectedValue(t.value,c)}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,i,n={}){let a=t.filters||{},o=a.groups||[],c=!1,d;for(let s of o)try{if(await this.isConditionMatch(t,r,s,i,n)){let u=s.variant,l=a.multivariate?.variants||[];d=u&&l.some(p=>p.key===u)?u:await this.getMatchingVariant(t,r)||!0;break}}catch(u){if(u instanceof z$t)throw u;if(u instanceof q0)c=!0;else throw u}if(d!==void 0)return d;if(c)throw new q0("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,i,n,a={}){let o=i.rollout_percentage,c=d=>{this.logMsgIfDebug(()=>console.warn(d))};if((i.properties||[]).length>0){for(let d of i.properties){let s=d.type,u=!1;if(u=s==="cohort"?yx_(d,n,this.cohorts,this.debugMode):s==="flag"?await this.evaluateFlagDependency(d,r,n,a):hx_(d,n,c),!u)return!1}if(o==null)return!0}return!(o!=null&&await dx_(t.key,r)>o/100)}async getMatchingVariant(t,r){let i=await dx_(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(c=>{n=i+c.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:c.key}),i=n}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,i)=>(r[i.key]=i,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}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),!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 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(w_D,this.pollingInterval*2**this.backOffCount):this.pollingInterval}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(i){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${i}`))}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.shouldBeginExponentialBackoff=!1,this.backOffCount=0;return;case 401:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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 i=await r.json()??{};if(!("flags"in i))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(i)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let n={flags:i.flags??[],groupTypeMapping:i.group_type_mapping||{},cohorts:i.cohorts||{}};if(this.updateFlagState(n),this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(n)}catch(a){this.onError?.(new Error(`Failed to store in cache: ${a}`))}this.onLoad?.(this.featureFlags.length);break}default:return}}catch(t){t instanceof Hta&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let i={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(i["If-None-Match"]=r),{method:t,headers:i}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=eyn(()=>{n.abort()},this.timeout),r.signal=n.signal}try{let n=this.fetch;return n(t,r)}finally{clearTimeout(i)}}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((i,n)=>setTimeout(()=>n(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dx_(e,t,r=""){let i=await fx_(`${e}.${t}${r}`);return parseInt(i.slice(0,15),16)/E_D}function hx_(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new q0("Operator is_not_set is not supported")}else throw new q0(`Property ${i} not found in propertyValues`);let o=t[i];if(o==null&&!S_D.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function c(s,u){return Array.isArray(s)?s.map(l=>String(l).toLowerCase()).includes(String(u).toLowerCase()):String(s).toLowerCase()===String(u).toLowerCase()}function d(s,u,l){if(l==="gt")return s>u;if(l==="gte")return s>=u;if(l==="lt")return s<u;if(l==="lte")return s<=u;throw new Error(`Invalid operator: ${l}`)}switch(a){case"exact":return c(n,o);case"is_not":return!c(n,o);case"is_set":return i in t;case"icontains":return String(o).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(o).toLowerCase().includes(String(n).toLowerCase());case"regex":return px_(String(n))&&String(o).match(String(n))!==null;case"not_regex":return px_(String(n))&&String(o).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s==null||o==null?d(String(o),String(n),a):typeof o=="string"?d(o,String(n),a):d(o,s,a)}case"is_date_after":case"is_date_before":{if(typeof n=="boolean")throw new q0("Date operations cannot be performed on boolean values");let s=D_D(String(n));if(s==null&&(s=_x_(n)),s==null)throw new q0(`Invalid date: ${n}`);let u=_x_(o);return["is_date_before"].includes(a)?u<s:u>s}default:throw new q0(`Unknown operator: ${a}`)}}function M_D(e,t){if(!(e in t))throw new z$t(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function yx_(e,t,r,i=!1){let n=String(e.value);M_D(n,r);let a=r[n];return bx_(a,t,r,i)}function bx_(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if("values"in a[0]){for(let c of a)try{let d=bx_(c,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof z$t)throw d;if(d instanceof q0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new q0("Can't match cohort without a given cohort property value");return n==="AND"}for(let c of a)try{let d;if(c.type==="cohort")d=yx_(c,t,r,i);else if(c.type==="flag"){i&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${c.key||"unknown"}'`);continue}else d=hx_(c,t);let s=c.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof z$t)throw d;if(d instanceof q0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new q0("can't match cohort without a given cohort property value");return n==="AND"}function px_(e){try{return new RegExp(e),!0}catch{return!1}}function _x_(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 q0(`${e} is in an invalid date format`)}throw new q0(`The date provided ${e} must be a string, number, or date object`)}function D_D(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-7*n);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else{if(a!="y")return null;i.setUTCFullYear(i.getUTCFullYear()-n)}return i}}var YXo=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var B_D=100,vx_=3e4,I_D=5e4,XXo=class extends SGa{constructor(t,r={}){if(super(t,r),this._memoryStorage=new YXo,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,B_D):vx_,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 $Xo({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:n=>{this._events.emit("error",n)},onLoad:n=>{this._events.emit("localEvaluationFlagsLoaded",n)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider}))}this.errorTracking=new bQi(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||I_D}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 lx_}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:i,properties:n,options:a})=>super.captureStateless(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.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:i,properties:n,options:a})=>super.captureStatelessImmediate(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStateless(t,u,{disableGeoip:i})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStatelessImmediate(t,u,{disableGeoip:i})}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=vx_){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let i=setTimeout(()=>{n(),r(!1)},t),n=this._events.on("localEvaluationFlagsLoaded",a=>{clearTimeout(i),n(),r(a>0)})})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:o,sendFeatureFlagEvents:c,personProperties:d,groupProperties:s}=i||{},u=this.addLocalPersonAndGroupProperties(r,n,d,s);d=u.allPersonProperties,s=u.allGroupProperties,o==null&&(o=!1),c==null&&(c=this.options.sendFeatureFlagEvent??!0);let l=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),p=l!==void 0,_,h,y;if(!p&&!o){let v=await super.getFeatureFlagDetailStateless(t,r,n,d,s,a);if(v===void 0)return;y=v.response,l=Zhn(y),_=v?.requestId,h=v?.evaluatedAt}let b=`${t}_${l}`;return c&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(b))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(b):this.distinctIdHasSentFlagCalls[r]=[b],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:l,$feature_flag_id:y?.metadata?.id,$feature_flag_version:y?.metadata?.version,$feature_flag_reason:y?.reason?.description??y?.reason?.code,locally_evaluated:p,[`$feature/${t}`]:l,$feature_flag_request_id:_,$feature_flag_evaluated_at:h},groups:n,disableGeoip:a})),l}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:o}=n||{},{onlyEvaluateLocally:c,personProperties:d,groupProperties:s}=n||{},u=this.addLocalPersonAndGroupProperties(r,a,d,s);d=u.allPersonProperties,s=u.allGroupProperties;let l;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let h=this.featureFlagsPoller?.featureFlagsByKey[t];if(h)try{let y=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(h,r,a,d,s,i);y&&(i=y.value,l=y.payload)}catch(y){if(y instanceof z$t||y instanceof q0)this._logger?.info(`${y.name} when computing flag locally: ${h.key}: ${y.message}`);else throw y}}return c==null&&(c=!1),!(l!==void 0)&&!c&&(l=await super.getFeatureFlagPayloadStateless(t,r,a,d,s,o)),l}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 i=await r.json();if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n,flagKeys:a}=r||{},{onlyEvaluateLocally:o,personProperties:c,groupProperties:d}=r||{},s=this.addLocalPersonAndGroupProperties(t,i,c,d);c=s.allPersonProperties,d=s.allGroupProperties,o==null&&(o=!1);let u=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,c,d,a),l={},p={},_=!0;if(u&&(l=u.response,p=u.payloads,_=u.fallbackToFlags),_&&!o){let h=await super.getFeatureFlagsAndPayloadsStateless(t,i,c,d,n,a);l={...l,...h.flags||{}},p={...p,...h.payloads||{}}}return{featureFlags:l,featureFlagPayloads:p}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}withContext(t,r,i){return this.context?this.context.run(t,r,i):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)}`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},n=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let a=new AbortController;n=eyn(()=>{a.abort()},this.options.requestTimeout),i.signal=a.signal}try{return await this.fetch(r,i)}catch(a){this._events.emit("error",a);return}finally{n&&clearTimeout(n)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let i={},n={};for(let[a,o]of Object.entries(t))if(jG_(o)&&r&&a in r){let c={};for(let[d,s]of Object.entries(o))c[String(d)]=String(s);n[String(a)]=c}else i[String(a)]=String(o);return{personProperties:i,groupProperties:n}}async getFeatureFlagsForEvent(t,r,i,n){let a=n?.personProperties||{},o=n?.groupProperties||{},c=n?.flagKeys;if(n?.onlyEvaluateLocally??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,l]of Object.entries(r||{}))s[u]=String(l);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,l]of Object.entries(r||{}))s[u]=String(l);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}return(await super.getFeatureFlagsStateless(t,r,a,o,i)).flags}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},o={};if(r)for(let c of Object.keys(r))o[c]={$group_key:r[c],...n?.[c]||{}};return{allPersonProperties:a,allGroupProperties:o}}captureException(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(bQi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.capture(a)))}async captureExceptionImmediate(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(bQi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.captureImmediate(a)))}async prepareEventMessage(t){let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s}=t,u=this.context?.get(),l=r||u?.distinctId,p={...u?.properties||{},...n||{}};l||(l=T$t(),p.$process_person_profile=!1),u?.sessionId&&!p.$session_id&&(p.$session_id=u.sessionId);let _=this._runBeforeSend({distinctId:l,event:i,properties:p,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s});if(!_)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(o){let y=typeof o=="object"?o:void 0;return await this.getFeatureFlagsForEvent(_.distinctId,a,d,y)}return _.event,{}}).then(y=>{let b={};if(y)for(let[g,m]of Object.entries(y))b[`$feature/${g}`]=m;let v=Object.keys(y||{}).filter(g=>y?.[g]!==!1).sort();return v.length>0&&(b.$active_feature_flags=v),b}).catch(()=>({})).then(y=>({...y,..._.properties||{},$groups:_.groups||a}));return _.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vG_(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(_.event="$bot_pageview",h.$browser_type="bot"),{distinctId:_.distinctId,event:_.event,properties:h,options:{timestamp:_.timestamp,disableGeoip:_.disableGeoip,uuid:_.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let i=Array.isArray(r)?r:[r],n=t;for(let a of i){if(n=a(n),!n)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!n.properties||Object.keys(n.properties).length===0){let o=`Event '${n.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(o)}}return n}};var gx_=require("async_hooks"),ZXo=class{constructor(){this.storage=new gx_.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,i){if(i?.fresh===!0)return this.storage.run(t,r);{let a=this.get()||{},o={distinctId:t.distinctId??a.distinctId,sessionId:t.sessionId??a.sessionId,properties:{...a.properties||{},...t.properties||{}}};return this.storage.run(o,r)}}};var Ox_="posthog-node";function C_D(e,{organization:t,projectId:r,prefix:i,severityAllowList:n=["error"],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(n==="*"||n.includes(o.level)))return o;o.tags||(o.tags={});let d=o.tags[kzc.POSTHOG_ID_TAG];if(d===void 0)return o;let s=e.options.host??"https://us.i.posthog.com",u=new URL(`/project/${e.apiKey}/person/${d}`,s).toString();o.tags["PostHog Person URL"]=u;let l=o.exception?.values||[],p=l.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),_={$exception_message:l[0]?.value||o.message,$exception_type:l[0]?.type,$exception_level:o.level,$exception_list:p,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:l[0]?.value||o.message,$sentry_exception_type:l[0]?.type,$sentry_tags:o.tags};return t&&r&&(_.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+o.event_id),a&&e.capture({event:"$exception",distinctId:d,properties:_}),o}}var kzc=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,i,n,a){this.name=Ox_,this.name=Ox_,this.setupOnce=function(o,c){let d=c()?.getClient()?.getDsn()?.projectId;o(C_D(t,{organization:r,projectId:d,prefix:i,severityAllowList:n,sendExceptionsToPostHog:a??!0}))}}};bQi.errorPropertiesBuilder=new L$.ErrorPropertiesBuilder([new L$.EventCoercer,new L$.ErrorCoercer,new L$.ObjectCoercer,new L$.StringCoercer,new L$.PrimitiveCoercer],L$.createStackParser("node:javascript",L$.nodeStackLineParser),[pG_(),ax_]);var Kta=class extends XXo{getLibraryId(){return"posthog-node"}initializeContext(){return new ZXo}};var kXo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Kta(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.48.1",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var MGa=class{async sendEvent(){}async identify(){}async flush(){}};var Jta=require("fs/promises"),jx_=require("os"),wx_=require("path");var mx_=ue(require("crypto")),tZo=new Uint8Array(256),eZo=tZo.length;function eNc(){return eZo>tZo.length-16&&(mx_.default.randomFillSync(tZo),eZo=0),tZo.slice(eZo,eZo+=16)}var sL=[];for(let e=0;e<256;++e)sL.push((e+256).toString(16).slice(1));function Ax_(e,t=0){return sL[e[t+0]]+sL[e[t+1]]+sL[e[t+2]]+sL[e[t+3]]+"-"+sL[e[t+4]]+sL[e[t+5]]+"-"+sL[e[t+6]]+sL[e[t+7]]+"-"+sL[e[t+8]]+sL[e[t+9]]+"-"+sL[e[t+10]]+sL[e[t+11]]+sL[e[t+12]]+sL[e[t+13]]+sL[e[t+14]]+sL[e[t+15]]}var Px_=ue(require("crypto")),tNc={randomUUID:Px_.default.randomUUID};function q_D(e,t,r){if(tNc.randomUUID&&!t&&!e)return tNc.randomUUID();e=e||{};let i=e.random||(e.rng||eNc)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return Ax_(i)}var Rve=q_D;var T_D="id",R_D=".fern",DGa=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Kta(r),this.userId=t==null?void 0:SIc(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.48.1",...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 Z4({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=Tt(Sr.of((0,jx_.homedir)()),He.of(R_D),He.of(T_D));await mi(t)||(await(0,Jta.mkdir)((0,wx_.dirname)(t),{recursive:!0}),await(0,Jta.writeFile)(t,Rve())),this.persistedDistinctId=(await(0,Jta.readFile)(t)).toString()}return this.persistedDistinctId}};var rNc;async function $ta(){return rNc==null&&(rNc=await z_D()),rNc}async function z_D(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new MGa;let r=await JHo();return r!=null?new DGa({token:r,posthogApiKey:e}):await fea()!=null?new kXo({posthogApiKey:e}):new DGa({token:void 0,posthogApiKey:e})}catch{return new MGa}}function BGa(e,t){return function(){return e.apply(t,arguments)}}var{toString:N_D}=Object.prototype,{getPrototypeOf:nNc}=Object,{iterator:iZo,toStringTag:Sx_}=Symbol,nZo=(e=>t=>{let r=N_D.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),x3t=e=>(e=e.toLowerCase(),t=>nZo(t)===e),aZo=e=>t=>typeof t===e,{isArray:Xta}=Array,Yta=aZo("undefined");function IGa(e){return e!==null&&!Yta(e)&&e.constructor!==null&&!Yta(e.constructor)&&V$(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Mx_=x3t("ArrayBuffer");function F_D(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Mx_(e.buffer),t}var Q_D=aZo("string"),V$=aZo("function"),Dx_=aZo("number"),CGa=e=>e!==null&&typeof e=="object",U_D=e=>e===!0||e===!1,rZo=e=>{if(nZo(e)!=="object")return!1;let t=nNc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Sx_ in e)&&!(iZo in e)},L_D=e=>{if(!CGa(e)||IGa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},V_D=x3t("Date"),W_D=x3t("File"),G_D=x3t("Blob"),x_D=x3t("FileList"),H_D=e=>CGa(e)&&V$(e.pipe),K_D=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||V$(e.append)&&((t=nZo(e))==="formdata"||t==="object"&&V$(e.toString)&&e.toString()==="[object FormData]"))},J_D=x3t("URLSearchParams"),[$_D,Y_D,X_D,Z_D]=["ReadableStream","Request","Response","Headers"].map(x3t),k_D=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function qGa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),Xta(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(IGa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function Bx_(e,t){if(IGa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var tyn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ix_=e=>!Yta(e)&&e!==tyn;function iNc(){let{caseless:e,skipUndefined:t}=Ix_(this)&&this||{},r={},i=(n,a)=>{let o=e&&Bx_(r,a)||a;rZo(r[o])&&rZo(n)?r[o]=iNc(r[o],n):rZo(n)?r[o]=iNc({},n):Xta(n)?r[o]=n.slice():(!t||!Yta(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&qGa(arguments[n],i);return r}var ehD=(e,t,r,{allOwnKeys:i}={})=>(qGa(t,(n,a)=>{r&&V$(n)?e[a]=BGa(n,r):e[a]=n},{allOwnKeys:i}),e),thD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),rhD=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},ihD=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&nNc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},nhD=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},ahD=e=>{if(!e)return null;if(Xta(e))return e;let t=e.length;if(!Dx_(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},ohD=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&nNc(Uint8Array)),uhD=(e,t)=>{let i=(e&&e[iZo]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},shD=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},chD=x3t("HTMLFormElement"),lhD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),Ex_=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),fhD=x3t("RegExp"),Cx_=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};qGa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},dhD=e=>{Cx_(e,(t,r)=>{if(V$(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(V$(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},phD=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return Xta(e)?i(e):i(String(e).split(t)),r},_hD=()=>{},hhD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function yhD(e){return!!(e&&V$(e.append)&&e[Sx_]==="FormData"&&e[iZo])}var bhD=e=>{let t=new Array(10),r=(i,n)=>{if(CGa(i)){if(t.indexOf(i)>=0)return;if(IGa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=Xta(i)?[]:{};return qGa(i,(o,c)=>{let d=r(o,n+1);!Yta(d)&&(a[c]=d)}),t[n]=void 0,a}}return i};return r(e,0)},vhD=x3t("AsyncFunction"),ghD=e=>e&&(CGa(e)||V$(e))&&V$(e.then)&&V$(e.catch),qx_=((e,t)=>e?setImmediate:t?((r,i)=>(tyn.addEventListener("message",({source:n,data:a})=>{n===tyn&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),tyn.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",V$(tyn.postMessage)),OhD=typeof queueMicrotask<"u"?queueMicrotask.bind(tyn):typeof process<"u"&&process.nextTick||qx_,mhD=e=>e!=null&&V$(e[iZo]),ir={isArray:Xta,isArrayBuffer:Mx_,isBuffer:IGa,isFormData:K_D,isArrayBufferView:F_D,isString:Q_D,isNumber:Dx_,isBoolean:U_D,isObject:CGa,isPlainObject:rZo,isEmptyObject:L_D,isReadableStream:$_D,isRequest:Y_D,isResponse:X_D,isHeaders:Z_D,isUndefined:Yta,isDate:V_D,isFile:W_D,isBlob:G_D,isRegExp:fhD,isFunction:V$,isStream:H_D,isURLSearchParams:J_D,isTypedArray:ohD,isFileList:x_D,forEach:qGa,merge:iNc,extend:ehD,trim:k_D,stripBOM:thD,inherits:rhD,toFlatObject:ihD,kindOf:nZo,kindOfTest:x3t,endsWith:nhD,toArray:ahD,forEachEntry:uhD,matchAll:shD,isHTMLForm:chD,hasOwnProperty:Ex_,hasOwnProp:Ex_,reduceDescriptors:Cx_,freezeMethods:dhD,toObjectSet:phD,toCamelCase:lhD,noop:_hD,toFiniteNumber:hhD,findKey:Bx_,global:tyn,isContextDefined:Ix_,isSpecCompliantForm:yhD,toJSONObject:bhD,isAsyncFn:vhD,isThenable:ghD,setImmediate:qx_,asap:OhD,isIterable:mhD};function Zta(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}ir.inherits(Zta,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ir.toJSONObject(this.config),code:this.code,status:this.status}}});var Tx_=Zta.prototype,Rx_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Rx_[e]={value:e}});Object.defineProperties(Zta,Rx_);Object.defineProperty(Tx_,"isAxiosError",{value:!0});Zta.from=(e,t,r,i,n,a)=>{let o=Object.create(Tx_);ir.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return Zta.call(o,c,d,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var za=Zta;var zx_=ue(Dkn(),1),oZo=zx_.default;function aNc(e){return ir.isPlainObject(e)||ir.isArray(e)}function Fx_(e){return ir.endsWith(e,"[]")?e.slice(0,-2):e}function Nx_(e,t,r){return e?e.concat(t).map(function(n,a){return n=Fx_(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function AhD(e){return ir.isArray(e)&&!e.some(aNc)}var PhD=ir.toFlatObject(ir,{},null,function(t){return/^is[A-Z]/.test(t)});function jhD(e,t,r){if(!ir.isObject(e))throw new TypeError("target must be an object");t=t||new(oZo||FormData),r=ir.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!ir.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&ir.isSpecCompliantForm(t);if(!ir.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(ir.isDate(h))return h.toISOString();if(ir.isBoolean(h))return h.toString();if(!d&&ir.isBlob(h))throw new za("Blob is not supported. Use a Buffer instead.");return ir.isArrayBuffer(h)||ir.isTypedArray(h)?d&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(ir.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(ir.isArray(h)&&AhD(h)||(ir.isFileList(h)||ir.endsWith(y,"[]"))&&(v=ir.toArray(h)))return y=Fx_(y),v.forEach(function(m,O){!(ir.isUndefined(m)||m===null)&&t.append(o===!0?Nx_([y],O,a):o===null?y:y+"[]",s(m))}),!1}return aNc(h)?!0:(t.append(Nx_(b,y,a),s(h)),!1)}let l=[],p=Object.assign(PhD,{defaultVisitor:u,convertValue:s,isVisitable:aNc});function _(h,y){if(!ir.isUndefined(h)){if(l.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));l.push(h),ir.forEach(h,function(v,g){(!(ir.isUndefined(v)||v===null)&&n.call(t,v,ir.isString(g)?g.trim():g,y,p))===!0&&_(v,y?y.concat(g):[g])}),l.pop()}}if(!ir.isObject(e))throw new TypeError("data must be an object");return _(e),t}var X7i=jhD;function Qx_(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Ux_(e,t){this._pairs=[],e&&X7i(e,this,t)}var Lx_=Ux_.prototype;Lx_.append=function(t,r){this._pairs.push([t,r])};Lx_.toString=function(t){let r=t?function(i){return t.call(this,i,Qx_)}:Qx_;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Vx_=Ux_;function whD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ryn(e,t,r){if(!t)return e;let i=r&&r.encode||whD;ir.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ir.isURLSearchParams(t)?t.toString():new Vx_(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var oNc=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ir.forEach(this.handlers,function(i){i!==null&&t(i)})}},uNc=oNc;var kta={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Hx_=ue(require("crypto"),1);var Wx_=ue(require("url"),1),Gx_=Wx_.default.URLSearchParams;var sNc="abcdefghijklmnopqrstuvwxyz",xx_="0123456789",Kx_={DIGIT:xx_,ALPHA:sNc,ALPHA_DIGIT:sNc+sNc.toUpperCase()+xx_},EhD=(e=16,t=Kx_.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Hx_.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Jx_={isNode:!0,classes:{URLSearchParams:Gx_,FormData:oZo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Kx_,generateString:EhD,protocols:["http","https","file","data"]};var fNc={};Yt(fNc,{hasBrowserEnv:()=>lNc,hasStandardBrowserEnv:()=>ShD,hasStandardBrowserWebWorkerEnv:()=>MhD,navigator:()=>cNc,origin:()=>DhD});var lNc=typeof window<"u"&&typeof document<"u",cNc=typeof navigator=="object"&&navigator||void 0,ShD=lNc&&(!cNc||["ReactNative","NativeScript","NS"].indexOf(cNc.product)<0),MhD=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",DhD=lNc&&window.location.href||"http://localhost";var vA={...fNc,...Jx_};function dNc(e,t){return X7i(e,new vA.classes.URLSearchParams,{visitor:function(r,i,n,a){return vA.isNode&&ir.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function BhD(e){return ir.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function IhD(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function ChD(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),d=a>=r.length;return o=!o&&ir.isArray(n)?n.length:o,d?(ir.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!ir.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&ir.isArray(n[o])&&(n[o]=IhD(n[o])),!c)}if(ir.isFormData(e)&&ir.isFunction(e.entries)){let r={};return ir.forEachEntry(e,(i,n)=>{t(BhD(i),n,r,0)}),r}return null}var uZo=ChD;function qhD(e,t,r){if(ir.isString(e))try{return(t||JSON.parse)(e),ir.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var pNc={transitional:kta,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ir.isObject(t);if(a&&ir.isHTMLForm(t)&&(t=new FormData(t)),ir.isFormData(t))return n?JSON.stringify(uZo(t)):t;if(ir.isArrayBuffer(t)||ir.isBuffer(t)||ir.isStream(t)||ir.isFile(t)||ir.isBlob(t)||ir.isReadableStream(t))return t;if(ir.isArrayBufferView(t))return t.buffer;if(ir.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return dNc(t,this.formSerializer).toString();if((c=ir.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return X7i(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),qhD(t)):t}],transformResponse:[function(t){let r=this.transitional||pNc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ir.isResponse(t)||ir.isReadableStream(t))return t;if(t&&ir.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?za.from(c,za.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:vA.classes.FormData,Blob:vA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ir.forEach(["delete","get","head","post","put","patch"],e=>{pNc.headers[e]={}});var era=pNc;var ThD=ir.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"]),$x_=e=>{let t={},r,i,n;return e&&e.split(`
1264
+ `);for(let o=i;o<a.length;o++){let c=a[o];if(c.length>1024)continue;let d=YG_.test(c)?c.replace(YG_,"$1"):c;if(!d.match(/\S*Error: /)){for(let s of t){let u=s(d,e);if(u){n.push(u);break}}if(n.length>=XG_)break}}return ZG_(n)}}var Wzc=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let i=AGa(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:i?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 khn(t,"DOMException")}isDOMError(t){return khn(t,"DOMError")}};var Gzc=class{match(t){return qzc(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 i=t.message;return i.error&&typeof i.error.message=="string"?String(i.error.message):String(i)}getStack(t){return t.stacktrace||t.stack||void 0}};var xzc=class{constructor(){}match(t){return PG_(t)&&t.error!=null}coerce(t,r){let i=r.apply(t.error);return i||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var f_D=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Hzc=class{match(t){return typeof t=="string"}coerce(t,r){let[i,n]=this.getInfos(t);return{type:i??"Error",value:n??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",i=t,n=t.match(f_D);return n&&(r=n[1],i=n[2]),[r,i]}};var kG_=["fatal","error","warning","log","info","debug"];function KXo(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let i=r.length;i>0;i--){let n=r.slice(0,i).join(", ");if(!(n.length>t))return i===r.length||n.length<=t?n:`${n.slice(0,t)}...`}return""}var Kzc=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let i=this.getErrorPropertyFromObject(t);return i?r.apply(i):{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 RXo(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let n=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(n+=` with message: '${t.message}'`),n}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),i=KXo(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${i}`}isSeverityLevel(t){return AGa(t)&&!mG_(t)&&kG_.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(NG_(i))return i}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var Jzc=class{match(t){return RXo(t)}coerce(t,r){let i=t.constructor.name;return{type:i,value:`${i} captured as exception with keys: ${KXo(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var $zc=class{match(t){return PGa(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var Yzc=class{match(t){return khn(t,"PromiseRejectionEvent")}coerce(t,r){let i=this.getUnhandledRejectionReason(t);return PGa(i)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(i)}getUnhandledRejectionReason(t){if(PGa(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 Xzc=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 rx_=require("fs"),ix_=require("readline"),JXo=new L$.ReduceableCache(25),nx_=new L$.ReduceableCache(20),Zzc=7,d_D=1e3,p_D=1e4;async function ax_(e){let t={};for(let n=e.length-1;n>=0;n--){let a=e[n],o=a?.filename;if(!a||typeof o!="string"||typeof a.lineno!="number"||b_D(o)||v_D(a))continue;t[o]||(t[o]=[]),t[o].push(a.lineno)}let r=Object.keys(t);if(r.length==0)return e;let i=[];for(let n of r){if(nx_.get(n))continue;let a=t[n];if(!a)continue;a.sort((d,s)=>d-s);let o=O_D(a);if(o.every(d=>g_D(n,d)))continue;let c=m_D(JXo,n,{});i.push(__D(n,o,c))}return await Promise.all(i).catch(()=>{}),e&&e.length>0&&h_D(e,JXo),JXo.reduce(),e}function __D(e,t,r){return new Promise(i=>{let n=(0,rx_.createReadStream)(e),a=(0,ix_.createInterface)({input:n});function o(){n.destroy(),i()}let c=0,d=0,s=t[d];if(s===void 0)return void o();let u=s[0],l=s[1];function p(){nx_.set(e,1),a.close(),a.removeAllListeners(),o()}n.on("error",p),a.on("error",p),a.on("close",o),a.on("line",_=>{if(c++,!(c<u)&&(r[c]=A_D(_,0),c>=l)){if(d===t.length-1){a.close(),a.removeAllListeners();return}d++;let h=t[d];if(h===void 0){a.close(),a.removeAllListeners();return}u=h[0],l=h[1]}})})}function h_D(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let i=t.get(r.filename);if(i===void 0)continue;y_D(r.lineno,r,i)}}function y_D(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let n=ox_(e);n<e;n++){let a=r[n];if(a===void 0)return void ex_(t);t.pre_context.push(a)}if(r[e]===void 0)return void ex_(t);t.context_line=r[e];let i=ux_(e);t.post_context=[];for(let n=e+1;n<=i;n++){let a=r[n];if(a===void 0)break;t.post_context.push(a)}}function ex_(e){delete e.pre_context,delete e.context_line,delete e.post_context}function b_D(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function v_D(e){return e.lineno!==void 0&&e.lineno>p_D||e.colno!==void 0&&e.colno>d_D}function g_D(e,t){let r=JXo.get(e);if(r===void 0)return!1;for(let i=t[0];i<=t[1];i++)if(r[i]===void 0)return!1;return!0}function O_D(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let i=tx_(r),n=[];for(;;){if(t===e.length-1){n.push(i);break}let a=e[t+1];if(typeof a!="number")break;a<=i[1]?i[1]=a+Zzc:(n.push(i),i=tx_(a)),t++}return n}function tx_(e){return[ox_(e),ux_(e)]}function ox_(e){return Math.max(1,e-Zzc)}function ux_(e){return e+Zzc}function m_D(e,t,r){let i=e.get(t);return i===void 0?(e.set(t,r),r):i}function A_D(e,t){let r=e,i=r.length;if(i<=150)return r;t>i&&(t=i);let n=Math.max(t-60,0);n<5&&(n=0);let a=Math.min(n+140,i);return a>i-5&&(a=i),a===i&&(n=Math.max(a-140,0)),r=r.slice(n,a),n>0&&(r=`...${r}`),a<i&&(r+="..."),r}function P_D(e,t){let r=!1;return Object.assign(i=>{let a=global.process.listeners("uncaughtException").filter(o=>o.name!=="domainUncaughtExceptionClear"&&o._posthogErrorHandler!==!0).length===0;e(i,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&a&&(r=!0,t(i))},{_posthogErrorHandler:!0})}function sx_(e,t){globalThis.process?.on("uncaughtException",P_D(e,t))}function cx_(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var j_D=2e3,bQi=class e{constructor(t,r,i){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=i,this._rateLimiter=new zXo({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static async buildEventMessage(t,r,i,n){let a={...n};i||(a.$process_person_profile=!1);let o=this.errorPropertiesBuilder.buildFromUnknown(t,r);return o.$exception_list=await this.errorPropertiesBuilder.modifyFrames(o.$exception_list),{event:"$exception",distinctId:i||T$t(),properties:{...o,...a}}}startAutocaptureIfEnabled(){this.isEnabled()&&(sx_(this.onException.bind(this),this.onFatalError.bind(this)),cx_(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{let i=await e.buildEventMessage(t,r),a=i.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(a)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:a}):this.client.capture(i)})())}async onFatalError(t){console.error(t),await this.client.shutdown(j_D),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var lx_="5.17.4";async function fx_(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(n=>n.toString(16).padStart(2,"0")).join("")}var w_D=6e4,E_D=1152921504606847e3,S_D=["is_not"],Hta=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},q0=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},z$t=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},$Xo=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:o,...c}){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=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=c.fetch||fetch,this.onError=c.onError,this.customHeaders=o,this.onLoad=c.onLoad,this.cacheProvider=c.cacheProvider,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let o,c;if(!this.loadedSuccessfullyOnce)return o;if(c=this.featureFlagsByKey[t],c!==void 0)try{o=(await this.computeFlagAndPayloadLocally(c,r,i,n,a)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${o}`))}catch(d){d instanceof z$t||d instanceof q0?this.logMsgIfDebug(()=>console.debug(`${d.name} when computing flag locally: ${t}: ${d.message}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return o}async getAllFlagsAndPayloads(t,r={},i={},n={},a){await this.loadFeatureFlags();let o={},c={},d=this.featureFlags.length==0,s=a?a.map(l=>this.featureFlagsByKey[l]).filter(Boolean):this.featureFlags,u={};return await Promise.all(s.map(async l=>{try{let{value:p,payload:_}=await this.computeFlagAndPayloadLocally(l,t,r,i,n,void 0,u);o[l.key]=p,_&&(c[l.key]=_)}catch(p){p instanceof z$t||p instanceof q0?this.logMsgIfDebug(()=>console.debug(`${p.name} when computing flag locally: ${l.key}: ${p.message}`)):p instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${l.key}: ${p}`)),d=!0}})),{response:o,payloads:c,fallbackToFlags:d}}async computeFlagAndPayloadLocally(t,r,i={},n={},a={},o,c,d=!1){if(d||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=o!==void 0?o:await this.computeFlagValueLocally(t,r,i,n,a,c);let u=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:u}}async computeFlagValueLocally(t,r,i={},n={},a={},o={}){if(t.ensure_experience_continuity)throw new q0("Flag has experience continuity enabled");if(!t.active)return!1;let d=(t.filters||{}).aggregation_group_type_index;if(d==null)return await this.matchFeatureFlagProperties(t,r,n,o);{let s=this.groupTypeMapping[String(d)];if(!s)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${d} for feature flag ${t.key}`)),new q0("Flag has unknown group type index");if(!(s in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let u=a[s];return await this.matchFeatureFlagProperties(t,i[s],u,o)}}getFeatureFlagPayload(t,r){let i=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),i!=null)){if(typeof i=="object")return i;if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}return null}async evaluateFlagDependency(t,r,i,n){let a=t.key;if(!this.featureFlagsByKey)throw new q0("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new q0(`Flag dependency property for '${a}' is missing required 'dependency_chain' field`);let o=t.dependency_chain;if(!Array.isArray(o))throw new q0(`Flag dependency property for '${a}' has an invalid 'dependency_chain' (expected array, got ${typeof o})`);if(o.length===0)throw new q0(`Circular dependency detected for flag '${a}' (empty dependency chain)`);for(let d of o){if(!(d in n)){let u=this.featureFlagsByKey[d];if(u)if(u.active)try{let l=await this.matchFeatureFlagProperties(u,r,i,n);n[d]=l}catch(l){throw new q0(`Error evaluating flag dependency '${d}' for flag '${a}': ${l}`)}else n[d]=!1;else throw new q0(`Missing flag dependency '${d}' for flag '${a}'`)}if(n[d]==null)throw new q0(`Dependency '${d}' could not be evaluated`)}let c=n[a];return this.flagEvaluatesToExpectedValue(t.value,c)}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,i,n={}){let a=t.filters||{},o=a.groups||[],c=!1,d;for(let s of o)try{if(await this.isConditionMatch(t,r,s,i,n)){let u=s.variant,l=a.multivariate?.variants||[];d=u&&l.some(p=>p.key===u)?u:await this.getMatchingVariant(t,r)||!0;break}}catch(u){if(u instanceof z$t)throw u;if(u instanceof q0)c=!0;else throw u}if(d!==void 0)return d;if(c)throw new q0("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,i,n,a={}){let o=i.rollout_percentage,c=d=>{this.logMsgIfDebug(()=>console.warn(d))};if((i.properties||[]).length>0){for(let d of i.properties){let s=d.type,u=!1;if(u=s==="cohort"?yx_(d,n,this.cohorts,this.debugMode):s==="flag"?await this.evaluateFlagDependency(d,r,n,a):hx_(d,n,c),!u)return!1}if(o==null)return!0}return!(o!=null&&await dx_(t.key,r)>o/100)}async getMatchingVariant(t,r){let i=await dx_(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(c=>{n=i+c.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:c.key}),i=n}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,i)=>(r[i.key]=i,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}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),!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 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(w_D,this.pollingInterval*2**this.backOffCount):this.pollingInterval}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(i){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${i}`))}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.shouldBeginExponentialBackoff=!1,this.backOffCount=0;return;case 401:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new Hta(`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 i=await r.json()??{};if(!("flags"in i))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(i)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let n={flags:i.flags??[],groupTypeMapping:i.group_type_mapping||{},cohorts:i.cohorts||{}};if(this.updateFlagState(n),this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(n)}catch(a){this.onError?.(new Error(`Failed to store in cache: ${a}`))}this.onLoad?.(this.featureFlags.length);break}default:return}}catch(t){t instanceof Hta&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let i={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(i["If-None-Match"]=r),{method:t,headers:i}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=eyn(()=>{n.abort()},this.timeout),r.signal=n.signal}try{let n=this.fetch;return n(t,r)}finally{clearTimeout(i)}}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((i,n)=>setTimeout(()=>n(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dx_(e,t,r=""){let i=await fx_(`${e}.${t}${r}`);return parseInt(i.slice(0,15),16)/E_D}function hx_(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new q0("Operator is_not_set is not supported")}else throw new q0(`Property ${i} not found in propertyValues`);let o=t[i];if(o==null&&!S_D.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function c(s,u){return Array.isArray(s)?s.map(l=>String(l).toLowerCase()).includes(String(u).toLowerCase()):String(s).toLowerCase()===String(u).toLowerCase()}function d(s,u,l){if(l==="gt")return s>u;if(l==="gte")return s>=u;if(l==="lt")return s<u;if(l==="lte")return s<=u;throw new Error(`Invalid operator: ${l}`)}switch(a){case"exact":return c(n,o);case"is_not":return!c(n,o);case"is_set":return i in t;case"icontains":return String(o).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(o).toLowerCase().includes(String(n).toLowerCase());case"regex":return px_(String(n))&&String(o).match(String(n))!==null;case"not_regex":return px_(String(n))&&String(o).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s==null||o==null?d(String(o),String(n),a):typeof o=="string"?d(o,String(n),a):d(o,s,a)}case"is_date_after":case"is_date_before":{if(typeof n=="boolean")throw new q0("Date operations cannot be performed on boolean values");let s=D_D(String(n));if(s==null&&(s=_x_(n)),s==null)throw new q0(`Invalid date: ${n}`);let u=_x_(o);return["is_date_before"].includes(a)?u<s:u>s}default:throw new q0(`Unknown operator: ${a}`)}}function M_D(e,t){if(!(e in t))throw new z$t(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function yx_(e,t,r,i=!1){let n=String(e.value);M_D(n,r);let a=r[n];return bx_(a,t,r,i)}function bx_(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if("values"in a[0]){for(let c of a)try{let d=bx_(c,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof z$t)throw d;if(d instanceof q0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new q0("Can't match cohort without a given cohort property value");return n==="AND"}for(let c of a)try{let d;if(c.type==="cohort")d=yx_(c,t,r,i);else if(c.type==="flag"){i&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${c.key||"unknown"}'`);continue}else d=hx_(c,t);let s=c.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof z$t)throw d;if(d instanceof q0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new q0("can't match cohort without a given cohort property value");return n==="AND"}function px_(e){try{return new RegExp(e),!0}catch{return!1}}function _x_(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 q0(`${e} is in an invalid date format`)}throw new q0(`The date provided ${e} must be a string, number, or date object`)}function D_D(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-7*n);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else{if(a!="y")return null;i.setUTCFullYear(i.getUTCFullYear()-n)}return i}}var YXo=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var B_D=100,vx_=3e4,I_D=5e4,XXo=class extends SGa{constructor(t,r={}){if(super(t,r),this._memoryStorage=new YXo,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,B_D):vx_,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 $Xo({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:n=>{this._events.emit("error",n)},onLoad:n=>{this._events.emit("localEvaluationFlagsLoaded",n)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider}))}this.errorTracking=new bQi(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||I_D}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 lx_}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:i,properties:n,options:a})=>super.captureStateless(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.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:i,properties:n,options:a})=>super.captureStatelessImmediate(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStateless(t,u,{disableGeoip:i})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStatelessImmediate(t,u,{disableGeoip:i})}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=vx_){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let i=setTimeout(()=>{n(),r(!1)},t),n=this._events.on("localEvaluationFlagsLoaded",a=>{clearTimeout(i),n(),r(a>0)})})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:o,sendFeatureFlagEvents:c,personProperties:d,groupProperties:s}=i||{},u=this.addLocalPersonAndGroupProperties(r,n,d,s);d=u.allPersonProperties,s=u.allGroupProperties,o==null&&(o=!1),c==null&&(c=this.options.sendFeatureFlagEvent??!0);let l=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),p=l!==void 0,_,h,y;if(!p&&!o){let v=await super.getFeatureFlagDetailStateless(t,r,n,d,s,a);if(v===void 0)return;y=v.response,l=Zhn(y),_=v?.requestId,h=v?.evaluatedAt}let b=`${t}_${l}`;return c&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(b))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(b):this.distinctIdHasSentFlagCalls[r]=[b],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:l,$feature_flag_id:y?.metadata?.id,$feature_flag_version:y?.metadata?.version,$feature_flag_reason:y?.reason?.description??y?.reason?.code,locally_evaluated:p,[`$feature/${t}`]:l,$feature_flag_request_id:_,$feature_flag_evaluated_at:h},groups:n,disableGeoip:a})),l}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:o}=n||{},{onlyEvaluateLocally:c,personProperties:d,groupProperties:s}=n||{},u=this.addLocalPersonAndGroupProperties(r,a,d,s);d=u.allPersonProperties,s=u.allGroupProperties;let l;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let h=this.featureFlagsPoller?.featureFlagsByKey[t];if(h)try{let y=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(h,r,a,d,s,i);y&&(i=y.value,l=y.payload)}catch(y){if(y instanceof z$t||y instanceof q0)this._logger?.info(`${y.name} when computing flag locally: ${h.key}: ${y.message}`);else throw y}}return c==null&&(c=!1),!(l!==void 0)&&!c&&(l=await super.getFeatureFlagPayloadStateless(t,r,a,d,s,o)),l}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 i=await r.json();if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n,flagKeys:a}=r||{},{onlyEvaluateLocally:o,personProperties:c,groupProperties:d}=r||{},s=this.addLocalPersonAndGroupProperties(t,i,c,d);c=s.allPersonProperties,d=s.allGroupProperties,o==null&&(o=!1);let u=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,c,d,a),l={},p={},_=!0;if(u&&(l=u.response,p=u.payloads,_=u.fallbackToFlags),_&&!o){let h=await super.getFeatureFlagsAndPayloadsStateless(t,i,c,d,n,a);l={...l,...h.flags||{}},p={...p,...h.payloads||{}}}return{featureFlags:l,featureFlagPayloads:p}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}withContext(t,r,i){return this.context?this.context.run(t,r,i):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)}`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},n=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let a=new AbortController;n=eyn(()=>{a.abort()},this.options.requestTimeout),i.signal=a.signal}try{return await this.fetch(r,i)}catch(a){this._events.emit("error",a);return}finally{n&&clearTimeout(n)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let i={},n={};for(let[a,o]of Object.entries(t))if(jG_(o)&&r&&a in r){let c={};for(let[d,s]of Object.entries(o))c[String(d)]=String(s);n[String(a)]=c}else i[String(a)]=String(o);return{personProperties:i,groupProperties:n}}async getFeatureFlagsForEvent(t,r,i,n){let a=n?.personProperties||{},o=n?.groupProperties||{},c=n?.flagKeys;if(n?.onlyEvaluateLocally??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,l]of Object.entries(r||{}))s[u]=String(l);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,l]of Object.entries(r||{}))s[u]=String(l);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}return(await super.getFeatureFlagsStateless(t,r,a,o,i)).flags}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},o={};if(r)for(let c of Object.keys(r))o[c]={$group_key:r[c],...n?.[c]||{}};return{allPersonProperties:a,allGroupProperties:o}}captureException(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(bQi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.capture(a)))}async captureExceptionImmediate(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(bQi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.captureImmediate(a)))}async prepareEventMessage(t){let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s}=t,u=this.context?.get(),l=r||u?.distinctId,p={...u?.properties||{},...n||{}};l||(l=T$t(),p.$process_person_profile=!1),u?.sessionId&&!p.$session_id&&(p.$session_id=u.sessionId);let _=this._runBeforeSend({distinctId:l,event:i,properties:p,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s});if(!_)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(o){let y=typeof o=="object"?o:void 0;return await this.getFeatureFlagsForEvent(_.distinctId,a,d,y)}return _.event,{}}).then(y=>{let b={};if(y)for(let[g,m]of Object.entries(y))b[`$feature/${g}`]=m;let v=Object.keys(y||{}).filter(g=>y?.[g]!==!1).sort();return v.length>0&&(b.$active_feature_flags=v),b}).catch(()=>({})).then(y=>({...y,..._.properties||{},$groups:_.groups||a}));return _.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vG_(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(_.event="$bot_pageview",h.$browser_type="bot"),{distinctId:_.distinctId,event:_.event,properties:h,options:{timestamp:_.timestamp,disableGeoip:_.disableGeoip,uuid:_.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let i=Array.isArray(r)?r:[r],n=t;for(let a of i){if(n=a(n),!n)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!n.properties||Object.keys(n.properties).length===0){let o=`Event '${n.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(o)}}return n}};var gx_=require("async_hooks"),ZXo=class{constructor(){this.storage=new gx_.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,i){if(i?.fresh===!0)return this.storage.run(t,r);{let a=this.get()||{},o={distinctId:t.distinctId??a.distinctId,sessionId:t.sessionId??a.sessionId,properties:{...a.properties||{},...t.properties||{}}};return this.storage.run(o,r)}}};var Ox_="posthog-node";function C_D(e,{organization:t,projectId:r,prefix:i,severityAllowList:n=["error"],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(n==="*"||n.includes(o.level)))return o;o.tags||(o.tags={});let d=o.tags[kzc.POSTHOG_ID_TAG];if(d===void 0)return o;let s=e.options.host??"https://us.i.posthog.com",u=new URL(`/project/${e.apiKey}/person/${d}`,s).toString();o.tags["PostHog Person URL"]=u;let l=o.exception?.values||[],p=l.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),_={$exception_message:l[0]?.value||o.message,$exception_type:l[0]?.type,$exception_level:o.level,$exception_list:p,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:l[0]?.value||o.message,$sentry_exception_type:l[0]?.type,$sentry_tags:o.tags};return t&&r&&(_.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+o.event_id),a&&e.capture({event:"$exception",distinctId:d,properties:_}),o}}var kzc=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,i,n,a){this.name=Ox_,this.name=Ox_,this.setupOnce=function(o,c){let d=c()?.getClient()?.getDsn()?.projectId;o(C_D(t,{organization:r,projectId:d,prefix:i,severityAllowList:n,sendExceptionsToPostHog:a??!0}))}}};bQi.errorPropertiesBuilder=new L$.ErrorPropertiesBuilder([new L$.EventCoercer,new L$.ErrorCoercer,new L$.ObjectCoercer,new L$.StringCoercer,new L$.PrimitiveCoercer],L$.createStackParser("node:javascript",L$.nodeStackLineParser),[pG_(),ax_]);var Kta=class extends XXo{getLibraryId(){return"posthog-node"}initializeContext(){return new ZXo}};var kXo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Kta(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.48.2",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var MGa=class{async sendEvent(){}async identify(){}async flush(){}};var Jta=require("fs/promises"),jx_=require("os"),wx_=require("path");var mx_=ue(require("crypto")),tZo=new Uint8Array(256),eZo=tZo.length;function eNc(){return eZo>tZo.length-16&&(mx_.default.randomFillSync(tZo),eZo=0),tZo.slice(eZo,eZo+=16)}var sL=[];for(let e=0;e<256;++e)sL.push((e+256).toString(16).slice(1));function Ax_(e,t=0){return sL[e[t+0]]+sL[e[t+1]]+sL[e[t+2]]+sL[e[t+3]]+"-"+sL[e[t+4]]+sL[e[t+5]]+"-"+sL[e[t+6]]+sL[e[t+7]]+"-"+sL[e[t+8]]+sL[e[t+9]]+"-"+sL[e[t+10]]+sL[e[t+11]]+sL[e[t+12]]+sL[e[t+13]]+sL[e[t+14]]+sL[e[t+15]]}var Px_=ue(require("crypto")),tNc={randomUUID:Px_.default.randomUUID};function q_D(e,t,r){if(tNc.randomUUID&&!t&&!e)return tNc.randomUUID();e=e||{};let i=e.random||(e.rng||eNc)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return Ax_(i)}var Rve=q_D;var T_D="id",R_D=".fern",DGa=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Kta(r),this.userId=t==null?void 0:SIc(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.48.2",...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 Z4({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=Tt(Sr.of((0,jx_.homedir)()),He.of(R_D),He.of(T_D));await mi(t)||(await(0,Jta.mkdir)((0,wx_.dirname)(t),{recursive:!0}),await(0,Jta.writeFile)(t,Rve())),this.persistedDistinctId=(await(0,Jta.readFile)(t)).toString()}return this.persistedDistinctId}};var rNc;async function $ta(){return rNc==null&&(rNc=await z_D()),rNc}async function z_D(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new MGa;let r=await JHo();return r!=null?new DGa({token:r,posthogApiKey:e}):await fea()!=null?new kXo({posthogApiKey:e}):new DGa({token:void 0,posthogApiKey:e})}catch{return new MGa}}function BGa(e,t){return function(){return e.apply(t,arguments)}}var{toString:N_D}=Object.prototype,{getPrototypeOf:nNc}=Object,{iterator:iZo,toStringTag:Sx_}=Symbol,nZo=(e=>t=>{let r=N_D.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),x3t=e=>(e=e.toLowerCase(),t=>nZo(t)===e),aZo=e=>t=>typeof t===e,{isArray:Xta}=Array,Yta=aZo("undefined");function IGa(e){return e!==null&&!Yta(e)&&e.constructor!==null&&!Yta(e.constructor)&&V$(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Mx_=x3t("ArrayBuffer");function F_D(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Mx_(e.buffer),t}var Q_D=aZo("string"),V$=aZo("function"),Dx_=aZo("number"),CGa=e=>e!==null&&typeof e=="object",U_D=e=>e===!0||e===!1,rZo=e=>{if(nZo(e)!=="object")return!1;let t=nNc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Sx_ in e)&&!(iZo in e)},L_D=e=>{if(!CGa(e)||IGa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},V_D=x3t("Date"),W_D=x3t("File"),G_D=x3t("Blob"),x_D=x3t("FileList"),H_D=e=>CGa(e)&&V$(e.pipe),K_D=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||V$(e.append)&&((t=nZo(e))==="formdata"||t==="object"&&V$(e.toString)&&e.toString()==="[object FormData]"))},J_D=x3t("URLSearchParams"),[$_D,Y_D,X_D,Z_D]=["ReadableStream","Request","Response","Headers"].map(x3t),k_D=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function qGa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),Xta(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(IGa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function Bx_(e,t){if(IGa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var tyn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ix_=e=>!Yta(e)&&e!==tyn;function iNc(){let{caseless:e,skipUndefined:t}=Ix_(this)&&this||{},r={},i=(n,a)=>{let o=e&&Bx_(r,a)||a;rZo(r[o])&&rZo(n)?r[o]=iNc(r[o],n):rZo(n)?r[o]=iNc({},n):Xta(n)?r[o]=n.slice():(!t||!Yta(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&qGa(arguments[n],i);return r}var ehD=(e,t,r,{allOwnKeys:i}={})=>(qGa(t,(n,a)=>{r&&V$(n)?e[a]=BGa(n,r):e[a]=n},{allOwnKeys:i}),e),thD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),rhD=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},ihD=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&nNc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},nhD=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},ahD=e=>{if(!e)return null;if(Xta(e))return e;let t=e.length;if(!Dx_(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},ohD=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&nNc(Uint8Array)),uhD=(e,t)=>{let i=(e&&e[iZo]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},shD=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},chD=x3t("HTMLFormElement"),lhD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),Ex_=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),fhD=x3t("RegExp"),Cx_=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};qGa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},dhD=e=>{Cx_(e,(t,r)=>{if(V$(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(V$(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},phD=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return Xta(e)?i(e):i(String(e).split(t)),r},_hD=()=>{},hhD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function yhD(e){return!!(e&&V$(e.append)&&e[Sx_]==="FormData"&&e[iZo])}var bhD=e=>{let t=new Array(10),r=(i,n)=>{if(CGa(i)){if(t.indexOf(i)>=0)return;if(IGa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=Xta(i)?[]:{};return qGa(i,(o,c)=>{let d=r(o,n+1);!Yta(d)&&(a[c]=d)}),t[n]=void 0,a}}return i};return r(e,0)},vhD=x3t("AsyncFunction"),ghD=e=>e&&(CGa(e)||V$(e))&&V$(e.then)&&V$(e.catch),qx_=((e,t)=>e?setImmediate:t?((r,i)=>(tyn.addEventListener("message",({source:n,data:a})=>{n===tyn&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),tyn.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",V$(tyn.postMessage)),OhD=typeof queueMicrotask<"u"?queueMicrotask.bind(tyn):typeof process<"u"&&process.nextTick||qx_,mhD=e=>e!=null&&V$(e[iZo]),ir={isArray:Xta,isArrayBuffer:Mx_,isBuffer:IGa,isFormData:K_D,isArrayBufferView:F_D,isString:Q_D,isNumber:Dx_,isBoolean:U_D,isObject:CGa,isPlainObject:rZo,isEmptyObject:L_D,isReadableStream:$_D,isRequest:Y_D,isResponse:X_D,isHeaders:Z_D,isUndefined:Yta,isDate:V_D,isFile:W_D,isBlob:G_D,isRegExp:fhD,isFunction:V$,isStream:H_D,isURLSearchParams:J_D,isTypedArray:ohD,isFileList:x_D,forEach:qGa,merge:iNc,extend:ehD,trim:k_D,stripBOM:thD,inherits:rhD,toFlatObject:ihD,kindOf:nZo,kindOfTest:x3t,endsWith:nhD,toArray:ahD,forEachEntry:uhD,matchAll:shD,isHTMLForm:chD,hasOwnProperty:Ex_,hasOwnProp:Ex_,reduceDescriptors:Cx_,freezeMethods:dhD,toObjectSet:phD,toCamelCase:lhD,noop:_hD,toFiniteNumber:hhD,findKey:Bx_,global:tyn,isContextDefined:Ix_,isSpecCompliantForm:yhD,toJSONObject:bhD,isAsyncFn:vhD,isThenable:ghD,setImmediate:qx_,asap:OhD,isIterable:mhD};function Zta(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}ir.inherits(Zta,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ir.toJSONObject(this.config),code:this.code,status:this.status}}});var Tx_=Zta.prototype,Rx_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Rx_[e]={value:e}});Object.defineProperties(Zta,Rx_);Object.defineProperty(Tx_,"isAxiosError",{value:!0});Zta.from=(e,t,r,i,n,a)=>{let o=Object.create(Tx_);ir.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return Zta.call(o,c,d,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var za=Zta;var zx_=ue(Dkn(),1),oZo=zx_.default;function aNc(e){return ir.isPlainObject(e)||ir.isArray(e)}function Fx_(e){return ir.endsWith(e,"[]")?e.slice(0,-2):e}function Nx_(e,t,r){return e?e.concat(t).map(function(n,a){return n=Fx_(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function AhD(e){return ir.isArray(e)&&!e.some(aNc)}var PhD=ir.toFlatObject(ir,{},null,function(t){return/^is[A-Z]/.test(t)});function jhD(e,t,r){if(!ir.isObject(e))throw new TypeError("target must be an object");t=t||new(oZo||FormData),r=ir.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!ir.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&ir.isSpecCompliantForm(t);if(!ir.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(ir.isDate(h))return h.toISOString();if(ir.isBoolean(h))return h.toString();if(!d&&ir.isBlob(h))throw new za("Blob is not supported. Use a Buffer instead.");return ir.isArrayBuffer(h)||ir.isTypedArray(h)?d&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(ir.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(ir.isArray(h)&&AhD(h)||(ir.isFileList(h)||ir.endsWith(y,"[]"))&&(v=ir.toArray(h)))return y=Fx_(y),v.forEach(function(m,O){!(ir.isUndefined(m)||m===null)&&t.append(o===!0?Nx_([y],O,a):o===null?y:y+"[]",s(m))}),!1}return aNc(h)?!0:(t.append(Nx_(b,y,a),s(h)),!1)}let l=[],p=Object.assign(PhD,{defaultVisitor:u,convertValue:s,isVisitable:aNc});function _(h,y){if(!ir.isUndefined(h)){if(l.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));l.push(h),ir.forEach(h,function(v,g){(!(ir.isUndefined(v)||v===null)&&n.call(t,v,ir.isString(g)?g.trim():g,y,p))===!0&&_(v,y?y.concat(g):[g])}),l.pop()}}if(!ir.isObject(e))throw new TypeError("data must be an object");return _(e),t}var X7i=jhD;function Qx_(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Ux_(e,t){this._pairs=[],e&&X7i(e,this,t)}var Lx_=Ux_.prototype;Lx_.append=function(t,r){this._pairs.push([t,r])};Lx_.toString=function(t){let r=t?function(i){return t.call(this,i,Qx_)}:Qx_;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Vx_=Ux_;function whD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ryn(e,t,r){if(!t)return e;let i=r&&r.encode||whD;ir.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ir.isURLSearchParams(t)?t.toString():new Vx_(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var oNc=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ir.forEach(this.handlers,function(i){i!==null&&t(i)})}},uNc=oNc;var kta={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Hx_=ue(require("crypto"),1);var Wx_=ue(require("url"),1),Gx_=Wx_.default.URLSearchParams;var sNc="abcdefghijklmnopqrstuvwxyz",xx_="0123456789",Kx_={DIGIT:xx_,ALPHA:sNc,ALPHA_DIGIT:sNc+sNc.toUpperCase()+xx_},EhD=(e=16,t=Kx_.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Hx_.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Jx_={isNode:!0,classes:{URLSearchParams:Gx_,FormData:oZo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Kx_,generateString:EhD,protocols:["http","https","file","data"]};var fNc={};Yt(fNc,{hasBrowserEnv:()=>lNc,hasStandardBrowserEnv:()=>ShD,hasStandardBrowserWebWorkerEnv:()=>MhD,navigator:()=>cNc,origin:()=>DhD});var lNc=typeof window<"u"&&typeof document<"u",cNc=typeof navigator=="object"&&navigator||void 0,ShD=lNc&&(!cNc||["ReactNative","NativeScript","NS"].indexOf(cNc.product)<0),MhD=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",DhD=lNc&&window.location.href||"http://localhost";var vA={...fNc,...Jx_};function dNc(e,t){return X7i(e,new vA.classes.URLSearchParams,{visitor:function(r,i,n,a){return vA.isNode&&ir.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function BhD(e){return ir.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function IhD(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function ChD(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),d=a>=r.length;return o=!o&&ir.isArray(n)?n.length:o,d?(ir.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!ir.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&ir.isArray(n[o])&&(n[o]=IhD(n[o])),!c)}if(ir.isFormData(e)&&ir.isFunction(e.entries)){let r={};return ir.forEachEntry(e,(i,n)=>{t(BhD(i),n,r,0)}),r}return null}var uZo=ChD;function qhD(e,t,r){if(ir.isString(e))try{return(t||JSON.parse)(e),ir.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var pNc={transitional:kta,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ir.isObject(t);if(a&&ir.isHTMLForm(t)&&(t=new FormData(t)),ir.isFormData(t))return n?JSON.stringify(uZo(t)):t;if(ir.isArrayBuffer(t)||ir.isBuffer(t)||ir.isStream(t)||ir.isFile(t)||ir.isBlob(t)||ir.isReadableStream(t))return t;if(ir.isArrayBufferView(t))return t.buffer;if(ir.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return dNc(t,this.formSerializer).toString();if((c=ir.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return X7i(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),qhD(t)):t}],transformResponse:[function(t){let r=this.transitional||pNc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ir.isResponse(t)||ir.isReadableStream(t))return t;if(t&&ir.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?za.from(c,za.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:vA.classes.FormData,Blob:vA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ir.forEach(["delete","get","head","post","put","patch"],e=>{pNc.headers[e]={}});var era=pNc;var ThD=ir.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"]),$x_=e=>{let t={},r,i,n;return e&&e.split(`
1265
1265
  `).forEach(function(o){n=o.indexOf(":"),r=o.substring(0,n).trim().toLowerCase(),i=o.substring(n+1).trim(),!(!r||t[r]&&ThD[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var Yx_=Symbol("internals");function TGa(e){return e&&String(e).trim().toLowerCase()}function sZo(e){return e===!1||e==null?e:ir.isArray(e)?e.map(sZo):String(e)}function RhD(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var zhD=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function _Nc(e,t,r,i,n){if(ir.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!ir.isString(t)){if(ir.isString(i))return t.indexOf(i)!==-1;if(ir.isRegExp(i))return i.test(t)}}function NhD(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function FhD(e,t){let r=ir.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,a,o){return this[i].call(this,t,n,a,o)},configurable:!0})})}var tra=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(c,d,s){let u=TGa(d);if(!u)throw new Error("header name must be a non-empty string");let l=ir.findKey(n,u);(!l||n[l]===void 0||s===!0||s===void 0&&n[l]!==!1)&&(n[l||d]=sZo(c))}let o=(c,d)=>ir.forEach(c,(s,u)=>a(s,u,d));if(ir.isPlainObject(t)||t instanceof this.constructor)o(t,r);else if(ir.isString(t)&&(t=t.trim())&&!zhD(t))o($x_(t),r);else if(ir.isObject(t)&&ir.isIterable(t)){let c={},d,s;for(let u of t){if(!ir.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[s=u[0]]=(d=c[s])?ir.isArray(d)?[...d,u[1]]:[d,u[1]]:u[1]}o(c,r)}else t!=null&&a(r,t,i);return this}get(t,r){if(t=TGa(t),t){let i=ir.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return RhD(n);if(ir.isFunction(r))return r.call(this,n,i);if(ir.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=TGa(t),t){let i=ir.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||_Nc(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(o){if(o=TGa(o),o){let c=ir.findKey(i,o);c&&(!r||_Nc(i,i[c],c,r))&&(delete i[c],n=!0)}}return ir.isArray(t)?t.forEach(a):a(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let a=r[i];(!t||_Nc(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return ir.forEach(this,(n,a)=>{let o=ir.findKey(i,a);if(o){r[o]=sZo(n),delete r[a];return}let c=t?NhD(a):String(a).trim();c!==a&&delete r[a],r[c]=sZo(n),i[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return ir.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&ir.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
1266
1266
  `)}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 i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[Yx_]=this[Yx_]={accessors:{}}).accessors,n=this.prototype;function a(o){let c=TGa(o);i[c]||(FhD(n,o),i[c]=!0)}return ir.isArray(t)?t.forEach(a):a(t),this}};tra.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ir.reduceDescriptors(tra.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});ir.freezeMethods(tra);var AD=tra;function RGa(e,t){let r=this||era,i=t||r,n=AD.from(i.headers),a=i.data;return ir.forEach(e,function(c){a=c.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function zGa(e){return!!(e&&e.__CANCEL__)}function Xx_(e,t,r){za.call(this,e??"canceled",za.ERR_CANCELED,t,r),this.name="CanceledError"}ir.inherits(Xx_,za,{__CANCEL__:!0});var zve=Xx_;function N$t(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new za("Request failed with status code "+r.status,[za.ERR_BAD_REQUEST,za.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function hNc(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function yNc(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function iyn(e,t,r){let i=!hNc(t);return e&&(i||r==!1)?yNc(e,t):t}var mH_=ue(bNc(),1),AH_=ue(require("http"),1),PH_=ue(require("https"),1),jH_=ue(require("util"),1),wH_=ue(aH_(),1),gQi=ue(require("zlib"),1);var oyn="1.12.2";function LGa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var tyD=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function BNc(e,t,r){let i=r&&r.Blob||vA.classes.Blob,n=LGa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=tyD.exec(e);if(!a)throw new za("Invalid URL",za.ERR_INVALID_URL);let o=a[1],c=a[2],d=a[3],s=Buffer.from(decodeURIComponent(d),c?"base64":"utf8");if(t){if(!i)throw new za("Blob is not supported",za.ERR_NOT_SUPPORT);return new i([s],{type:o})}return s}throw new za("Unsupported protocol "+n,za.ERR_NOT_SUPPORT)}var syn=ue(require("stream"),1);var oH_=ue(require("stream"),1);var INc=Symbol("internals"),CNc=class extends oH_.default.Transform{constructor(t){t=ir.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!ir.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[INc]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",i=>{i==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[INc];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[INc],a=n.maxRate,o=this.readableHighWaterMark,c=n.timeWindow,d=1e3/c,s=a/d,u=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,l=(_,h)=>{let y=Buffer.byteLength(_);n.bytesSeen+=y,n.bytes+=y,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(_)?process.nextTick(h):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(h)}},p=(_,h)=>{let y=Buffer.byteLength(_),b=null,v=o,g,m=0;if(a){let O=Date.now();(!n.ts||(m=O-n.ts)>=c)&&(n.ts=O,g=s-n.bytes,n.bytes=g<0?-g:0,m=0),g=s-n.bytes}if(a){if(g<=0)return setTimeout(()=>{h(null,_)},c-m);g<v&&(v=g)}v&&y>v&&y-v>u&&(b=_.subarray(v),_=_.subarray(0,v)),l(_,b?()=>{process.nextTick(h,null,b)}:h)};p(t,function _(h,y){if(h)return i(h);y?p(y,_):i(null)})}},qNc=CNc;var EH_=require("events");var sH_=ue(require("util"),1),cH_=require("stream");var{asyncIterator:uH_}=Symbol,ryD=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[uH_]?yield*e[uH_]():yield e},cZo=ryD;var iyD=vA.ALPHABET.ALPHA_DIGIT+"-_",VGa=typeof TextEncoder=="function"?new TextEncoder:new sH_.default.TextEncoder,uyn=`\r
1267
1267
  `,nyD=VGa.encode(uyn),ayD=2,TNc=class{constructor(t,r){let{escapeName:i}=this.constructor,n=ir.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${uyn}`;n?r=VGa.encode(String(r).replace(/\r?\n|\r\n?/g,uyn)):a+=`Content-Type: ${r.type||"application/octet-stream"}${uyn}`,this.headers=VGa.encode(a+uyn),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+ayD,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;ir.isTypedArray(t)?yield t:yield*cZo(t),yield nyD}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},oyD=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+vA.generateString(n,iyD)}=r||{};if(!ir.isFormData(e))throw TypeError("FormData instance required");if(a.length<1||a.length>70)throw Error("boundary must be 10-70 characters long");let o=VGa.encode("--"+a+uyn),c=VGa.encode("--"+a+"--"+uyn),d=c.byteLength,s=Array.from(e.entries()).map(([l,p])=>{let _=new TNc(l,p);return d+=_.size,_});d+=o.byteLength*s.length,d=ir.toFiniteNumber(d);let u={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(d)&&(u["Content-Length"]=d),t&&t(u),cH_.Readable.from((async function*(){for(let l of s)yield o,yield*l.encode();yield c})())},lH_=oyD;var fH_=ue(require("stream"),1),RNc=class extends fH_.default.Transform{__transform(t,r,i){this.push(t),i()}_transform(t,r,i){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let n=Buffer.alloc(2);n[0]=120,n[1]=156,this.push(n,r)}this.__transform(t,r,i)}},dH_=RNc;var uyD=(e,t)=>ir.isAsyncFn(e)?function(...r){let i=r.pop();e.apply(this,r).then(n=>{try{t?i(null,...t(n)):i(null,n)}catch(a){i(a)}},i)}:e,pH_=uyD;function syD(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,o;return t=t!==void 0?t:1e3,function(d){let s=Date.now(),u=i[a];o||(o=s),r[n]=d,i[n]=s;let l=a,p=0;for(;l!==n;)p+=r[l++],l=l%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-o<t)return;let _=u&&s-u;return _?Math.round(p*1e3/_):void 0}}var _H_=syD;function cyD(e,t){let r=0,i=1e3/t,n,a,o=(s,u=Date.now())=>{r=u,n=null,a&&(clearTimeout(a),a=null),e(...s)};return[(...s)=>{let u=Date.now(),l=u-r;l>=i?o(s,u):(n=s,a||(a=setTimeout(()=>{a=null,o(n)},i-l)))},()=>n&&o(n)]}var hH_=cyD;var vQi=(e,t,r=3)=>{let i=0,n=_H_(50,250);return hH_(a=>{let o=a.loaded,c=a.lengthComputable?a.total:void 0,d=o-i,s=n(d),u=o<=c;i=o;let l={loaded:o,total:c,progress:c?o/c:void 0,bytes:d,rate:s||void 0,estimated:s&&c&&u?(c-o)/s:void 0,event:a,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(l)},r)},ira=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},nra=e=>(...t)=>ir.asap(()=>e(...t));function zNc(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),i=e.slice(t+1);if(/;base64/i.test(r)){let a=i.length,o=i.length;for(let p=0;p<o;p++)if(i.charCodeAt(p)===37&&p+2<o){let _=i.charCodeAt(p+1),h=i.charCodeAt(p+2);(_>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102)&&(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(a-=2,p+=2)}let c=0,d=o-1,s=p=>p>=2&&i.charCodeAt(p-2)===37&&i.charCodeAt(p-1)===51&&(i.charCodeAt(p)===68||i.charCodeAt(p)===100);d>=0&&(i.charCodeAt(d)===61?(c++,d--):s(d)&&(c++,d-=3)),c===1&&d>=0&&(i.charCodeAt(d)===61||s(d))&&c++;let l=Math.floor(a/4)*3-(c||0);return l>0?l:0}return Buffer.byteLength(i,"utf8")}var yH_={flush:gQi.default.constants.Z_SYNC_FLUSH,finishFlush:gQi.default.constants.Z_SYNC_FLUSH},lyD={flush:gQi.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:gQi.default.constants.BROTLI_OPERATION_FLUSH},bH_=ir.isFunction(gQi.default.createBrotliDecompress),{http:fyD,https:dyD}=wH_.default,pyD=/https:?/,vH_=vA.protocols.map(e=>e+":"),gH_=(e,[t,r])=>(e.on("end",r).on("error",r),t);function _yD(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function SH_(e,t,r){let i=t;if(!i&&i!==!1){let n=mH_.default.getProxyForUrl(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){SH_(a,t,a.href)}}var hyD=typeof process<"u"&&ir.kindOf(process)==="process",yyD=e=>new Promise((t,r)=>{let i,n,a=(d,s)=>{n||(n=!0,i&&i(d,s))},o=d=>{a(d),t(d)},c=d=>{a(d,!0),r(d)};e(o,c,d=>i=d).catch(c)}),byD=({address:e,family:t})=>{if(!ir.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},OH_=(e,t)=>byD(ir.isObject(e)?e:{address:e,family:t}),MH_=hyD&&function(t){return yyD(async function(i,n,a){let{data:o,lookup:c,family:d}=t,{responseType:s,responseEncoding:u}=t,l=t.method.toUpperCase(),p,_=!1,h;if(c){let $=pH_(c,de=>ir.isArray(de)?de:[de]);c=(de,be,W)=>{$(de,be,(x,Ee,se)=>{if(x)return W(x);let Oe=ir.isArray(Ee)?Ee.map(Fe=>OH_(Fe)):[OH_(Ee,se)];be.all?W(x,Oe):W(x,Oe[0].address,Oe[0].family)})}}let y=new EH_.EventEmitter,b=()=>{t.cancelToken&&t.cancelToken.unsubscribe(v),t.signal&&t.signal.removeEventListener("abort",v),y.removeAllListeners()};a(($,de)=>{p=!0,de&&(_=!0,b())});function v($){y.emit("abort",!$||$.type?new zve(null,t,h):$)}y.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(v),t.signal&&(t.signal.aborted?v():t.signal.addEventListener("abort",v)));let g=iyn(t.baseURL,t.url,t.allowAbsoluteUrls),m=new URL(g,vA.hasBrowserEnv?vA.origin:void 0),O=m.protocol||vH_[0];if(O==="data:"){if(t.maxContentLength>-1){let de=String(t.url||g||"");if(zNc(de)>t.maxContentLength)return n(new za("maxContentLength size of "+t.maxContentLength+" exceeded",za.ERR_BAD_RESPONSE,t))}let $;if(l!=="GET")return N$t(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{$=BNc(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(de){throw za.from(de,za.ERR_BAD_REQUEST,t)}return s==="text"?($=$.toString(u),(!u||u==="utf8")&&($=ir.stripBOM($))):s==="stream"&&($=syn.default.Readable.from($)),N$t(i,n,{data:$,status:200,statusText:"OK",headers:new AD,config:t})}if(vH_.indexOf(O)===-1)return n(new za("Unsupported protocol "+O,za.ERR_BAD_REQUEST,t));let A=AD.from(t.headers).normalize();A.set("User-Agent","axios/"+oyn,!1);let{onUploadProgress:j,onDownloadProgress:M}=t,w=t.maxRate,D,B;if(ir.isSpecCompliantForm(o)){let $=A.getContentType(/boundary=([-_\w\d]{10,70})/i);o=lH_(o,de=>{A.set(de)},{tag:`axios-${oyn}-boundary`,boundary:$&&$[1]||void 0})}else if(ir.isFormData(o)&&ir.isFunction(o.getHeaders)){if(A.set(o.getHeaders()),!A.hasContentLength())try{let $=await jH_.default.promisify(o.getLength).call(o);Number.isFinite($)&&$>=0&&A.setContentLength($)}catch{}}else if(ir.isBlob(o)||ir.isFile(o))o.size&&A.setContentType(o.type||"application/octet-stream"),A.setContentLength(o.size||0),o=syn.default.Readable.from(cZo(o));else if(o&&!ir.isStream(o)){if(!Buffer.isBuffer(o))if(ir.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(ir.isString(o))o=Buffer.from(o,"utf-8");else return n(new za("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",za.ERR_BAD_REQUEST,t));if(A.setContentLength(o.length,!1),t.maxBodyLength>-1&&o.length>t.maxBodyLength)return n(new za("Request body larger than maxBodyLength limit",za.ERR_BAD_REQUEST,t))}let R=ir.toFiniteNumber(A.getContentLength());ir.isArray(w)?(D=w[0],B=w[1]):D=B=w,o&&(j||D)&&(ir.isStream(o)||(o=syn.default.Readable.from(o,{objectMode:!1})),o=syn.default.pipeline([o,new qNc({maxRate:ir.toFiniteNumber(D)})],ir.noop),j&&o.on("progress",gH_(o,ira(R,vQi(nra(j),!1,3)))));let T;if(t.auth){let $=t.auth.username||"",de=t.auth.password||"";T=$+":"+de}if(!T&&m.username){let $=m.username,de=m.password;T=$+":"+de}T&&A.delete("authorization");let q;try{q=ryn(m.pathname+m.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch($){let de=new Error($.message);return de.config=t,de.url=t.url,de.exists=!0,n(de)}A.set("Accept-Encoding","gzip, compress, deflate"+(bH_?", br":""),!1);let z={path:q,method:l,headers:A.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:T,protocol:O,family:d,beforeRedirect:_yD,beforeRedirects:{}};!ir.isUndefined(c)&&(z.lookup=c),t.socketPath?z.socketPath=t.socketPath:(z.hostname=m.hostname.startsWith("[")?m.hostname.slice(1,-1):m.hostname,z.port=m.port,SH_(z,t.proxy,O+"//"+m.hostname+(m.port?":"+m.port:"")+z.path));let N,H=pyD.test(z.protocol);if(z.agent=H?t.httpsAgent:t.httpAgent,t.transport?N=t.transport:t.maxRedirects===0?N=H?PH_.default:AH_.default:(t.maxRedirects&&(z.maxRedirects=t.maxRedirects),t.beforeRedirect&&(z.beforeRedirects.config=t.beforeRedirect),N=H?dyD:fyD),t.maxBodyLength>-1?z.maxBodyLength=t.maxBodyLength:z.maxBodyLength=1/0,t.insecureHTTPParser&&(z.insecureHTTPParser=t.insecureHTTPParser),h=N.request(z,function(de){if(h.destroyed)return;let be=[de],W=+de.headers["content-length"];if(M||B){let Fe=new qNc({maxRate:ir.toFiniteNumber(B)});M&&Fe.on("progress",gH_(Fe,ira(W,vQi(nra(M),!0,3)))),be.push(Fe)}let x=de,Ee=de.req||h;if(t.decompress!==!1&&de.headers["content-encoding"])switch((l==="HEAD"||de.statusCode===204)&&delete de.headers["content-encoding"],(de.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":be.push(gQi.default.createUnzip(yH_)),delete de.headers["content-encoding"];break;case"deflate":be.push(new dH_),be.push(gQi.default.createUnzip(yH_)),delete de.headers["content-encoding"];break;case"br":bH_&&(be.push(gQi.default.createBrotliDecompress(lyD)),delete de.headers["content-encoding"])}x=be.length>1?syn.default.pipeline(be,ir.noop):be[0];let se=syn.default.finished(x,()=>{se(),b()}),Oe={status:de.statusCode,statusText:de.statusMessage,headers:new AD(de.headers),config:t,request:Ee};if(s==="stream")Oe.data=x,N$t(i,n,Oe);else{let Fe=[],ae=0;x.on("data",function(Ge){Fe.push(Ge),ae+=Ge.length,t.maxContentLength>-1&&ae>t.maxContentLength&&(_=!0,x.destroy(),n(new za("maxContentLength size of "+t.maxContentLength+" exceeded",za.ERR_BAD_RESPONSE,t,Ee)))}),x.on("aborted",function(){if(_)return;let Ge=new za("stream has been aborted",za.ERR_BAD_RESPONSE,t,Ee);x.destroy(Ge),n(Ge)}),x.on("error",function(Ge){h.destroyed||n(za.from(Ge,null,t,Ee))}),x.on("end",function(){try{let Ge=Fe.length===1?Fe[0]:Buffer.concat(Fe);s!=="arraybuffer"&&(Ge=Ge.toString(u),(!u||u==="utf8")&&(Ge=ir.stripBOM(Ge))),Oe.data=Ge}catch(Ge){return n(za.from(Ge,null,t,Oe.request,Oe))}N$t(i,n,Oe)})}y.once("abort",Fe=>{x.destroyed||(x.emit("error",Fe),x.destroy())})}),y.once("abort",$=>{n($),h.destroy($)}),h.on("error",function(de){n(za.from(de,null,t,h))}),h.on("socket",function(de){de.setKeepAlive(!0,1e3*60)}),t.timeout){let $=parseInt(t.timeout,10);if(Number.isNaN($)){n(new za("error trying to parse `config.timeout` to int",za.ERR_BAD_OPTION_VALUE,t,h));return}h.setTimeout($,function(){if(p)return;let be=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",W=t.transitional||kta;t.timeoutErrorMessage&&(be=t.timeoutErrorMessage),n(new za(be,W.clarifyTimeoutError?za.ETIMEDOUT:za.ECONNABORTED,t,h)),v()})}if(ir.isStream(o)){let $=!1,de=!1;o.on("end",()=>{$=!0}),o.once("error",be=>{de=!0,h.destroy(be)}),o.on("close",()=>{!$&&!de&&v(new zve("Request stream has been aborted",t,h))}),o.pipe(h)}else h.end(o)})};var DH_=vA.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,vA.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(vA.origin),vA.navigator&&/(msie|trident)/i.test(vA.navigator.userAgent)):()=>!0;var BH_=vA.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let o=[e+"="+encodeURIComponent(t)];ir.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),ir.isString(i)&&o.push("path="+i),ir.isString(n)&&o.push("domain="+n),a===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var IH_=e=>e instanceof AD?{...e}:e;function H3t(e,t){t=t||{};let r={};function i(s,u,l,p){return ir.isPlainObject(s)&&ir.isPlainObject(u)?ir.merge.call({caseless:p},s,u):ir.isPlainObject(u)?ir.merge({},u):ir.isArray(u)?u.slice():u}function n(s,u,l,p){if(ir.isUndefined(u)){if(!ir.isUndefined(s))return i(void 0,s,l,p)}else return i(s,u,l,p)}function a(s,u){if(!ir.isUndefined(u))return i(void 0,u)}function o(s,u){if(ir.isUndefined(u)){if(!ir.isUndefined(s))return i(void 0,s)}else return i(void 0,u)}function c(s,u,l){if(l in t)return i(s,u);if(l in e)return i(void 0,s)}let d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(s,u,l)=>n(IH_(s),IH_(u),l,!0)};return ir.forEach(Object.keys({...e,...t}),function(u){let l=d[u]||n,p=l(e[u],t[u],u);ir.isUndefined(p)&&l!==c||(r[u]=p)}),r}var lZo=e=>{let t=H3t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:o,auth:c}=t;if(t.headers=o=AD.from(o),t.url=ryn(iyn(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ir.isFormData(r)){if(vA.hasStandardBrowserEnv||vA.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(ir.isFunction(r.getHeaders)){let d=r.getHeaders(),s=["content-type","content-length"];Object.entries(d).forEach(([u,l])=>{s.includes(u.toLowerCase())&&o.set(u,l)})}}if(vA.hasStandardBrowserEnv&&(i&&ir.isFunction(i)&&(i=i(t)),i||i!==!1&&DH_(t.url))){let d=n&&a&&BH_.read(a);d&&o.set(n,d)}return t};var vyD=typeof XMLHttpRequest<"u",CH_=vyD&&function(e){return new Promise(function(r,i){let n=lZo(e),a=n.data,o=AD.from(n.headers).normalize(),{responseType:c,onUploadProgress:d,onDownloadProgress:s}=n,u,l,p,_,h;function y(){_&&_(),h&&h(),n.cancelToken&&n.cancelToken.unsubscribe(u),n.signal&&n.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(n.method.toUpperCase(),n.url,!0),b.timeout=n.timeout;function v(){if(!b)return;let m=AD.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),A={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:m,config:e,request:b};N$t(function(M){r(M),y()},function(M){i(M),y()},A),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(i(new za("Request aborted",za.ECONNABORTED,e,b)),b=null)},b.onerror=function(O){let A=O&&O.message?O.message:"Network Error",j=new za(A,za.ERR_NETWORK,e,b);j.event=O||null,i(j),b=null},b.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",A=n.transitional||kta;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),i(new za(O,A.clarifyTimeoutError?za.ETIMEDOUT:za.ECONNABORTED,e,b)),b=null},a===void 0&&o.setContentType(null),"setRequestHeader"in b&&ir.forEach(o.toJSON(),function(O,A){b.setRequestHeader(A,O)}),ir.isUndefined(n.withCredentials)||(b.withCredentials=!!n.withCredentials),c&&c!=="json"&&(b.responseType=n.responseType),s&&([p,h]=vQi(s,!0),b.addEventListener("progress",p)),d&&b.upload&&([l,_]=vQi(d),b.upload.addEventListener("progress",l),b.upload.addEventListener("loadend",_)),(n.cancelToken||n.signal)&&(u=m=>{b&&(i(!m||m.type?new zve(null,e,b):m),b.abort(),b=null)},n.cancelToken&&n.cancelToken.subscribe(u),n.signal&&(n.signal.aborted?u():n.signal.addEventListener("abort",u)));let g=LGa(n.url);if(g&&vA.protocols.indexOf(g)===-1){i(new za("Unsupported protocol "+g+":",za.ERR_BAD_REQUEST,e));return}b.send(a||null)})};var gyD=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,a=function(s){if(!n){n=!0,c();let u=s instanceof Error?s:this.reason;i.abort(u instanceof za?u:new zve(u instanceof Error?u.message:u))}},o=t&&setTimeout(()=>{o=null,a(new za(`timeout ${t} of ms exceeded`,za.ETIMEDOUT))},t),c=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:d}=i;return d.unsubscribe=()=>ir.asap(c),d}},qH_=gyD;var OyD=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},myD=async function*(e,t){for await(let r of AyD(e))yield*OyD(r,t)},AyD=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},NNc=(e,t,r,i)=>{let n=myD(e,t),a=0,o,c=d=>{o||(o=!0,i&&i(d))};return new ReadableStream({async pull(d){try{let{done:s,value:u}=await n.next();if(s){c(),d.close();return}let l=u.byteLength;if(r){let p=a+=l;r(p)}d.enqueue(new Uint8Array(u))}catch(s){throw c(s),s}},cancel(d){return c(d),n.return()}},{highWaterMark:2})};var TH_=64*1024,{isFunction:fZo}=ir,PyD=(({Request:e,Response:t})=>({Request:e,Response:t}))(ir.global),{ReadableStream:RH_,TextEncoder:zH_}=ir.global,NH_=(e,...t)=>{try{return!!e(...t)}catch{return!1}},jyD=e=>{e=ir.merge.call({skipUndefined:!0},PyD,e);let{fetch:t,Request:r,Response:i}=e,n=t?fZo(t):typeof fetch=="function",a=fZo(r),o=fZo(i);if(!n)return!1;let c=n&&fZo(RH_),d=n&&(typeof zH_=="function"?(h=>y=>h.encode(y))(new zH_):async h=>new Uint8Array(await new r(h).arrayBuffer())),s=a&&c&&NH_(()=>{let h=!1,y=new r(vA.origin,{body:new RH_,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!y}),u=o&&c&&NH_(()=>ir.isReadableStream(new i("").body)),l={stream:u&&(h=>h.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!l[h]&&(l[h]=(y,b)=>{let v=y&&y[h];if(v)return v.call(y);throw new za(`Response type '${h}' is not supported`,za.ERR_NOT_SUPPORT,b)})});let p=async h=>{if(h==null)return 0;if(ir.isBlob(h))return h.size;if(ir.isSpecCompliantForm(h))return(await new r(vA.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(ir.isArrayBufferView(h)||ir.isArrayBuffer(h))return h.byteLength;if(ir.isURLSearchParams(h)&&(h=h+""),ir.isString(h))return(await d(h)).byteLength},_=async(h,y)=>{let b=ir.toFiniteNumber(h.getContentLength());return b??p(y)};return async h=>{let{url:y,method:b,data:v,signal:g,cancelToken:m,timeout:O,onDownloadProgress:A,onUploadProgress:j,responseType:M,headers:w,withCredentials:D="same-origin",fetchOptions:B}=lZo(h),R=t||fetch;M=M?(M+"").toLowerCase():"text";let T=qH_([g,m&&m.toAbortSignal()],O),q=null,z=T&&T.unsubscribe&&(()=>{T.unsubscribe()}),N;try{if(j&&s&&b!=="get"&&b!=="head"&&(N=await _(w,v))!==0){let x=new r(y,{method:"POST",body:v,duplex:"half"}),Ee;if(ir.isFormData(v)&&(Ee=x.headers.get("content-type"))&&w.setContentType(Ee),x.body){let[se,Oe]=ira(N,vQi(nra(j)));v=NNc(x.body,TH_,se,Oe)}}ir.isString(D)||(D=D?"include":"omit");let H=a&&"credentials"in r.prototype,$={...B,signal:T,method:b.toUpperCase(),headers:w.normalize().toJSON(),body:v,duplex:"half",credentials:H?D:void 0};q=a&&new r(y,$);let de=await(a?R(q,B):R(y,$)),be=u&&(M==="stream"||M==="response");if(u&&(A||be&&z)){let x={};["status","statusText","headers"].forEach(Fe=>{x[Fe]=de[Fe]});let Ee=ir.toFiniteNumber(de.headers.get("content-length")),[se,Oe]=A&&ira(Ee,vQi(nra(A),!0))||[];de=new i(NNc(de.body,TH_,se,()=>{Oe&&Oe(),z&&z()}),x)}M=M||"text";let W=await l[ir.findKey(l,M)||"text"](de,h);return!be&&z&&z(),await new Promise((x,Ee)=>{N$t(x,Ee,{data:W,headers:AD.from(de.headers),status:de.status,statusText:de.statusText,config:h,request:q})})}catch(H){throw z&&z(),H&&H.name==="TypeError"&&/Load failed|fetch/i.test(H.message)?Object.assign(new za("Network Error",za.ERR_NETWORK,h,q),{cause:H.cause||H}):za.from(H,H&&H.code,h,q)}}},wyD=new Map,FNc=e=>{let t=e?e.env:{},{fetch:r,Request:i,Response:n}=t,a=[i,n,r],o=a.length,c=o,d,s,u=wyD;for(;c--;)d=a[c],s=u.get(d),s===void 0&&u.set(d,s=c?new Map:jyD(t)),u=s;return s},S99=FNc();var QNc={http:MH_,xhr:CH_,fetch:{get:FNc}};ir.forEach(QNc,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var FH_=e=>`- ${e}`,SyD=e=>ir.isFunction(e)||e===null||e===!1,dZo={getAdapter:(e,t)=>{e=ir.isArray(e)?e:[e];let{length:r}=e,i,n,a={};for(let o=0;o<r;o++){i=e[o];let c;if(n=i,!SyD(i)&&(n=QNc[(c=String(i)).toLowerCase()],n===void 0))throw new za(`Unknown adapter '${c}'`);if(n&&(ir.isFunction(n)||(n=n.get(t))))break;a[c||"#"+o]=n}if(!n){let o=Object.entries(a).map(([d,s])=>`adapter ${d} `+(s===!1?"is not supported by the environment":"is not available in the build")),c=r?o.length>1?`since :
@@ -1500,7 +1500,7 @@ ${O}${g}${A}${Noa}`});var vKa=class{result=Qw.Success;logImmediately;logPrefix;s
1500
1500
  Run ${Rt.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
1501
1501
  Run ${Rt.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),ora(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function _Hc({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!Whh(e))return;let n=t??"",a=e.filter(c=>c.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let o=a.sort((c,d)=>c.generatorName.localeCompare(d.generatorName)||c.currentVersion.localeCompare(d.currentVersion));for(let c of o)n+=`
1502
1502
  ${await hWD(c.generatorName)} (${c.apiName!=null?"API: "+c.apiName+", ":""}Group: ${c.generatorGroup}) `+Rt.dim(c.currentVersion)+Rt.reset(" \u2192 ")+Rt.green(c.latestVersion);return n+=`
1503
- `,i?ora(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function hWD(e){let r=await new Vhh.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 yWD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,u,l)=>{c.versions[s]==null&&(c.versions[s]={});let p=oHi(u.name,l),_=await m3t({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:l});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,d,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][d]==null&&(o.versions[c][d]={});let l=oHi(s.name,u),p=await m3t({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][d][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await Bve({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(c==null||c.groups==null)return;let d=i!=null?zN(i):void 0;for(let s of c.groups)if(!(n!=null&&s.groupName!==n))for(let u of s.generators)d!=null&&u.name!==d||await r(a.workspaceName,s.groupName,u,o)})}))}function Hhh(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let d=lY(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function o_u({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await yWD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[d,s]of Object.entries(c.versions))o.push(...Hhh(s,d,t.logger));else o.push(...Hhh(c.versions,void 0,t.logger))}return o}var gKa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var Qoa=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var hHc=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),Khh=typeof globalThis.AbortController=="function",Jhh=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",$hh=typeof globalThis.ReadableStream=="function",Yhh=typeof globalThis.FormData=="function",u_u=["get","post","put","patch","head","delete"],bWD=()=>{};bWD();var Xhh={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},s_u=2147483647,Zhh=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,c_u=Symbol("stop"),khh={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},eyh={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var vWD=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=Zhh,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},tyh=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},ryh=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(tyh(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},iyh=(e,t,r)=>{if(!e.body)return e;let i=vWD(r??e.body);return new Request(e,{duplex:"half",body:tyh(e.body,i,t)})};var Uoa=e=>e!==null&&typeof e=="object";var OKa=(...e)=>{for(let t of e)if((!Uoa(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return vHc({},...e)},yHc=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function l_u(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:vHc(e[r]??[],t[r]??[])}var bHc=(e={},t={})=>({beforeRequest:l_u(e,t,"beforeRequest"),beforeRetry:l_u(e,t,"beforeRetry"),afterResponse:l_u(e,t,"afterResponse"),beforeError:l_u(e,t,"beforeError")}),vHc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Uoa(n)){for(let[a,o]of Object.entries(n))Uoa(o)&&a in t&&(o=vHc(t[a],o)),t={...t,[a]:o};Uoa(n.hooks)&&(i=bHc(i,n.hooks),t.hooks=i),Uoa(n.headers)&&(r=yHc(r,n.headers),t.headers=r)}return t};var ayh=e=>u_u.includes(e)?e.toUpperCase():e,gWD=["get","put","head","delete","options","trace"],OWD=[408,413,429,500,502,503,504],mWD=[413,429,503],nyh={limit:2,methods:gWD,statusCodes:OWD,afterStatusCodes:mWD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},oyh=(e={})=>{if(typeof e=="number")return{...nyh,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...nyh,...e}};async function gHc(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new Qoa(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function OHc(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var uyh=(e,t)=>{let r={};for(let i in t)!(i in eyh)&&!(i in khh)&&!(i in e)&&(r[i]=t[i]);return r},syh=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var mKa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>s_u)throw new RangeError(`The \`timeout\` option cannot be greater than ${s_u}`);await Promise.resolve();let c=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let d=new gKa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!$hh)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return ryh(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,d=[];c&&!c.bodyUsed&&d.push(c.body?.cancel()),i.request.bodyUsed||d.push(i.request.body?.cancel()),await Promise.all(d)});for(let[c,d]of Object.entries(Xhh))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:yHc(this._input.headers,r.headers),hooks:bHc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:ayh(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:oyh(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Khh&&Jhh){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(hHc&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),syh(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(Yhh&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!hHc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=iyh(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof Qoa)throw t;if(t instanceof gKa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),s_u);if(this._retryCount<1)throw r;await OHc(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===c_u)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=uyh(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):gHc(this._originalRequest,t,this.abortController,this._options)}};var mHc=e=>{let t=(r,i)=>mKa.create(r,OKa(e,i));for(let r of u_u)t[r]=(i,n)=>mKa.create(i,OKa(e,n,{method:r}));return t.create=r=>mHc(OKa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),mHc(OKa(e,r))),t.stop=c_u,t},AWD=mHc(),cyh=AWD;var Cyh=ue(Iyh(),1);function EHc(e){let t=(0,Cyh.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Ebh=ue(wbh(),1),Sbh=ue(jJ(),1),QHc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},UHc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function LHc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??EHc(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,Ebh.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,c&&(d.authorization=`${c.type} ${c.token}`);let s;try{s=await cyh(o,{headers:d,keepalive:!0}).json()}catch(l){throw l?.response?.status===404?new QHc(e):l}if(t.allVersions)return s;let u=new UHc(e,r);if(s["dist-tags"][r]){let{time:l}=s;s=s.versions[s["dist-tags"][r]],s.time=l}else if(r){let l=!!s.versions[r];if(i&&!l)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!l){let _=Object.keys(s.versions);if(r=Sbh.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function SKa(e,t){let{version:r}=await LHc(e.toLowerCase(),t);return r}async function RJi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:SKa(e.packageName,{version:t?"prerelease":"latest"})}var Mbh=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A_u=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Ou.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new kfn(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.48.1"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Rt.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new pM}failWithoutThrowing(t,r){this.didSucceed=!1,K4a({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await $ta()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await Ghh({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1503
+ `,i?ora(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function hWD(e){let r=await new Vhh.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 yWD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,u,l)=>{c.versions[s]==null&&(c.versions[s]={});let p=oHi(u.name,l),_=await m3t({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:l});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,d,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][d]==null&&(o.versions[c][d]={});let l=oHi(s.name,u),p=await m3t({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][d][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function xhh({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await Bve({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(c==null||c.groups==null)return;let d=i!=null?zN(i):void 0;for(let s of c.groups)if(!(n!=null&&s.groupName!==n))for(let u of s.generators)d!=null&&u.name!==d||await r(a.workspaceName,s.groupName,u,o)})}))}function Hhh(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let d=lY(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function o_u({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await yWD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[d,s]of Object.entries(c.versions))o.push(...Hhh(s,d,t.logger));else o.push(...Hhh(c.versions,void 0,t.logger))}return o}var gKa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var Qoa=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var hHc=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),Khh=typeof globalThis.AbortController=="function",Jhh=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",$hh=typeof globalThis.ReadableStream=="function",Yhh=typeof globalThis.FormData=="function",u_u=["get","post","put","patch","head","delete"],bWD=()=>{};bWD();var Xhh={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},s_u=2147483647,Zhh=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,c_u=Symbol("stop"),khh={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},eyh={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var vWD=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=Zhh,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},tyh=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},ryh=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(tyh(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},iyh=(e,t,r)=>{if(!e.body)return e;let i=vWD(r??e.body);return new Request(e,{duplex:"half",body:tyh(e.body,i,t)})};var Uoa=e=>e!==null&&typeof e=="object";var OKa=(...e)=>{for(let t of e)if((!Uoa(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return vHc({},...e)},yHc=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function l_u(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:vHc(e[r]??[],t[r]??[])}var bHc=(e={},t={})=>({beforeRequest:l_u(e,t,"beforeRequest"),beforeRetry:l_u(e,t,"beforeRetry"),afterResponse:l_u(e,t,"afterResponse"),beforeError:l_u(e,t,"beforeError")}),vHc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Uoa(n)){for(let[a,o]of Object.entries(n))Uoa(o)&&a in t&&(o=vHc(t[a],o)),t={...t,[a]:o};Uoa(n.hooks)&&(i=bHc(i,n.hooks),t.hooks=i),Uoa(n.headers)&&(r=yHc(r,n.headers),t.headers=r)}return t};var ayh=e=>u_u.includes(e)?e.toUpperCase():e,gWD=["get","put","head","delete","options","trace"],OWD=[408,413,429,500,502,503,504],mWD=[413,429,503],nyh={limit:2,methods:gWD,statusCodes:OWD,afterStatusCodes:mWD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},oyh=(e={})=>{if(typeof e=="number")return{...nyh,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...nyh,...e}};async function gHc(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new Qoa(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function OHc(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var uyh=(e,t)=>{let r={};for(let i in t)!(i in eyh)&&!(i in khh)&&!(i in e)&&(r[i]=t[i]);return r},syh=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var mKa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>s_u)throw new RangeError(`The \`timeout\` option cannot be greater than ${s_u}`);await Promise.resolve();let c=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let d=new gKa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!$hh)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return ryh(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,d=[];c&&!c.bodyUsed&&d.push(c.body?.cancel()),i.request.bodyUsed||d.push(i.request.body?.cancel()),await Promise.all(d)});for(let[c,d]of Object.entries(Xhh))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:yHc(this._input.headers,r.headers),hooks:bHc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:ayh(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:oyh(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Khh&&Jhh){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(hHc&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),syh(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(Yhh&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!hHc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=iyh(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof Qoa)throw t;if(t instanceof gKa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),s_u);if(this._retryCount<1)throw r;await OHc(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===c_u)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=uyh(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):gHc(this._originalRequest,t,this.abortController,this._options)}};var mHc=e=>{let t=(r,i)=>mKa.create(r,OKa(e,i));for(let r of u_u)t[r]=(i,n)=>mKa.create(i,OKa(e,n,{method:r}));return t.create=r=>mHc(OKa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),mHc(OKa(e,r))),t.stop=c_u,t},AWD=mHc(),cyh=AWD;var Cyh=ue(Iyh(),1);function EHc(e){let t=(0,Cyh.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Ebh=ue(wbh(),1),Sbh=ue(jJ(),1),QHc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},UHc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function LHc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??EHc(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,Ebh.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,c&&(d.authorization=`${c.type} ${c.token}`);let s;try{s=await cyh(o,{headers:d,keepalive:!0}).json()}catch(l){throw l?.response?.status===404?new QHc(e):l}if(t.allVersions)return s;let u=new UHc(e,r);if(s["dist-tags"][r]){let{time:l}=s;s=s.versions[s["dist-tags"][r]],s.time=l}else if(r){let l=!!s.versions[r];if(i&&!l)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!l){let _=Object.keys(s.versions);if(r=Sbh.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function SKa(e,t){let{version:r}=await LHc(e.toLowerCase(),t);return r}async function RJi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:SKa(e.packageName,{version:t?"prerelease":"latest"})}var Mbh=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A_u=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Ou.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new kfn(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.48.2"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Rt.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new pM}failWithoutThrowing(t,r){this.didSucceed=!1,K4a({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await $ta()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await Ghh({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1504
1504
  `)||(r+=`
1505
1505
  `),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=rnc(t.map(i=>i.type==="docs"?"docs":i.workspaceName??"api"),i=>i.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new vKa(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let i=this.addTaskWithInit(t).start(),n;try{n=await r(i)}catch(a){throw a.message.includes("globalThis")?(i.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),i.failWithoutThrowing()):i.failWithoutThrowing(void 0,a),new pM}finally{i.finish()}return n}async instrumentPostHogEvent(t){this.isLocal||(await $ta()).sendEvent(t)}logger=kbe((t,...r)=>this.log(t,...r));stderr=kbe((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=Dbh(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?Dbh(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=Mbh[this.numTasks++%Mbh.length],o=Rt.hex(a)(n);return{...this.constructTaskInit(),logPrefix:o}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===Qw.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let i=t.filter(n=>kLt.indexOf(n.level)>=kLt.indexOf(this.logLevel));this.ttyAwareLogger.log(i,{includeDebugInfo:this.logLevel===Ou.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 RJi({cliEnvironment:this.environment,includePreReleases:t}),i=lY(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await o_u({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await dHc({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:Rt.yellow("?"),style:{answer:n=>Rt.cyan(n),message:n=>Rt.bold(n),highlight:n=>Rt.cyan(n)}}})}catch(i){throw i?.name==="ExitPromptError"?(this.logger.info(`
1506
1506
  Cancelled by user.`),new pM):i}}async getInput(t){return await sHc({message:t.message,default:t.default})}};function Dbh(e){return`[${e}]:`}var g8t=class{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;constructor({generatorsConfiguration:t,workspaceName:r,cliVersion:i,absoluteFilePath:n,changelog:a}){this.generatorsConfiguration=t,this.workspaceName=r,this.cliVersion=i,this.absoluteFilePath=n,this.changelog=a}};function P_u(e,t,r,i){if(typeof r!="function")throw new Error("method for before hook must be a function");return i||(i={}),Array.isArray(t)?t.reverse().reduce((n,a)=>P_u.bind(null,e,a,n,i),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((n,a)=>a.hook.bind(null,n,i),r)():r(i))}function Bbh(e,t,r,i){let n=i;e.registry[r]||(e.registry[r]=[]),t==="before"&&(i=(a,o)=>Promise.resolve().then(n.bind(null,o)).then(a.bind(null,o))),t==="after"&&(i=(a,o)=>{let c;return Promise.resolve().then(a.bind(null,o)).then(d=>(c=d,n(c,o))).then(()=>c)}),t==="error"&&(i=(a,o)=>Promise.resolve().then(a.bind(null,o)).catch(c=>n(c,o))),e.registry[r].push({hook:i,orig:n})}function Ibh(e,t,r){if(!e.registry[t])return;let i=e.registry[t].map(n=>n.orig).indexOf(r);i!==-1&&e.registry[t].splice(i,1)}var Cbh=Function.bind,qbh=Cbh.bind(Cbh);function Tbh(e,t,r){let i=qbh(Ibh,null).apply(null,r?[t,r]:[t]);e.api={remove:i},e.remove=i,["before","error","after","wrap"].forEach(n=>{let a=r?[t,n,r]:[t,n];e[n]=e.api[n]=qbh(Bbh,null).apply(null,a)})}function M5D(){let e=Symbol("Singular"),t={registry:{}},r=P_u.bind(null,t,e);return Tbh(r,t,e),r}function D5D(){let e={registry:{}},t=P_u.bind(null,e);return Tbh(t,e),t}var Rbh={Singular:M5D,Collection:D5D};var B5D="0.0.0-development",I5D=`octokit-endpoint.js/${B5D} ${LN()}`,C5D={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":I5D},mediaType:{format:""}};function q5D(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function T5D(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function Fbh(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(i=>{T5D(t[i])?i in e?r[i]=Fbh(e[i],t[i]):Object.assign(r,{[i]:t[i]}):Object.assign(r,{[i]:t[i]})}),r}function zbh(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function WHc(e,t,r){if(typeof t=="string"){let[n,a]=t.split(" ");r=Object.assign(a?{method:n,url:a}:{url:n},r)}else r=Object.assign({},t);r.headers=q5D(r.headers),zbh(r),zbh(r.headers);let i=Fbh(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(i.mediaType.previews=e.mediaType.previews.filter(n=>!i.mediaType.previews.includes(n)).concat(i.mediaType.previews)),i.mediaType.previews=(i.mediaType.previews||[]).map(n=>n.replace(/-preview/,""))),i}function R5D(e,t){let r=/\?/.test(e)?"&":"?",i=Object.keys(t);return i.length===0?e:e+r+i.map(n=>n==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${n}=${encodeURIComponent(t[n])}`).join("&")}var z5D=/\{[^{}}]+\}/g;function N5D(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function F5D(e){let t=e.match(z5D);return t?t.map(N5D).reduce((r,i)=>r.concat(i),[]):[]}function Nbh(e,t){let r={__proto__:null};for(let i of Object.keys(e))t.indexOf(i)===-1&&(r[i]=e[i]);return r}function Qbh(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function Joa(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function MKa(e,t,r){return t=e==="+"||e==="#"?Qbh(t):Joa(t),r?Joa(r)+"="+t:t}function Koa(e){return e!=null}function VHc(e){return e===";"||e==="&"||e==="?"}function Q5D(e,t,r,i){var n=e[r],a=[];if(Koa(n)&&n!=="")if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")n=n.toString(),i&&i!=="*"&&(n=n.substring(0,parseInt(i,10))),a.push(MKa(t,n,VHc(t)?r:""));else if(i==="*")Array.isArray(n)?n.filter(Koa).forEach(function(o){a.push(MKa(t,o,VHc(t)?r:""))}):Object.keys(n).forEach(function(o){Koa(n[o])&&a.push(MKa(t,n[o],o))});else{let o=[];Array.isArray(n)?n.filter(Koa).forEach(function(c){o.push(MKa(t,c))}):Object.keys(n).forEach(function(c){Koa(n[c])&&(o.push(Joa(c)),o.push(MKa(t,n[c].toString())))}),VHc(t)?a.push(Joa(r)+"="+o.join(",")):o.length!==0&&a.push(o.join(","))}else t===";"?Koa(n)&&a.push(Joa(r)):n===""&&(t==="&"||t==="?")?a.push(Joa(r)+"="):n===""&&a.push("");return a}function U5D(e){return{expand:L5D.bind(null,e)}}function L5D(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(i,n,a){if(n){let c="",d=[];if(r.indexOf(n.charAt(0))!==-1&&(c=n.charAt(0),n=n.substr(1)),n.split(/,/g).forEach(function(s){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(s);d.push(Q5D(t,c,u[1],u[2]||u[3]))}),c&&c!=="+"){var o=",";return c==="?"?o="&":c!=="#"&&(o=c),(d.length!==0?c:"")+d.join(o)}else return d.join(",")}else return Qbh(a)}),e==="/"?e:e.replace(/\/$/,"")}function Ubh(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),i=Object.assign({},e.headers),n,a=Nbh(e,["method","baseUrl","url","headers","request","mediaType"]),o=F5D(r);r=U5D(r).expand(a),/^http/.test(r)||(r=e.baseUrl+r);let c=Object.keys(e).filter(u=>o.includes(u)).concat("baseUrl"),d=Nbh(a,c);if(!/application\/octet-stream/i.test(i.accept)&&(e.mediaType.format&&(i.accept=i.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=i.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];i.accept=u.concat(e.mediaType.previews).map(l=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${l}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=R5D(r,d):"data"in d?n=d.data:Object.keys(d).length&&(n=d),!i["content-type"]&&typeof n<"u"&&(i["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof n>"u"&&(n=""),Object.assign({method:t,url:r,headers:i},typeof n<"u"?{body:n}:null,e.request?{request:e.request}:null)}function V5D(e,t,r){return Ubh(WHc(e,t,r))}function Lbh(e,t){let r=WHc(e,t),i=V5D.bind(null,r);return Object.assign(i,{DEFAULTS:r,defaults:Lbh.bind(null,r),merge:WHc.bind(null,r),parse:Ubh})}var Vbh=Lbh(null,C5D);var Jbh=ue(Hbh(),1);var O8t=class extends Error{name;status;request;response;constructor(t,r,i){super(t),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0),"response"in i&&(this.response=i.response);let n=Object.assign({},i.request);i.request.headers.authorization&&(n.headers=Object.assign({},i.request.headers,{authorization:i.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),n.url=n.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=n}};var W5D="10.0.6",G5D={headers:{"user-agent":`octokit-request.js/${W5D} ${LN()}`}};function x5D(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function Kbh(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,i=e.request?.parseSuccessResponseBody!==!1,n=x5D(e.body)||Array.isArray(e.body)?JSON.stringify(e.body):e.body,a=Object.fromEntries(Object.entries(e.headers).map(([l,p])=>[l,String(p)])),o;try{o=await t(e.url,{method:e.method,body:n,redirect:e.request?.redirect,headers:a,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(l){let p="Unknown Error";if(l instanceof Error){if(l.name==="AbortError")throw l.status=500,l;p=l.message,l.name==="TypeError"&&"cause"in l&&(l.cause instanceof Error?p=l.cause.message:typeof l.cause=="string"&&(p=l.cause))}let _=new O8t(p,500,{request:e});throw _.cause=l,_}let c=o.status,d=o.url,s={};for(let[l,p]of o.headers)s[l]=p;let u={url:d,status:c,headers:s,data:""};if("deprecation"in s){let l=s.link&&s.link.match(/<([^<>]+)>; rel="deprecation"/),p=l&&l.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${s.sunset}${p?`. See ${p}`:""}`)}if(c===204||c===205)return u;if(e.method==="HEAD"){if(c<400)return u;throw new O8t(o.statusText,c,{response:u,request:e})}if(c===304)throw u.data=await GHc(o),new O8t("Not modified",c,{response:u,request:e});if(c>=400)throw u.data=await GHc(o),new O8t(K5D(u.data),c,{response:u,request:e});return u.data=i?await GHc(o):o.body,u}async function GHc(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(()=>"");let r=(0,Jbh.safeParse)(t);if(H5D(r)){let i="";try{return i=await e.text(),JSON.parse(i)}catch{return i}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"?e.text().catch(()=>""):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function H5D(e){return e.type==="application/json"||e.type==="application/scim+json"}function K5D(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if("message"in e){let t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(r=>JSON.stringify(r)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function xHc(e,t){let r=e.defaults(t);return Object.assign(function(n,a){let o=r.merge(n,a);if(!o.request||!o.request.hook)return Kbh(r.parse(o));let c=(d,s)=>Kbh(r.parse(r.merge(d,s)));return Object.assign(c,{endpoint:r,defaults:xHc.bind(null,r)}),o.request.hook(c,o)},{endpoint:r,defaults:xHc.bind(null,r)})}var Qm=xHc(Vbh,G5D);var J5D="0.0.0-development";function $5D(e){return`Request failed due to following response errors:
@@ -1894,7 +1894,7 @@ ${i.map(a=>` ${a}`).join(`,
1894
1894
  `)}
1895
1895
  ]`;case 1:return`${n} Did you mean ${r[0]}?`;case 2:return`${n} Did you mean ${r[0]} or ${r[1]}?`;default:return`${n} Did you mean ${r[0]}, ${r[1]}, or ${r[2]}?`}}function Kju(e){return`API section ${e} is specified multiple times, however will be only rendered once.`}function Y0B(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function Jju({children:e,findEndpointById:t,stringifyEndpointPathParts:r,disableEndpointPairs:i,apiDefinitionId:n}){if(i)return e;let a=[],o=new Map;return e.forEach(c=>{if(c.type!=="endpoint"){a.push(c);return}let d=t(c.endpointId);if(d==null)throw new Error(`Endpoint ${c.endpointId} not found`);let s=`${d.method} ${r(d)}`,u=o.get(s);if(o.set(s,c),u==null||u.isResponseStream===c.isResponseStream){a.push(c);return}let l=a.indexOf(u),p=c.isResponseStream?c:u,_=c.isResponseStream?u:c,h={id:Ft.V1.NodeId(`${n}:${_.endpointId}+${p.endpointId}`),type:"endpointPair",stream:p,nonStream:_};a[l]=h}),a}function pQh({left:e,right:t,findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}){return Jju({children:[...e,...t],findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}).filter(o=>o.type==="apiPackage"?o.children.length>0:!0)}function Lca(e,t){if(t!=null)return Xf(e.absoluteFilePath,t)}function _Qh({docsWorkspace:e,page:t,parentSlug:r,idgen:i,markdownFilesToFullSlugs:n,markdownFilesToNoIndex:a,hideChildren:o,resolveIconFileId:c}){let d=Ft.V1.PageId(Lca(e,t.absolutePath)),s=r.apply({fullSlug:n.get(t.absolutePath)?.split("/"),urlSlug:t.slug??cS(t.title)});return{id:i.get(d),type:"page",pageId:d,title:t.title,slug:s.get(),icon:c?c(t.icon):t.icon,hidden:o||t.hidden,noindex:t.noindex||a.get(t.absolutePath),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,availability:t.availability}}var $ju=class{apiSection;docsWorkspace;taskContext;markdownFilesToFullSlugs;markdownFilesToNoIndex;markdownFilesToTags;workspace;hideChildren;parentAvailability;openApiTags;apiDefinitionId;#e;#t=new Set;#r=new Set;#i=new Set;#n=new Set;#a=new Set;#o=new Map;#s=[];#u;#c;#f;disableEndpointPairs;collectedFileIds=new Map;#p;constructor(t,r,i,n,a,o,c,d,s,u,l,p,_,h){this.apiSection=t,this.docsWorkspace=n,this.taskContext=a,this.markdownFilesToFullSlugs=o,this.markdownFilesToNoIndex=c,this.markdownFilesToTags=d,this.workspace=l,this.hideChildren=p,this.parentAvailability=_,this.openApiTags=h,this.#p=new Map,this.disableEndpointPairs=n.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=Ft.V1.ApiDefinitionId(r.id),this.#e=_Yi.create(r,a),this.collectedFileIds=u,this.#f=s,this.#u=this.apiSection.overviewAbsolutePath!=null?Ft.V1.PageId(Lca(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let y=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#c=i.apply({fullSlug:y?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??cS(this.apiSection.title)});let b=this.apiSection.availability??this.parentAvailability;this.apiSection.navigation!=null&&(this.#s=this.#d(this.apiSection.navigation,this.#e.api.rootPackage,this.#c,b)),this.#s=this.#g(this.#s.map(v=>this.#m(v,b)),this.#A(this.#e.api.rootPackage,this.#c,b))}get(){let t=Ft.V1.followRedirects(this.#s),r=new kgn(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.workspace?.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#f).orUndefined();return{id:this.#f.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#u,paginated:this.apiSection.paginated,slug:this.#c.get(),icon:this.resolveIconFileId(this.apiSection.icon),hidden:this.hideChildren||this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#c,viewers:void 0,hidden:this.hideChildren}),children:this.#s,availability:this.apiSection.availability??this.parentAvailability,pointsTo:t,noindex:void 0,playground:this.#P(this.apiSection.playground),postmanCollectionUrl:this.apiSection.postman,authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}getTagDescriptionContent(){return this.#p}createTagDescriptionPageId(t){if(!this.apiSection.tagDescriptionPages||!this.openApiTags)return;let r=X8t(t)?t.name:void 0;if(!r)return;let i=this.openApiTags[r];if(!i||!i.description)return;let n=`tag-${r}.md`,a=Sr.of(`/${n}`),o=Ft.V1.PageId(n),c=`# ${Xgn(i.id.replace(/[_-]/g," "))}
1896
1896
 
1897
- ${i.description}`;return this.#p.set(a,c),this.markdownFilesToNoIndex.set(a,!1),this.markdownFilesToTags.set(a,[r]),o}#d(t,r,i,n){r=this.#e.resolveSubpackage(r);let a=r!=null?_Yi.getSubpackageId(r):void 0;return t.map(o=>Kel(o)._visit({link:c=>({id:this.#f.get(c.url),type:"link",title:c.text,icon:this.resolveIconFileId(c.icon),url:Ft.Url(c.url),target:c.target}),page:c=>this.#l(c,i,n),package:c=>this.#_(c,i,n),section:c=>this.#y(c,i,n),item:({value:c})=>this.#h(c,a,i,n),endpoint:c=>this.#O(c,a,i,n)})).filter(us)}#l(t,r,i){return _Qh({page:{...t,availability:t.availability??i},parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,markdownFilesToNoIndex:this.markdownFilesToNoIndex,idgen:this.#f,hideChildren:this.hideChildren,resolveIconFileId:this.resolveIconFileId.bind(this)})}#_(t,r,i){let n=t.overviewAbsolutePath!=null?Ft.V1.PageId(Lca(this.docsWorkspace,t.overviewAbsolutePath)):void 0,a=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,o=t.availability??i,c=this.#e.getSubpackageByIdOrLocator(t.package);if(c!=null){let d=_Yi.getSubpackageId(c),s=this.#f.get(n??`${this.apiDefinitionId}:${d}`);this.#a.has(d)&&this.taskContext.logger.warn(Kju(t.package)),this.#a.add(d),this.#o.set(s,[d]);let u=t.slug??(X8t(c)?c.urlSlug:this.apiSection.slug??cS(this.apiSection.title)),l=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),p=this.#d(t.contents,c,l,o);return{id:s,type:"apiPackage",children:p,title:t.title??(X8t(c)?c.displayName??Xgn(c.name):this.apiSection.title),slug:l.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:o,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}else{this.taskContext.logger.warn(Hju(t.package,this.#e.subpackageLocators));let d=t.slug??cS(t.package),s=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),u=this.#d(t.contents,void 0,s,o);return{id:this.#f.get(n??`${this.apiDefinitionId}:${cS(t.package)}`),type:"apiPackage",children:u,title:t.title??t.package,slug:s.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:o,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#y(t,r,i){let n=t.overviewAbsolutePath!=null?Ft.V1.PageId(Lca(this.docsWorkspace,t.overviewAbsolutePath)):void 0,a=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,o=t.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(t.overviewAbsolutePath):void 0,c=this.#f.get(n??a??r.get()),d=t.referencedSubpackages.map(_=>{let h=this.#e.getSubpackageByIdOrLocator(_),y=h!=null?_Yi.getSubpackageId(h):void 0;if(y===void 0){this.taskContext.logger.error(Hju(_,this.#e.subpackageLocators));return}return{subpackageId:y,locator:_}}).filter(_=>_!=null).filter(us);this.#o.set(c,d.map(_=>_.subpackageId)),d.forEach(_=>{this.#a.has(_.subpackageId)&&this.taskContext.logger.error(Kju(_.locator)),this.#a.add(_.subpackageId)});let s=t.slug??cS(t.title),u=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:s}),l=t.availability??i,p=this.#d(t.contents,void 0,u,l);return{id:c,type:"apiPackage",children:p,title:t.title,slug:u.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:l,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:o,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#h(t,r,i,n){t=t.trim();let a=this.#e.getSubpackageByIdOrLocator(t)??this.#e.getSubpackageByIdOrLocator(ou(t));if(a!=null){let o=_Yi.getSubpackageId(a),c=this.#f.get(`${this.apiDefinitionId}:${o}`);this.#a.has(o)&&this.taskContext.logger.error(Kju(t)),this.#a.add(o),this.#o.set(c,[o]);let d=X8t(a)?a.urlSlug:"",s=i.apply({urlSlug:d});return{id:c,type:"apiPackage",children:[],title:X8t(a)?a.displayName??Xgn(a.name):this.apiSection.title,slug:s.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:this.createTagDescriptionPageId(a),availability:n,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}return this.#O({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,availability:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i,n)}#O(t,r,i,n){let a=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.endpoints.get(C4.EndpointId(t.endpoint)):void 0)??this.#e.endpointsByLocator.get(t.endpoint);if(a!=null){let d=this.#e.getEndpointId(a);if(d==null)this.taskContext.logger.debug(`Expected Endpoint ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);else{this.#t.has(d)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${d}`),this.#t.add(d);let s=t.slug!=null?i.append(t.slug):i.apply(a);return{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"endpoint",method:a.method,endpointId:d,apiDefinitionId:this.apiDefinitionId,availability:t.availability??Ft.V1.convertAvailability(a.availability)??n,isResponseStream:a.response?.type.type==="stream",title:t.title??a.name??xW(a.path.parts),slug:s.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,playground:this.#P(a.includeInApiExplorer===!1?{...t.playground,hidden:!0}:t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}let o=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.webSockets.get(C4.WebSocketId(t.endpoint)):void 0)??this.#e.webSocketsByLocator.get(t.endpoint);if(o!=null){let d=this.#e.getWebSocketId(o);if(d==null)this.taskContext.logger.error(`Expected WebSocket ID for ${o.id}. Got undefined.`);else return this.#r.has(d)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${d}`),this.#r.add(d),{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"webSocket",webSocketId:d,title:t.title??o.name??xW(o.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(o)).get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(o.availability)??n,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let c=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.webhooks.get(C4.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(Ft.V1.WebhookId(t.endpoint));if(c!=null){let d=this.#e.getWebhookId(c);if(d==null)this.taskContext.logger.error(`Expected Webhook ID for ${c.id}. Got undefined.`);else return this.#i.has(d)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${d}`),this.#i.add(d),{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"webhook",webhookId:d,method:c.method,title:t.title??c.name??(0,hQh.default)("/",...c.path),slug:(t.slug!=null?i.append(t.slug):i.apply(c)).get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:n,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#g(t,r){return pQh({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>xW(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#m(t,r){return Yel({child:t,nodeIdToSubpackageId:this.#o,convertApiDefinitionPackageId:(i,n,a)=>this.#v(i,n,a),mergeAndFilterChildren:this.#g.bind(this)})}#A(t,r,i){let n=[];return t.endpoints.forEach(a=>{if(a.protocol?.type==="grpc"){let o=this.#e.getGrpcId(a);if(o==null){this.taskContext.logger.error(`Expected Grpc ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);return}if(this.#n.has(o))return;let c=r.apply(a);n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"grpc",grpcId:o,title:a.name??xW(a.path.parts),method:a.protocol?.methodType??"UNARY",apiDefinitionId:this.apiDefinitionId,availability:i,slug:c.get(),icon:void 0,hidden:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}else{let o=this.#e.getEndpointId(a);if(o==null){this.taskContext.logger.debug(`Expected Endpoint ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);return}if(this.#t.has(o))return;let c=r.apply(a);n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"endpoint",method:a.method,endpointId:o,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(a.availability)??i,isResponseStream:a.response?.type.type==="stream",title:a.name??xW(a.path.parts),slug:c.get(),icon:void 0,hidden:this.hideChildren,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}}),t.websockets.forEach(a=>{let o=this.#e.getWebSocketId(a);if(o==null){this.taskContext.logger.error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return}this.#r.has(o)||n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"webSocket",webSocketId:o,title:a.name??xW(a.path.parts),slug:r.apply(a).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(a.availability)??i,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.webhooks.forEach(a=>{let o=this.#e.getWebhookId(a);if(o==null){this.taskContext.logger.error(`Expected Webhook ID for ${a.id}. Got undefined.`);return}this.#i.has(o)||n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"webhook",webhookId:o,method:a.method,title:a.name??Xgn(a.id),slug:r.apply(a).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:i,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.subpackages.forEach(a=>{if(this.#a.has(a))return;let o=this.#e.getSubpackageByIdOrLocator(a);if(o==null){this.taskContext.logger.error(`Subpackage ${a} not found in ${this.apiDefinitionId}`);return}let c=X8t(o)?r.apply(o):r,d=this.#v(a,c,i);d.length>0&&n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"apiPackage",children:d,title:X8t(o)?o.displayName??Xgn(o.name):this.apiSection.title,slug:c.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:this.createTagDescriptionPageId(o),availability:i,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),n=this.mergeEndpointPairs(n),this.apiSection.alphabetized&&(n=n.sort((a,o)=>{let c=a.type==="endpointPair"?a.nonStream.title:a.title,d=o.type==="endpointPair"?o.nonStream.title:o.title;return c.localeCompare(d)})),n}#v(t,r,i){let n=t!=null?this.#e.resolveSubpackage(this.#e.getSubpackageByIdOrLocator(t)):void 0;return n==null?(this.taskContext.logger.debug(Hju(t||"unknown",[])),[]):this.#A(n,r,i)}#P(t){return nQh(t)}mergeEndpointPairs(t){return Jju({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>xW(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}getFileId(t){let r=this.collectedFileIds.get(t);return r??this.taskContext.failAndThrow("Failed to locate file after uploading: "+t)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}};var yQh=ue(require("crypto"),1);function X0B(e){return yQh.default.createHash("sha256").update(e).digest("hex")}var Yju=class e{static init(){return new e}constructor(){}#e=new Map;#t=new Set;#r(t){let r=this.#e.get(t)??0;return this.#e.set(t,r+1),X0B(r===0?t:`${t}-${r}`)}#i(t){let r=this.#r(t),i=0;for(;this.#t.has(r);)if(r=this.#r(t),i++,i>100)throw new Error(`Infinite loop detected for id: ${t}`);return r}get(t){return Ft.V1.NodeId(this.#i(t))}};function bQh(e){return e==null?{}:{pythonSdk:e.python!=null?{package:typeof e.python=="string"?e.python:e.python.package,version:typeof e.python=="string"?void 0:e.python.version}:void 0,typescriptSdk:e.typescript!=null?{package:typeof e.typescript=="string"?e.typescript:e.typescript.package,version:typeof e.typescript=="string"?void 0:e.typescript.version}:void 0,goSdk:e.go!=null?{githubRepo:typeof e.go=="string"?e.go:e.go.package,version:typeof e.go=="string"?void 0:e.go.version}:void 0,javaSdk:e.java!=null?{coordinate:typeof e.java=="string"?e.java:e.java.package,version:typeof e.java=="string"?void 0:e.java.version}:void 0,rubySdk:e.ruby!=null?{gem:typeof e.ruby=="string"?e.ruby:e.ruby.package,version:typeof e.ruby=="string"?void 0:e.ruby.version}:void 0,csharpSdk:e.csharp!=null?{package:typeof e.csharp=="string"?e.csharp:e.csharp.package,version:typeof e.csharp=="string"?void 0:e.csharp.version}:void 0,phpSdk:e.php!=null?{package:typeof e.php=="string"?e.php:e.php.package,version:typeof e.php=="string"?void 0:e.php.version}:void 0,swiftSdk:e.swift!=null?{package:typeof e.swift=="string"?e.swift:e.swift.package,version:typeof e.swift=="string"?void 0:e.swift.version}:void 0,rustSdk:e.rust!=null?{package:typeof e.rust=="string"?e.rust:e.rust.package,version:typeof e.rust=="string"?void 0:e.rust.version}:void 0}}var Xju=class{selectors;constructor(t){this.selectors=t}matches(t,r){for(let i of this.selectors)if(this.pathMatches(t,i.path)&&(!i.method||i.method===r))return!0;return!1}pathMatches(t,r){if(t===r)return!0;let i=t.split("/").filter(a=>a.length>0),n=r.split("/").filter(a=>a.length>0);if(i.length!==n.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],c=n[a];if(!o||!c)return!1;let d=o.startsWith("{")&&o.endsWith("}"),s=c.startsWith("{")&&c.endsWith("}");if(!(d&&s)&&o!==c)return!1}return!0}getMatchingPaths(t){let r=[];for(let[i,n]of Object.entries(t)){if(!n)continue;let a=["get","put","post","delete","options","head","patch","trace"];for(let o of a)if(n[o]&&this.matches(i,o)){r.includes(i)||r.push(i);break}}return r}};var Zju=class{document;schemas=new Set;parameters=new Set;responses=new Set;requestBodies=new Set;securitySchemes=new Set;headers=new Set;examples=new Set;links=new Set;callbacks=new Set;constructor(t){this.document=t}collectFromOperation(t){if(t.parameters)for(let r of t.parameters)this.collectParameter(r);if(t.requestBody&&this.collectFromRequestBody(t.requestBody),t.responses)for(let r of Object.values(t.responses))this.collectFromResponse(r);if(t.callbacks)for(let[r,i]of Object.entries(t.callbacks))if(this.isReference(i))this.callbacks.add(this.extractComponentName(i.$ref));else for(let n of Object.values(i))this.collectFromPathItem(n);if(t.security)for(let r of t.security)for(let i of Object.keys(r))this.securitySchemes.add(i)}collectFromPathItem(t){if(t.parameters)for(let i of t.parameters)this.collectParameter(i);let r=[t.get,t.put,t.post,t.delete,t.options,t.head,t.patch,t.trace];for(let i of r)i&&this.collectFromOperation(i)}collectParameter(t){if(this.isReference(t)){this.parameters.add(this.extractComponentName(t.$ref));let r=this.resolveParameter(t.$ref);r&&this.collectParameter(r)}else{if(t.schema&&this.collectFromSchema(t.schema),t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r);if(t.examples)for(let[r,i]of Object.entries(t.examples))this.isReference(i)&&this.examples.add(this.extractComponentName(i.$ref))}}collectFromRequestBody(t){if(this.isReference(t)){this.requestBodies.add(this.extractComponentName(t.$ref));let r=this.resolveRequestBody(t.$ref);r&&this.collectFromRequestBody(r)}else if(t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r)}collectFromResponse(t){if(this.isReference(t)){this.responses.add(this.extractComponentName(t.$ref));let r=this.resolveResponse(t.$ref);r&&this.collectFromResponse(r)}else{if(t.headers)for(let[r,i]of Object.entries(t.headers))this.isReference(i)?this.headers.add(this.extractComponentName(i.$ref)):i.schema&&this.collectFromSchema(i.schema);if(t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r);if(t.links)for(let[r,i]of Object.entries(t.links))this.isReference(i)&&this.links.add(this.extractComponentName(i.$ref))}}collectFromMediaType(t){if(t.schema&&this.collectFromSchema(t.schema),t.examples)for(let[r,i]of Object.entries(t.examples))this.isReference(i)&&this.examples.add(this.extractComponentName(i.$ref))}collectFromSchema(t){if(this.isReference(t)){let r=this.extractComponentName(t.$ref);if(!this.schemas.has(r)){this.schemas.add(r);let i=this.resolveSchema(t.$ref);i&&this.collectFromSchema(i)}}else{if(t.properties)for(let r of Object.values(t.properties))this.collectFromSchema(r);if(t.additionalProperties&&typeof t.additionalProperties=="object"&&this.collectFromSchema(t.additionalProperties),"items"in t&&t.items)if(Array.isArray(t.items))for(let r of t.items)this.collectFromSchema(r);else this.collectFromSchema(t.items);if(t.allOf)for(let r of t.allOf)this.collectFromSchema(r);if(t.oneOf)for(let r of t.oneOf)this.collectFromSchema(r);if(t.anyOf)for(let r of t.anyOf)this.collectFromSchema(r);t.not&&this.collectFromSchema(t.not)}}resolveSchema(t){let r=this.extractComponentName(t);return this.document.components?.schemas?.[r]}resolveParameter(t){let r=this.extractComponentName(t);return this.document.components?.parameters?.[r]}resolveResponse(t){let r=this.extractComponentName(t);return this.document.components?.responses?.[r]}resolveRequestBody(t){let r=this.extractComponentName(t);return this.document.components?.requestBodies?.[r]}isReference(t){return t!=null&&typeof t=="object"&&"$ref"in t}extractComponentName(t){let r=t.split("/");return r[r.length-1]??t}getSchemas(){return this.schemas}getParameters(){return this.parameters}getResponses(){return this.responses}getRequestBodies(){return this.requestBodies}getSecuritySchemes(){return this.securitySchemes}getHeaders(){return this.headers}getExamples(){return this.examples}getLinks(){return this.links}getCallbacks(){return this.callbacks}};var VYa=class{matcher;document;constructor(t){this.matcher=new Xju(t.endpoints),this.document=JSON.parse(JSON.stringify(t.document))}prune(){let t=this.collectStatistics(),r=new Zju(this.document),i={},n=this.matcher.getMatchingPaths(this.document.paths);for(let c of n){let d=this.document.paths[c];if(!d)continue;let s={};d.summary&&(s.summary=d.summary),d.description&&(s.description=d.description),d.servers&&(s.servers=d.servers),d.parameters&&(s.parameters=d.parameters);let u=["get","put","post","delete","options","head","patch","trace"];for(let l of u){let p=d[l];p&&this.matcher.matches(c,l)&&(s[l]=p,r.collectFromOperation(p))}if(d.parameters)for(let l of d.parameters)r.collectParameter(l);i[c]=s}let a={openapi:this.document.openapi,info:this.document.info,paths:i};if(this.document.servers&&(a.servers=this.document.servers),this.document.externalDocs&&(a.externalDocs=this.document.externalDocs),this.document.tags){let c=new Set;for(let d of Object.values(i)){let s=["get","put","post","delete","options","head","patch","trace"];for(let u of s){let l=d?.[u];if(l?.tags)for(let p of l.tags)c.add(p)}}a.tags=this.document.tags.filter(d=>c.has(d.name))}if(this.document.security){a.security=this.document.security;for(let c of this.document.security)for(let d of Object.keys(c))r.getSecuritySchemes().add(d)}a.components=this.buildPrunedComponents(r);let o=this.collectPrunedStatistics(a);return{document:a,statistics:{originalEndpoints:t.originalEndpoints,prunedEndpoints:o.originalEndpoints,originalSchemas:t.originalSchemas,prunedSchemas:o.originalSchemas,originalParameters:t.originalParameters,prunedParameters:o.originalParameters,originalResponses:t.originalResponses,prunedResponses:o.originalResponses,originalRequestBodies:t.originalRequestBodies,prunedRequestBodies:o.originalRequestBodies,originalSecuritySchemes:t.originalSecuritySchemes,prunedSecuritySchemes:o.originalSecuritySchemes}}}buildPrunedComponents(t){if(!this.document.components)return;let r={};if(this.document.components.schemas&&t.getSchemas().size>0){r.schemas={};for(let i of t.getSchemas()){let n=this.document.components.schemas[i];n&&(r.schemas[i]=n)}}if(this.document.components.parameters&&t.getParameters().size>0){r.parameters={};for(let i of t.getParameters()){let n=this.document.components.parameters[i];n&&(r.parameters[i]=n)}}if(this.document.components.responses&&t.getResponses().size>0){r.responses={};for(let i of t.getResponses()){let n=this.document.components.responses[i];n&&(r.responses[i]=n)}}if(this.document.components.requestBodies&&t.getRequestBodies().size>0){r.requestBodies={};for(let i of t.getRequestBodies()){let n=this.document.components.requestBodies[i];n&&(r.requestBodies[i]=n)}}if(this.document.components.securitySchemes&&t.getSecuritySchemes().size>0){r.securitySchemes={};for(let i of t.getSecuritySchemes()){let n=this.document.components.securitySchemes[i];n&&(r.securitySchemes[i]=n)}}if(this.document.components.headers&&t.getHeaders().size>0){r.headers={};for(let i of t.getHeaders()){let n=this.document.components.headers[i];n&&(r.headers[i]=n)}}if(this.document.components.examples&&t.getExamples().size>0){r.examples={};for(let i of t.getExamples()){let n=this.document.components.examples[i];n&&(r.examples[i]=n)}}if(this.document.components.links&&t.getLinks().size>0){r.links={};for(let i of t.getLinks()){let n=this.document.components.links[i];n&&(r.links[i]=n)}}if(this.document.components.callbacks&&t.getCallbacks().size>0){r.callbacks={};for(let i of t.getCallbacks()){let n=this.document.components.callbacks[i];n&&(r.callbacks[i]=n)}}return Object.keys(r).length>0?r:void 0}collectStatistics(){let t=0;for(let r of Object.values(this.document.paths)){if(!r)continue;let i=["get","put","post","delete","options","head","patch","trace"];for(let n of i)r[n]&&t++}return{originalEndpoints:t,prunedEndpoints:0,originalSchemas:Object.keys(this.document.components?.schemas??{}).length,prunedSchemas:0,originalParameters:Object.keys(this.document.components?.parameters??{}).length,prunedParameters:0,originalResponses:Object.keys(this.document.components?.responses??{}).length,prunedResponses:0,originalRequestBodies:Object.keys(this.document.components?.requestBodies??{}).length,prunedRequestBodies:0,originalSecuritySchemes:Object.keys(this.document.components?.securitySchemes??{}).length,prunedSecuritySchemes:0}}collectPrunedStatistics(t){let r=0;for(let i of Object.values(t.paths)){if(!i)continue;let n=["get","put","post","delete","options","head","patch","trace"];for(let a of n)i[a]&&r++}return{originalEndpoints:r,prunedEndpoints:0,originalSchemas:Object.keys(t.components?.schemas??{}).length,prunedSchemas:0,originalParameters:Object.keys(t.components?.parameters??{}).length,prunedParameters:0,originalResponses:Object.keys(t.components?.responses??{}).length,prunedResponses:0,originalRequestBodies:Object.keys(t.components?.requestBodies??{}).length,prunedRequestBodies:0,originalSecuritySchemes:Object.keys(t.components?.securitySchemes??{}).length,prunedSecuritySchemes:0}}};var ntl=require("fs/promises");function Zel(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e,r=Object.keys(t);if(r.length===0||r.length>2)return!1;let i="type"in t&&typeof t.type=="string",n="value"in t;return i&&r.length===1||i&&n&&r.length===2||n&&r.length===1}function hYi(e){if(e==null)return e;if(Array.isArray(e))return e.map(hYi);if(typeof e!="object")return e;let t=e;if(Zel(t))return"value"in t?hYi(t.value):void 0;let r={};for(let[i,n]of Object.entries(t)){let a=hYi(n);a!==void 0&&(r[i]=a)}return r}function kel(e){return e==null?!0:typeof e!="object"?!1:Array.isArray(e)?e.length===0:Object.keys(e).length===0}function kju(e,t,r,i){let n={},a={},o={};if(e==null||typeof e!="object"||Array.isArray(e))return{filteredBody:e,extractedPathParams:n,extractedQueryParams:a,extractedHeaders:o};let c=e,d={},s=new Set(Object.keys(t??{})),u=new Set(Object.keys(r??{})),l=new Set(Object.keys(i??{}));for(let[p,_]of Object.entries(c)){let h=p.toLowerCase().replace(/[-_]/g,""),y=!1,b=!1,v=!1;for(let g of s){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){y=!0,n[g]=_;break}}if(!y)for(let g of u){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){b=!0,a[g]=_;break}}if(!y&&!b)for(let g of l){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){v=!0,o[g]=_;break}}!y&&!b&&!v&&(d[p]=_)}return{filteredBody:d,extractedPathParams:n,extractedQueryParams:a,extractedHeaders:o}}var Z0B=0,k0B=15e3,e0u=class{config;context;lambdaOrigin;venusOrigin;token;jwtPromise;organizationId;constructor(t,r,i,n){this.config={enabled:t.enabled,openaiApiKey:t.openaiApiKey,model:t.model??"gpt-4o-mini",maxRetries:t.maxRetries??Z0B,requestTimeoutMs:t.requestTimeoutMs??k0B,styleInstructions:t.styleInstructions},this.context=r;let a="https://ykq45y6fvnszd35iv5yuuatkze0rpwuz.lambda-url.us-east-1.on.aws";if(!a)throw new Error("DEFAULT_FDR_LAMBDA_DOCS_ORIGIN environment variable is not set. AI example enhancement requires this to be configured.");this.lambdaOrigin=a,this.venusOrigin="https://venus.buildwithfern.com",this.token=i,this.organizationId=n}async getJwt(){return this.jwtPromise==null&&(this.jwtPromise=this.fetchJwtFromVenus()),this.jwtPromise}async fetchJwtFromVenus(){this.context.logger.debug("Fetching JWT from Venus for AI example enhancement"),this.context.logger.debug(`Token type: ${this.token.type}`),this.context.logger.debug(`Token value (first 10 chars): ${this.token.value.substring(0,10)}...`),this.context.logger.debug(`Token value starts with 'fern_': ${this.token.value.startsWith("fern_")}`),this.context.logger.debug(`Venus origin: ${this.venusOrigin}`),this.context.logger.debug(`Organization ID: ${this.organizationId}`);let t=await fetch(`${this.venusOrigin}/auth/jwt`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token.value}`},body:JSON.stringify({organizationId:this.organizationId}),signal:AbortSignal.timeout(1e4)});if(!t.ok){let i=await t.text();throw new Error(`Failed to fetch JWT from Venus: ${t.status} ${i||t.statusText}`)}let r=await t.json();return this.context.logger.debug(`Successfully obtained JWT from Venus (expires at ${r.expiresAt})`),r.token}async enhanceExample(t){if(!this.config.enabled)return{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample};if(await Rgn(`${this.venusOrigin}/health`,this.context.logger))return this.context.logger.debug("Skipping AI example enhancement in air-gapped environment"),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample};let i;try{i=await this.getJwt()}catch(o){return this.context.logger.warn(`Failed to obtain JWT from Venus: ${o}. AI example enhancement will be skipped.`),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample}}let n,a=this.config.maxRetries+1;for(let o=1;o<=a;o++)try{this.context.logger.debug(`Enhancing example for ${t.method} ${t.endpointPath} via lambda (attempt ${o}/${a})`);let c={method:t.method,endpointPath:t.endpointPath,organizationId:t.organizationId,operationSummary:t.operationSummary,operationDescription:t.operationDescription,originalRequestExample:t.originalRequestExample,originalResponseExample:t.originalResponseExample,openApiSpec:t.openApiSpec,exampleStyleInstructions:t.exampleStyleInstructions??this.config.styleInstructions};this.context.logger.debug(`Sending to enhanceExamples: ${JSON.stringify({...c,openApiSpec:t.openApiSpec?`[OpenAPI spec present: ${t.openApiSpec.length} chars]`:"[No OpenAPI spec]"},null,2)}`);let d=await fetch(`${this.lambdaOrigin}/v2/registry/ai/enhance-example`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(c),signal:AbortSignal.timeout(this.config.requestTimeoutMs)});if(!d.ok){let u=await d.text();throw new Error(`Lambda returned ${d.status}: ${u||d.statusText}`)}let s=await d.json();return{enhancedRequestExample:s.enhancedRequestExample??t.originalRequestExample,enhancedResponseExample:s.enhancedResponseExample??t.originalResponseExample}}catch(c){if(n=c,this.context.logger.warn(`Attempt ${o} failed to enhance example: ${c}`),o<a){let d=Math.min(1e3*Math.pow(2,o-1),1e4);await new Promise(s=>setTimeout(s,d))}}return this.context.logger.error(`Failed to enhance example after ${a} attempts: ${n?.message}`),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample}}};var Vca=class e{static instance;currentApiId;queue=[];progress=new Map;constructor(){}static getInstance(){return e.instance||(e.instance=new e),e.instance}create(t,r,i){let n=`${t}-${Date.now()}-${Math.random()}`;return this.progress.set(n,{apiName:t,completed:0,total:r,endpointsSample:i}),this.queue.push(n),this.currentApiId||(this.currentApiId=n,this.updateSpinnerStatus()),n}update(t,r){let i=this.progress.get(t);i&&(i.completed=r,t===this.currentApiId&&this.updateSpinnerStatus())}finish(t){this.progress.delete(t);let r=this.queue.indexOf(t);r!==-1&&this.queue.splice(r,1),t===this.currentApiId&&(this.queue.length>0?(this.currentApiId=this.queue[0],this.updateSpinnerStatus()):(this.currentApiId=void 0,delete process.env.FERN_SPINNER_STATUS))}updateSpinnerStatus(){if(!this.currentApiId){delete process.env.FERN_SPINNER_STATUS;return}let t=this.progress.get(this.currentApiId);if(t){let r=`auto-generating examples for endpoints - ${t.apiName}`;t.endpointsSample&&(r+=` (${t.endpointsSample})`),r+=` - ${t.completed}/${t.total}`,process.env.FERN_SPINNER_STATUS=r}}};var t0u=require("fs/promises");async function ewB(e,t){let r=Sr.of(`${rn(e)}/ai_examples_override.yml`),i=[];try{let n=await(0,t0u.readFile)(r,"utf-8"),a=qi.load(n);if(a&&typeof a=="object"&&"paths"in a){let o=a.paths;for(let[c,d]of Object.entries(o))if(d&&typeof d=="object"){for(let[s,u]of Object.entries(d))if(u&&typeof u=="object"&&"x-fern-examples"in u){let l=u["x-fern-examples"];if(Array.isArray(l)){for(let p of l)if(typeof p=="object"&&p!==null){let _=p;i.push({endpointPath:c,method:s.toUpperCase(),pathParameters:_["path-parameters"],queryParameters:_["query-parameters"],headers:_.headers,request:_.request,response:_.response})}}}}}t.logger.debug(`Parsed ${i.length} AI examples from ai_examples_override.yml`)}catch(n){t.logger.debug(`No existing ai_examples_override.yml found or error reading it: ${n}`)}return i}async function etl({sourceFilePath:e,context:t}){let r=await ewB(e,t);if(r.length===0)return{validExamples:[],invalidExamples:[],totalExamples:0,validCount:0,invalidCount:0};let i;try{let s=await(0,t0u.readFile)(e,"utf-8");try{i=JSON.parse(s)}catch{i=qi.load(s)}}catch(s){return t.logger.warn(`Failed to read OpenAPI spec file: ${s}`),{validExamples:r,invalidExamples:[],totalExamples:r.length,validCount:r.length,invalidCount:0}}let n=new xEe({logger:t.logger}),a=new ZUi({namespace:void 0,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:i,exampleGenerationArgs:{disabled:!1},errorCollector:n,enableUniqueErrorsPerEndpoint:!1,generateV1Examples:!1,settings:T8t()}),o=new Ybn({context:a}),{validExamples:c,invalidExamples:d}=o.validateAiExamples({aiExamples:r,spec:i});if(d.length>0){t.logger.info(`Found ${d.length} stale AI examples that need to be regenerated out of ${r.length} total`);for(let{example:s,validationResult:u}of d)t.logger.debug(`Stale AI example: ${s.method} ${s.endpointPath} - ${u.errors.map(l=>l.message).join(", ")}`)}return{validExamples:c,invalidExamples:d,totalExamples:r.length,validCount:c.length,invalidCount:d.length}}async function vQh({sourceFilePath:e,context:t}){let r=await etl({sourceFilePath:e,context:t});if(r.invalidCount===0)return t.logger.debug("No invalid AI examples to remove"),{removedCount:0,remainingCount:r.totalExamples};let i=Sr.of(`${rn(e)}/ai_examples_override.yml`);try{let n=await(0,t0u.readFile)(i,"utf-8"),a=qi.load(n);if(!a||!a.paths)return{removedCount:0,remainingCount:r.totalExamples};let o=new Set(r.invalidExamples.map(({example:s})=>`${s.method.toLowerCase()}:${s.endpointPath}`));for(let[s,u]of Object.entries(a.paths))if(u&&typeof u=="object"){for(let l of Object.keys(u)){let p=`${l.toLowerCase()}:${s}`;o.has(p)&&delete u[l]}Object.keys(u).length===0&&delete a.paths[s]}let{writeFile:c}=await import("fs/promises"),d=qi.dump(a,{indent:2,lineWidth:-1,noRefs:!0});return await c(i,d,"utf-8"),t.logger.info(`Removed ${r.invalidCount} invalid AI examples from ai_examples_override.yml`),{removedCount:r.invalidCount,remainingCount:r.validCount}}catch(n){return t.logger.warn(`Failed to remove invalid AI examples: ${n}`),{removedCount:0,remainingCount:r.totalExamples}}}var WYa=require("fs/promises");async function ttl(e,t){let r=Sr.of(`${rn(e)}/ai_examples_override.yml`),i=new Set;try{let n=await(0,WYa.readFile)(r,"utf-8"),a=qi.load(n);if(a&&typeof a=="object"&&"paths"in a){let o=a.paths;for(let[c,d]of Object.entries(o))if(d&&typeof d=="object")for(let s of Object.keys(d)){let u=`${s.toLowerCase()}:${c}`;i.add(u)}}t.logger.debug(`Loaded ${i.size} covered endpoints from ai_examples_override.yml`)}catch{t.logger.debug("No existing ai_examples_override.yml found or error reading it")}return i}async function r0u({enhancedExamples:e,sourceFilePath:t,context:r}){if(e.length===0){r.logger.debug("No enhanced examples to write");return}let i=new Map;for(let o of e){let c=i.get(o.endpoint)||[];c.push(o),i.set(o.endpoint,c)}let n={paths:{}};for(let[o,c]of i.entries()){let d=new Map;for(let s of c){let u=d.get(s.method.toLowerCase())||[];u.push(s),d.set(s.method.toLowerCase(),u)}n.paths[o]||(n.paths[o]={});for(let[s,u]of d.entries()){let l=u.map((_,h)=>{let y={},b={..._.pathParameters??{}},v={..._.queryParameters??{}},g={..._.headers??{}},m={...g};if(_.headerParameterNames)for(let B of _.headerParameterNames)B in m||(m[B]="");let O={};if(_.queryParameterNames)for(let B of _.queryParameterNames)O[B]=v[B]??"";let A={};if(_.pathParameterNames)for(let B of _.pathParameterNames)A[B]=b[B]??"";let j=_.requestBody;j!=null&&typeof j=="object"&&!Array.isArray(j)&&"body"in j&&(j=j.body);let M=hYi(j),w=M;if(M!==void 0){let{filteredBody:B,extractedPathParams:R,extractedQueryParams:T,extractedHeaders:q}=kju(M,A,O,m);w=B;for(let[z,N]of Object.entries(R))N!=null&&N!==""&&(b[z]=N);for(let[z,N]of Object.entries(T))N!=null&&N!==""&&(v[z]=N);for(let[z,N]of Object.entries(q))N!=null&&N!==""&&(g[z]=N)}Object.keys(b).length>0&&(y["path-parameters"]=b),Object.keys(v).length>0&&(y["query-parameters"]=v),Object.keys(g).length>0&&(y.headers=g),w!==void 0&&!kel(w)&&(y.request=w);let D=hYi(_.responseBody);return D!==void 0&&!kel(D)&&(y.response={body:D}),y}),p=n.paths[o];p&&(p[s]={"x-fern-examples":l})}}let a=Sr.of(`${rn(t)}/ai_examples_override.yml`);try{let o={};try{let s=await(0,WYa.readFile)(a,"utf-8"),u=qi.load(s);u&&typeof u=="object"&&(o=u)}catch{r.logger.debug("No existing ai_examples_override.yml found, creating new file")}let c={paths:{}};if(o.paths){for(let[s,u]of Object.entries(o.paths))if(u&&typeof u=="object"){c.paths[s]={};for(let[l,p]of Object.entries(u))p&&typeof p=="object"&&"x-fern-examples"in p&&(c.paths[s][l]={"x-fern-examples":p["x-fern-examples"]||[]})}}for(let[s,u]of Object.entries(n.paths)){c.paths[s]||(c.paths[s]={});for(let[l,p]of Object.entries(u))c.paths[s][l]?r.logger.debug(`Skipping ${l.toUpperCase()} ${s} - examples already exist in override file`):(c.paths[s][l]=p,r.logger.debug(`Adding new examples for ${l.toUpperCase()} ${s}`))}let d=qi.dump(c,{indent:2,lineWidth:-1,noRefs:!0});await(0,WYa.writeFile)(a,d,"utf-8"),r.logger.debug(`AI enhanced examples written to: ${a}`)}catch(o){throw r.logger.warn(`Failed to write AI examples override file: ${o}`),o}}var rtl=class{failureCount=0;failureThreshold=30;isOpen=!1;recordFailure(){this.failureCount++,this.failureCount>=this.failureThreshold&&(this.isOpen=!0)}recordSuccess(){this.failureCount=0,this.isOpen=!1}shouldSkip(){return this.isOpen}getFailureCount(){return this.failureCount}getThreshold(){return this.failureThreshold}},itl=class{progressCallback;maxConcurrency;activeRequests=new Map;pendingQueue=[];results=new Map;stats={pending:0,active:0,completed:0,failed:0,totalStarted:0};completedSinceLastCallback=[];constructor(t,r){this.progressCallback=r,this.maxConcurrency=t}async processAll(t){for(this.pendingQueue=[...t],this.stats.pending=this.pendingQueue.length,this.stats.totalStarted=this.pendingQueue.length;this.pendingQueue.length>0&&this.activeRequests.size<this.maxConcurrency;)this.startNext();for(;this.activeRequests.size>0;){let r=Array.from(this.activeRequests.entries()).map(([a,o])=>o.promise.then(c=>({id:a,result:c}))),{id:i,result:n}=await Promise.race(r);await this.handleCompletion(i,n),this.pendingQueue.length>0&&this.startNext()}return this.results}startNext(){if(this.pendingQueue.length===0||this.activeRequests.size>=this.maxConcurrency)return;let t=this.pendingQueue.shift();if(!t)return;let r=`req-${Date.now()}-${Math.random()}`,i=t(),n={id:r,promise:i,startTime:Date.now()};this.activeRequests.set(r,n),this.stats.pending=this.pendingQueue.length,this.stats.active=this.activeRequests.size}async handleCompletion(t,r){this.activeRequests.get(t)&&this.activeRequests.delete(t),r.success?(this.stats.completed++,this.results.set(r.endpointKey,{enhancedReq:r.enhancedReq,enhancedRes:r.enhancedRes,extractedHeaders:r.extractedHeaders,extractedPathParams:r.extractedPathParams,extractedQueryParams:r.extractedQueryParams})):this.stats.failed++,this.stats.active=this.activeRequests.size,this.completedSinceLastCallback.push(r),this.progressCallback&&(this.progressCallback({...this.stats},[...this.completedSinceLastCallback]),this.completedSinceLastCallback=[])}getStats(){return{...this.stats}}};function twB(e){try{try{let t=JSON.parse(e);return!!(t.openapi||t.swagger)}catch{let t=YXn(e);return!!(t?.openapi||t?.swagger)}}catch{return!1}}function mQh(e,t){if(t.includes(e))return e;for(let r of t){let i=r.replace(/\{[^}]+\}/g,"([^/]+)");if(new RegExp(`^${i}$`).test(e))return r}}function atl(e,t,r,i){try{let n=JSON.parse(e);if(!n.paths)return[];let a=Object.keys(n.paths),o=mQh(t,a);if(!o)return[];let c=n.paths[o];if(!c)return[];let d=c[r.toLowerCase()];if(!d)return[];let s=[],u=[...c.parameters??[],...d.parameters??[]];for(let l of u)"$ref"in l||l.in===i&&s.push(l.name);return s}catch{return[]}}function rwB(e,t,r){return atl(e,t,r,"header")}function iwB(e,t,r){return atl(e,t,r,"query")}function nwB(e,t,r){return atl(e,t,r,"path")}async function awB(e,t,r){try{let i;try{i=JSON.parse(e)}catch{i=YXn(e)}if(!i.openapi||!i.paths){r.logger.debug("Invalid OpenAPI spec structure, skipping pruning");return}let n=Object.keys(i.paths);r.logger.debug(`OpenAPI spec contains ${n.length} paths`);let a=[];for(let l of t){let p=mQh(l.path,n);p?(a.push({path:p,method:l.method.toLowerCase()}),r.logger.debug(`Mapped ${l.path} to OpenAPI path: ${p}`)):r.logger.debug(`No matching OpenAPI path found for ${l.path}`)}if(a.length===0){r.logger.debug("No endpoints matched in OpenAPI spec");return}let c=new VYa({document:i,endpoints:a}).prune();r.logger.debug(`Pruned OpenAPI spec for batch: ${c.statistics.originalEndpoints} \u2192 ${c.statistics.prunedEndpoints} endpoints, ${c.statistics.originalSchemas} \u2192 ${c.statistics.prunedSchemas} schemas`);let d=JSON.stringify(c.document,null,2);if(d.length>15e5){r.logger.debug(`Pruned OpenAPI spec still too large (${d.length} characters), skipping spec context for AI enhancement`);return}r.logger.debug(`Pruned spec size: ${d.length} characters (within limit)`);let s=a.map(l=>`${(l.method||"unknown").toUpperCase()}_${l.path.replace(/\//g,"_").replace(/[{}]/g,"")}`),u=`batch_${a.length}endpoints_${s.join("_").substring(0,100)}_pruned_spec.yaml`;return d}catch(i){return r.logger.debug(`Failed to prune OpenAPI spec: ${i}. Using original spec.`),e}}async function Gca(e,t,r,i,n,a,o){if(!t.enabled)return r.logger.debug("AI example enhancement is disabled"),e;try{return await owB(e,t,r,i,n,a,o)}catch(c){return r.logger.debug(`AI example enhancement failed with error: ${c}. Continuing with original API definition to prevent CLI crash.`),r.logger.debug(`Full AI enhancement error stack: ${c instanceof Error?c.stack:String(c)}`),e}}async function owB(e,t,r,i,n,a,o){let c=new e0u(t,r,i,n),d=new rtl,s,u=new Set;if(a!=null)try{let b=await(0,ntl.readFile)(a,"utf-8");if(!twB(b))return r.logger.debug("Non-OpenAPI spec detected, skipping AI example enhancement"),e;s=b,r.logger.debug(`Loaded OpenAPI spec (${b.length} characters) for AI enhancement`);let v=await ttl(a,r);try{let g=await etl({sourceFilePath:a,context:r});if(g.invalidCount>0){for(let{example:O}of g.invalidExamples){let A=`${O.method.toLowerCase()}:${O.endpointPath}`;u.add(A)}let m=await vQh({sourceFilePath:a,context:r});r.logger.info(`Removed ${m.removedCount} stale AI examples, ${u.size} endpoints will be regenerated`)}else r.logger.debug("No stale AI examples found to remove")}catch(g){r.logger.debug(`Failed to clean up stale AI examples: ${g}`)}}catch(b){r.logger.debug(`Failed to read OpenAPI spec file: ${b}`)}let l=new Set;if(a!=null){let b=await ttl(a,r);for(let v of b)u.has(v)||l.add(v);u.size>0&&r.logger.debug(`Coverage adjusted: ${b.size} total, ${l.size} preserved, ${u.size} marked for regeneration`)}let p={count:0,total:0},_=[],h=await uwB(e,c,r,n,p,_,l,u,s,a,o,d);if(_.length>0&&a!=null)try{await r0u({enhancedExamples:_,sourceFilePath:a,context:r})}catch(b){r.logger.debug(`Failed to write AI examples override file: ${b}`)}let y=AQh(h);return r.logger.debug(`AI Enhancement Summary - Total endpoints in API: ${y}, Enhanced: ${p.count}/${p.total}, Covered: ${l.size}`),h}async function uwB(e,t,r,i,n,a,o,c,d,s,u,l){let p=[];for(let[A,j]of Object.entries(e.subpackages)){let M=gQh(j,o,c,r);p.push(...M.map(w=>({...w,packageId:A})))}let _=gQh(e.rootPackage,o,c,r);p.push(..._.map(A=>({...A,packageId:"root"})));let h=AQh(e);n.total+=p.length,r.logger.debug(`AI Examples Enhancement: ${p.length} endpoints need enhancement out of ${h} total endpoints (${o.size} already covered)`),r.logger.debug(`Collected ${p.length} work items across all packages`);let y=Vca.getInstance(),b=y.create(u||"API",p.length),v={count:0,total:p.length},g=await swB(p,t,r,i,n,a,d,s,b,v,l);y.finish(b);let m={};for(let[A,j]of Object.entries(e.subpackages)){let M=OQh(j,g);m[A]=M}let O=OQh(e.rootPackage,g);return r.logger.debug(`AI Examples Enhancement Complete: ${v?.count||0}/${p.length} endpoints enhanced successfully (${h} total endpoints in API)`),{...e,subpackages:m,rootPackage:O}}function AQh(e){let t=0;t+=e.rootPackage.endpoints.length;for(let r of Object.values(e.subpackages))t+=r.endpoints.length;return t}function gQh(e,t,r,i){let n=[],a=new Set,o={totalEndpoints:e.endpoints.length,alreadyCovered:0,notAutogenerated:0,noExistingExamples:0,alreadyProcessed:0,noExamples:0,processed:0};for(let c of e.endpoints){let d=c;if(!fwB(d))for(let u of d.examples){let l=`${d.method.toLowerCase()}:${u.path}`;if(a.has(l)){o.alreadyProcessed++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: already processed in this run`);continue}let p=r?.has(l);if(!p&&t.has(l)){o.alreadyCovered++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: already covered (has AI-enhanced examples)`);continue}if(!p&&!lwB(u,i,l)){o.notAutogenerated++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: has human-written examples (not auto-generated)`);continue}let _=Wca(u.requestBodyV3),h=Wca(u.responseBodyV3);if(!p&&!_&&!h){o.noExistingExamples++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: no existing request/response examples to enhance`);continue}n.push({endpoint:d,example:u,endpointKey:l}),o.processed++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} selected for AI enhancement`),a.add(l);break}}return i&&(i.logger.debug(`Endpoint Filtering Results: ${o.processed}/${o.totalEndpoints} endpoints selected for AI enhancement`),i.logger.debug(`Filtering breakdown - Already covered: ${o.alreadyCovered}, Not auto-generated: ${o.notAutogenerated}, No existing examples: ${o.noExistingExamples}, No examples at all: ${o.noExamples}, Already processed: ${o.alreadyProcessed}, Selected: ${o.processed}`)),n}async function swB(e,t,r,i,n,a,o,c,d,s,u){let l=parseInt(process.env.FERN_AI_MAX_CONCURRENT||"25",10);if(r.logger.debug(`Processing ${e.length} endpoints with max ${l} concurrent Lambda calls using rolling window queue`),u?.shouldSkip())return r.logger.debug(`Circuit breaker is open after ${u.getFailureCount()} failures (threshold: ${u.getThreshold()}). Skipping AI enhancement for remaining endpoints.`),new Map;let p=0,_=0,h=Math.max(10,Math.floor(e.length/20)),y=(O,A)=>{if(d&&s&&Vca.getInstance().update(d,O.completed),u?.shouldSkip()){r.logger.debug(`Circuit breaker opened during processing. Processed ${O.completed} endpoints.`);return}c&&a.length>0&&O.completed-_>=h&&(r0u({enhancedExamples:a,sourceFilePath:c,context:r}).then(()=>{r.logger.debug(`Saved ${a.length} examples after ${O.completed} completions`)}).catch(M=>{r.logger.debug(`Failed to save incremental results: ${M}`)}),_=O.completed)},b=e.map((O,A)=>async()=>{try{if(u?.shouldSkip())return{endpointKey:O.endpointKey,success:!1,error:"Circuit breaker is open"};let j=await cwB(O,t,r,i,n,a,o,c,d,s,A+1,u);return j?{endpointKey:j.endpointKey,enhancedReq:j.enhancedReq,enhancedRes:j.enhancedRes,extractedHeaders:j.extractedHeaders,extractedPathParams:j.extractedPathParams,extractedQueryParams:j.extractedQueryParams,success:!0}:{endpointKey:O.endpointKey,success:!1,error:"processEndpoint returned null"}}catch(j){return r.logger.debug(`Work item factory error for ${O.endpointKey}: ${j}`),{endpointKey:O.endpointKey,success:!1,error:String(j)}}}),v=new itl(l,y),g=await v.processAll(b);if(c&&a.length>0)try{await r0u({enhancedExamples:a,sourceFilePath:c,context:r}),r.logger.debug(`Final save: ${a.length} examples saved`)}catch(O){r.logger.debug(`Failed to save final results: ${O}`)}let m=v.getStats();return r.logger.debug(`Completed processing: ${m.completed} succeeded, ${m.failed} failed`),g}async function cwB(e,t,r,i,n,a,o,c,d,s,u,l){let p=e.endpointKey;r.logger.debug(`Processing endpoint ${u}: ${e.endpoint.method} ${e.example.path}`);let _;o&&(_=await awB(o,[{path:e.example.path,method:e.endpoint.method}],r));let h={method:e.endpoint.method,endpointPath:e.example.path,organizationId:i,operationSummary:e.endpoint.summary,operationDescription:e.endpoint.description,originalRequestExample:Wca(e.example.requestBodyV3),originalResponseExample:Wca(e.example.responseBodyV3),pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,openApiSpec:_};try{let y=await t.enhanceExample(h);l?.recordSuccess();let b=y.enhancedRequestExample!==h.originalRequestExample,v=y.enhancedResponseExample!==h.originalResponseExample;if(b||v){let g=_?rwB(_,e.example.path,e.endpoint.method):[],m=_?iwB(_,e.example.path,e.endpoint.method):[],O=_?nwB(_,e.example.path,e.endpoint.method):[],A={...e.example.headers??{}};if(g.length>0)for(let $ of g)$ in A||(A[$]="");let j={};for(let $ of m)j[$]=e.example.queryParameters?.[$]??"";let M={};for(let $ of O)M[$]=e.example.pathParameters?.[$]??"";let w=hYi(y.enhancedRequestExample),{filteredBody:D,extractedPathParams:B,extractedQueryParams:R,extractedHeaders:T}=kju(w,M,j,A),q={...e.example.headers??{}};for(let[$,de]of Object.entries(T))de!=null&&de!==""&&(q[$]=de);let z={...e.example.pathParameters??{}};for(let[$,de]of Object.entries(B))de!=null&&de!==""&&(z[$]=de);let N={...e.example.queryParameters??{}};for(let[$,de]of Object.entries(R))de!=null&&de!==""&&(N[$]=de);let H={endpoint:e.example.path,method:e.endpoint.method,pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,requestBody:b?y.enhancedRequestExample:void 0,responseBody:v?y.enhancedResponseExample:void 0,headerParameterNames:g.length>0?g:void 0,queryParameterNames:m.length>0?m:void 0,pathParameterNames:O.length>0?O:void 0};return a.push(H),n.count++,s&&s.count++,r.logger.debug(`Successfully enhanced ${e.endpoint.method} ${e.example.path}`),d&&s&&Vca.getInstance().update(d,s.count),{endpointKey:p,enhancedReq:D,enhancedRes:y.enhancedResponseExample,extractedHeaders:Object.keys(q).length>0?q:void 0,extractedPathParams:Object.keys(z).length>0?z:void 0,extractedQueryParams:Object.keys(N).length>0?N:void 0}}return r.logger.debug(`No changes needed for ${e.endpoint.method} ${e.example.path}`),{endpointKey:p,enhancedReq:y.enhancedRequestExample,enhancedRes:y.enhancedResponseExample}}catch(y){l?.recordFailure(),r.logger.debug(`Endpoint ${e.endpoint.method} ${e.example.path} failed: ${y}`)}return r.logger.debug(`Failed to enhance ${e.endpoint.method} ${e.example.path}`),null}function OQh(e,t){let r=e.endpoints.map(i=>{let n=i,a=n.examples.map(o=>{let c=`${n.method.toLowerCase()}:${o.path}`,d=t.get(c);if(d){let s={...o};if(d.enhancedReq!==void 0)if(s.requestBody=d.enhancedReq,o.requestBodyV3)if(typeof o.requestBodyV3.value=="object"&&o.requestBodyV3.value!==null&&!Array.isArray(o.requestBodyV3.value)&&Object.values(o.requestBodyV3.value).some(l=>Zel(l))){let l=d.enhancedReq,p=o.requestBodyV3.value,_={};for(let[h,y]of Object.entries(p))h in l?_[h]={...y,value:l[h]}:_[h]=y;s.requestBodyV3={...o.requestBodyV3,value:_}}else s.requestBodyV3={...o.requestBodyV3,value:d.enhancedReq};else s.requestBodyV3={type:"json",value:d.enhancedReq};return d.enhancedRes!==void 0&&(s.responseBody=d.enhancedRes,s.responseBodyV3=o.responseBodyV3?{...o.responseBodyV3,value:d.enhancedRes}:{type:"json",value:d.enhancedRes}),d.extractedHeaders!==void 0&&(s.headers={...o.headers??{},...d.extractedHeaders}),d.extractedPathParams!==void 0&&(s.pathParameters={...o.pathParameters??{},...d.extractedPathParams}),d.extractedQueryParams!==void 0&&(s.queryParameters={...o.queryParameters??{},...d.extractedQueryParams}),s}return o});return{...i,examples:a}});return{...e,endpoints:r}}function lwB(e,t,r){let n=Wca(e.requestBodyV3),a=Wca(e.responseBodyV3),o=i0u(n,t,`${r}:request`),c=i0u(a,t,`${r}:response`),d=o.total+c.total,s=o.autogenerated+c.autogenerated;if(d===0)return!0;let u=s/d,l=u>=.3;return t&&r&&(l?t.logger.debug(`Endpoint ${r} considered auto-generated: ${s}/${d} (${(u*100).toFixed(1)}%) values are generic`):t.logger.debug(`Endpoint ${r} flagged as human-written: only ${s}/${d} (${(u*100).toFixed(1)}%) values are generic (threshold: ${.3*100}%)`)),l}function i0u(e,t,r){if(e==null)return{autogenerated:0,total:0};if(typeof e=="string"){let i=e===xn.STRING||e===xn.BASE64||e===xn.DATE||e===xn.DATE_TIME||e===xn.UUID||e===xn.BIG_INTEGER||xn.SAMPLE_STRINGS.includes(e)||e==="";return!i&&t&&r&&t.logger.debug(`Non-generic string found at ${r}: "${e}"`),{autogenerated:i?1:0,total:1}}if(typeof e=="number"){let i=e===xn.DOUBLE||e===xn.FLOAT||e===xn.INT||e===xn.INT64||e===xn.UINT||e===xn.UINT64||e===0;return!i&&t&&r&&t.logger.debug(`Non-generic number found at ${r}: ${e}`),{autogenerated:i?1:0,total:1}}if(typeof e=="boolean"){let i=e===xn.BOOLEAN;return!i&&t&&r&&t.logger.debug(`Non-generic boolean found at ${r}: ${e}`),{autogenerated:i?1:0,total:1}}if(Array.isArray(e)){if(e.length===0)return{autogenerated:0,total:0};let i=0,n=0;return e.forEach((a,o)=>{let c=i0u(a,t,r?`${r}[${o}]`:void 0);i+=c.autogenerated,n+=c.total}),{autogenerated:i,total:n}}if(typeof e=="object"){let i=0,n=0;return Object.entries(e).forEach(([a,o])=>{let c=i0u(o,t,r?`${r}.${a}`:void 0);i+=c.autogenerated,n+=c.total}),{autogenerated:i,total:n}}return t&&r&&t.logger.debug(`Unknown type at ${r}: ${typeof e} = ${e}`),{autogenerated:0,total:1}}function fwB(e){try{let t=e;if(t.v2Examples?.userSpecifiedExamples&&typeof t.v2Examples.userSpecifiedExamples=="object"){let r=t.v2Examples.userSpecifiedExamples;return Object.keys(r).length>0}if(t.v2Responses?.responses){for(let r of t.v2Responses.responses)if(r.body?.v2Examples?.userSpecifiedExamples&&typeof r.body.v2Examples.userSpecifiedExamples=="object"){let i=r.body.v2Examples.userSpecifiedExamples;if(Object.keys(i).length>0)return!0}}return!1}catch{return!1}}function Wca(e){if(e)switch(e.type){case"json":case"stream":case"sse":return e.value;case"filename":return;default:return e.value}}function PQh({auth:e,playgroundConfig:t,context:r}){if(e.schemes.length>0&&e.schemes[0]!=null){let i=e.schemes[0];return jQh({scheme:i,playgroundConfig:t,context:r})}}function jQh({scheme:e,playgroundConfig:t,context:r}){switch(e.type){case"basic":return{type:"basicAuth",passwordName:e.password.originalName,usernameName:e.username.originalName,description:e.docs};case"bearer":return{type:"bearerAuth",tokenName:e.token.originalName,description:e.docs};case"header":return{type:"header",headerWireValue:e.name.wireValue,nameOverride:e.name.name.originalName,prefix:e.prefix,description:e.docs};case"oauth":{let i=e.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(n=>n.name.originalName).join(".")||"$.body.access_token";return t?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:ni.EndpointId(e.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:ni.JqString(i),headerName:e.configuration.tokenHeader,tokenPrefix:e.configuration.tokenPrefix,description:e.docs}}}:{type:"bearerAuth",tokenName:"token",description:e.docs}}case"inferred":{e.tokenEndpoint.authenticatedRequestHeaders.length>1&&r.logger.warn("Inferred auth scheme has multiple authenticated request headers. Only the `Authentication` or first header will be pushed to FDR.");let i=e.tokenEndpoint.authenticatedRequestHeaders.find(a=>a.headerName.toLowerCase()==="authorization");if(i)return i.responseProperty.propertyPath!=null&&i.responseProperty.propertyPath.length>0&&r.logger.warn("Inferred Authentication header has a property path. The property wirevalue will be pushed to FDR without property path."),{type:"bearerAuth",tokenName:i.responseProperty.property.name.wireValue,description:e.docs};let n=e.tokenEndpoint.authenticatedRequestHeaders[0];return n?{type:"header",headerWireValue:n.headerName,prefix:n.valuePrefix,nameOverride:void 0,description:e.docs}:{type:"bearerAuth",tokenName:"token",description:e.docs}}default:vt(e)}}function wQh({auth:e,playgroundConfig:t,context:r}){let i={};for(let n of e.schemes){let a=jQh({scheme:n,playgroundConfig:t,context:r});a!=null&&(i[ni.AuthSchemeId(n.key)]=a)}return i}function SQh(e){return e._visit({alias:t=>({type:"alias",value:tb(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:RM(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>ni.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:ni.PropertyKey(r.name.wireValue),valueType:tb(r.valueType),availability:RM(r.availability),propertyAccess:r.propertyAccess})),extraProperties:bwB(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),availability:RM(i.availability),description:i.docs,propertyAccess:i.propertyAccess}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?RM(i.availability):void 0,additionalProperties:Ar.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[ni.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:ni.PropertyKey(n.name.wireValue),valueType:tb(n.type),description:void 0,availability:void 0,propertyAccess:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:tb(r.type),availability:void 0,displayName:r.type.type==="named"?r.type.displayName??r.type.name.originalName:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function tb(e){return e._visit({container:t=>Ar.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:tb(r),minItems:void 0,maxItems:void 0}),map:({keyType:r,valueType:i})=>({type:"map",keyType:tb(r),valueType:tb(i),minProperties:void 0,maxProperties:void 0}),optional:r=>({type:"optional",itemType:tb(r),defaultValue:void 0}),nullable:r=>({type:"nullable",itemType:tb(r)}),set:r=>({type:"set",itemType:tb(r),minItems:void 0,maxItems:void 0}),literal:r=>Ar.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:ni.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:Ar.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>pwB(t.v2),float:()=>EQh(t.v2),double:()=>EQh(t.v2),string:()=>dwB(t.v2),long:()=>_wB(t.v2),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>hwB(t.v2),uint64:()=>ywB(t.v2),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function dwB(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function pwB(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="integer"?e.default:void 0}}function EQh(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="double"?e.default:void 0}}function _wB(e){let t=e!=null&&e.type==="long"?e.validation:void 0;return{type:"long",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="long"?e.default:void 0}}function hwB(e){let t=e!=null&&e.type==="uint"?e.validation:void 0;return{type:"uint",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="uint"?e.default:void 0}}function ywB(e){let t=e!=null&&e.type==="uint64"?e.validation:void 0;return{type:"uint64",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="uint64"?e.default:void 0}}function bwB(e){return typeof e=="boolean"?e?ii.unknown():void 0:typeof e=="string"?{type:"id",value:ni.TypeId(e),default:void 0}:tb(e)}function stl(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?gwB(r,t):[],webhooks:i!=null?vwB(i):[],websockets:n!=null?[OwB(n,t)]:[],types:e.types.map(a=>ni.TypeId(a)),subpackages:e.subpackages.map(a=>ni.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?ni.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function vwB(e){return e.map(t=>{let r=[];if(t.v2Examples!=null){for(let[i,n]of Object.entries(t.v2Examples.userSpecifiedExamples))r.push({payload:n.payload});for(let[i,n]of Object.entries(t.v2Examples.autogeneratedExamples))r.push({payload:n.payload})}else r.push(...t.examples?.map(i=>({payload:i.payload.jsonExample}))??[]);return{description:t.docs??void 0,id:ni.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??qfn(t.name.originalName),headers:t.headers.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:tb(i.valueType),availability:RM(i.availability)})),payload:DwB(t.payload,t.fileUploadPayload),examples:r,responses:t.responses?.map(utl).filter(us)}})}function gwB(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.v2Examples!=null){let c,d=i.v2Examples.userSpecifiedExamples,s=i.v2Examples.autogeneratedExamples,u=Object.values(d).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(d))c=DQh({shouldUseExampleName:u,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c);let l=Object.values(s).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(s))c=DQh({shouldUseExampleName:l,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c)}else if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(c=>otl({userSpecifiedExample:c,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(us));else if(n!=null){let c=otl({autogeneratedExample:n,irEndpoint:i,ir:t});c!=null&&a.push(c)}else if(i.response?.body?.type==="fileDownload"){let c=voa({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(c.type==="success"){let d=otl({autogeneratedExample:c,irEndpoint:i,ir:t});if(d!=null){let s={...d,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let o={slug:void 0,availability:RM(i.availability??e.availability),auth:i.auth,authV2:mwB(i.security),multiAuth:AwB(i.security),description:i.docs??void 0,method:EwB(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?ni.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?PwB({environmentsConfig:t.environments,endpoint:i}):void 0,id:ni.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??qfn(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(c=>({description:c.docs??void 0,key:ni.PropertyKey(c.name.originalName),type:tb(c.valueType),availability:void 0,explode:c.explode})),parts:[...xca(i.basePath),...xca(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(c=>({description:c.docs??void 0,key:ni.PropertyKey(c.name.originalName),type:tb(c.valueType),availability:void 0,explode:c.explode})),parts:[...t.basePath!=null?xca(t.basePath):[],...xca(e.basePath),...xca(i.path)]},queryParameters:i.queryParameters.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability),explode:c.explode})),headers:[...e.headers,...i.headers].map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability)})),responseHeaders:i.responseHeaders?.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability)})),request:i.requestBody!=null?MQh(i.requestBody):void 0,requestsV2:{requests:i.v2RequestBodies?.requestBodies?.map(MQh).filter(us)},response:i.response!=null?utl(i.response):void 0,responsesV2:{responses:i.v2Responses?.responses?.map(utl).filter(us)},errors:void 0,errorsV2:SwB(i.errors,t),examples:a,protocol:i.source?._visit({openapi:()=>({type:"rest"}),openrpc:()=>({type:"openrpc",methodName:i.id}),proto:c=>({type:"grpc",methodName:i.id,methodType:c.methodType}),_other:()=>{}}),includeInApiExplorer:i.apiPlayground};r.push(o)}return r}function OwB(e,t){let r=[];if(e.v2Examples!=null&&(Object.keys(e.v2Examples.userSpecifiedExamples).length>0||Object.keys(e.v2Examples.autogeneratedExamples).length>0)){let i=Object.entries(e.v2Examples.userSpecifiedExamples),n=Object.entries(e.v2Examples.autogeneratedExamples),a=i.length>0?i[0]:n[0];if(a!=null){let[o,c]=a;r.push({name:o,description:"",path:c.baseUrl??"",pathParameters:c.pathParameters??{},queryParameters:c.queryParameters??{},headers:c.headers??{},messages:c.messages?.map(d=>({type:ni.api.v1.WebSocketMessageId(d.type),body:d.body}))??[]})}}else r=e.examples.map(i=>({name:i.name?.originalName,description:i.docs,path:i.url,pathParameters:i.pathParameters.reduce((n,a)=>(n[ni.PropertyKey(a.name.originalName)]=a.value.jsonExample,n),{}),queryParameters:i.queryParameters.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),headers:i.headers.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),messages:i.messages.map(n=>({type:ni.api.v1.WebSocketMessageId(n.type),body:n.body.jsonExample}))}));return{auth:e.auth,availability:RM(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?ni.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?jwB({environmentsConfig:t.environments,channel:e}):[],id:ni.WebSocketId(e.name.originalName),name:e.displayName??qfn(e.name.originalName),path:{pathParameters:e.pathParameters.map(i=>({description:i.docs??void 0,key:ni.PropertyKey(i.name.originalName),type:tb(i.valueType),availability:void 0,explode:i.explode})),parts:xca(e.path)},headers:e.headers.map(i=>({key:i.name.wireValue,type:tb(i.valueType),description:i.docs,availability:RM(i.availability)})),queryParameters:e.queryParameters.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:tb(i.valueType),availability:RM(i.availability),explode:i.explode})),messages:e.messages.map(i=>({type:ni.api.v1.WebSocketMessageId(i.type),displayName:i.displayName,origin:i.origin,body:IwB(i.body),description:i.docs,availability:RM(i.availability)})),examples:r}}function mwB(e){if(e==null)return;if(e.length===0)return[];let t=new Set(e.flatMap(r=>Object.keys(r)));return Array.from(t).map(r=>ni.AuthSchemeId(r))}function AwB(e){if(e!=null)return e.length===0?[]:e.map(t=>({schemes:Object.keys(t).map(r=>ni.AuthSchemeId(r))}))}function RM(e){if(e!=null)switch(e.status){case"DEPRECATED":return ni.Availability.Deprecated;case"PRE_RELEASE":return ni.Availability.Beta;case"GENERAL_AVAILABILITY":return ni.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return ni.Availability.Beta;default:vt(e.status)}}function PwB({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl,n=t.v2BaseUrls;switch(r.type){case"singleBaseUrl":return r.environments.map(a=>({id:ni.EnvironmentId(a.id),baseUrl:a.url}));case"multipleBaseUrls":if(n!=null)return n.flatMap(o=>r.environments.map(c=>{let d=c.urls[o];if(d==null)throw new Error(`Encountered undefined server name "${o}" at endpoint ${t.method.toUpperCase()} ${t.path}. Expected environment ${c.id} to contain url for ${o}`);return{id:ni.EnvironmentId(o),baseUrl:d}})).filter((o,c,d)=>c===d.findIndex(s=>s.id===o.id&&s.baseUrl===o.baseUrl));if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(a=>{let o=a.urls[i];if(o==null)throw new Error(`Encountered undefined server name "${i}" at endpoint ${t.method.toUpperCase()} ${t.path.head}. Expected environment ${a.id} to contain url for ${i}`);return{id:ni.EnvironmentId(a.id),baseUrl:o}});default:vt(r)}}function jwB({environmentsConfig:e,channel:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:ni.EnvironmentId(n.id),baseUrl:wwB(n.url,"wss")}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected channel ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Encountered undefined server name ${a} at channel ${t.name.originalName} ${t.path.head}. Expected environment ${n.id} to contain url for ${i}`);return{id:ni.EnvironmentId(n.id),baseUrl:a}});default:vt(r)}}function wwB(e,t){return e.replace(/^[^:]+/,t)}function EwB(e){return Ar.http.HttpMethod._visit(e,{get:()=>ni.HttpMethod.Get,post:()=>ni.HttpMethod.Post,put:()=>ni.HttpMethod.Put,patch:()=>ni.HttpMethod.Patch,delete:()=>ni.HttpMethod.Delete,head:()=>ni.HttpMethod.Head,_other:()=>{throw new Error("Unknown http method: "+e)}})}function xca(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:ni.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function MQh(e){let t=Ar.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??tm.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>ni.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),availability:RM(i.availability),propertyAccess:i.propertyAccess})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??tm.APPLICATION_JSON,shape:{type:"reference",value:tb(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:o=>({type:"file",key:ni.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),fileArray:o=>({type:"fileArray",key:ni.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:ni.PropertyKey(n.name.wireValue),valueType:tb(n.valueType),contentType:n.contentType,description:n.docs??void 0,availability:RM(n.availability),exploded:n.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(us)},contentType:r.contentType,description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function utl(e){let t=e.docs,r;return e.body!=null&&(r=Ar.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:tb(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:tb(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:tb(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}})),r!=null?{type:r,statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t}:e.statusCode!=null?{statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t,type:{type:"object",extends:[],properties:[],extraProperties:void 0}}:void 0}function SwB(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:tb(n.type)},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,name:n.displayName??n.name.name.originalName,availability:void 0,examples:CwB(n,t),headers:n.headers!=null&&n.headers.length>0?n.headers.map(a=>({description:a.docs??void 0,key:a.name.wireValue,type:tb(a.valueType),availability:RM(a.availability)})):void 0})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:ni.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0,propertyAccess:void 0}];n.type!=null&&a.push({key:ni.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:tb(n.type),description:n.docs,availability:void 0,propertyAccess:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,availability:void 0,name:n.displayName??n.name.name.originalName,examples:n.examples.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs})),headers:n.headers!=null&&n.headers.length>0?n.headers.map(o=>({description:o.docs??void 0,key:o.name.wireValue,type:tb(o.valueType),availability:RM(o.availability)})):void 0})}}return r}function DQh({shouldUseExampleName:e,exampleName:t,example:r,irEndpoint:i,irService:n,ir:a}){if(r==null)return;let o=s=>{if(s.valueType.type==="container"&&s.valueType.container.type==="literal")return s.valueType.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}});if(s.valueType.type==="container"&&s.valueType.container.type==="optional"&&s.valueType.container.optional.type==="container"&&s.valueType.container.optional.container.type==="literal")return s.valueType.container.optional.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}})},c={};a.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),n.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),i.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)});let d=r.response?.body!=null?r.response.body.value:void 0;return{name:e?t:void 0,description:"",path:r.request?.endpoint.path??"",pathParameters:r.request?.pathParameters??{},queryParameters:r.request?.queryParameters??{},headers:(()=>{let u={...r.request?.headers??{}};for(let[l,p]of Object.entries(c))(u[l]===null||u[l]===void 0)&&(u[l]=p);return u})(),requestBody:r.request?.requestBody,requestBodyV3:i.requestBody?._visit({inlinedRequestBody:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,reference:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,fileUpload:s=>{if(r.request==null)return;let u={};if(yl(r.request.requestBody)){let l=r.request.requestBody;for(let p of s.properties)p._visit({file:_=>{let h=l[_.key.wireValue];if(_.type==="file")u[_.key.wireValue]={type:"filename",value:typeof h=="string"?h:"<file1>"};else if(_.type==="fileArray"){let y=(Array.isArray(h)?h:[h]).filter(b=>typeof b=="string");u[_.key.wireValue]={type:"filenames",value:y}}},bodyProperty:_=>{if(_.style==="exploded"){let h=l[_.name.wireValue];u[_.name.wireValue]={type:"exploded",value:Array.isArray(h)?h:[h]}}else u[_.name.wireValue]={type:"json",value:l[_.name.wireValue]}},_other:Zje})}return{type:"form",value:u}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??i.response?.statusCode??200,responseBody:d??void 0,responseBodyV3:d!=null?r.response?.body?._visit({json:s=>({type:"json",value:s}),stream:s=>Array.isArray(s)&&s.length>0&&s.every(MwB)?{type:"sse",value:s}:{type:"stream",value:s},error:()=>{},_other:()=>{throw new Error("Unknown ExampleResponseBody: "+r.response?.body?.type)}}):void 0,codeSamples:r.codeSamples?.map(s=>({name:s.name,description:s.docs??void 0,install:void 0,language:s.language,code:s.code})).filter(us)}}function MwB(e){return typeof e=="object"&&e!==null&&"event"in e&&typeof e?.event=="string"&&"data"in e}function otl({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(c=>{let d;if(c.valueType.type==="container"&&c.valueType.container.type==="literal"?d=c.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):c.valueType.type==="container"&&c.valueType.container.type==="optional"&&c.valueType.container.optional.type==="container"&&c.valueType.container.optional.container.type==="literal"&&(d=c.valueType.container.optional.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}})),d!=null)return{name:c.name,value:{jsonExample:d,shape:Ar.ExampleTypeReferenceShape.primitive(Ar.ExamplePrimitive.string({original:d}))}}}).filter(us),a=e?.example??t?.example;if(a==null)return;let{codeSamples:o}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((c,d)=>(c[ni.PropertyKey(d.name.originalName)]=d.value.jsonExample,c),{}),queryParameters:a.queryParameters.reduce((c,d)=>(c[d.name.wireValue]=d.value.jsonExample,c),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((c,d)=>(c[d.name.wireValue]=d.value.jsonExample,c),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:c=>{if(a.request==null)return;let d={};if(yl(a.request.jsonExample)){let s=a.request.jsonExample;for(let u of c.properties)u._visit({file:l=>{let p=s[l.key.wireValue];if(l.type==="file")d[l.key.wireValue]={type:"filename",value:typeof p=="string"?p:"<file1>"};else if(l.type==="fileArray"){let _=(Array.isArray(p)?p:[p]).filter(h=>typeof h=="string");d[l.key.wireValue]={type:"filenames",value:_}}},bodyProperty:l=>{if(l.style==="exploded"){let p=s[l.name.wireValue];d[l.name.wireValue]={type:"exploded",value:Array.isArray(p)?p:[p]}}else d[l.name.wireValue]={type:"json",value:s[l.name.wireValue]}},_other:Zje})}return{type:"form",value:d}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??Ar.http.ExampleResponse._visit(a.response,{ok:c=>c._visit({body:d=>d!=null?200:204,stream:d=>d.length>0?200:204,sse:d=>d.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:({error:c})=>{let d=i.errors[c.errorId];if(d==null)throw new Error("Cannot find error "+c.errorId);return d.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:c=>c._visit({body:d=>d?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:c=>c.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:c=>c._visit({body:d=>d!=null?{type:"json",value:d.jsonExample}:void 0,stream:d=>({type:"stream",value:d.map(s=>s.jsonExample)}),sse:d=>({type:"sse",value:d.map(({event:s,data:u})=>({event:s,data:u.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:c=>c.body!=null?{type:"json",value:c.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:o?.map(c=>$ve._visit(c,{language:d=>({language:d.language,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:d.install}),sdk:d=>({language:d.sdk,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:void 0}),_other:()=>{}})).filter(us)}}function DwB(e,t){return t!=null?{type:{type:"formData",name:t.name.originalName,description:t.docs??void 0,availability:void 0,properties:t.properties.map(r=>r._visit({file:i=>{let n=i._visit({file:a=>({type:"file",key:ni.PropertyKey(a.key.wireValue),isOptional:a.isOptional,contentType:a.contentType,description:a.docs??void 0,availability:void 0}),fileArray:a=>({type:"fileArray",key:ni.PropertyKey(a.key.wireValue),isOptional:a.isOptional,contentType:a.contentType,description:a.docs??void 0,availability:void 0}),_other:()=>{}});if(n!=null)return{type:"file",value:n}},bodyProperty:i=>({type:"bodyProperty",key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),contentType:i.contentType,description:i.docs??void 0,availability:RM(i.availability),exploded:i.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(us)},description:t.docs??void 0}:BwB(e)}function BwB(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>ni.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ni.PropertyKey(t.name.wireValue),valueType:tb(t.valueType),availability:RM(t.availability),propertyAccess:void 0})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:tb(e.payloadType)},description:e.docs};default:vt(e)}}function IwB(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>ni.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ni.PropertyKey(t.name.wireValue),valueType:tb(t.valueType),availability:RM(t.availability),propertyAccess:void 0})),extraProperties:void 0};case"reference":return{type:"reference",value:tb(e.bodyType)};default:vt(e)}}function CwB(e,t){let r=e.v2Examples?.userSpecifiedExamples,i=e.v2Examples?.autogeneratedExamples,n=e.examples;if(r!=null&&Object.keys(r).length>0)return Object.entries(r).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(i!=null&&Object.keys(i).length>0)return Object.entries(i).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(n.length>0)return n.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs}));let a=qwB(e,t);return a!=null?[a]:[]}function qwB(e,t){if(e.type==null||e.type.type!=="named")return;let r=e.type.typeId,i=t.types[r];if(i==null||i.shape.type!=="object")return;let n={},a=!1;for(let o of i.shape.properties){let c=o.name.wireValue,d=o.v2Examples;if(d?.userSpecifiedExamples!=null){let s=Object.values(d.userSpecifiedExamples);if(s.length>0){n[c]=s[0],a=!0;continue}}if(d?.autogeneratedExamples!=null){let s=Object.values(d.autogeneratedExamples);if(s.length>0){n[c]=s[0];continue}}}if(a)return{name:void 0,responseBody:{type:"json",value:n},description:void 0}}function Cx({ir:e,snippetsConfig:t,playgroundConfig:r,context:i}){let n={types:{},subpackages:{},rootPackage:stl(e.rootPackage,e),apiName:e.apiName.originalName,auth:PQh({auth:e.auth,playgroundConfig:r,context:i}),authSchemes:wQh({auth:e.auth,playgroundConfig:r,context:i}),snippetsConfiguration:t,globalHeaders:e.headers.map(a=>({availability:RM(a.availability),description:a.docs??void 0,key:a.name.wireValue,type:tb(a.valueType)})),navigation:void 0};for(let[a,o]of Object.entries(e.types))n.types[ni.TypeId(a)]={description:o.docs??void 0,name:o.name.name.originalName,shape:SQh(o.shape),availability:RM(o.availability),displayName:o.name.displayName};for(let[a,o]of Object.entries(e.subpackages)){let c=o.service!=null?e.services[o.service]:void 0;n.subpackages[ni.api.v1.SubpackageId(a)]={subpackageId:ni.api.v1.SubpackageId(a),displayName:c?.displayName??o.displayName,name:o.name.originalName,description:o.docs??void 0,...stl(o,e)}}return n}async function ctl({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:o,aiEnhancerConfig:c}){let d=ES({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new wS(r,t)}),s=D3t({token:i.value}),u=Cx({ir:d,snippetsConfig:a,playgroundConfig:o,context:r});if(c){let h=t.getSources().find(y=>y.type==="openapi")?.absoluteFilePath;u=await Gca(u,c,r,i,e,h,d.apiName.originalName)}let l=await s.api.v1.register.registerApiDefinition({orgId:ni.OrgId(e),apiId:ni.ApiId(d.apiName.originalName),definition:u});if(l.ok)return r.logger.debug(`Registered API Definition ${l.body.apiDefinitionId}`),{id:l.body.apiDefinitionId,ir:d};switch(l.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",l.error)}}var TwB=new t6o({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function GYa({ir:e,apiDefinitionId:t,playgroundConfig:r,context:i}){return r6o(k5o(Cx({ir:e,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:r,context:i}),C4.ApiDefinitionId(t),TwB))}var BQh=ue(require("path"),1);async function Ege({iconPath:e,filepaths:t}){e!=null&&typeof e=="string"&&BQh.default.isAbsolute(e)&&t.add(e)}async function IQh({parsedDocsConfig:e}){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.navigation.type==="productgroup"&&e.navigation.products.forEach(i=>{i.image!=null&&t.add(i.image)}),(await ltl({navigation:e.navigation})).forEach(i=>{t.add(i)}),e.navbarLinks&&await Promise.all(e.navbarLinks.map(async i=>{i.type==="dropdown"&&i.links.map(async n=>{n.icon&&await Ege({iconPath:n.icon,filepaths:t}),n.rightIcon&&await Ege({iconPath:n.rightIcon,filepaths:t})}),i.type!=="github"&&(i.icon&&await Ege({iconPath:i.icon,filepaths:t}),i.rightIcon&&await Ege({iconPath:i.rightIcon,filepaths:t}))})),e.js!=null&&e.js.files.forEach(i=>{t.add(i.absolutePath)}),e.pageActions?.options?.custom!=null&&await Promise.all(e.pageActions.options.custom.map(async i=>{i.icon!=null&&await Ege({iconPath:i.icon,filepaths:t})})),t}async function ltl({navigation:e}){let t=new Set;switch(e.type){case"untabbed":await Promise.all(e.items.map(r=>Hca({item:r,filepaths:t})));break;case"tabbed":await Promise.all(e.items.map(async r=>{r.icon!=null&&await Ege({iconPath:r.icon,filepaths:t}),r.child.type==="layout"&&r.child.layout!=null?await Promise.all(r.child.layout.map(i=>Hca({item:i,filepaths:t}))):r.child.type==="variants"&&r.child.variants!=null&&await Promise.all(r.child.variants.flatMap(i=>{let n=[];return i.icon!=null&&n.push(Ege({iconPath:i.icon,filepaths:t})),n.push(...i.layout.map(a=>Hca({item:a,filepaths:t}))),n}))}));break;case"versioned":await Promise.all(e.versions.map(async r=>{r.landingPage!=null&&await Hca({item:r.landingPage,filepaths:t}),(await ltl({navigation:r.navigation})).forEach(n=>t.add(n))}));break;case"productgroup":await Promise.all(e.products.map(async r=>{r.icon!=null&&await Ege({iconPath:r.icon,filepaths:t}),r.type==="internal"&&(r.landingPage!=null&&await Hca({item:r.landingPage,filepaths:t}),(await ltl({navigation:r.navigation})).forEach(n=>t.add(n)))}));break}return t}async function Hca({item:e,filepaths:t}){switch(e.type){case"page":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"section":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t}),await Promise.all(e.contents.map(r=>Hca({item:r,filepaths:t})));break;case"apiSection":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"link":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"changelog":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"pythonDocsSection":break}}async function CQh({navigation:e,apiWorkspaces:t,visitor:r,context:i}){zwB(e)?await Promise.all(e.map(async n=>{NwB(n)?await Promise.all(n.layout.map(async a=>{await n0u({navigationItem:a,visitor:r,apiWorkspaces:t,context:i})})):FwB(n)&&await Promise.all(n.variants.flatMap(a=>a.layout.map(async o=>{await n0u({navigationItem:o,visitor:r,apiWorkspaces:t,context:i})})))})):await Promise.all(e.map(async n=>{await n0u({navigationItem:n,visitor:r,apiWorkspaces:t,context:i})}))}async function n0u({navigationItem:e,visitor:t,apiWorkspaces:r,context:i}){if(await nVt(e,{alphabetized:It,api:It,apiName:It,audiences:It,displayErrors:It,tagDescriptionPages:It,snippets:It,summary:It,title:It,layout:It,collapsed:It,icon:It,slug:It,hidden:It,skipSlug:It,paginated:It,playground:It,flattened:It,path:It,page:It,featureFlag:It,openrpc:It,postman:It,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await n0u({navigationItem:a,visitor:t,apiWorkspaces:r,context:i})}))},viewers:It,orphaned:It,availability:It}),RwB(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function RwB(e){return e.api!=null}function zwB(e){return e[0]?.tab!=null}function NwB(e){return"layout"in e&&Array.isArray(e.layout)}function FwB(e){return"variants"in e&&Array.isArray(e.variants)}function qx(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}TQh.default.extend(RQh.default);var QwB=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),qQh=0,UwB=async({ir:e})=>(qQh++,`${e.apiName.snakeCase.unsafeName}-${qQh}`),Z8t=class{domain;docsWorkspace;ossWorkspaces;apiWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;targetAudiences;constructor({domain:t,docsWorkspace:r,ossWorkspaces:i,apiWorkspaces:n,taskContext:a,editThisPage:o,uploadFiles:c=QwB,registerApi:d=UwB,targetAudiences:s}){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.apiWorkspaces=n,this.taskContext=a,this.editThisPage=o,this.uploadFiles=c,this.registerApi=d,this.targetAudiences=s}#e=Yju.init();shouldIncludeByAudience(t){return!t||t.length===0||!this.targetAudiences||this.targetAudiences.length===0?!0:t.some(r=>this.targetAudiences?.includes(r))}applyAudienceFiltering(t){let r=this.filterNavigationByAudience(t.navigation);return{...t,navigation:r}}filterNavigationByAudience(t){return t.type==="untabbed"||t.type==="tabbed"?t:t.type==="versioned"?{...t,versions:t.versions.filter(r=>this.shouldIncludeByAudience(this.getRawVersionAudiences(r.version)))}:t.type==="productgroup"?{...t,products:t.products.filter(r=>{let i=this.getRawProductAudiences(r.product);return this.shouldIncludeByAudience(i)})}:t}getRawProductAudiences(t){let i=this.docsWorkspace.config.products?.find(n=>n.displayName===t);return D5a(i?.audiences)}getRawVersionAudiences(t){let i=this.docsWorkspace.config.versions?.find(n=>n.displayName===t);return D5a(i?.audiences)}_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;markdownFilesToSidebarTitle=new Map;markdownFilesToNoIndex=new Map;markdownFilesToTags=new Map;rawMarkdownFiles={};referencedMarkdownFiles=[];async resolve(){let t=performance.now(),r=process.memoryUsage();this.referencedMarkdownFiles=[],this.taskContext.logger.debug("Parsing docs configuration...");let i=performance.now();this._parsedDocsConfig=await w0c({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig});let n=performance.now()-i,a=Object.keys(this.parsedDocsConfig.pages).length;this.taskContext.logger.debug(`Parsed docs configuration in ${n.toFixed(0)}ms: ${a} pages`),this.targetAudiences&&this.targetAudiences.length>0&&(this._parsedDocsConfig=this.applyAudienceFiltering(this._parsedDocsConfig)),this.taskContext.logger.debug("Storing raw markdown content...");for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))this.rawMarkdownFiles[He.of(x)]=Ee;let o=this.parsedDocsConfig.experimental?.openapiParserV3,c=o!=null&&!o;if(this.docsWorkspace.config.navigation!=null&&c){this.taskContext.logger.debug("Visiting navigation AST for changelog files...");let x=performance.now();await CQh({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:se})=>{(await se.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0,objectQueryParameters:!0,respectReadonlySchemas:!0})).changelog?.files.forEach(Fe=>{let ae=Xf(this.docsWorkspace.absoluteFilePath,Fe.absoluteFilepath);this.parsedDocsConfig.pages[ae]=Fe.contents,this.rawMarkdownFiles[He.of(ae)]=Fe.contents})}},apiWorkspaces:this.apiWorkspaces,context:this.taskContext});let Ee=performance.now()-x;this.taskContext.logger.debug(`Visited navigation AST in ${Ee.toFixed(0)}ms`)}this.taskContext.logger.debug("Building markdown file maps...");let d=performance.now();this.extractAllFrontmatterData(this.parsedDocsConfig.pages);let s=performance.now()-d;this.taskContext.logger.debug(`Built markdown file maps in ${s.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced markdown and code files...");let u=performance.now(),l=new Set;for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages)){let se=await Pju({markdown:Ee,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(x),context:this.taskContext});for(let Fe of se.referencedFiles)l.has(Fe.absoluteFilePath)||(l.add(Fe.absoluteFilePath),this.referencedMarkdownFiles.push(Fe));let Oe=await qel({markdown:se.markdown,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(x),context:this.taskContext});this.parsedDocsConfig.pages[He.of(x)]=Oe}let p=performance.now()-u;this.taskContext.logger.debug(`Replaced referenced content in ${p.toFixed(0)}ms, found ${this.referencedMarkdownFiles.length} referenced markdown files`),this.taskContext.logger.debug("Collecting files from docs config...");let _=performance.now(),h=await IQh({parsedDocsConfig:this.parsedDocsConfig}),y=performance.now()-_;this.taskContext.logger.debug(`Collected ${h.size} files in ${y.toFixed(0)}ms`),this.taskContext.logger.debug("Parsing image paths from markdown files...");let b=performance.now();for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))try{let{filepaths:se,markdown:Oe}=Wgn(Ee,{absolutePathToMarkdownFile:this.resolveFilepath(x),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);this.parsedDocsConfig.pages[He.of(x)]=Oe;for(let Fe of se)h.add(Fe)}catch(se){throw this.taskContext.logger.error(`Failed to parse ${x}: ${se instanceof Error?se.message:String(se)}`),se}let v=performance.now()-b;this.taskContext.logger.debug(`Parsed image paths in ${v.toFixed(0)}ms`);let g=Array.from(h).map(x=>({absoluteFilePath:x,relativeFilePath:this.toRelativeFilepath(x)}));this.taskContext.logger.info(`Uploading ${g.length} files...`);let m=performance.now(),O=await this.uploadFiles(g),A=performance.now()-m;this.taskContext.logger.info(`Uploaded ${O.length} files in ${A.toFixed(0)}ms`),O.forEach(x=>{this.collectedFileIds.set(x.absoluteFilePath,x.fileId)}),this.taskContext.logger.debug("Building navigation tree...");let j=performance.now(),M=await this.toRootNode(),w=performance.now()-j;this.taskContext.logger.debug(`Built navigation tree in ${w.toFixed(0)}ms`),this.taskContext.logger.debug("Getting fully qualified path names...");let D=performance.now(),B=await this.getMarkdownFilesToFullyQualifiedPathNames(M),R=performance.now()-D;this.taskContext.logger.debug(`Got path names in ${R.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing image paths and URLs in markdown...");let T=performance.now();for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[He.of(x)]=Cel(Ee,this.collectedFileIds,B,{absolutePathToMarkdownFile:this.resolveFilepath(x),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let q=performance.now()-T;this.taskContext.logger.debug(`Replaced image paths in ${q.toFixed(0)}ms`),this.taskContext.logger.debug("Building page content...");let z={};Object.entries(this.parsedDocsConfig.pages).forEach(([x,Ee])=>{let{url:se,launch:Oe}=LwB(this.editThisPage,x),Fe=this.rawMarkdownFiles[He.of(x)];z[qG.PageId(x)]={markdown:Ee,editThisPageUrl:se?qG.Url(se):void 0,editThisPageLaunch:Oe,rawMarkdown:Fe}}),this.taskContext.logger.debug("Converting docs configuration...");let N=performance.now(),H=await this.convertDocsConfiguration(M),$=performance.now()-N;this.taskContext.logger.debug(`Converted docs configuration in ${$.toFixed(0)}ms`);let de={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){this.taskContext.logger.debug("Processing MDX components...");let x=performance.now(),Ee=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async Oe=>{let Fe=Xu(this.docsWorkspace.absoluteFilePath,Oe);(await(0,a0u.stat)(Fe)).isDirectory()?(await m4(Fe,"{js,ts,jsx,tsx,md,mdx}")).forEach(Ge=>{Ee.add(Ge)}):Fe.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&Ee.add(Fe)})),de=Object.fromEntries(await Promise.all([...Ee].map(async Oe=>{let Fe=this.toRelativeFilepath(Oe),ae=(await(0,a0u.readFile)(Oe)).toString();return[Fe,ae]})));let se=performance.now()-x;this.taskContext.logger.debug(`Processed ${Ee.size} MDX component files in ${se.toFixed(0)}ms`)}if(this.referencedMarkdownFiles.length>0){this.taskContext.logger.debug(`Adding ${this.referencedMarkdownFiles.length} referenced markdown files to jsFiles...`);for(let x of this.referencedMarkdownFiles)de[x.relativeFilePath]=x.content}let be=performance.now()-t,W=process.memoryUsage();return this.taskContext.logger.debug(`Total resolve time: ${be.toFixed(0)}ms, Memory delta: RSS=${((W.rss-r.rss)/1024/1024).toFixed(2)}MB`),{config:H,pages:z,jsFiles:de}}resolveFilepath(t){if(t!=null)return Xu(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return Xf(this.docsWorkspace.absoluteFilePath,t)}extractAllFrontmatterData(t){for(let[r,i]of Object.entries(t)){let n=(0,zQh.default)(i),a=this.resolveFilepath(r),o=n.data.slug;if(typeof o=="string"&&o.trim().length>0){let u=o.trim();Bel(u)?this.markdownFilesToFullSlugs.set(a,u):this.taskContext.logger.warn(`Ignoring absolute URL slug "${u}" in ${r}. Absolute URLs are not allowed for frontmatter slugs.`)}let c=n.data["sidebar-title"];typeof c=="string"&&c.trim().length>0&&this.markdownFilesToSidebarTitle.set(a,c.trim());let d=n.data.noindex;typeof d=="boolean"&&this.markdownFilesToNoIndex.set(a,d);let s=n.data.tags;typeof s=="string"?this.markdownFilesToTags.set(a,s.split(",").map(u=>u.trim()).filter(u=>u.length>0)):Array.isArray(s)&&this.markdownFilesToTags.set(a,s)}}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=Ft.migrate.FernNavigationV1ToLatest.create().root(t);return Ft.NodeCollector.collect(i).slugMap.forEach((a,o)=>{if(a==null||!Ft.isPage(a))return;let c=Ft.getPageId(a);if(c==null)return;let d=Tt(this.docsWorkspace.absoluteFilePath,He.of(c));r[d]=o}),r}getDocsBasePath(){return new URL(qx(this.domain)).pathname}async convertDocsConfiguration(t){return{aiChatConfig:this.parsedDocsConfig.aiChatConfig!=null?{model:this.parsedDocsConfig.aiChatConfig.model,systemPrompt:this.parsedDocsConfig.aiChatConfig.systemPrompt,location:this.parsedDocsConfig.aiChatConfig.location,datasources:this.parsedDocsConfig.aiChatConfig.datasources?.map(i=>({url:i.url,title:i.title}))}:void 0,hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?qG.Url(this.parsedDocsConfig.logo?.href):void 0,logoRightText:this.parsedDocsConfig.logo?.rightText,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>i.type==="dropdown"?{...i,links:i.links?.map(n=>({...n,url:qG.Url(n.url),icon:this.resolveIconFileId(n.icon),rightIcon:this.resolveIconFileId(n.rightIcon)})),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}:i.type==="github"?{...i,url:qG.Url(i.url)}:{...i,url:qG.Url(i.url),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,settings:this.parsedDocsConfig.settings,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:qG.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,languages:this.parsedDocsConfig.languages,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,editThisPageLaunch:this.editThisPage?.launch??"github",pageActions:this.convertPageActions(),theme:this.parsedDocsConfig.theme!=null?{sidebar:this.parsedDocsConfig.theme.sidebar,body:this.parsedDocsConfig.theme.body,tabs:this.parsedDocsConfig.theme.tabs,"page-actions":this.parsedDocsConfig.theme.pageActions,footerNav:this.parsedDocsConfig.theme.footerNav,"language-switcher":this.parsedDocsConfig.theme.languageSwitcher,"product-switcher":this.parsedDocsConfig.theme.productSwitcher}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0,header:void 0,footer:void 0}}getFernWorkspaceForApiSection(t){if(t.apiName!=null){let i=this.apiWorkspaces.find(n=>n.workspaceName===t.apiName);if(i!=null)return i}else if(this.apiWorkspaces.length===1&&this.apiWorkspaces[0]!=null)return this.apiWorkspaces[0];let r=t.apiName?`Failed to load API Definition '${t.apiName}' referenced in docs.
1897
+ ${i.description}`;return this.#p.set(a,c),this.markdownFilesToNoIndex.set(a,!1),this.markdownFilesToTags.set(a,[r]),o}#d(t,r,i,n){r=this.#e.resolveSubpackage(r);let a=r!=null?_Yi.getSubpackageId(r):void 0;return t.map(o=>Kel(o)._visit({link:c=>({id:this.#f.get(c.url),type:"link",title:c.text,icon:this.resolveIconFileId(c.icon),url:Ft.Url(c.url),target:c.target}),page:c=>this.#l(c,i,n),package:c=>this.#_(c,i,n),section:c=>this.#y(c,i,n),item:({value:c})=>this.#h(c,a,i,n),endpoint:c=>this.#O(c,a,i,n)})).filter(us)}#l(t,r,i){return _Qh({page:{...t,availability:t.availability??i},parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,markdownFilesToNoIndex:this.markdownFilesToNoIndex,idgen:this.#f,hideChildren:this.hideChildren,resolveIconFileId:this.resolveIconFileId.bind(this)})}#_(t,r,i){let n=t.overviewAbsolutePath!=null?Ft.V1.PageId(Lca(this.docsWorkspace,t.overviewAbsolutePath)):void 0,a=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,o=t.availability??i,c=this.#e.getSubpackageByIdOrLocator(t.package);if(c!=null){let d=_Yi.getSubpackageId(c),s=this.#f.get(n??`${this.apiDefinitionId}:${d}`);this.#a.has(d)&&this.taskContext.logger.warn(Kju(t.package)),this.#a.add(d),this.#o.set(s,[d]);let u=t.slug??(X8t(c)?c.urlSlug:this.apiSection.slug??cS(this.apiSection.title)),l=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),p=this.#d(t.contents,c,l,o);return{id:s,type:"apiPackage",children:p,title:t.title??(X8t(c)?c.displayName??Xgn(c.name):this.apiSection.title),slug:l.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:o,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}else{this.taskContext.logger.warn(Hju(t.package,this.#e.subpackageLocators));let d=t.slug??cS(t.package),s=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),u=this.#d(t.contents,void 0,s,o);return{id:this.#f.get(n??`${this.apiDefinitionId}:${cS(t.package)}`),type:"apiPackage",children:u,title:t.title??t.package,slug:s.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:o,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#y(t,r,i){let n=t.overviewAbsolutePath!=null?Ft.V1.PageId(Lca(this.docsWorkspace,t.overviewAbsolutePath)):void 0,a=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,o=t.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(t.overviewAbsolutePath):void 0,c=this.#f.get(n??a??r.get()),d=t.referencedSubpackages.map(_=>{let h=this.#e.getSubpackageByIdOrLocator(_),y=h!=null?_Yi.getSubpackageId(h):void 0;if(y===void 0){this.taskContext.logger.error(Hju(_,this.#e.subpackageLocators));return}return{subpackageId:y,locator:_}}).filter(_=>_!=null).filter(us);this.#o.set(c,d.map(_=>_.subpackageId)),d.forEach(_=>{this.#a.has(_.subpackageId)&&this.taskContext.logger.error(Kju(_.locator)),this.#a.add(_.subpackageId)});let s=t.slug??cS(t.title),u=r.apply({fullSlug:a?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:s}),l=t.availability??i,p=this.#d(t.contents,void 0,u,l);return{id:c,type:"apiPackage",children:p,title:t.title,slug:u.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,overviewPageId:n,availability:l,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:o,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#h(t,r,i,n){t=t.trim();let a=this.#e.getSubpackageByIdOrLocator(t)??this.#e.getSubpackageByIdOrLocator(ou(t));if(a!=null){let o=_Yi.getSubpackageId(a),c=this.#f.get(`${this.apiDefinitionId}:${o}`);this.#a.has(o)&&this.taskContext.logger.error(Kju(t)),this.#a.add(o),this.#o.set(c,[o]);let d=X8t(a)?a.urlSlug:"",s=i.apply({urlSlug:d});return{id:c,type:"apiPackage",children:[],title:X8t(a)?a.displayName??Xgn(a.name):this.apiSection.title,slug:s.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:this.createTagDescriptionPageId(a),availability:n,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}return this.#O({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,availability:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i,n)}#O(t,r,i,n){let a=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.endpoints.get(C4.EndpointId(t.endpoint)):void 0)??this.#e.endpointsByLocator.get(t.endpoint);if(a!=null){let d=this.#e.getEndpointId(a);if(d==null)this.taskContext.logger.debug(`Expected Endpoint ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);else{this.#t.has(d)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${d}`),this.#t.add(d);let s=t.slug!=null?i.append(t.slug):i.apply(a);return{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"endpoint",method:a.method,endpointId:d,apiDefinitionId:this.apiDefinitionId,availability:t.availability??Ft.V1.convertAvailability(a.availability)??n,isResponseStream:a.response?.type.type==="stream",title:t.title??a.name??xW(a.path.parts),slug:s.get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,playground:this.#P(a.includeInApiExplorer===!1?{...t.playground,hidden:!0}:t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}let o=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.webSockets.get(C4.WebSocketId(t.endpoint)):void 0)??this.#e.webSocketsByLocator.get(t.endpoint);if(o!=null){let d=this.#e.getWebSocketId(o);if(d==null)this.taskContext.logger.error(`Expected WebSocket ID for ${o.id}. Got undefined.`);else return this.#r.has(d)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${d}`),this.#r.add(d),{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"webSocket",webSocketId:d,title:t.title??o.name??xW(o.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(o)).get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(o.availability)??n,playground:this.#P(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let c=(r!=null?this.#e.subpackages.get(C4.SubpackageId(r))?.webhooks.get(C4.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(Ft.V1.WebhookId(t.endpoint));if(c!=null){let d=this.#e.getWebhookId(c);if(d==null)this.taskContext.logger.error(`Expected Webhook ID for ${c.id}. Got undefined.`);else return this.#i.has(d)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${d}`),this.#i.add(d),{id:this.#f.get(`${this.apiDefinitionId}:${d}`),type:"webhook",webhookId:d,method:c.method,title:t.title??c.name??(0,hQh.default)("/",...c.path),slug:(t.slug!=null?i.append(t.slug):i.apply(c)).get(),icon:this.resolveIconFileId(t.icon),hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:n,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#g(t,r){return pQh({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>xW(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#m(t,r){return Yel({child:t,nodeIdToSubpackageId:this.#o,convertApiDefinitionPackageId:(i,n,a)=>this.#v(i,n,a),mergeAndFilterChildren:this.#g.bind(this)})}#A(t,r,i){let n=[];return t.endpoints.forEach(a=>{if(a.protocol?.type==="grpc"){let o=this.#e.getGrpcId(a);if(o==null){this.taskContext.logger.error(`Expected Grpc ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);return}if(this.#n.has(o))return;let c=r.apply(a);n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"grpc",grpcId:o,title:a.name??xW(a.path.parts),method:a.protocol?.methodType??"UNARY",apiDefinitionId:this.apiDefinitionId,availability:i,slug:c.get(),icon:void 0,hidden:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}else{let o=this.#e.getEndpointId(a);if(o==null){this.taskContext.logger.debug(`Expected Endpoint ID for ${a.id} at path: ${xju(a.method,a.path.parts)}. Got undefined.`);return}if(this.#t.has(o))return;let c=r.apply(a);n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"endpoint",method:a.method,endpointId:o,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(a.availability)??i,isResponseStream:a.response?.type.type==="stream",title:a.name??xW(a.path.parts),slug:c.get(),icon:void 0,hidden:this.hideChildren,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}}),t.websockets.forEach(a=>{let o=this.#e.getWebSocketId(a);if(o==null){this.taskContext.logger.error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return}this.#r.has(o)||n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"webSocket",webSocketId:o,title:a.name??xW(a.path.parts),slug:r.apply(a).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:Ft.V1.convertAvailability(a.availability)??i,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.webhooks.forEach(a=>{let o=this.#e.getWebhookId(a);if(o==null){this.taskContext.logger.error(`Expected Webhook ID for ${a.id}. Got undefined.`);return}this.#i.has(o)||n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"webhook",webhookId:o,method:a.method,title:a.name??Xgn(a.id),slug:r.apply(a).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:i,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.subpackages.forEach(a=>{if(this.#a.has(a))return;let o=this.#e.getSubpackageByIdOrLocator(a);if(o==null){this.taskContext.logger.error(`Subpackage ${a} not found in ${this.apiDefinitionId}`);return}let c=X8t(o)?r.apply(o):r,d=this.#v(a,c,i);d.length>0&&n.push({id:Ft.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"apiPackage",children:d,title:X8t(o)?o.displayName??Xgn(o.name):this.apiSection.title,slug:c.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:this.createTagDescriptionPageId(o),availability:i,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),n=this.mergeEndpointPairs(n),this.apiSection.alphabetized&&(n=n.sort((a,o)=>{let c=a.type==="endpointPair"?a.nonStream.title:a.title,d=o.type==="endpointPair"?o.nonStream.title:o.title;return c.localeCompare(d)})),n}#v(t,r,i){let n=t!=null?this.#e.resolveSubpackage(this.#e.getSubpackageByIdOrLocator(t)):void 0;return n==null?(this.taskContext.logger.debug(Hju(t||"unknown",[])),[]):this.#A(n,r,i)}#P(t){return nQh(t)}mergeEndpointPairs(t){return Jju({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>xW(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}getFileId(t){let r=this.collectedFileIds.get(t);return r??this.taskContext.failAndThrow("Failed to locate file after uploading: "+t)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}};var yQh=ue(require("crypto"),1);function X0B(e){return yQh.default.createHash("sha256").update(e).digest("hex")}var Yju=class e{static init(){return new e}constructor(){}#e=new Map;#t=new Set;#r(t){let r=this.#e.get(t)??0;return this.#e.set(t,r+1),X0B(r===0?t:`${t}-${r}`)}#i(t){let r=this.#r(t),i=0;for(;this.#t.has(r);)if(r=this.#r(t),i++,i>100)throw new Error(`Infinite loop detected for id: ${t}`);return r}get(t){return Ft.V1.NodeId(this.#i(t))}};function bQh(e){return e==null?{}:{pythonSdk:e.python!=null?{package:typeof e.python=="string"?e.python:e.python.package,version:typeof e.python=="string"?void 0:e.python.version}:void 0,typescriptSdk:e.typescript!=null?{package:typeof e.typescript=="string"?e.typescript:e.typescript.package,version:typeof e.typescript=="string"?void 0:e.typescript.version}:void 0,goSdk:e.go!=null?{githubRepo:typeof e.go=="string"?e.go:e.go.package,version:typeof e.go=="string"?void 0:e.go.version}:void 0,javaSdk:e.java!=null?{coordinate:typeof e.java=="string"?e.java:e.java.package,version:typeof e.java=="string"?void 0:e.java.version}:void 0,rubySdk:e.ruby!=null?{gem:typeof e.ruby=="string"?e.ruby:e.ruby.package,version:typeof e.ruby=="string"?void 0:e.ruby.version}:void 0,csharpSdk:e.csharp!=null?{package:typeof e.csharp=="string"?e.csharp:e.csharp.package,version:typeof e.csharp=="string"?void 0:e.csharp.version}:void 0,phpSdk:e.php!=null?{package:typeof e.php=="string"?e.php:e.php.package,version:typeof e.php=="string"?void 0:e.php.version}:void 0,swiftSdk:e.swift!=null?{package:typeof e.swift=="string"?e.swift:e.swift.package,version:typeof e.swift=="string"?void 0:e.swift.version}:void 0,rustSdk:e.rust!=null?{package:typeof e.rust=="string"?e.rust:e.rust.package,version:typeof e.rust=="string"?void 0:e.rust.version}:void 0}}var Xju=class{selectors;constructor(t){this.selectors=t}matches(t,r){for(let i of this.selectors)if(this.pathMatches(t,i.path)&&(!i.method||i.method===r))return!0;return!1}pathMatches(t,r){if(t===r)return!0;let i=t.split("/").filter(a=>a.length>0),n=r.split("/").filter(a=>a.length>0);if(i.length!==n.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],c=n[a];if(!o||!c)return!1;let d=o.startsWith("{")&&o.endsWith("}"),s=c.startsWith("{")&&c.endsWith("}");if(!(d&&s)&&o!==c)return!1}return!0}getMatchingPaths(t){let r=[];for(let[i,n]of Object.entries(t)){if(!n)continue;let a=["get","put","post","delete","options","head","patch","trace"];for(let o of a)if(n[o]&&this.matches(i,o)){r.includes(i)||r.push(i);break}}return r}};var Zju=class{document;schemas=new Set;parameters=new Set;responses=new Set;requestBodies=new Set;securitySchemes=new Set;headers=new Set;examples=new Set;links=new Set;callbacks=new Set;constructor(t){this.document=t}collectFromOperation(t){if(t.parameters)for(let r of t.parameters)this.collectParameter(r);if(t.requestBody&&this.collectFromRequestBody(t.requestBody),t.responses)for(let r of Object.values(t.responses))this.collectFromResponse(r);if(t.callbacks)for(let[r,i]of Object.entries(t.callbacks))if(this.isReference(i))this.callbacks.add(this.extractComponentName(i.$ref));else for(let n of Object.values(i))this.collectFromPathItem(n);if(t.security)for(let r of t.security)for(let i of Object.keys(r))this.securitySchemes.add(i)}collectFromPathItem(t){if(t.parameters)for(let i of t.parameters)this.collectParameter(i);let r=[t.get,t.put,t.post,t.delete,t.options,t.head,t.patch,t.trace];for(let i of r)i&&this.collectFromOperation(i)}collectParameter(t){if(this.isReference(t)){this.parameters.add(this.extractComponentName(t.$ref));let r=this.resolveParameter(t.$ref);r&&this.collectParameter(r)}else{if(t.schema&&this.collectFromSchema(t.schema),t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r);if(t.examples)for(let[r,i]of Object.entries(t.examples))this.isReference(i)&&this.examples.add(this.extractComponentName(i.$ref))}}collectFromRequestBody(t){if(this.isReference(t)){this.requestBodies.add(this.extractComponentName(t.$ref));let r=this.resolveRequestBody(t.$ref);r&&this.collectFromRequestBody(r)}else if(t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r)}collectFromResponse(t){if(this.isReference(t)){this.responses.add(this.extractComponentName(t.$ref));let r=this.resolveResponse(t.$ref);r&&this.collectFromResponse(r)}else{if(t.headers)for(let[r,i]of Object.entries(t.headers))this.isReference(i)?this.headers.add(this.extractComponentName(i.$ref)):i.schema&&this.collectFromSchema(i.schema);if(t.content)for(let r of Object.values(t.content))this.collectFromMediaType(r);if(t.links)for(let[r,i]of Object.entries(t.links))this.isReference(i)&&this.links.add(this.extractComponentName(i.$ref))}}collectFromMediaType(t){if(t.schema&&this.collectFromSchema(t.schema),t.examples)for(let[r,i]of Object.entries(t.examples))this.isReference(i)&&this.examples.add(this.extractComponentName(i.$ref))}collectFromSchema(t){if(this.isReference(t)){let r=this.extractComponentName(t.$ref);if(!this.schemas.has(r)){this.schemas.add(r);let i=this.resolveSchema(t.$ref);i&&this.collectFromSchema(i)}}else{if(t.properties)for(let r of Object.values(t.properties))this.collectFromSchema(r);if(t.additionalProperties&&typeof t.additionalProperties=="object"&&this.collectFromSchema(t.additionalProperties),"items"in t&&t.items)if(Array.isArray(t.items))for(let r of t.items)this.collectFromSchema(r);else this.collectFromSchema(t.items);if(t.allOf)for(let r of t.allOf)this.collectFromSchema(r);if(t.oneOf)for(let r of t.oneOf)this.collectFromSchema(r);if(t.anyOf)for(let r of t.anyOf)this.collectFromSchema(r);t.not&&this.collectFromSchema(t.not)}}resolveSchema(t){let r=this.extractComponentName(t);return this.document.components?.schemas?.[r]}resolveParameter(t){let r=this.extractComponentName(t);return this.document.components?.parameters?.[r]}resolveResponse(t){let r=this.extractComponentName(t);return this.document.components?.responses?.[r]}resolveRequestBody(t){let r=this.extractComponentName(t);return this.document.components?.requestBodies?.[r]}isReference(t){return t!=null&&typeof t=="object"&&"$ref"in t}extractComponentName(t){let r=t.split("/");return r[r.length-1]??t}getSchemas(){return this.schemas}getParameters(){return this.parameters}getResponses(){return this.responses}getRequestBodies(){return this.requestBodies}getSecuritySchemes(){return this.securitySchemes}getHeaders(){return this.headers}getExamples(){return this.examples}getLinks(){return this.links}getCallbacks(){return this.callbacks}};var VYa=class{matcher;document;constructor(t){this.matcher=new Xju(t.endpoints),this.document=JSON.parse(JSON.stringify(t.document))}prune(){let t=this.collectStatistics(),r=new Zju(this.document),i={},n=this.matcher.getMatchingPaths(this.document.paths);for(let c of n){let d=this.document.paths[c];if(!d)continue;let s={};d.summary&&(s.summary=d.summary),d.description&&(s.description=d.description),d.servers&&(s.servers=d.servers),d.parameters&&(s.parameters=d.parameters);let u=["get","put","post","delete","options","head","patch","trace"];for(let l of u){let p=d[l];p&&this.matcher.matches(c,l)&&(s[l]=p,r.collectFromOperation(p))}if(d.parameters)for(let l of d.parameters)r.collectParameter(l);i[c]=s}let a={openapi:this.document.openapi,info:this.document.info,paths:i};if(this.document.servers&&(a.servers=this.document.servers),this.document.externalDocs&&(a.externalDocs=this.document.externalDocs),this.document.tags){let c=new Set;for(let d of Object.values(i)){let s=["get","put","post","delete","options","head","patch","trace"];for(let u of s){let l=d?.[u];if(l?.tags)for(let p of l.tags)c.add(p)}}a.tags=this.document.tags.filter(d=>c.has(d.name))}if(this.document.security){a.security=this.document.security;for(let c of this.document.security)for(let d of Object.keys(c))r.getSecuritySchemes().add(d)}a.components=this.buildPrunedComponents(r);let o=this.collectPrunedStatistics(a);return{document:a,statistics:{originalEndpoints:t.originalEndpoints,prunedEndpoints:o.originalEndpoints,originalSchemas:t.originalSchemas,prunedSchemas:o.originalSchemas,originalParameters:t.originalParameters,prunedParameters:o.originalParameters,originalResponses:t.originalResponses,prunedResponses:o.originalResponses,originalRequestBodies:t.originalRequestBodies,prunedRequestBodies:o.originalRequestBodies,originalSecuritySchemes:t.originalSecuritySchemes,prunedSecuritySchemes:o.originalSecuritySchemes}}}buildPrunedComponents(t){if(!this.document.components)return;let r={};if(this.document.components.schemas&&t.getSchemas().size>0){r.schemas={};for(let i of t.getSchemas()){let n=this.document.components.schemas[i];n&&(r.schemas[i]=n)}}if(this.document.components.parameters&&t.getParameters().size>0){r.parameters={};for(let i of t.getParameters()){let n=this.document.components.parameters[i];n&&(r.parameters[i]=n)}}if(this.document.components.responses&&t.getResponses().size>0){r.responses={};for(let i of t.getResponses()){let n=this.document.components.responses[i];n&&(r.responses[i]=n)}}if(this.document.components.requestBodies&&t.getRequestBodies().size>0){r.requestBodies={};for(let i of t.getRequestBodies()){let n=this.document.components.requestBodies[i];n&&(r.requestBodies[i]=n)}}if(this.document.components.securitySchemes&&t.getSecuritySchemes().size>0){r.securitySchemes={};for(let i of t.getSecuritySchemes()){let n=this.document.components.securitySchemes[i];n&&(r.securitySchemes[i]=n)}}if(this.document.components.headers&&t.getHeaders().size>0){r.headers={};for(let i of t.getHeaders()){let n=this.document.components.headers[i];n&&(r.headers[i]=n)}}if(this.document.components.examples&&t.getExamples().size>0){r.examples={};for(let i of t.getExamples()){let n=this.document.components.examples[i];n&&(r.examples[i]=n)}}if(this.document.components.links&&t.getLinks().size>0){r.links={};for(let i of t.getLinks()){let n=this.document.components.links[i];n&&(r.links[i]=n)}}if(this.document.components.callbacks&&t.getCallbacks().size>0){r.callbacks={};for(let i of t.getCallbacks()){let n=this.document.components.callbacks[i];n&&(r.callbacks[i]=n)}}return Object.keys(r).length>0?r:void 0}collectStatistics(){let t=0;for(let r of Object.values(this.document.paths)){if(!r)continue;let i=["get","put","post","delete","options","head","patch","trace"];for(let n of i)r[n]&&t++}return{originalEndpoints:t,prunedEndpoints:0,originalSchemas:Object.keys(this.document.components?.schemas??{}).length,prunedSchemas:0,originalParameters:Object.keys(this.document.components?.parameters??{}).length,prunedParameters:0,originalResponses:Object.keys(this.document.components?.responses??{}).length,prunedResponses:0,originalRequestBodies:Object.keys(this.document.components?.requestBodies??{}).length,prunedRequestBodies:0,originalSecuritySchemes:Object.keys(this.document.components?.securitySchemes??{}).length,prunedSecuritySchemes:0}}collectPrunedStatistics(t){let r=0;for(let i of Object.values(t.paths)){if(!i)continue;let n=["get","put","post","delete","options","head","patch","trace"];for(let a of n)i[a]&&r++}return{originalEndpoints:r,prunedEndpoints:0,originalSchemas:Object.keys(t.components?.schemas??{}).length,prunedSchemas:0,originalParameters:Object.keys(t.components?.parameters??{}).length,prunedParameters:0,originalResponses:Object.keys(t.components?.responses??{}).length,prunedResponses:0,originalRequestBodies:Object.keys(t.components?.requestBodies??{}).length,prunedRequestBodies:0,originalSecuritySchemes:Object.keys(t.components?.securitySchemes??{}).length,prunedSecuritySchemes:0}}};var ntl=require("fs/promises");function Zel(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e,r=Object.keys(t);if(r.length===0||r.length>2)return!1;let i="type"in t&&typeof t.type=="string",n="value"in t;return i&&r.length===1||i&&n&&r.length===2||n&&r.length===1}function hYi(e){if(e==null)return e;if(Array.isArray(e))return e.map(hYi);if(typeof e!="object")return e;let t=e;if(Zel(t))return"value"in t?hYi(t.value):void 0;let r={};for(let[i,n]of Object.entries(t)){let a=hYi(n);a!==void 0&&(r[i]=a)}return r}function kel(e){return e==null?!0:typeof e!="object"?!1:Array.isArray(e)?e.length===0:Object.keys(e).length===0}function kju(e,t,r,i){let n={},a={},o={};if(e==null||typeof e!="object"||Array.isArray(e))return{filteredBody:e,extractedPathParams:n,extractedQueryParams:a,extractedHeaders:o};let c=e,d={},s=new Set(Object.keys(t??{})),u=new Set(Object.keys(r??{})),l=new Set(Object.keys(i??{}));for(let[p,_]of Object.entries(c)){let h=p.toLowerCase().replace(/[-_]/g,""),y=!1,b=!1,v=!1;for(let g of s){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){y=!0,n[g]=_;break}}if(!y)for(let g of u){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){b=!0,a[g]=_;break}}if(!y&&!b)for(let g of l){let m=g.toLowerCase().replace(/[-_]/g,"");if(h===m){v=!0,o[g]=_;break}}!y&&!b&&!v&&(d[p]=_)}return{filteredBody:d,extractedPathParams:n,extractedQueryParams:a,extractedHeaders:o}}var Z0B=0,k0B=15e3,e0u=class{config;context;lambdaOrigin;venusOrigin;token;jwtPromise;organizationId;constructor(t,r,i,n){this.config={enabled:t.enabled,openaiApiKey:t.openaiApiKey,model:t.model??"gpt-4o-mini",maxRetries:t.maxRetries??Z0B,requestTimeoutMs:t.requestTimeoutMs??k0B,styleInstructions:t.styleInstructions},this.context=r;let a="https://ykq45y6fvnszd35iv5yuuatkze0rpwuz.lambda-url.us-east-1.on.aws";if(!a)throw new Error("DEFAULT_FDR_LAMBDA_DOCS_ORIGIN environment variable is not set. AI example enhancement requires this to be configured.");this.lambdaOrigin=a,this.venusOrigin="https://venus.buildwithfern.com",this.token=i,this.organizationId=n}async getJwt(){return this.jwtPromise==null&&(this.jwtPromise=this.fetchJwtFromVenus()),this.jwtPromise}async fetchJwtFromVenus(){this.context.logger.debug("Fetching JWT from Venus for AI example enhancement"),this.context.logger.debug(`Token type: ${this.token.type}`),this.context.logger.debug(`Token value (first 10 chars): ${this.token.value.substring(0,10)}...`),this.context.logger.debug(`Token value starts with 'fern_': ${this.token.value.startsWith("fern_")}`),this.context.logger.debug(`Venus origin: ${this.venusOrigin}`),this.context.logger.debug(`Organization ID: ${this.organizationId}`);let t=await fetch(`${this.venusOrigin}/auth/jwt`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token.value}`},body:JSON.stringify({organizationId:this.organizationId}),signal:AbortSignal.timeout(1e4)});if(!t.ok){let i=await t.text();throw new Error(`Failed to fetch JWT from Venus: ${t.status} ${i||t.statusText}`)}let r=await t.json();return this.context.logger.debug(`Successfully obtained JWT from Venus (expires at ${r.expiresAt})`),r.token}async enhanceExample(t){if(!this.config.enabled)return{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample};if(await Rgn(`${this.venusOrigin}/health`,this.context.logger))return this.context.logger.debug("Skipping AI example enhancement in air-gapped environment"),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample};let i;try{i=await this.getJwt()}catch(o){return this.context.logger.warn(`Failed to obtain JWT from Venus: ${o}. AI example enhancement will be skipped.`),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample}}let n,a=this.config.maxRetries+1;for(let o=1;o<=a;o++)try{this.context.logger.debug(`Enhancing example for ${t.method} ${t.endpointPath} via lambda (attempt ${o}/${a})`);let c={method:t.method,endpointPath:t.endpointPath,organizationId:t.organizationId,operationSummary:t.operationSummary,operationDescription:t.operationDescription,originalRequestExample:t.originalRequestExample,originalResponseExample:t.originalResponseExample,openApiSpec:t.openApiSpec,exampleStyleInstructions:t.exampleStyleInstructions??this.config.styleInstructions};this.context.logger.debug(`Sending to enhanceExamples: ${JSON.stringify({...c,openApiSpec:t.openApiSpec?`[OpenAPI spec present: ${t.openApiSpec.length} chars]`:"[No OpenAPI spec]"},null,2)}`);let d=await fetch(`${this.lambdaOrigin}/v2/registry/ai/enhance-example`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(c),signal:AbortSignal.timeout(this.config.requestTimeoutMs)});if(!d.ok){let u=await d.text();throw new Error(`Lambda returned ${d.status}: ${u||d.statusText}`)}let s=await d.json();return{enhancedRequestExample:s.enhancedRequestExample??t.originalRequestExample,enhancedResponseExample:s.enhancedResponseExample??t.originalResponseExample}}catch(c){if(n=c,this.context.logger.warn(`Attempt ${o} failed to enhance example: ${c}`),o<a){let d=Math.min(1e3*Math.pow(2,o-1),1e4);await new Promise(s=>setTimeout(s,d))}}return this.context.logger.error(`Failed to enhance example after ${a} attempts: ${n?.message}`),{enhancedRequestExample:t.originalRequestExample,enhancedResponseExample:t.originalResponseExample}}};var Vca=class e{static instance;currentApiId;queue=[];progress=new Map;constructor(){}static getInstance(){return e.instance||(e.instance=new e),e.instance}create(t,r,i){let n=`${t}-${Date.now()}-${Math.random()}`;return this.progress.set(n,{apiName:t,completed:0,total:r,endpointsSample:i}),this.queue.push(n),this.currentApiId||(this.currentApiId=n,this.updateSpinnerStatus()),n}update(t,r){let i=this.progress.get(t);i&&(i.completed=r,t===this.currentApiId&&this.updateSpinnerStatus())}finish(t){this.progress.delete(t);let r=this.queue.indexOf(t);r!==-1&&this.queue.splice(r,1),t===this.currentApiId&&(this.queue.length>0?(this.currentApiId=this.queue[0],this.updateSpinnerStatus()):(this.currentApiId=void 0,delete process.env.FERN_SPINNER_STATUS))}updateSpinnerStatus(){if(!this.currentApiId){delete process.env.FERN_SPINNER_STATUS;return}let t=this.progress.get(this.currentApiId);if(t){let r=`auto-generating examples for endpoints - ${t.apiName}`;t.endpointsSample&&(r+=` (${t.endpointsSample})`),r+=` - ${t.completed}/${t.total}`,process.env.FERN_SPINNER_STATUS=r}}};var t0u=require("fs/promises");async function ewB(e,t){let r=Sr.of(`${rn(e)}/ai_examples_override.yml`),i=[];try{let n=await(0,t0u.readFile)(r,"utf-8"),a=qi.load(n);if(a&&typeof a=="object"&&"paths"in a){let o=a.paths;for(let[c,d]of Object.entries(o))if(d&&typeof d=="object"){for(let[s,u]of Object.entries(d))if(u&&typeof u=="object"&&"x-fern-examples"in u){let l=u["x-fern-examples"];if(Array.isArray(l)){for(let p of l)if(typeof p=="object"&&p!==null){let _=p;i.push({endpointPath:c,method:s.toUpperCase(),pathParameters:_["path-parameters"],queryParameters:_["query-parameters"],headers:_.headers,request:_.request,response:_.response})}}}}}t.logger.debug(`Parsed ${i.length} AI examples from ai_examples_override.yml`)}catch(n){t.logger.debug(`No existing ai_examples_override.yml found or error reading it: ${n}`)}return i}async function etl({sourceFilePath:e,context:t}){let r=await ewB(e,t);if(r.length===0)return{validExamples:[],invalidExamples:[],totalExamples:0,validCount:0,invalidCount:0};let i;try{let s=await(0,t0u.readFile)(e,"utf-8");try{i=JSON.parse(s)}catch{i=qi.load(s)}}catch(s){return t.logger.warn(`Failed to read OpenAPI spec file: ${s}`),{validExamples:r,invalidExamples:[],totalExamples:r.length,validCount:r.length,invalidCount:0}}let n=new xEe({logger:t.logger}),a=new ZUi({namespace:void 0,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:i,exampleGenerationArgs:{disabled:!1},errorCollector:n,enableUniqueErrorsPerEndpoint:!1,generateV1Examples:!1,settings:T8t()}),o=new Ybn({context:a}),{validExamples:c,invalidExamples:d}=o.validateAiExamples({aiExamples:r,spec:i});if(d.length>0){t.logger.info(`Found ${d.length} stale AI examples that need to be regenerated out of ${r.length} total`);for(let{example:s,validationResult:u}of d)t.logger.debug(`Stale AI example: ${s.method} ${s.endpointPath} - ${u.errors.map(l=>l.message).join(", ")}`)}return{validExamples:c,invalidExamples:d,totalExamples:r.length,validCount:c.length,invalidCount:d.length}}async function vQh({sourceFilePath:e,context:t}){let r=await etl({sourceFilePath:e,context:t});if(r.invalidCount===0)return t.logger.debug("No invalid AI examples to remove"),{removedCount:0,remainingCount:r.totalExamples};let i=Sr.of(`${rn(e)}/ai_examples_override.yml`);try{let n=await(0,t0u.readFile)(i,"utf-8"),a=qi.load(n);if(!a||!a.paths)return{removedCount:0,remainingCount:r.totalExamples};let o=new Set(r.invalidExamples.map(({example:s})=>`${s.method.toLowerCase()}:${s.endpointPath}`));for(let[s,u]of Object.entries(a.paths))if(u&&typeof u=="object"){for(let l of Object.keys(u)){let p=`${l.toLowerCase()}:${s}`;o.has(p)&&delete u[l]}Object.keys(u).length===0&&delete a.paths[s]}let{writeFile:c}=await import("fs/promises"),d=qi.dump(a,{indent:2,lineWidth:-1,noRefs:!0});return await c(i,d,"utf-8"),t.logger.info(`Removed ${r.invalidCount} invalid AI examples from ai_examples_override.yml`),{removedCount:r.invalidCount,remainingCount:r.validCount}}catch(n){return t.logger.warn(`Failed to remove invalid AI examples: ${n}`),{removedCount:0,remainingCount:r.totalExamples}}}var WYa=require("fs/promises");async function ttl(e,t){let r=Sr.of(`${rn(e)}/ai_examples_override.yml`),i=new Set;try{let n=await(0,WYa.readFile)(r,"utf-8"),a=qi.load(n);if(a&&typeof a=="object"&&"paths"in a){let o=a.paths;for(let[c,d]of Object.entries(o))if(d&&typeof d=="object")for(let s of Object.keys(d)){let u=`${s.toLowerCase()}:${c}`;i.add(u)}}t.logger.debug(`Loaded ${i.size} covered endpoints from ai_examples_override.yml`)}catch{t.logger.debug("No existing ai_examples_override.yml found or error reading it")}return i}async function r0u({enhancedExamples:e,sourceFilePath:t,context:r}){if(e.length===0){r.logger.debug("No enhanced examples to write");return}let i=new Map;for(let o of e){let c=i.get(o.endpoint)||[];c.push(o),i.set(o.endpoint,c)}let n={paths:{}};for(let[o,c]of i.entries()){let d=new Map;for(let s of c){let u=d.get(s.method.toLowerCase())||[];u.push(s),d.set(s.method.toLowerCase(),u)}n.paths[o]||(n.paths[o]={});for(let[s,u]of d.entries()){let l=u.map((_,h)=>{let y={},b={..._.pathParameters??{}},v={..._.queryParameters??{}},g={..._.headers??{}},m={...g};if(_.headerParameterNames)for(let B of _.headerParameterNames)B in m||(m[B]="");let O={};if(_.queryParameterNames)for(let B of _.queryParameterNames)O[B]=v[B]??"";let A={};if(_.pathParameterNames)for(let B of _.pathParameterNames)A[B]=b[B]??"";let j=_.requestBody;j!=null&&typeof j=="object"&&!Array.isArray(j)&&"body"in j&&(j=j.body);let M=hYi(j),w=M;if(M!==void 0){let{filteredBody:B,extractedPathParams:R,extractedQueryParams:T,extractedHeaders:q}=kju(M,A,O,m);w=B;for(let[z,N]of Object.entries(R))N!=null&&N!==""&&(b[z]=N);for(let[z,N]of Object.entries(T))N!=null&&N!==""&&(v[z]=N);for(let[z,N]of Object.entries(q))N!=null&&N!==""&&(g[z]=N)}Object.keys(b).length>0&&(y["path-parameters"]=b),Object.keys(v).length>0&&(y["query-parameters"]=v),Object.keys(g).length>0&&(y.headers=g),w!==void 0&&!kel(w)&&(y.request=w);let D=hYi(_.responseBody);return D!==void 0&&!kel(D)&&(y.response={body:D}),y}),p=n.paths[o];p&&(p[s]={"x-fern-examples":l})}}let a=Sr.of(`${rn(t)}/ai_examples_override.yml`);try{let o={};try{let s=await(0,WYa.readFile)(a,"utf-8"),u=qi.load(s);u&&typeof u=="object"&&(o=u)}catch{r.logger.debug("No existing ai_examples_override.yml found, creating new file")}let c={paths:{}};if(o.paths){for(let[s,u]of Object.entries(o.paths))if(u&&typeof u=="object"){c.paths[s]={};for(let[l,p]of Object.entries(u))p&&typeof p=="object"&&"x-fern-examples"in p&&(c.paths[s][l]={"x-fern-examples":p["x-fern-examples"]||[]})}}for(let[s,u]of Object.entries(n.paths)){c.paths[s]||(c.paths[s]={});for(let[l,p]of Object.entries(u))c.paths[s][l]?r.logger.debug(`Skipping ${l.toUpperCase()} ${s} - examples already exist in override file`):(c.paths[s][l]=p,r.logger.debug(`Adding new examples for ${l.toUpperCase()} ${s}`))}let d=qi.dump(c,{indent:2,lineWidth:-1,noRefs:!0});await(0,WYa.writeFile)(a,d,"utf-8"),r.logger.debug(`AI enhanced examples written to: ${a}`)}catch(o){throw r.logger.warn(`Failed to write AI examples override file: ${o}`),o}}var rtl=class{failureCount=0;failureThreshold=30;isOpen=!1;recordFailure(){this.failureCount++,this.failureCount>=this.failureThreshold&&(this.isOpen=!0)}recordSuccess(){this.failureCount=0,this.isOpen=!1}shouldSkip(){return this.isOpen}getFailureCount(){return this.failureCount}getThreshold(){return this.failureThreshold}},itl=class{progressCallback;maxConcurrency;activeRequests=new Map;pendingQueue=[];results=new Map;stats={pending:0,active:0,completed:0,failed:0,totalStarted:0};completedSinceLastCallback=[];constructor(t,r){this.progressCallback=r,this.maxConcurrency=t}async processAll(t){for(this.pendingQueue=[...t],this.stats.pending=this.pendingQueue.length,this.stats.totalStarted=this.pendingQueue.length;this.pendingQueue.length>0&&this.activeRequests.size<this.maxConcurrency;)this.startNext();for(;this.activeRequests.size>0;){let r=Array.from(this.activeRequests.entries()).map(([a,o])=>o.promise.then(c=>({id:a,result:c}))),{id:i,result:n}=await Promise.race(r);await this.handleCompletion(i,n),this.pendingQueue.length>0&&this.startNext()}return this.results}startNext(){if(this.pendingQueue.length===0||this.activeRequests.size>=this.maxConcurrency)return;let t=this.pendingQueue.shift();if(!t)return;let r=`req-${Date.now()}-${Math.random()}`,i=t(),n={id:r,promise:i,startTime:Date.now()};this.activeRequests.set(r,n),this.stats.pending=this.pendingQueue.length,this.stats.active=this.activeRequests.size}async handleCompletion(t,r){this.activeRequests.get(t)&&this.activeRequests.delete(t),r.success?(this.stats.completed++,this.results.set(r.endpointKey,{enhancedReq:r.enhancedReq,enhancedRes:r.enhancedRes,extractedHeaders:r.extractedHeaders,extractedPathParams:r.extractedPathParams,extractedQueryParams:r.extractedQueryParams})):this.stats.failed++,this.stats.active=this.activeRequests.size,this.completedSinceLastCallback.push(r),this.progressCallback&&(this.progressCallback({...this.stats},[...this.completedSinceLastCallback]),this.completedSinceLastCallback=[])}getStats(){return{...this.stats}}};function twB(e){try{try{let t=JSON.parse(e);return!!(t.openapi||t.swagger)}catch{let t=YXn(e);return!!(t?.openapi||t?.swagger)}}catch{return!1}}function mQh(e,t){if(t.includes(e))return e;for(let r of t){let i=r.replace(/\{[^}]+\}/g,"([^/]+)");if(new RegExp(`^${i}$`).test(e))return r}}function atl(e,t,r,i){try{let n=JSON.parse(e);if(!n.paths)return[];let a=Object.keys(n.paths),o=mQh(t,a);if(!o)return[];let c=n.paths[o];if(!c)return[];let d=c[r.toLowerCase()];if(!d)return[];let s=[],u=[...c.parameters??[],...d.parameters??[]];for(let l of u)"$ref"in l||l.in===i&&s.push(l.name);return s}catch{return[]}}function rwB(e,t,r){return atl(e,t,r,"header")}function iwB(e,t,r){return atl(e,t,r,"query")}function nwB(e,t,r){return atl(e,t,r,"path")}async function awB(e,t,r){try{let i;try{i=JSON.parse(e)}catch{i=YXn(e)}if(!i.openapi||!i.paths){r.logger.debug("Invalid OpenAPI spec structure, skipping pruning");return}let n=Object.keys(i.paths);r.logger.debug(`OpenAPI spec contains ${n.length} paths`);let a=[];for(let l of t){let p=mQh(l.path,n);p?(a.push({path:p,method:l.method.toLowerCase()}),r.logger.debug(`Mapped ${l.path} to OpenAPI path: ${p}`)):r.logger.debug(`No matching OpenAPI path found for ${l.path}`)}if(a.length===0){r.logger.debug("No endpoints matched in OpenAPI spec");return}let c=new VYa({document:i,endpoints:a}).prune();r.logger.debug(`Pruned OpenAPI spec for batch: ${c.statistics.originalEndpoints} \u2192 ${c.statistics.prunedEndpoints} endpoints, ${c.statistics.originalSchemas} \u2192 ${c.statistics.prunedSchemas} schemas`);let d=JSON.stringify(c.document,null,2);if(d.length>15e5){r.logger.debug(`Pruned OpenAPI spec still too large (${d.length} characters), skipping spec context for AI enhancement`);return}r.logger.debug(`Pruned spec size: ${d.length} characters (within limit)`);let s=a.map(l=>`${(l.method||"unknown").toUpperCase()}_${l.path.replace(/\//g,"_").replace(/[{}]/g,"")}`),u=`batch_${a.length}endpoints_${s.join("_").substring(0,100)}_pruned_spec.yaml`;return d}catch(i){return r.logger.debug(`Failed to prune OpenAPI spec: ${i}. Using original spec.`),e}}async function Gca(e,t,r,i,n,a,o){if(!t.enabled)return r.logger.debug("AI example enhancement is disabled"),e;try{return await owB(e,t,r,i,n,a,o)}catch(c){return r.logger.debug(`AI example enhancement failed with error: ${c}. Continuing with original API definition to prevent CLI crash.`),r.logger.debug(`Full AI enhancement error stack: ${c instanceof Error?c.stack:String(c)}`),e}}async function owB(e,t,r,i,n,a,o){let c=new e0u(t,r,i,n),d=new rtl,s,u=new Set;if(a!=null)try{let b=await(0,ntl.readFile)(a,"utf-8");if(!twB(b))return r.logger.debug("Non-OpenAPI spec detected, skipping AI example enhancement"),e;s=b,r.logger.debug(`Loaded OpenAPI spec (${b.length} characters) for AI enhancement`);let v=await ttl(a,r);try{let g=await etl({sourceFilePath:a,context:r});if(g.invalidCount>0){for(let{example:O}of g.invalidExamples){let A=`${O.method.toLowerCase()}:${O.endpointPath}`;u.add(A)}let m=await vQh({sourceFilePath:a,context:r});r.logger.info(`Removed ${m.removedCount} stale AI examples, ${u.size} endpoints will be regenerated`)}else r.logger.debug("No stale AI examples found to remove")}catch(g){r.logger.debug(`Failed to clean up stale AI examples: ${g}`)}}catch(b){r.logger.debug(`Failed to read OpenAPI spec file: ${b}`)}let l=new Set;if(a!=null){let b=await ttl(a,r);for(let v of b)u.has(v)||l.add(v);u.size>0&&r.logger.debug(`Coverage adjusted: ${b.size} total, ${l.size} preserved, ${u.size} marked for regeneration`)}let p={count:0,total:0},_=[],h=await uwB(e,c,r,n,p,_,l,u,s,a,o,d);if(_.length>0&&a!=null)try{await r0u({enhancedExamples:_,sourceFilePath:a,context:r})}catch(b){r.logger.debug(`Failed to write AI examples override file: ${b}`)}let y=AQh(h);return r.logger.debug(`AI Enhancement Summary - Total endpoints in API: ${y}, Enhanced: ${p.count}/${p.total}, Covered: ${l.size}`),h}async function uwB(e,t,r,i,n,a,o,c,d,s,u,l){let p=[];for(let[A,j]of Object.entries(e.subpackages)){let M=gQh(j,o,c,r);p.push(...M.map(w=>({...w,packageId:A})))}let _=gQh(e.rootPackage,o,c,r);p.push(..._.map(A=>({...A,packageId:"root"})));let h=AQh(e);n.total+=p.length,r.logger.debug(`AI Examples Enhancement: ${p.length} endpoints need enhancement out of ${h} total endpoints (${o.size} already covered)`),r.logger.debug(`Collected ${p.length} work items across all packages`);let y=Vca.getInstance(),b=y.create(u||"API",p.length),v={count:0,total:p.length},g=await swB(p,t,r,i,n,a,d,s,b,v,l);y.finish(b);let m={};for(let[A,j]of Object.entries(e.subpackages)){let M=OQh(j,g);m[A]=M}let O=OQh(e.rootPackage,g);return r.logger.debug(`AI Examples Enhancement Complete: ${v?.count||0}/${p.length} endpoints enhanced successfully (${h} total endpoints in API)`),{...e,subpackages:m,rootPackage:O}}function AQh(e){let t=0;t+=e.rootPackage.endpoints.length;for(let r of Object.values(e.subpackages))t+=r.endpoints.length;return t}function gQh(e,t,r,i){let n=[],a=new Set,o={totalEndpoints:e.endpoints.length,alreadyCovered:0,notAutogenerated:0,noExistingExamples:0,alreadyProcessed:0,noExamples:0,processed:0};for(let c of e.endpoints){let d=c;if(!fwB(d))for(let u of d.examples){let l=`${d.method.toLowerCase()}:${u.path}`;if(a.has(l)){o.alreadyProcessed++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: already processed in this run`);continue}let p=r?.has(l);if(!p&&t.has(l)){o.alreadyCovered++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: already covered (has AI-enhanced examples)`);continue}if(!p&&!lwB(u,i,l)){o.notAutogenerated++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: has human-written examples (not auto-generated)`);continue}let _=Wca(u.requestBodyV3),h=Wca(u.responseBodyV3);if(!p&&!_&&!h){o.noExistingExamples++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} skipped: no existing request/response examples to enhance`);continue}n.push({endpoint:d,example:u,endpointKey:l}),o.processed++,i?.logger.debug(`Endpoint ${d.method.toUpperCase()} ${u.path} selected for AI enhancement`),a.add(l);break}}return i&&(i.logger.debug(`Endpoint Filtering Results: ${o.processed}/${o.totalEndpoints} endpoints selected for AI enhancement`),i.logger.debug(`Filtering breakdown - Already covered: ${o.alreadyCovered}, Not auto-generated: ${o.notAutogenerated}, No existing examples: ${o.noExistingExamples}, No examples at all: ${o.noExamples}, Already processed: ${o.alreadyProcessed}, Selected: ${o.processed}`)),n}async function swB(e,t,r,i,n,a,o,c,d,s,u){let l=parseInt(process.env.FERN_AI_MAX_CONCURRENT||"25",10);if(r.logger.debug(`Processing ${e.length} endpoints with max ${l} concurrent Lambda calls using rolling window queue`),u?.shouldSkip())return r.logger.debug(`Circuit breaker is open after ${u.getFailureCount()} failures (threshold: ${u.getThreshold()}). Skipping AI enhancement for remaining endpoints.`),new Map;let p=0,_=0,h=Math.max(10,Math.floor(e.length/20)),y=(O,A)=>{if(d&&s&&Vca.getInstance().update(d,O.completed),u?.shouldSkip()){r.logger.debug(`Circuit breaker opened during processing. Processed ${O.completed} endpoints.`);return}c&&a.length>0&&O.completed-_>=h&&(r0u({enhancedExamples:a,sourceFilePath:c,context:r}).then(()=>{r.logger.debug(`Saved ${a.length} examples after ${O.completed} completions`)}).catch(M=>{r.logger.debug(`Failed to save incremental results: ${M}`)}),_=O.completed)},b=e.map((O,A)=>async()=>{try{if(u?.shouldSkip())return{endpointKey:O.endpointKey,success:!1,error:"Circuit breaker is open"};let j=await cwB(O,t,r,i,n,a,o,c,d,s,A+1,u);return j?{endpointKey:j.endpointKey,enhancedReq:j.enhancedReq,enhancedRes:j.enhancedRes,extractedHeaders:j.extractedHeaders,extractedPathParams:j.extractedPathParams,extractedQueryParams:j.extractedQueryParams,success:!0}:{endpointKey:O.endpointKey,success:!1,error:"processEndpoint returned null"}}catch(j){return r.logger.debug(`Work item factory error for ${O.endpointKey}: ${j}`),{endpointKey:O.endpointKey,success:!1,error:String(j)}}}),v=new itl(l,y),g=await v.processAll(b);if(c&&a.length>0)try{await r0u({enhancedExamples:a,sourceFilePath:c,context:r}),r.logger.debug(`Final save: ${a.length} examples saved`)}catch(O){r.logger.debug(`Failed to save final results: ${O}`)}let m=v.getStats();return r.logger.debug(`Completed processing: ${m.completed} succeeded, ${m.failed} failed`),g}async function cwB(e,t,r,i,n,a,o,c,d,s,u,l){let p=e.endpointKey;r.logger.debug(`Processing endpoint ${u}: ${e.endpoint.method} ${e.example.path}`);let _;o&&(_=await awB(o,[{path:e.example.path,method:e.endpoint.method}],r));let h={method:e.endpoint.method,endpointPath:e.example.path,organizationId:i,operationSummary:e.endpoint.summary,operationDescription:e.endpoint.description,originalRequestExample:Wca(e.example.requestBodyV3),originalResponseExample:Wca(e.example.responseBodyV3),pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,openApiSpec:_};try{let y=await t.enhanceExample(h);l?.recordSuccess();let b=y.enhancedRequestExample!==h.originalRequestExample,v=y.enhancedResponseExample!==h.originalResponseExample;if(b||v){let g=_?rwB(_,e.example.path,e.endpoint.method):[],m=_?iwB(_,e.example.path,e.endpoint.method):[],O=_?nwB(_,e.example.path,e.endpoint.method):[],A={...e.example.headers??{}};if(g.length>0)for(let $ of g)$ in A||(A[$]="");let j={};for(let $ of m)j[$]=e.example.queryParameters?.[$]??"";let M={};for(let $ of O)M[$]=e.example.pathParameters?.[$]??"";let w=hYi(y.enhancedRequestExample),{filteredBody:D,extractedPathParams:B,extractedQueryParams:R,extractedHeaders:T}=kju(w,M,j,A),q={...e.example.headers??{}};for(let[$,de]of Object.entries(T))de!=null&&de!==""&&(q[$]=de);let z={...e.example.pathParameters??{}};for(let[$,de]of Object.entries(B))de!=null&&de!==""&&(z[$]=de);let N={...e.example.queryParameters??{}};for(let[$,de]of Object.entries(R))de!=null&&de!==""&&(N[$]=de);let H={endpoint:e.example.path,method:e.endpoint.method,pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,requestBody:b?y.enhancedRequestExample:void 0,responseBody:v?y.enhancedResponseExample:void 0,headerParameterNames:g.length>0?g:void 0,queryParameterNames:m.length>0?m:void 0,pathParameterNames:O.length>0?O:void 0};return a.push(H),n.count++,s&&s.count++,r.logger.debug(`Successfully enhanced ${e.endpoint.method} ${e.example.path}`),d&&s&&Vca.getInstance().update(d,s.count),{endpointKey:p,enhancedReq:D,enhancedRes:y.enhancedResponseExample,extractedHeaders:Object.keys(q).length>0?q:void 0,extractedPathParams:Object.keys(z).length>0?z:void 0,extractedQueryParams:Object.keys(N).length>0?N:void 0}}return r.logger.debug(`No changes needed for ${e.endpoint.method} ${e.example.path}`),{endpointKey:p,enhancedReq:y.enhancedRequestExample,enhancedRes:y.enhancedResponseExample}}catch(y){l?.recordFailure(),r.logger.debug(`Endpoint ${e.endpoint.method} ${e.example.path} failed: ${y}`)}return r.logger.debug(`Failed to enhance ${e.endpoint.method} ${e.example.path}`),null}function OQh(e,t){let r=e.endpoints.map(i=>{let n=i,a=n.examples.map(o=>{let c=`${n.method.toLowerCase()}:${o.path}`,d=t.get(c);if(d){let s={...o};if(d.enhancedReq!==void 0)if(s.requestBody=d.enhancedReq,o.requestBodyV3)if(typeof o.requestBodyV3.value=="object"&&o.requestBodyV3.value!==null&&!Array.isArray(o.requestBodyV3.value)&&Object.values(o.requestBodyV3.value).some(l=>Zel(l))){let l=d.enhancedReq,p=o.requestBodyV3.value,_={};for(let[h,y]of Object.entries(p))h in l?_[h]={...y,value:l[h]}:_[h]=y;s.requestBodyV3={...o.requestBodyV3,value:_}}else s.requestBodyV3={...o.requestBodyV3,value:d.enhancedReq};else s.requestBodyV3={type:"json",value:d.enhancedReq};return d.enhancedRes!==void 0&&(s.responseBody=d.enhancedRes,s.responseBodyV3=o.responseBodyV3?{...o.responseBodyV3,value:d.enhancedRes}:{type:"json",value:d.enhancedRes}),d.extractedHeaders!==void 0&&(s.headers={...o.headers??{},...d.extractedHeaders}),d.extractedPathParams!==void 0&&(s.pathParameters={...o.pathParameters??{},...d.extractedPathParams}),d.extractedQueryParams!==void 0&&(s.queryParameters={...o.queryParameters??{},...d.extractedQueryParams}),s}return o});return{...i,examples:a}});return{...e,endpoints:r}}function lwB(e,t,r){let n=Wca(e.requestBodyV3),a=Wca(e.responseBodyV3),o=i0u(n,t,`${r}:request`),c=i0u(a,t,`${r}:response`),d=o.total+c.total,s=o.autogenerated+c.autogenerated;if(d===0)return!0;let u=s/d,l=u>=.3;return t&&r&&(l?t.logger.debug(`Endpoint ${r} considered auto-generated: ${s}/${d} (${(u*100).toFixed(1)}%) values are generic`):t.logger.debug(`Endpoint ${r} flagged as human-written: only ${s}/${d} (${(u*100).toFixed(1)}%) values are generic (threshold: ${.3*100}%)`)),l}function i0u(e,t,r){if(e==null)return{autogenerated:0,total:0};if(typeof e=="string"){let i=e===xn.STRING||e===xn.BASE64||e===xn.DATE||e===xn.DATE_TIME||e===xn.UUID||e===xn.BIG_INTEGER||xn.SAMPLE_STRINGS.includes(e)||e==="";return!i&&t&&r&&t.logger.debug(`Non-generic string found at ${r}: "${e}"`),{autogenerated:i?1:0,total:1}}if(typeof e=="number"){let i=e===xn.DOUBLE||e===xn.FLOAT||e===xn.INT||e===xn.INT64||e===xn.UINT||e===xn.UINT64||e===0;return!i&&t&&r&&t.logger.debug(`Non-generic number found at ${r}: ${e}`),{autogenerated:i?1:0,total:1}}if(typeof e=="boolean"){let i=e===xn.BOOLEAN;return!i&&t&&r&&t.logger.debug(`Non-generic boolean found at ${r}: ${e}`),{autogenerated:i?1:0,total:1}}if(Array.isArray(e)){if(e.length===0)return{autogenerated:0,total:0};let i=0,n=0;return e.forEach((a,o)=>{let c=i0u(a,t,r?`${r}[${o}]`:void 0);i+=c.autogenerated,n+=c.total}),{autogenerated:i,total:n}}if(typeof e=="object"){let i=0,n=0;return Object.entries(e).forEach(([a,o])=>{let c=i0u(o,t,r?`${r}.${a}`:void 0);i+=c.autogenerated,n+=c.total}),{autogenerated:i,total:n}}return t&&r&&t.logger.debug(`Unknown type at ${r}: ${typeof e} = ${e}`),{autogenerated:0,total:1}}function fwB(e){try{let t=e;if(t.v2Examples?.userSpecifiedExamples&&typeof t.v2Examples.userSpecifiedExamples=="object"){let r=t.v2Examples.userSpecifiedExamples;return Object.keys(r).length>0}if(t.v2Responses?.responses){for(let r of t.v2Responses.responses)if(r.body?.v2Examples?.userSpecifiedExamples&&typeof r.body.v2Examples.userSpecifiedExamples=="object"){let i=r.body.v2Examples.userSpecifiedExamples;if(Object.keys(i).length>0)return!0}}return!1}catch{return!1}}function Wca(e){if(e)switch(e.type){case"json":case"stream":case"sse":return e.value;case"filename":return;default:return e.value}}function PQh({auth:e,playgroundConfig:t,context:r}){if(e.schemes.length>0&&e.schemes[0]!=null){let i=e.schemes[0];return jQh({scheme:i,playgroundConfig:t,context:r})}}function jQh({scheme:e,playgroundConfig:t,context:r}){switch(e.type){case"basic":return{type:"basicAuth",passwordName:e.password.originalName,usernameName:e.username.originalName,description:e.docs};case"bearer":return{type:"bearerAuth",tokenName:e.token.originalName,description:e.docs};case"header":return{type:"header",headerWireValue:e.name.wireValue,nameOverride:e.name.name.originalName,prefix:e.prefix,description:e.docs};case"oauth":{let i=e.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(n=>n.name.originalName).join(".")||"$.body.access_token";return t?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:ni.EndpointId(e.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:ni.JqString(i),headerName:e.configuration.tokenHeader,tokenPrefix:e.configuration.tokenPrefix,description:e.docs}}}:{type:"bearerAuth",tokenName:"token",description:e.docs}}case"inferred":{e.tokenEndpoint.authenticatedRequestHeaders.length>1&&r.logger.warn("Inferred auth scheme has multiple authenticated request headers. Only the `Authentication` or first header will be pushed to FDR.");let i=e.tokenEndpoint.authenticatedRequestHeaders.find(a=>a.headerName.toLowerCase()==="authorization");if(i)return i.responseProperty.propertyPath!=null&&i.responseProperty.propertyPath.length>0&&r.logger.warn("Inferred Authentication header has a property path. The property wirevalue will be pushed to FDR without property path."),{type:"bearerAuth",tokenName:i.responseProperty.property.name.wireValue,description:e.docs};let n=e.tokenEndpoint.authenticatedRequestHeaders[0];return n?{type:"header",headerWireValue:n.headerName,prefix:n.valuePrefix,nameOverride:void 0,description:e.docs}:{type:"bearerAuth",tokenName:"token",description:e.docs}}default:vt(e)}}function wQh({auth:e,playgroundConfig:t,context:r}){let i={};for(let n of e.schemes){let a=jQh({scheme:n,playgroundConfig:t,context:r});a!=null&&(i[ni.AuthSchemeId(n.key)]=a)}return i}function SQh(e){return e._visit({alias:t=>({type:"alias",value:tb(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:RM(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>ni.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:ni.PropertyKey(r.name.wireValue),valueType:tb(r.valueType),availability:RM(r.availability),propertyAccess:r.propertyAccess})),extraProperties:bwB(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),availability:RM(i.availability),description:i.docs,propertyAccess:i.propertyAccess}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?RM(i.availability):void 0,additionalProperties:Ar.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[ni.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:ni.PropertyKey(n.name.wireValue),valueType:tb(n.type),description:void 0,availability:void 0,propertyAccess:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:tb(r.type),availability:void 0,displayName:r.type.type==="named"?r.type.displayName??r.type.name.originalName:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function tb(e){return e._visit({container:t=>Ar.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:tb(r),minItems:void 0,maxItems:void 0}),map:({keyType:r,valueType:i})=>({type:"map",keyType:tb(r),valueType:tb(i),minProperties:void 0,maxProperties:void 0}),optional:r=>({type:"optional",itemType:tb(r),defaultValue:void 0}),nullable:r=>({type:"nullable",itemType:tb(r)}),set:r=>({type:"set",itemType:tb(r),minItems:void 0,maxItems:void 0}),literal:r=>Ar.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:ni.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:Ar.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>pwB(t.v2),float:()=>EQh(t.v2),double:()=>EQh(t.v2),string:()=>dwB(t.v2),long:()=>_wB(t.v2),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>hwB(t.v2),uint64:()=>ywB(t.v2),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function dwB(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function pwB(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="integer"?e.default:void 0}}function EQh(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="double"?e.default:void 0}}function _wB(e){let t=e!=null&&e.type==="long"?e.validation:void 0;return{type:"long",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="long"?e.default:void 0}}function hwB(e){let t=e!=null&&e.type==="uint"?e.validation:void 0;return{type:"uint",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="uint"?e.default:void 0}}function ywB(e){let t=e!=null&&e.type==="uint64"?e.validation:void 0;return{type:"uint64",minimum:t?.exclusiveMin===!0?void 0:t?.min,maximum:t?.exclusiveMax===!0?void 0:t?.max,exclusiveMinimum:t?.exclusiveMin===!0?t?.min:void 0,exclusiveMaximum:t?.exclusiveMax===!0?t?.max:void 0,multipleOf:t?.multipleOf,default:e!=null&&e.type==="uint64"?e.default:void 0}}function bwB(e){return typeof e=="boolean"?e?ii.unknown():void 0:typeof e=="string"?{type:"id",value:ni.TypeId(e),default:void 0}:tb(e)}function stl(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?gwB(r,t):[],webhooks:i!=null?vwB(i):[],websockets:n!=null?[OwB(n,t)]:[],types:e.types.map(a=>ni.TypeId(a)),subpackages:e.subpackages.map(a=>ni.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?ni.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function vwB(e){return e.map(t=>{let r=[];if(t.v2Examples!=null){for(let[i,n]of Object.entries(t.v2Examples.userSpecifiedExamples))r.push({payload:n.payload});for(let[i,n]of Object.entries(t.v2Examples.autogeneratedExamples))r.push({payload:n.payload})}else r.push(...t.examples?.map(i=>({payload:i.payload.jsonExample}))??[]);return{description:t.docs??void 0,id:ni.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??qfn(t.name.originalName),headers:t.headers.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:tb(i.valueType),availability:RM(i.availability)})),payload:DwB(t.payload,t.fileUploadPayload),examples:r,responses:t.responses?.map(utl).filter(us)}})}function gwB(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.v2Examples!=null){let c,d=i.v2Examples.userSpecifiedExamples,s=i.v2Examples.autogeneratedExamples,u=Object.values(d).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(d))c=DQh({shouldUseExampleName:_.displayName!=null||u,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c);let l=Object.values(s).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(s))c=DQh({shouldUseExampleName:l,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c)}else if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(c=>otl({userSpecifiedExample:c,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(us));else if(n!=null){let c=otl({autogeneratedExample:n,irEndpoint:i,ir:t});c!=null&&a.push(c)}else if(i.response?.body?.type==="fileDownload"){let c=voa({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(c.type==="success"){let d=otl({autogeneratedExample:c,irEndpoint:i,ir:t});if(d!=null){let s={...d,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let o={slug:void 0,availability:RM(i.availability??e.availability),auth:i.auth,authV2:mwB(i.security),multiAuth:AwB(i.security),description:i.docs??void 0,method:EwB(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?ni.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?PwB({environmentsConfig:t.environments,endpoint:i}):void 0,id:ni.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??qfn(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(c=>({description:c.docs??void 0,key:ni.PropertyKey(c.name.originalName),type:tb(c.valueType),availability:void 0,explode:c.explode})),parts:[...xca(i.basePath),...xca(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(c=>({description:c.docs??void 0,key:ni.PropertyKey(c.name.originalName),type:tb(c.valueType),availability:void 0,explode:c.explode})),parts:[...t.basePath!=null?xca(t.basePath):[],...xca(e.basePath),...xca(i.path)]},queryParameters:i.queryParameters.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability),explode:c.explode})),headers:[...e.headers,...i.headers].map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability)})),responseHeaders:i.responseHeaders?.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:tb(c.valueType),availability:RM(c.availability)})),request:i.requestBody!=null?MQh(i.requestBody):void 0,requestsV2:{requests:i.v2RequestBodies?.requestBodies?.map(MQh).filter(us)},response:i.response!=null?utl(i.response):void 0,responsesV2:{responses:i.v2Responses?.responses?.map(utl).filter(us)},errors:void 0,errorsV2:SwB(i.errors,t),examples:a,protocol:i.source?._visit({openapi:()=>({type:"rest"}),openrpc:()=>({type:"openrpc",methodName:i.id}),proto:c=>({type:"grpc",methodName:i.id,methodType:c.methodType}),_other:()=>{}}),includeInApiExplorer:i.apiPlayground};r.push(o)}return r}function OwB(e,t){let r=[];if(e.v2Examples!=null&&(Object.keys(e.v2Examples.userSpecifiedExamples).length>0||Object.keys(e.v2Examples.autogeneratedExamples).length>0)){let i=Object.entries(e.v2Examples.userSpecifiedExamples),n=Object.entries(e.v2Examples.autogeneratedExamples),a=i.length>0?i[0]:n[0];if(a!=null){let[o,c]=a;r.push({name:o,description:"",path:c.baseUrl??"",pathParameters:c.pathParameters??{},queryParameters:c.queryParameters??{},headers:c.headers??{},messages:c.messages?.map(d=>({type:ni.api.v1.WebSocketMessageId(d.type),body:d.body}))??[]})}}else r=e.examples.map(i=>({name:i.name?.originalName,description:i.docs,path:i.url,pathParameters:i.pathParameters.reduce((n,a)=>(n[ni.PropertyKey(a.name.originalName)]=a.value.jsonExample,n),{}),queryParameters:i.queryParameters.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),headers:i.headers.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),messages:i.messages.map(n=>({type:ni.api.v1.WebSocketMessageId(n.type),body:n.body.jsonExample}))}));return{auth:e.auth,availability:RM(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?ni.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?jwB({environmentsConfig:t.environments,channel:e}):[],id:ni.WebSocketId(e.name.originalName),name:e.displayName??qfn(e.name.originalName),path:{pathParameters:e.pathParameters.map(i=>({description:i.docs??void 0,key:ni.PropertyKey(i.name.originalName),type:tb(i.valueType),availability:void 0,explode:i.explode})),parts:xca(e.path)},headers:e.headers.map(i=>({key:i.name.wireValue,type:tb(i.valueType),description:i.docs,availability:RM(i.availability)})),queryParameters:e.queryParameters.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:tb(i.valueType),availability:RM(i.availability),explode:i.explode})),messages:e.messages.map(i=>({type:ni.api.v1.WebSocketMessageId(i.type),displayName:i.displayName,origin:i.origin,body:IwB(i.body),description:i.docs,availability:RM(i.availability)})),examples:r}}function mwB(e){if(e==null)return;if(e.length===0)return[];let t=new Set(e.flatMap(r=>Object.keys(r)));return Array.from(t).map(r=>ni.AuthSchemeId(r))}function AwB(e){if(e!=null)return e.length===0?[]:e.map(t=>({schemes:Object.keys(t).map(r=>ni.AuthSchemeId(r))}))}function RM(e){if(e!=null)switch(e.status){case"DEPRECATED":return ni.Availability.Deprecated;case"PRE_RELEASE":return ni.Availability.Beta;case"GENERAL_AVAILABILITY":return ni.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return ni.Availability.Beta;default:vt(e.status)}}function PwB({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl,n=t.v2BaseUrls;switch(r.type){case"singleBaseUrl":return r.environments.map(a=>({id:ni.EnvironmentId(a.id),baseUrl:a.url}));case"multipleBaseUrls":if(n!=null)return n.flatMap(o=>r.environments.map(c=>{let d=c.urls[o];if(d==null)throw new Error(`Encountered undefined server name "${o}" at endpoint ${t.method.toUpperCase()} ${t.path}. Expected environment ${c.id} to contain url for ${o}`);return{id:ni.EnvironmentId(o),baseUrl:d}})).filter((o,c,d)=>c===d.findIndex(s=>s.id===o.id&&s.baseUrl===o.baseUrl));if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(a=>{let o=a.urls[i];if(o==null)throw new Error(`Encountered undefined server name "${i}" at endpoint ${t.method.toUpperCase()} ${t.path.head}. Expected environment ${a.id} to contain url for ${i}`);return{id:ni.EnvironmentId(a.id),baseUrl:o}});default:vt(r)}}function jwB({environmentsConfig:e,channel:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:ni.EnvironmentId(n.id),baseUrl:wwB(n.url,"wss")}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected channel ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Encountered undefined server name ${a} at channel ${t.name.originalName} ${t.path.head}. Expected environment ${n.id} to contain url for ${i}`);return{id:ni.EnvironmentId(n.id),baseUrl:a}});default:vt(r)}}function wwB(e,t){return e.replace(/^[^:]+/,t)}function EwB(e){return Ar.http.HttpMethod._visit(e,{get:()=>ni.HttpMethod.Get,post:()=>ni.HttpMethod.Post,put:()=>ni.HttpMethod.Put,patch:()=>ni.HttpMethod.Patch,delete:()=>ni.HttpMethod.Delete,head:()=>ni.HttpMethod.Head,_other:()=>{throw new Error("Unknown http method: "+e)}})}function xca(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:ni.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function MQh(e){let t=Ar.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??tm.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>ni.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),availability:RM(i.availability),propertyAccess:i.propertyAccess})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??tm.APPLICATION_JSON,shape:{type:"reference",value:tb(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:o=>({type:"file",key:ni.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),fileArray:o=>({type:"fileArray",key:ni.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:ni.PropertyKey(n.name.wireValue),valueType:tb(n.valueType),contentType:n.contentType,description:n.docs??void 0,availability:RM(n.availability),exploded:n.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(us)},contentType:r.contentType,description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function utl(e){let t=e.docs,r;return e.body!=null&&(r=Ar.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:tb(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:tb(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:tb(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}})),r!=null?{type:r,statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t}:e.statusCode!=null?{statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t,type:{type:"object",extends:[],properties:[],extraProperties:void 0}}:void 0}function SwB(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:tb(n.type)},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,name:n.displayName??n.name.name.originalName,availability:void 0,examples:CwB(n,t),headers:n.headers!=null&&n.headers.length>0?n.headers.map(a=>({description:a.docs??void 0,key:a.name.wireValue,type:tb(a.valueType),availability:RM(a.availability)})):void 0})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:ni.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0,propertyAccess:void 0}];n.type!=null&&a.push({key:ni.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:tb(n.type),description:n.docs,availability:void 0,propertyAccess:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,availability:void 0,name:n.displayName??n.name.name.originalName,examples:n.examples.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs})),headers:n.headers!=null&&n.headers.length>0?n.headers.map(o=>({description:o.docs??void 0,key:o.name.wireValue,type:tb(o.valueType),availability:RM(o.availability)})):void 0})}}return r}function DQh({shouldUseExampleName:e,exampleName:t,example:r,irEndpoint:i,irService:n,ir:a}){if(r==null)return;let o=s=>{if(s.valueType.type==="container"&&s.valueType.container.type==="literal")return s.valueType.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}});if(s.valueType.type==="container"&&s.valueType.container.type==="optional"&&s.valueType.container.optional.type==="container"&&s.valueType.container.optional.container.type==="literal")return s.valueType.container.optional.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}})},c={};a.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),n.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),i.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)});let d=r.response?.body!=null?r.response.body.value:void 0;return{name:e?t:void 0,description:"",path:r.request?.endpoint.path??"",pathParameters:r.request?.pathParameters??{},queryParameters:r.request?.queryParameters??{},headers:(()=>{let u={...r.request?.headers??{}};for(let[l,p]of Object.entries(c))(u[l]===null||u[l]===void 0)&&(u[l]=p);return u})(),requestBody:r.request?.requestBody,requestBodyV3:i.requestBody?._visit({inlinedRequestBody:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,reference:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,fileUpload:s=>{if(r.request==null)return;let u={};if(yl(r.request.requestBody)){let l=r.request.requestBody;for(let p of s.properties)p._visit({file:_=>{let h=l[_.key.wireValue];if(_.type==="file")u[_.key.wireValue]={type:"filename",value:typeof h=="string"?h:"<file1>"};else if(_.type==="fileArray"){let y=(Array.isArray(h)?h:[h]).filter(b=>typeof b=="string");u[_.key.wireValue]={type:"filenames",value:y}}},bodyProperty:_=>{if(_.style==="exploded"){let h=l[_.name.wireValue];u[_.name.wireValue]={type:"exploded",value:Array.isArray(h)?h:[h]}}else u[_.name.wireValue]={type:"json",value:l[_.name.wireValue]}},_other:Zje})}return{type:"form",value:u}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??i.response?.statusCode??200,responseBody:d??void 0,responseBodyV3:d!=null?r.response?.body?._visit({json:s=>({type:"json",value:s}),stream:s=>Array.isArray(s)&&s.length>0&&s.every(MwB)?{type:"sse",value:s}:{type:"stream",value:s},error:()=>{},_other:()=>{throw new Error("Unknown ExampleResponseBody: "+r.response?.body?.type)}}):void 0,codeSamples:r.codeSamples?.map(s=>({name:s.name,description:s.docs??void 0,install:void 0,language:s.language,code:s.code})).filter(us)}}function MwB(e){return typeof e=="object"&&e!==null&&"event"in e&&typeof e?.event=="string"&&"data"in e}function otl({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(c=>{let d;if(c.valueType.type==="container"&&c.valueType.container.type==="literal"?d=c.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):c.valueType.type==="container"&&c.valueType.container.type==="optional"&&c.valueType.container.optional.type==="container"&&c.valueType.container.optional.container.type==="literal"&&(d=c.valueType.container.optional.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}})),d!=null)return{name:c.name,value:{jsonExample:d,shape:Ar.ExampleTypeReferenceShape.primitive(Ar.ExamplePrimitive.string({original:d}))}}}).filter(us),a=e?.example??t?.example;if(a==null)return;let{codeSamples:o}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((c,d)=>(c[ni.PropertyKey(d.name.originalName)]=d.value.jsonExample,c),{}),queryParameters:a.queryParameters.reduce((c,d)=>(c[d.name.wireValue]=d.value.jsonExample,c),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((c,d)=>(c[d.name.wireValue]=d.value.jsonExample,c),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:c=>{if(a.request==null)return;let d={};if(yl(a.request.jsonExample)){let s=a.request.jsonExample;for(let u of c.properties)u._visit({file:l=>{let p=s[l.key.wireValue];if(l.type==="file")d[l.key.wireValue]={type:"filename",value:typeof p=="string"?p:"<file1>"};else if(l.type==="fileArray"){let _=(Array.isArray(p)?p:[p]).filter(h=>typeof h=="string");d[l.key.wireValue]={type:"filenames",value:_}}},bodyProperty:l=>{if(l.style==="exploded"){let p=s[l.name.wireValue];d[l.name.wireValue]={type:"exploded",value:Array.isArray(p)?p:[p]}}else d[l.name.wireValue]={type:"json",value:s[l.name.wireValue]}},_other:Zje})}return{type:"form",value:d}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??Ar.http.ExampleResponse._visit(a.response,{ok:c=>c._visit({body:d=>d!=null?200:204,stream:d=>d.length>0?200:204,sse:d=>d.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:({error:c})=>{let d=i.errors[c.errorId];if(d==null)throw new Error("Cannot find error "+c.errorId);return d.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:c=>c._visit({body:d=>d?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:c=>c.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:c=>c._visit({body:d=>d!=null?{type:"json",value:d.jsonExample}:void 0,stream:d=>({type:"stream",value:d.map(s=>s.jsonExample)}),sse:d=>({type:"sse",value:d.map(({event:s,data:u})=>({event:s,data:u.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:c=>c.body!=null?{type:"json",value:c.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:o?.map(c=>$ve._visit(c,{language:d=>({language:d.language,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:d.install}),sdk:d=>({language:d.sdk,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:void 0}),_other:()=>{}})).filter(us)}}function DwB(e,t){return t!=null?{type:{type:"formData",name:t.name.originalName,description:t.docs??void 0,availability:void 0,properties:t.properties.map(r=>r._visit({file:i=>{let n=i._visit({file:a=>({type:"file",key:ni.PropertyKey(a.key.wireValue),isOptional:a.isOptional,contentType:a.contentType,description:a.docs??void 0,availability:void 0}),fileArray:a=>({type:"fileArray",key:ni.PropertyKey(a.key.wireValue),isOptional:a.isOptional,contentType:a.contentType,description:a.docs??void 0,availability:void 0}),_other:()=>{}});if(n!=null)return{type:"file",value:n}},bodyProperty:i=>({type:"bodyProperty",key:ni.PropertyKey(i.name.wireValue),valueType:tb(i.valueType),contentType:i.contentType,description:i.docs??void 0,availability:RM(i.availability),exploded:i.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(us)},description:t.docs??void 0}:BwB(e)}function BwB(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>ni.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ni.PropertyKey(t.name.wireValue),valueType:tb(t.valueType),availability:RM(t.availability),propertyAccess:void 0})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:tb(e.payloadType)},description:e.docs};default:vt(e)}}function IwB(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>ni.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ni.PropertyKey(t.name.wireValue),valueType:tb(t.valueType),availability:RM(t.availability),propertyAccess:void 0})),extraProperties:void 0};case"reference":return{type:"reference",value:tb(e.bodyType)};default:vt(e)}}function CwB(e,t){let r=e.v2Examples?.userSpecifiedExamples,i=e.v2Examples?.autogeneratedExamples,n=e.examples;if(r!=null&&Object.keys(r).length>0)return Object.entries(r).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(i!=null&&Object.keys(i).length>0)return Object.entries(i).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(n.length>0)return n.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs}));let a=qwB(e,t);return a!=null?[a]:[]}function qwB(e,t){if(e.type==null||e.type.type!=="named")return;let r=e.type.typeId,i=t.types[r];if(i==null||i.shape.type!=="object")return;let n={},a=!1;for(let o of i.shape.properties){let c=o.name.wireValue,d=o.v2Examples;if(d?.userSpecifiedExamples!=null){let s=Object.values(d.userSpecifiedExamples);if(s.length>0){n[c]=s[0],a=!0;continue}}if(d?.autogeneratedExamples!=null){let s=Object.values(d.autogeneratedExamples);if(s.length>0){n[c]=s[0];continue}}}if(a)return{name:void 0,responseBody:{type:"json",value:n},description:void 0}}function Cx({ir:e,snippetsConfig:t,playgroundConfig:r,context:i}){let n={types:{},subpackages:{},rootPackage:stl(e.rootPackage,e),apiName:e.apiName.originalName,auth:PQh({auth:e.auth,playgroundConfig:r,context:i}),authSchemes:wQh({auth:e.auth,playgroundConfig:r,context:i}),snippetsConfiguration:t,globalHeaders:e.headers.map(a=>({availability:RM(a.availability),description:a.docs??void 0,key:a.name.wireValue,type:tb(a.valueType)})),navigation:void 0};for(let[a,o]of Object.entries(e.types))n.types[ni.TypeId(a)]={description:o.docs??void 0,name:o.name.name.originalName,shape:SQh(o.shape),availability:RM(o.availability),displayName:o.name.displayName};for(let[a,o]of Object.entries(e.subpackages)){let c=o.service!=null?e.services[o.service]:void 0;n.subpackages[ni.api.v1.SubpackageId(a)]={subpackageId:ni.api.v1.SubpackageId(a),displayName:c?.displayName??o.displayName,name:o.name.originalName,description:o.docs??void 0,...stl(o,e)}}return n}async function ctl({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:o,aiEnhancerConfig:c}){let d=ES({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new wS(r,t)}),s=D3t({token:i.value}),u=Cx({ir:d,snippetsConfig:a,playgroundConfig:o,context:r});if(c){let h=t.getSources().find(y=>y.type==="openapi")?.absoluteFilePath;u=await Gca(u,c,r,i,e,h,d.apiName.originalName)}let l=await s.api.v1.register.registerApiDefinition({orgId:ni.OrgId(e),apiId:ni.ApiId(d.apiName.originalName),definition:u});if(l.ok)return r.logger.debug(`Registered API Definition ${l.body.apiDefinitionId}`),{id:l.body.apiDefinitionId,ir:d};switch(l.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",l.error)}}var TwB=new t6o({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function GYa({ir:e,apiDefinitionId:t,playgroundConfig:r,context:i}){return r6o(k5o(Cx({ir:e,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:r,context:i}),C4.ApiDefinitionId(t),TwB))}var BQh=ue(require("path"),1);async function Ege({iconPath:e,filepaths:t}){e!=null&&typeof e=="string"&&BQh.default.isAbsolute(e)&&t.add(e)}async function IQh({parsedDocsConfig:e}){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.navigation.type==="productgroup"&&e.navigation.products.forEach(i=>{i.image!=null&&t.add(i.image)}),(await ltl({navigation:e.navigation})).forEach(i=>{t.add(i)}),e.navbarLinks&&await Promise.all(e.navbarLinks.map(async i=>{i.type==="dropdown"&&i.links.map(async n=>{n.icon&&await Ege({iconPath:n.icon,filepaths:t}),n.rightIcon&&await Ege({iconPath:n.rightIcon,filepaths:t})}),i.type!=="github"&&(i.icon&&await Ege({iconPath:i.icon,filepaths:t}),i.rightIcon&&await Ege({iconPath:i.rightIcon,filepaths:t}))})),e.js!=null&&e.js.files.forEach(i=>{t.add(i.absolutePath)}),e.pageActions?.options?.custom!=null&&await Promise.all(e.pageActions.options.custom.map(async i=>{i.icon!=null&&await Ege({iconPath:i.icon,filepaths:t})})),t}async function ltl({navigation:e}){let t=new Set;switch(e.type){case"untabbed":await Promise.all(e.items.map(r=>Hca({item:r,filepaths:t})));break;case"tabbed":await Promise.all(e.items.map(async r=>{r.icon!=null&&await Ege({iconPath:r.icon,filepaths:t}),r.child.type==="layout"&&r.child.layout!=null?await Promise.all(r.child.layout.map(i=>Hca({item:i,filepaths:t}))):r.child.type==="variants"&&r.child.variants!=null&&await Promise.all(r.child.variants.flatMap(i=>{let n=[];return i.icon!=null&&n.push(Ege({iconPath:i.icon,filepaths:t})),n.push(...i.layout.map(a=>Hca({item:a,filepaths:t}))),n}))}));break;case"versioned":await Promise.all(e.versions.map(async r=>{r.landingPage!=null&&await Hca({item:r.landingPage,filepaths:t}),(await ltl({navigation:r.navigation})).forEach(n=>t.add(n))}));break;case"productgroup":await Promise.all(e.products.map(async r=>{r.icon!=null&&await Ege({iconPath:r.icon,filepaths:t}),r.type==="internal"&&(r.landingPage!=null&&await Hca({item:r.landingPage,filepaths:t}),(await ltl({navigation:r.navigation})).forEach(n=>t.add(n)))}));break}return t}async function Hca({item:e,filepaths:t}){switch(e.type){case"page":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"section":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t}),await Promise.all(e.contents.map(r=>Hca({item:r,filepaths:t})));break;case"apiSection":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"link":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"changelog":e.icon!=null&&await Ege({iconPath:e.icon,filepaths:t});break;case"pythonDocsSection":break}}async function CQh({navigation:e,apiWorkspaces:t,visitor:r,context:i}){zwB(e)?await Promise.all(e.map(async n=>{NwB(n)?await Promise.all(n.layout.map(async a=>{await n0u({navigationItem:a,visitor:r,apiWorkspaces:t,context:i})})):FwB(n)&&await Promise.all(n.variants.flatMap(a=>a.layout.map(async o=>{await n0u({navigationItem:o,visitor:r,apiWorkspaces:t,context:i})})))})):await Promise.all(e.map(async n=>{await n0u({navigationItem:n,visitor:r,apiWorkspaces:t,context:i})}))}async function n0u({navigationItem:e,visitor:t,apiWorkspaces:r,context:i}){if(await nVt(e,{alphabetized:It,api:It,apiName:It,audiences:It,displayErrors:It,tagDescriptionPages:It,snippets:It,summary:It,title:It,layout:It,collapsed:It,icon:It,slug:It,hidden:It,skipSlug:It,paginated:It,playground:It,flattened:It,path:It,page:It,featureFlag:It,openrpc:It,postman:It,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await n0u({navigationItem:a,visitor:t,apiWorkspaces:r,context:i})}))},viewers:It,orphaned:It,availability:It}),RwB(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function RwB(e){return e.api!=null}function zwB(e){return e[0]?.tab!=null}function NwB(e){return"layout"in e&&Array.isArray(e.layout)}function FwB(e){return"variants"in e&&Array.isArray(e.variants)}function qx(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}TQh.default.extend(RQh.default);var QwB=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),qQh=0,UwB=async({ir:e})=>(qQh++,`${e.apiName.snakeCase.unsafeName}-${qQh}`),Z8t=class{domain;docsWorkspace;ossWorkspaces;apiWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;targetAudiences;constructor({domain:t,docsWorkspace:r,ossWorkspaces:i,apiWorkspaces:n,taskContext:a,editThisPage:o,uploadFiles:c=QwB,registerApi:d=UwB,targetAudiences:s}){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.apiWorkspaces=n,this.taskContext=a,this.editThisPage=o,this.uploadFiles=c,this.registerApi=d,this.targetAudiences=s}#e=Yju.init();shouldIncludeByAudience(t){return!t||t.length===0||!this.targetAudiences||this.targetAudiences.length===0?!0:t.some(r=>this.targetAudiences?.includes(r))}applyAudienceFiltering(t){let r=this.filterNavigationByAudience(t.navigation);return{...t,navigation:r}}filterNavigationByAudience(t){return t.type==="untabbed"||t.type==="tabbed"?t:t.type==="versioned"?{...t,versions:t.versions.filter(r=>this.shouldIncludeByAudience(this.getRawVersionAudiences(r.version)))}:t.type==="productgroup"?{...t,products:t.products.filter(r=>{let i=this.getRawProductAudiences(r.product);return this.shouldIncludeByAudience(i)})}:t}getRawProductAudiences(t){let i=this.docsWorkspace.config.products?.find(n=>n.displayName===t);return D5a(i?.audiences)}getRawVersionAudiences(t){let i=this.docsWorkspace.config.versions?.find(n=>n.displayName===t);return D5a(i?.audiences)}_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;markdownFilesToSidebarTitle=new Map;markdownFilesToNoIndex=new Map;markdownFilesToTags=new Map;rawMarkdownFiles={};referencedMarkdownFiles=[];async resolve(){let t=performance.now(),r=process.memoryUsage();this.referencedMarkdownFiles=[],this.taskContext.logger.debug("Parsing docs configuration...");let i=performance.now();this._parsedDocsConfig=await w0c({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig});let n=performance.now()-i,a=Object.keys(this.parsedDocsConfig.pages).length;this.taskContext.logger.debug(`Parsed docs configuration in ${n.toFixed(0)}ms: ${a} pages`),this.targetAudiences&&this.targetAudiences.length>0&&(this._parsedDocsConfig=this.applyAudienceFiltering(this._parsedDocsConfig)),this.taskContext.logger.debug("Storing raw markdown content...");for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))this.rawMarkdownFiles[He.of(x)]=Ee;let o=this.parsedDocsConfig.experimental?.openapiParserV3,c=o!=null&&!o;if(this.docsWorkspace.config.navigation!=null&&c){this.taskContext.logger.debug("Visiting navigation AST for changelog files...");let x=performance.now();await CQh({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:se})=>{(await se.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0,objectQueryParameters:!0,respectReadonlySchemas:!0})).changelog?.files.forEach(Fe=>{let ae=Xf(this.docsWorkspace.absoluteFilePath,Fe.absoluteFilepath);this.parsedDocsConfig.pages[ae]=Fe.contents,this.rawMarkdownFiles[He.of(ae)]=Fe.contents})}},apiWorkspaces:this.apiWorkspaces,context:this.taskContext});let Ee=performance.now()-x;this.taskContext.logger.debug(`Visited navigation AST in ${Ee.toFixed(0)}ms`)}this.taskContext.logger.debug("Building markdown file maps...");let d=performance.now();this.extractAllFrontmatterData(this.parsedDocsConfig.pages);let s=performance.now()-d;this.taskContext.logger.debug(`Built markdown file maps in ${s.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced markdown and code files...");let u=performance.now(),l=new Set;for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages)){let se=await Pju({markdown:Ee,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(x),context:this.taskContext});for(let Fe of se.referencedFiles)l.has(Fe.absoluteFilePath)||(l.add(Fe.absoluteFilePath),this.referencedMarkdownFiles.push(Fe));let Oe=await qel({markdown:se.markdown,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(x),context:this.taskContext});this.parsedDocsConfig.pages[He.of(x)]=Oe}let p=performance.now()-u;this.taskContext.logger.debug(`Replaced referenced content in ${p.toFixed(0)}ms, found ${this.referencedMarkdownFiles.length} referenced markdown files`),this.taskContext.logger.debug("Collecting files from docs config...");let _=performance.now(),h=await IQh({parsedDocsConfig:this.parsedDocsConfig}),y=performance.now()-_;this.taskContext.logger.debug(`Collected ${h.size} files in ${y.toFixed(0)}ms`),this.taskContext.logger.debug("Parsing image paths from markdown files...");let b=performance.now();for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))try{let{filepaths:se,markdown:Oe}=Wgn(Ee,{absolutePathToMarkdownFile:this.resolveFilepath(x),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);this.parsedDocsConfig.pages[He.of(x)]=Oe;for(let Fe of se)h.add(Fe)}catch(se){throw this.taskContext.logger.error(`Failed to parse ${x}: ${se instanceof Error?se.message:String(se)}`),se}let v=performance.now()-b;this.taskContext.logger.debug(`Parsed image paths in ${v.toFixed(0)}ms`);let g=Array.from(h).map(x=>({absoluteFilePath:x,relativeFilePath:this.toRelativeFilepath(x)}));this.taskContext.logger.info(`Uploading ${g.length} files...`);let m=performance.now(),O=await this.uploadFiles(g),A=performance.now()-m;this.taskContext.logger.info(`Uploaded ${O.length} files in ${A.toFixed(0)}ms`),O.forEach(x=>{this.collectedFileIds.set(x.absoluteFilePath,x.fileId)}),this.taskContext.logger.debug("Building navigation tree...");let j=performance.now(),M=await this.toRootNode(),w=performance.now()-j;this.taskContext.logger.debug(`Built navigation tree in ${w.toFixed(0)}ms`),this.taskContext.logger.debug("Getting fully qualified path names...");let D=performance.now(),B=await this.getMarkdownFilesToFullyQualifiedPathNames(M),R=performance.now()-D;this.taskContext.logger.debug(`Got path names in ${R.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing image paths and URLs in markdown...");let T=performance.now();for(let[x,Ee]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[He.of(x)]=Cel(Ee,this.collectedFileIds,B,{absolutePathToMarkdownFile:this.resolveFilepath(x),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let q=performance.now()-T;this.taskContext.logger.debug(`Replaced image paths in ${q.toFixed(0)}ms`),this.taskContext.logger.debug("Building page content...");let z={};Object.entries(this.parsedDocsConfig.pages).forEach(([x,Ee])=>{let{url:se,launch:Oe}=LwB(this.editThisPage,x),Fe=this.rawMarkdownFiles[He.of(x)];z[qG.PageId(x)]={markdown:Ee,editThisPageUrl:se?qG.Url(se):void 0,editThisPageLaunch:Oe,rawMarkdown:Fe}}),this.taskContext.logger.debug("Converting docs configuration...");let N=performance.now(),H=await this.convertDocsConfiguration(M),$=performance.now()-N;this.taskContext.logger.debug(`Converted docs configuration in ${$.toFixed(0)}ms`);let de={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){this.taskContext.logger.debug("Processing MDX components...");let x=performance.now(),Ee=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async Oe=>{let Fe=Xu(this.docsWorkspace.absoluteFilePath,Oe);(await(0,a0u.stat)(Fe)).isDirectory()?(await m4(Fe,"{js,ts,jsx,tsx,md,mdx}")).forEach(Ge=>{Ee.add(Ge)}):Fe.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&Ee.add(Fe)})),de=Object.fromEntries(await Promise.all([...Ee].map(async Oe=>{let Fe=this.toRelativeFilepath(Oe),ae=(await(0,a0u.readFile)(Oe)).toString();return[Fe,ae]})));let se=performance.now()-x;this.taskContext.logger.debug(`Processed ${Ee.size} MDX component files in ${se.toFixed(0)}ms`)}if(this.referencedMarkdownFiles.length>0){this.taskContext.logger.debug(`Adding ${this.referencedMarkdownFiles.length} referenced markdown files to jsFiles...`);for(let x of this.referencedMarkdownFiles)de[x.relativeFilePath]=x.content}let be=performance.now()-t,W=process.memoryUsage();return this.taskContext.logger.debug(`Total resolve time: ${be.toFixed(0)}ms, Memory delta: RSS=${((W.rss-r.rss)/1024/1024).toFixed(2)}MB`),{config:H,pages:z,jsFiles:de}}resolveFilepath(t){if(t!=null)return Xu(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return Xf(this.docsWorkspace.absoluteFilePath,t)}extractAllFrontmatterData(t){for(let[r,i]of Object.entries(t)){let n=(0,zQh.default)(i),a=this.resolveFilepath(r),o=n.data.slug;if(typeof o=="string"&&o.trim().length>0){let u=o.trim();Bel(u)?this.markdownFilesToFullSlugs.set(a,u):this.taskContext.logger.warn(`Ignoring absolute URL slug "${u}" in ${r}. Absolute URLs are not allowed for frontmatter slugs.`)}let c=n.data["sidebar-title"];typeof c=="string"&&c.trim().length>0&&this.markdownFilesToSidebarTitle.set(a,c.trim());let d=n.data.noindex;typeof d=="boolean"&&this.markdownFilesToNoIndex.set(a,d);let s=n.data.tags;typeof s=="string"?this.markdownFilesToTags.set(a,s.split(",").map(u=>u.trim()).filter(u=>u.length>0)):Array.isArray(s)&&this.markdownFilesToTags.set(a,s)}}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=Ft.migrate.FernNavigationV1ToLatest.create().root(t);return Ft.NodeCollector.collect(i).slugMap.forEach((a,o)=>{if(a==null||!Ft.isPage(a))return;let c=Ft.getPageId(a);if(c==null)return;let d=Tt(this.docsWorkspace.absoluteFilePath,He.of(c));r[d]=o}),r}getDocsBasePath(){return new URL(qx(this.domain)).pathname}async convertDocsConfiguration(t){return{aiChatConfig:this.parsedDocsConfig.aiChatConfig!=null?{model:this.parsedDocsConfig.aiChatConfig.model,systemPrompt:this.parsedDocsConfig.aiChatConfig.systemPrompt,location:this.parsedDocsConfig.aiChatConfig.location,datasources:this.parsedDocsConfig.aiChatConfig.datasources?.map(i=>({url:i.url,title:i.title}))}:void 0,hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?qG.Url(this.parsedDocsConfig.logo?.href):void 0,logoRightText:this.parsedDocsConfig.logo?.rightText,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>i.type==="dropdown"?{...i,links:i.links?.map(n=>({...n,url:qG.Url(n.url),icon:this.resolveIconFileId(n.icon),rightIcon:this.resolveIconFileId(n.rightIcon)})),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}:i.type==="github"?{...i,url:qG.Url(i.url)}:{...i,url:qG.Url(i.url),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,settings:this.parsedDocsConfig.settings,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:qG.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,languages:this.parsedDocsConfig.languages,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,editThisPageLaunch:this.editThisPage?.launch??"github",pageActions:this.convertPageActions(),theme:this.parsedDocsConfig.theme!=null?{sidebar:this.parsedDocsConfig.theme.sidebar,body:this.parsedDocsConfig.theme.body,tabs:this.parsedDocsConfig.theme.tabs,"page-actions":this.parsedDocsConfig.theme.pageActions,footerNav:this.parsedDocsConfig.theme.footerNav,"language-switcher":this.parsedDocsConfig.theme.languageSwitcher,"product-switcher":this.parsedDocsConfig.theme.productSwitcher}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0,header:void 0,footer:void 0}}getFernWorkspaceForApiSection(t){if(t.apiName!=null){let i=this.apiWorkspaces.find(n=>n.workspaceName===t.apiName);if(i!=null)return i}else if(this.apiWorkspaces.length===1&&this.apiWorkspaces[0]!=null)return this.apiWorkspaces[0];let r=t.apiName?`Failed to load API Definition '${t.apiName}' referenced in docs.
1898
1898
  A valid API configuration was not found at the path: fern/apis/${t.apiName}.
1899
1899
  Learn more about project structure:
1900
1900
  https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`:`Failed to load API Definition referenced in docs.
@@ -1941,7 +1941,7 @@ The generated documentation will replace this placeholder page with complete API
1941
1941
  - Class and function references
1942
1942
  - Type annotations and signatures
1943
1943
  - Docstring content
1944
- `;return this.parsedDocsConfig.pages[He.of(o)]=d,{id:this.#e.get(c),type:"page",slug:a.get(),title:i,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:c,authed:void 0,noindex:!0,featureFlags:void 0,availability:void 0}}async toPageNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=Ft.PageId(this.toRelativeFilepath(t.absolutePath)),o=r.apply({urlSlug:t.slug??cS(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(a),type:"page",slug:o.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:i||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:a,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:t.availability??n}}async toSectionNode({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){let o=this.toRelativeFilepath(r.overviewAbsolutePath),c=o?Ft.PageId(o):void 0,d=this.#e.get(c??`${t}/section`),s=i.apply({urlSlug:r.slug??cS(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),u=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,l=n||r.hidden;return{id:d,type:"section",overviewPageId:c,slug:s.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:l,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(p=>this.toNavigationChild({prefix:d,item:p,parentSlug:s,hideChildren:l,parentAvailability:r.availability??a}))),authed:void 0,pointsTo:void 0,noindex:u,featureFlags:r.featureFlags,availability:r.availability??a}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return xfn(r.child)._visit({link:({href:n,target:a})=>this.toTabLinkNode(r,n,a),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i),variants:({variants:n})=>this.toTabNodeWithVariants(t,r,n,i)})}async toTabChangelogNode(t,r,i){return new kgn(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,i){return{type:"link",id:this.#e.get(r),title:t.title,url:Ft.V1.Url(r),target:i,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??cS(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.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(a,i,o),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??cS(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.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(a,i,o),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):qG.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:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(us),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:qG.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return xfn(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:qG.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function LwB(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:i,repo:n,branch:a="main",host:o="https://github.com"}=e.github;return{url:`${qx(o)}/${i}/${n}/blob/${a}/fern/${t}?plain=1`,launch:r}}function VwB(e){switch(e){case"beta":return Ft.V1.NavigationV1Availability.Beta;case"deprecated":return Ft.V1.NavigationV1Availability.Deprecated;case"ga":return Ft.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Ft.V1.NavigationV1Availability.Stable;default:vt(e)}}async function BL(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof jS?t:null))).filter(us)}async function ftl(e,t,r){if(e instanceof hSe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof jS))return;let i=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return Cx({ir:i,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 uc={};Yt(uc,{AlgoliaSearchIndex:()=>NQh,ApiDefinitionId:()=>nUh,ApiId:()=>sUh,Availability:()=>PUh,DocsConfigId:()=>cUh,EndpointId:()=>fUh,EndpointPathLiteral:()=>mUh,EnvironmentId:()=>lUh,FileId:()=>yUh,HttpMethod:()=>AUh,IndexSegmentId:()=>FQh,JqString:()=>vUh,OrgId:()=>oUh,PageId:()=>hUh,PayloadLocation:()=>YUh,PropertyKey:()=>gUh,PullRequestState:()=>xUh,RoleId:()=>OUh,TokenId:()=>uUh,TypeId:()=>_Uh,Url:()=>bUh,VersionId:()=>aUh,WebSocketId:()=>dUh,WebhookId:()=>pUh,algolia:()=>dtl,api:()=>Atl,commons:()=>Ptl,diff:()=>jUh,docs:()=>Ctl,generators:()=>Ttl,git:()=>Rtl,navigation:()=>Ftl,sdks:()=>Utl,snippets:()=>JUh,snippetsFactory:()=>$Uh,templates:()=>Ltl,tokens:()=>XUh});var dtl={};Yt(dtl,{AlgoliaSearchIndex:()=>NQh,IndexSegmentId:()=>FQh});function NQh(e){return e}function FQh(e){return e}var Atl={};Yt(Atl,{latest:()=>htl,v1:()=>mtl});var htl={};Yt(htl,{AuthSchemeId:()=>QQh,WebhookHttpMethod:()=>WQh,auth:()=>ptl,commons:()=>UQh,endpoint:()=>LQh,type_:()=>VQh,webhook:()=>_tl,websocket:()=>GQh});var ptl={};Yt(ptl,{AuthSchemeId:()=>QQh});function QQh(e){return e}var UQh={};var LQh={};var VQh={};var _tl={};Yt(_tl,{WebhookHttpMethod:()=>WQh});var WQh={Get:"GET",Post:"POST"};var GQh={};var mtl={};Yt(mtl,{SubpackageId:()=>eUh,WebSocketMessageId:()=>tUh,WebSocketMessageOrigin:()=>rUh,WebhookHttpMethod:()=>iUh,commons:()=>Otl,db:()=>ytl,read:()=>vtl,register:()=>gtl});var ytl={};Yt(ytl,{endpoint:()=>xQh});var xQh={};var vtl={};Yt(vtl,{SupportedLanguage:()=>HQh,endpoint:()=>btl,type_:()=>KQh,webhook:()=>JQh,websocket:()=>$Qh});var btl={};Yt(btl,{SupportedLanguage:()=>HQh});var HQh={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var KQh={};var JQh={};var $Qh={};var gtl={};Yt(gtl,{SourceId:()=>WwB,endpoint:()=>YQh,type_:()=>XQh,webhook:()=>ZQh,websocket:()=>kQh});var YQh={};var XQh={};var ZQh={};var kQh={};function WwB(e){return e}var Otl={};Yt(Otl,{SubpackageId:()=>eUh,WebSocketMessageId:()=>tUh,WebSocketMessageOrigin:()=>rUh,WebhookHttpMethod:()=>iUh});function eUh(e){return e}function tUh(e){return e}var rUh={Client:"client",Server:"server"};var iUh={Get:"GET",Post:"POST"};var Ptl={};Yt(Ptl,{ApiDefinitionId:()=>nUh,ApiId:()=>sUh,Availability:()=>PUh,DocsConfigId:()=>cUh,EndpointId:()=>fUh,EndpointPathLiteral:()=>mUh,EnvironmentId:()=>lUh,FileId:()=>yUh,HttpMethod:()=>AUh,JqString:()=>vUh,OrgId:()=>oUh,PageId:()=>hUh,PropertyKey:()=>gUh,RoleId:()=>OUh,TokenId:()=>uUh,TypeId:()=>_Uh,Url:()=>bUh,VersionId:()=>aUh,WebSocketId:()=>dUh,WebhookId:()=>pUh});function nUh(e){return e}function aUh(e){return e}function oUh(e){return e}function uUh(e){return e}function sUh(e){return e}function cUh(e){return e}function lUh(e){return e}function fUh(e){return e}function dUh(e){return e}function pUh(e){return e}function _Uh(e){return e}function hUh(e){return e}function yUh(e){return e}function bUh(e){return e}function vUh(e){return e}function gUh(e){return e}function OUh(e){return e}function mUh(e){return e}var AUh={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var PUh={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var jUh={};var Ctl={};Yt(Ctl,{latest:()=>Etl,v1:()=>Btl,v2:()=>Itl});var Etl={};Yt(Etl,{Layout:()=>EUh,MdxEngine:()=>GwB,TwitterCardSetting:()=>SUh,commons:()=>wUh,frontmatter:()=>jtl,seo:()=>wtl});var GwB={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var wUh={};var jtl={};Yt(jtl,{Layout:()=>EUh});var EUh={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var wtl={};Yt(wtl,{TwitterCardSetting:()=>SUh});var SUh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Btl={};Yt(Btl,{commons:()=>Dtl,db:()=>MUh,read:()=>DUh,write:()=>Stl});var MUh={};var DUh={};var Stl={};Yt(Stl,{DocsRegistrationId:()=>HwB,FilePath:()=>xwB});function xwB(e){return e}function HwB(e){return e}var Dtl={};Yt(Dtl,{ContentAlignment:()=>qUh,FontDisplay:()=>FUh,FontStyle:()=>NUh,HeaderPosition:()=>TUh,JsScriptStrategy:()=>zUh,ProgrammingLanguage:()=>BUh,SearchbarPlacement:()=>IUh,TabsPlacement:()=>CUh,TwitterCardSetting:()=>RUh,commons:()=>Mtl});var Mtl={};Yt(Mtl,{ContentAlignment:()=>qUh,FontDisplay:()=>FUh,FontStyle:()=>NUh,HeaderPosition:()=>TUh,JsScriptStrategy:()=>zUh,ProgrammingLanguage:()=>BUh,SearchbarPlacement:()=>IUh,TabsPlacement:()=>CUh,TwitterCardSetting:()=>RUh});var BUh={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 IUh={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var CUh={Header:"HEADER",Sidebar:"SIDEBAR"};var qUh={Center:"CENTER",Left:"LEFT"};var TUh={Fixed:"FIXED",Absolute:"ABSOLUTE"};var RUh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var zUh={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var NUh={Normal:"normal",Italic:"italic"};var FUh={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Itl={};Yt(Itl,{read:()=>QUh,write:()=>UUh});var QUh={};var UUh={};var Ttl={};Yt(Ttl,{ChangelogEntryType:()=>VUh,GeneratorId:()=>KwB,GeneratorLanguage:()=>JwB,ReleaseType:()=>WUh,cli:()=>LUh,commons:()=>qtl,versions:()=>GUh});var LUh={};var qtl={};Yt(qtl,{ChangelogEntryType:()=>VUh,ReleaseType:()=>WUh});var VUh={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var WUh={Ga:"GA",Rc:"RC"};var GUh={};function KwB(e){return e}var JwB={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Rtl={};Yt(Rtl,{PullRequestState:()=>xUh});var xUh={Open:"open",Closed:"closed",Merged:"merged"};var Ftl={};Yt(Ftl,{latest:()=>ztl,v1:()=>Ntl});var ztl={};Yt(ztl,{NodeId:()=>XwB,ProductId:()=>ZwB,Slug:()=>$wB,TabId:()=>YwB});function $wB(e){return e}function YwB(e){return e}function XwB(e){return e}function ZwB(e){return e}var Ntl={};Yt(Ntl,{NavigationV1Availability:()=>iEB,NodeId:()=>tEB,ProductId:()=>rEB,Slug:()=>kwB,TabId:()=>eEB});function kwB(e){return e}function eEB(e){return e}function tEB(e){return e}function rEB(e){return e}var iEB={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Utl={};Yt(Utl,{Language:()=>HUh,VersionBump:()=>KUh,versions:()=>Qtl});var Qtl={};Yt(Qtl,{Language:()=>HUh,VersionBump:()=>KUh});var HUh={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var KUh={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var JUh={};var $Uh={};var Ltl={};Yt(Ltl,{PayloadLocation:()=>YUh});var YUh={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var XUh={};var o0u=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function Ho(e){return e!=null}var kUh=ue(h4a(),1);var ZUh=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function jXt(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,kUh.default)(e,{special:ZUh}).replace(/V\s(\d)/g,"V$1")}function e4h({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(i=>{let n=[];i.namespace?.forEach(a=>{let o=[...n,a],c=uc.api.v1.SubpackageId(o.join("."));r[c]={id:c,name:a,displayName:jXt(a)},n.push(a)})}),r}var u0u=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 t4h(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var mo=class extends u0u{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){if(super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,n!=null){let a=Array.isArray(this.pathId)?this.pathId:[this.pathId];a.every((o,c)=>o===this.accessPath[this.accessPath.length-a.length+c])||this.accessPath.push(...a)}r.logger.debug(`Processing ${t4h(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})}}},IC=class extends mo{},BY=class extends IC{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var r4h="x-fern-base-path",i4h="x-fern-availability",s0u="x-fern-sdk-group-name",n4h="x-fern-global-headers",a4h="x-fern-sdk-method-name";var o4h="x-fern-webhook",u4h="x-fern-access-token-locator",s4h="x-fern-basic",c4h="x-fern-username-variable-name",l4h="x-fern-password-variable-name",f4h="x-fern-bearer",d4h="x-fern-token-variable-name",p4h="x-fern-header",_4h="x-fern-header-variable-name",h4h="x-fern-server-name",y4h="x-fern-examples";var c0u=class extends mo{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[h4h]}convert(){if(this.serverName!=null)return this.serverName}};var l0u=class extends mo{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,i])=>t.replace(`{${r}}`,i.default),this.input.url)??this.input.url,this.serverName=new c0u({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:uc.EnvironmentId(t),baseUrl:this.url}}};function yYi(e,t,r,i){let n=e??[],a=new Set(n.map(c=>c.url)),o=(t??[]).filter(c=>!a.has(c.url)).map((c,d)=>new l0u({input:c,context:r,accessPath:i,pathId:["servers",`${d}`]}));return[...n,...o]}function tg(e){return typeof e=="object"&&Ho(e)&&"$ref"in e&&typeof e.$ref=="string"}function IL(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(tg(n)&&(n=IL(n,t,r)),n)}function f0u(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return tg(r)?IL(r,t,void 0):r}var uLh=ue(bM());var d0u=class extends mo{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[s4h];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var p0u=class extends mo{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[l4h]}convert(){return this.passwordVariableName}};var _0u=class extends mo{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[c4h]}convert(){return this.usernameVariableName}};var h0u=class extends mo{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[f4h];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var y0u=class extends mo{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[d4h]}convert(){return this.tokenVariableName}};function b4h(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var v4h="x-bearer-format",g4h="x-code-samples",O4h="x-codeSamples";var b0u=class extends mo{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[v4h]}convert(){return this.bearerFormat}};var v0u=class extends mo{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[p4h];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var g0u=class extends mo{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[_4h]}convert(){return this.headerVariableName}};function m4h(e){return e.type==="apiKey"}var Kca=class extends mo{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){m4h(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new v0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new g0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new b0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function O0u(e){return e}function m0u(e){return e==="__proto__"}function A0u(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Jca(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function xYa(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(xYa).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function P0u(e){if(Array.isArray(e))return e.map(Jca);if(typeof e=="symbol")return[e];e=xYa(e);let t=[],r=e.length;if(r===0)return t;let i=0,n="",a="",o=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<r;){let c=e[i];a?c==="\\"&&i+1<r?(i++,n+=e[i]):c===a?a="":n+=c:o?c==='"'||c==="'"?a=c:c==="]"?(o=!1,t.push(n),n=""):n+=c:c==="["?(o=!0,n&&(t.push(n),n="")):c==="."?n&&(t.push(n),n=""):n+=c,i++}return n&&t.push(n),t}function HYa(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(m0u(t))return r;let i=e[t];return i===void 0?A0u(t)?HYa(e,P0u(t),r):r:i}case"number":case"symbol":{typeof t=="number"&&(t=Jca(t));let i=e[t];return i===void 0?r:i}default:{if(Array.isArray(t))return nEB(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),m0u(t))return r;let i=e[t];return i===void 0?r:i}}}function nEB(e,t,r){if(t.length===0)return r;let i=e;for(let n=0;n<t.length;n++){if(i==null||m0u(t[n]))return r;i=i[t[n]]}return i===void 0?r:i}function A4h(e){return function(t){return HYa(t,e)}}function P4h(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function j0u(e){return e==null||typeof e!="object"&&typeof e!="function"}function Vtl(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Gtl(e,t,r){return typeof r!="function"?Gtl(e,t,()=>{}):Wtl(e,t,function i(n,a,o,c,d,s){let u=r(n,a,o,c,d,s);return u!==void 0?!!u:Wtl(n,a,i,s)},new Map)}function Wtl(e,t,r,i){if(t===e)return!0;switch(typeof t){case"object":return aEB(e,t,r,i);case"function":return Object.keys(t).length>0?Wtl(e,{...t},r,i):Vtl(e,t);default:return P4h(e)?typeof t=="string"?t==="":!0:Vtl(e,t)}}function aEB(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return j4h(e,t,r,i);if(t instanceof Map)return oEB(e,t,r,i);if(t instanceof Set)return uEB(e,t,r,i);let n=Object.keys(t);if(e==null)return n.length===0;if(n.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let a=0;a<n.length;a++){let o=n[a];if(!j0u(e)&&!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!r(e[o],t[o],o,e,t,i))return!1}return!0}finally{i?.delete(t)}}function oEB(e,t,r,i){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[n,a]of t.entries()){let o=e.get(n);if(r(o,a,n,e,t,i)===!1)return!1}return!0}function j4h(e,t,r,i){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let n=new Set;for(let a=0;a<t.length;a++){let o=t[a],c=!1;for(let d=0;d<e.length;d++){if(n.has(d))continue;let s=e[d],u=!1;if(r(s,o,a,e,t,i)&&(u=!0),u){n.add(d),c=!0;break}}if(!c)return!1}return!0}function uEB(e,t,r,i){return t.size===0?!0:e instanceof Set?j4h([...e],[...t],r,i):!1}function w0u(e,t){return Gtl(e,t,()=>{})}function w4h(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function E0u(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var E4h="[object RegExp]",S0u="[object String]",M0u="[object Number]",D0u="[object Boolean]",B0u="[object Arguments]",S4h="[object Symbol]",M4h="[object Date]",D4h="[object Map]",B4h="[object Set]",I4h="[object Array]";var C4h="[object ArrayBuffer]",q4h="[object Object]";var T4h="[object DataView]",R4h="[object Uint8Array]",z4h="[object Uint8ClampedArray]",N4h="[object Uint16Array]",F4h="[object Uint32Array]";var Q4h="[object Int8Array]",U4h="[object Int16Array]",L4h="[object Int32Array]";var V4h="[object Float32Array]",W4h="[object Float64Array]";function G4h(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function x4h(e,t){return bYi(e,void 0,e,new Map,t)}function bYi(e,t,r,i=new Map,n=void 0){let a=n?.(e,t,r,i);if(a!==void 0)return a;if(j0u(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let o=new Array(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=bYi(e[c],c,r,i,n);return Object.hasOwn(e,"index")&&(o.index=e.index),Object.hasOwn(e,"input")&&(o.input=e.input),o}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let o=new RegExp(e.source,e.flags);return o.lastIndex=e.lastIndex,o}if(e instanceof Map){let o=new Map;i.set(e,o);for(let[c,d]of e)o.set(c,bYi(d,c,r,i,n));return o}if(e instanceof Set){let o=new Set;i.set(e,o);for(let c of e)o.add(bYi(c,void 0,r,i,n));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(G4h(e)){let o=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=bYi(e[c],c,r,i,n);return o}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let o=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof File<"u"&&e instanceof File){let o=new File([e],e.name,{type:e.type});return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof Blob<"u"&&e instanceof Blob){let o=new Blob([e],{type:e.type});return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof Error){let o=new e.constructor;return i.set(e,o),o.message=e.message,o.name=e.name,o.stack=e.stack,o.cause=e.cause,k8t(o,e,r,i,n),o}if(e instanceof Boolean){let o=new Boolean(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof Number){let o=new Number(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof String){let o=new String(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof e=="object"&&sEB(e)){let o=Object.create(Object.getPrototypeOf(e));return i.set(e,o),k8t(o,e,r,i,n),o}return e}function k8t(e,t,r=e,i,n){let a=[...Object.keys(t),...w4h(t)];for(let o=0;o<a.length;o++){let c=a[o],d=Object.getOwnPropertyDescriptor(e,c);(d==null||d.writable)&&(e[c]=bYi(t[c],c,r,i,n))}}function sEB(e){switch(E0u(e)){case B0u:case I4h:case C4h:case T4h:case D0u:case M4h:case V4h:case W4h:case Q4h:case U4h:case L4h:case D4h:case M0u:case q4h:case E4h:case B4h:case S0u:case S4h:case R4h:case z4h:case N4h:case F4h:return!0;default:return!1}}function H4h(e){return bYi(e,void 0,e,new Map,void 0)}function K4h(e){return e=H4h(e),t=>w0u(t,e)}function J4h(e,t){return x4h(e,(r,i,n,a)=>{let o=t?.(r,i,n,a);if(o!==void 0)return o;if(typeof e=="object")switch(Object.prototype.toString.call(e)){case M0u:case S0u:case D0u:{let c=new e.constructor(e?.valueOf());return k8t(c,e),c}case B0u:{let c={};return k8t(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}})}function $4h(e){return J4h(e)}var cEB=/^(?:0|[1-9]\d*)$/;function Y4h(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 cEB.test(e)}}function X4h(e){return e!==null&&typeof e=="object"&&E0u(e)==="[object Arguments]"}function Z4h(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&A0u(t)&&e?.[t]==null?r=P0u(t):r=[t],r.length===0)return!1;let i=e;for(let n=0;n<r.length;n++){let a=r[n];if((i==null||!Object.hasOwn(i,a))&&!((Array.isArray(i)||X4h(i))&&Y4h(a)&&a<i.length))return!1;i=i[a]}return!0}function k4h(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Jca(e);break}}return t=$4h(t),function(r){let i=HYa(r,e);return i===void 0?Z4h(r,e):t===void 0?i===void 0:w0u(i,t)}}function eLh(e){if(e==null)return O0u;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?k4h(e[0],e[1]):K4h(e);case"string":case"symbol":case"number":return A4h(e)}}function tLh(e,t){let r={},i=Object.keys(e);for(let n=0;n<i.length;n++){let a=i[n],o=e[a];r[a]=t(o,a,e)}return r}function I0u(e,t=O0u){return e==null?{}:tLh(e,eLh(t))}function rLh(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}var lEB=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function iLh(e){return Array.from(e.match(lEB)??[])}function nLh(e){let t=iLh(e);if(t.length===0)return"";let[r,...i]=t;return`${r.toLowerCase()}${i.map(n=>rLh(n)).join("")}`}function aLh(e){return typeof e!="string"&&(e=xYa(e)),e.replace(/['\u2019]/g,"")}function eWt(e){return nLh(aLh(e))}function ij(e){if(e!=null)return Array.isArray(e)?e:[e]}function C0u({namespace:e,path:t,method:r,sdkMethodName:i,operationId:n,displayName:a,isWebhook:o}){if(t==null)return;let c=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(i==null&&n==null&&a==null&&c==null))return`${fEB(o)}${dEB(e)}.${pEB(i,n,a,c)}`}function fEB(e){return e?"webhook_":"endpoint_"}function dEB(e){return e!=null?ij(e)?.map(t=>eWt(t)).join("/"):""}function pEB(e,t,r,i){return e||t||eWt(r??"")||eWt(i??"")}function oLh(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var q0u=class extends mo{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[u4h],this.accessTokenLocator!=null&&(oLh(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 T0u=class extends mo{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 Kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new q0u({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=C0u({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:uc.EndpointId(r),accessTokenLocator:uc.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var $ca=class extends mo{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 d0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new _0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new p0u({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 h0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new y0u({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":{b4h(this.input)?(this.authScheme="header",this.headerAuthNode=new Kca({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 T0u({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 uLh.UnreachableCaseError(this.authScheme);return}}};var Yca=class extends mo{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=f0u(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new $ca({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(Ho))}};var R0u=class extends mo{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[r4h],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 sLh(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function cLh(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function Xca(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>ij(n.convert())?.map(o=>((t!=null&&!t.includes(i)||t==null&&!sLh(n))&&(o=cLh(o,o.type==="enum"?o.default:void 0)),{key:uc.PropertyKey(i),valueShape:o,description:n.description,availability:n.availability?.convert()})).filter(Ho)).filter(Ho).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]])}function z0u(e,t){return tg(e)?IL(e,t,void 0):e}function vYi(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function lLh(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function fLh(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var dLh=ue(bM());var xtl=["decimal","decimal128","double-int","double","float","sf-decimal"],Htl=["int16","int32","int64","int8","sf-integer","uint8"],Ktl=["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"],Jtl=["beta","pre-release","in-development","generally-available","deprecated"];function CC(e,t){return tg(e)?IL(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var ESe=class extends mo{availability;constructor(t){super(t),this.safeParse()}parse(){if(CC(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[i4h];r!=null&&(Jtl.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Jtl.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return uc.Availability.Beta;case"in-development":return uc.Availability.InDevelopment;case"generally-available":return uc.Availability.GenerallyAvailable;case"deprecated":return uc.Availability.Deprecated;case void 0:return;default:new dLh.UnreachableCaseError(this.availability);return}}};var F0u=ue(bM());function pLh(e){return typeof e=="object"&&e!=null&&"language"in e}function _Lh(e){return typeof e=="object"&&e!=null&&"sdk"in e}function hLh(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function yLh(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function N0u(e){return typeof e=="object"&&e!=null&&"event"in e}function $tl(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(N0u)}function gYi(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function bLh(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var Q0u=class extends mo{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[y4h]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let o=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return gYi(o)?[n,{type:"filenameWithData",filename:o.filename,data:uc.FileId(o.data)}]:o!=null?[n,{type:"filename",value:o}]:void 0;case"files":{if(Array.isArray(o)){if(o.every(c=>gYi(c)))return[n,{type:"filenamesWithData",value:o.map(c=>({filename:c.filename,data:uc.FileId(c.data)}))}];if(o.every(c=>typeof c=="string"))return[n,{type:"filenames",value:o}]}return}case"property":return[n,{type:"json",value:o}];case void 0:return;default:new F0u.UnreachableCaseError(a.multipartType);return}}).filter(Ho))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=bLh(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":a=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new F0u.UnreachableCaseError(n.contentType);break}let o;switch(i.contentType){case"application/json":{hLh(r.response)&&(o={type:"json",value:r.response.body});break}case"text/event-stream":{$tl(r.response)&&(o={type:"sse",value:r.response.stream.map(l=>({event:l.event,data:l.data}))});break}case"application/octet-stream":!$tl(r.response)&&yLh(r.response)&&(o={type:"stream",value:r.response.stream});break;case void 0:break;default:new F0u.UnreachableCaseError(i.contentType);break}let c={};r["code-samples"]?.forEach(l=>{pLh(l)?l.language!=null&&(c[l.language]??=[],c[l.language]?.push({name:l.name,language:l.language,install:l.install,code:l.code,generated:!1,description:l.docs})):_Lh(l)&&l.sdk!=null&&(c[l.sdk]??=[],c[l.sdk]?.push({name:l.name,language:l.sdk,install:void 0,code:l.code,generated:!1,description:l.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([l,p])=>[uc.PropertyKey(l),p])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([l,p])=>[uc.PropertyKey(l),p])),u=Object.fromEntries(Object.entries(r.headers??{}).map(([l,p])=>[uc.PropertyKey(l),p]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(u).length>0?u:void 0,requestBody:a,responseBody:o,snippets:c}}))}};var KYa=class extends mo{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[s0u]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>uc.api.v1.SubpackageId(eWt(r)))}};var U0u=class extends mo{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[a4h]}convert(){return this.sdkMethodName}};var L0u=class extends mo{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[o4h]}convert(){return this.isWebhook}};var V0u=class extends mo{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[g4h]??[],...this.input[O4h]??[]],this.codeSamples.forEach(t=>{[...Object.values(uc.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 eOn=ue(bM());function Ytl(e,t){return tg(e)?IL(e,t,void 0):e}function vLh(e,t){return e.replace(/{(\w+)}/g,(r,i)=>t[i]!=null&&typeof t[i]=="string"||typeof t[i]=="number"||typeof t[i]=="boolean"?`${t[i]}`:r)}var TF="",wXt=class extends mo{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(gYi(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>gYi(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new eOn.UnreachableCaseError(i.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=Ytl(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=Ytl(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 eOn.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(N0u)){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 eOn.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return gYi(n)?[r,{type:"filenameWithData",filename:n.filename,data:uc.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>gYi(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:uc.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new eOn.UnreachableCaseError(i.multipartType);return}}).filter(Ho))};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 eOn.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 eOn.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([o,c])=>[o,c.example({includeOptionals:!1,override:o})]));i=Object.keys(i).length>0?i:void 0;let n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(Ho));n=Object.keys(n).length>0?n:void 0;let a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(Ho));if(a=Object.keys(a).length>0?a:void 0,!(this.path==null&&t==null&&r==null&&a==null&&n==null&&i==null))return{path:vLh(this.path,i??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?jXt(this.name):this.summary!=null?jXt(this.summary):void 0,description:this.convertDescription(),pathParameters:i,queryParameters:n,headers:a,requestBody:t,responseBody:r,snippets:void 0}}};function gLh(e,t){return tg(e)?IL(e,t,void 0):e}var CLh=ue(bM());var OLh="#/components/schemas/";function Zca(e){if(e.$ref.startsWith(OLh))return e.$ref.replace(OLh,"")}function d4i(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function OYi(e){return typeof e.type=="string"&&e.type==="array"}function mLh(e){return e.type==="boolean"}function ALh(e){return e.type==="integer"}function mYi(e){return!Array.isArray(e.type)&&!OYi(e)}function PLh(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||mYi(t)||OYi(t))}function jLh(e){return"nullable"in e&&typeof e.nullable=="boolean"}function wLh(e){return e.type==="null"}function ELh(e){return e.type==="number"}function Xtl(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function SLh(e){return e.type==="string"}var W0u=class extends BY{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 ij(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 G0u=class extends IC{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 ESe({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 x0u=class extends BY{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(Ho)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>ij(n.convert())?.map(o=>({displayName:n.name,shape:o,description:n.description,availability:n.availability?.convert()}))).filter(Ho).reduce((n,a)=>n.flatMap(o=>a.length>0?a.map(c=>[...o,c]):[[...o]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(d4i).filter(Ho):i}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function H0u(e){return e!=null&&e.length>0?e:[void 0]}var kca=class extends BY{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(tg(t))return Zca(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([i,n])=>[i,new hw({input:n,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",i],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(Ho))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return Xca(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}}}]:ij(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(Ho)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>H0u(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:n}:{type:"object",extends:this.extends.map(a=>uc.TypeId(a)),properties:i,extraProperties:n}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(i=>{let n=CC(i,this.context.document);n!=null&&(r={...r,...Object.fromEntries(Object.entries(n.properties??{}).map(([a,o])=>[a,new hw({input:o,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((i,n)=>{let a=r?.[n];return i[n]=a?.example({includeOptionals:t,override:n}),i},{}):Object.entries(r).reduce((i,[n,a])=>(i[n]=a?.example({includeOptionals:t,override:n}),i),{}))}};var K0u=class extends BY{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=>CC(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>CC(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(Ho);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=CC({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new hw({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let n=this.undiscriminatedMapping?.flatMap(a=>a.convert()).filter(Ho);return this.isNullable&&n!=null?n.map(d4i).filter(Ho):n}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:uc.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([n,a])=>ij(a.convert())?.map(c=>{if(!(c==null||c.type!=="object"))return{discriminantValue:n,displayName:a.name??jXt(n),availability:a.availability?.convert(),description:a.description,...c}}).filter(Ho)).filter(Ho)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(n=>ij(n.convert())?.map(o=>{if(o==null)return;t+=1;let c=o.type==="object"?jXt(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:n.name??(o.type==="alias"&&o.value.type==="id"?jXt(o.value.id):c),shape:o,description:n.description,availability:n.availability?.convert()}}).filter(Ho)).filter(Ho)}:void 0,i=this.isNullable?d4i(r):r;return i!=null?[i]: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 J0u=class extends IC{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 AYi=class extends IC{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,i)=>{if(t){if(tg(r)){let n=CC(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(Ho),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 MLh=ue(bM());function _EB(e){return Htl.includes(e)}var $0u=class extends IC{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&&(_EB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Htl.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 MLh.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 Y0u=class extends IC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return d4i({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var DLh=ue(bM());function hEB(e){return xtl.includes(e)}var X0u=class extends IC{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&&(hEB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${xtl.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 DLh.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 BLh=ue(bM());function yEB(e){return Ktl.includes(e)}var Z0u=class extends IC{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 BLh.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&&(yEB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Ktl.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new AYi({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 ILh=ue(bM());var k0u=class extends IC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ILh.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var tOn=class extends BY{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=Zca(this.input);let t=CC(this.input,this.context.document);t?.enum!=null&&mYi(t)&&(this.maybeEnumConverterNode=new AYi({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:uc.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=CC(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 BY{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 ESe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),mYi(this.input)&&jLh(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),tg(this.input)){let t=Zca(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 tOn({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 G0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(PLh(this.input))this.typeShapeNode=new x0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(mYi(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new K0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(Xtl(this.input)&&this.input.allOf!=null)this.typeShapeNode=new kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(mYi(this.input)&&this.input.enum!=null)this.typeShapeNode=new AYi({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":Xtl(this.input)&&(this.typeShapeNode=new kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":OYi(this.input)&&(this.typeShapeNode=new W0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":mLh(this.input)&&(this.typeShapeNode=new J0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":ALh(this.input)&&(this.typeShapeNode=new $0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":ELh(this.input)&&(this.typeShapeNode=new X0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":SLh(this.input)&&(this.typeShapeNode=new Z0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":wLh(this.input)&&(this.typeShapeNode=new Y0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new CLh.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 kca({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 k0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!tg(this.input)&&(!OYi(this.input)&&this.input==null||OYi(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=ij(t)?.map(i=>this.nullable?d4i(i):i).filter(Ho);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function PYi(e){if(e!=null)return Xca(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(Ho))}var EXt=class extends IC{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;tg(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 ESe({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 i=gLh(this.input,this.context.document);this.inputExample=i?.example??Object.values(i?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function qLh(e,t){return tg(e)?IL(e,t,void 0):e}var Ztl=ue(bM());function ewu(e){let{uniqueId:t,type:r,contextTypes:i,description:n,availability:a}=e;i[uc.TypeId(t)]={name:t,shape:r,description:n,availability:a}}var TLh=ue(fnc(),1),ela=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,o){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=o}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=TLh.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 bEB(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var twu=class extends mo{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})]))),bEB(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],i)=>{let n;if(tg(r)?n=f0u(r.$ref,this.context.document):n=r,n!=null)return[t,new $ca({input:n,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${i}`]})]}).filter(Ho)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[uc.api.latest.AuthSchemeId(t),i]}).filter(Ho)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=ij(r.convert());return n==null?[t,void 0]:[uc.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>Ho(r))):void 0}}};var rwu=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=CC(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${tg(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=CC(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 iwu=class extends mo{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 i=CC(this.input.schema,this.context.document);this.availability=new ESe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=tg(this.input.schema)?new tOn({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 n=ela.parse(t);n?.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"})):n?.isOctetStream()?(this.contentType="bytes",this.isOptional=i?.required==null):n?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=i?.required,this.fields=Object.fromEntries(Object.entries(i?.properties??{}).map(([a,o])=>{if(o!=null)return[a,new rwu({input:o,context:this.context,accessPath:this.accessPath,pathId:`schema.${a}`,seenSchemas:new Set,nullable:void 0,schemaName:a})]}).filter(Ho))):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?{[TF]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[TF]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:ij(t)?.map(i=>{let n=i.type;switch(n){case"object":case"alias":return i;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let a=eWt([this.method,this.path,this.contentType,"request"].join("_"));return ewu({uniqueId:a,type:i,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:uc.TypeId(a),default:i.type==="enum"&&i.default!=null?{type:"enum",value:i.default}:void 0}}}case void 0:return;default:new Ztl.UnreachableCaseError(n);return}}).filter(Ho)}convert(){if(this.schema instanceof tOn)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(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:uc.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:uc.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=ij(n.convert()),o=n.multipartType;return a?.map(c=>({type:o,key:uc.PropertyKey(i),contentType:n.contentType,exploded:void 0,valueShape:c,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Ztl.UnreachableCaseError(n.multipartType),[]}}).filter(Ho).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var nwu=class extends mo{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let i=qLh(this.input,this.context.document);if(i==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(i.content).forEach(([n,a])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[n]=new iwu({input:a,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:n,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>ij(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(Ho)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>ij(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(Ho)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var RLh={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 zLh(e,t){if(tg(e)){let r=IL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var awu=ue(bM());var NLh="application/json";var FLh="application/octet-stream";function QLh(e,t){return e===t||t===TF||e===TF}var JYa=class extends mo{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,i,n,a,o,c,d){super(t),this.streamingFormat=i,this.path=n,this.method=a,this.statusCode=o,this.requests=c,this.shapes=d,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,i){for(let n of t)for(let[a,o]of Object.entries(n?.examples??{}))for(let[c,d]of Object.entries(r))for(let s of d)QLh(c,a)&&(i.add(c),this.examples?.push(new wXt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,vYi(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let i=0;for(let n of t){let a=0;for(let[o,c]of r){if(a===i){let[d,s,u]=n??[void 0,void 0,void 0];this.examples?.push(...c.map(l=>new wXt({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:s!=null&&s!==""?["examples",s]:"examples"},this.path,this.statusCode,vYi(s,o),{requestBody:d,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}a++}i++}if(t.length>r.length)for(let n of t.slice(r.length)){let[a,o]=r[r.length-1]??[void 0,void 0],[c,d,s]=n??[void 0,void 0,void 0];this.examples?.push(...(o??[void 0]).map(u=>new wXt({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:d!=null&&d!==""?["examples",d]:"examples"},this.path,this.statusCode,vYi(d,a),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[n,a,o]=t[t.length-1]??[void 0,void 0,void 0];for(let[c,d]of r.slice(t.length))this.examples?.push(...d.map(s=>new wXt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,vYi(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,i,n){let a=t[TF];if(a!=null)for(let o of a)this.examples?.push(new wXt({input:{requestExample:n,responseExample:o},context:this.context,accessPath:this.accessPath,pathId:i!=null&&i!==""?["examples",i]:"examples"},this.path,this.statusCode,vYi(i,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 i of t)if(Object.keys(i.examples??{}).length===0)this.pushResponseExample(r,i,void 0,void 0);else for(let[n,a]of Object.entries(i.examples??{}))this.pushResponseExample(r,i,n,a)}parse(t){if(t==="empty")this.empty=!0;else{let c=ela.parse(t);if(c?.isJSON()||c?.isEventStream())this.contentType=NLh,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(c?.isOctetStream())this.contentType=FLh,this.contentSubtype=CC(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=I0u(this.input.examples,c=>[c])),this.input.example!=null&&Object.keys(r).length===0&&(r[TF]??=[],r[TF]=[{value:this.input.example}]);let i=CC(this.input.schema,this.context.document);if(i!=null&&(i.examples!=null&&Object.keys(r).length===0&&(r=I0u(i.examples,c=>[c])),i.example!=null&&Object.keys(r).length===0&&(r[TF]??=[],r[TF]?.push({value:i.example}))),Object.keys(r).length===0){let c=this.schema?.example({includeOptionals:!0,override:void 0});r[TF]??=[],r[TF]?.push(c!=null?{value:c}:void 0)}this.examples??=[];let n=new Set;this.matchRequestResponseExamplesByName(this.requests,r,n);let a=[];for(let c of this.requests)a.push(...Object.entries(c.examples??{}).filter(([d])=>!n.has(d)&&d!==TF).map(([d,s])=>[c,d,s]));let o=Object.entries(r).filter(([c,d])=>!n.has(c)&&Ho(d)&&c!==TF);Object.keys(r).every(c=>c===TF)||this.matchExamplesByIndex(a,o),!n.has(TF)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return ij(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new awu.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return ij(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let n=eWt([this.method,this.path,this.statusCode,"response"].join("_"));return ewu({uniqueId:n,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:uc.TypeId(n),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new awu.UnreachableCaseError(i);return}}).filter(Ho)}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 awu.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var $Ya=class extends mo{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a,o){super(t),this.path=r,this.method=i,this.statusCode=n,this.requests=a,this.shapes=o,this.safeParse()}parse(t){this.description=this.input.description;let r=zLh(this.input,this.context.document);if(r==null){this.context.errors.error({message:tg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new EXt({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:i})}),r.content==null?(this.responses??=[],this.responses.push(new JYa({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(([i,n])=>{this.responses??=[],this.responses.push(new JYa({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(Ho)}};var owu=class extends mo{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n,a){super(t),this.path=r,this.method=i,this.requests=n,this.shapes=a,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new $Ya({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new $Ya({input:i,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 i=r.convert();if(i!=null)return H0u(PYi(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(o=>(o.examples??[]).map(c=>c.convert()).filter(Ho))})))}).filter(Ho)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=ij(n?.convert());if(n!=null)return a?.map(o=>({statusCode:parseInt(t),shape:o,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??RLh[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(c=>{let d=c.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(Ho)})).filter(Ho)})).filter(Ho)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var jYi=class extends mo{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,i){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new wXt({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,vYi(i,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 ESe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=yYi(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new L0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(tg(i)){let a=z0u(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new V0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new nwu({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 owu({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 i=this.requests?.requestBodiesByContentType;i==null||Object.keys(i).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(i).forEach(n=>{if(Object.keys(n.examples??{}).length===0){let a=n.schema?.example({includeOptionals:!1,override:void 0});a!=null&&this.pushEmptyResponseExample({value:a},n,void 0)}else Object.entries(n.examples??{}).forEach(([a,o])=>{this.pushEmptyResponseExample(o,n,a)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new Yca({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new KYa({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(i=>i.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((i,n)=>new KYa({input:{[s0u]:i},context:this.context,accessPath:this.accessPath,pathId:["tags",`${n}`]})));let r=new U0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(i=>C0u({namespace:ij(i?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(Ho),this.xFernExamplesNode=new Q0u({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(Ho)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:uc.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=this.emptyResponseExamples?.map(u=>u.convert()).filter(Ho),n=fLh(this.xFernExamplesNode?.convert(),[...i??[],...t?.flatMap(u=>u.examples)??[]])?.map(u=>({...u,snippets:lLh(u.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((u,l)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:uc.WebhookId(u),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[l]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(p=>p.value.toString())??[],queryParameters:PYi(this.queryParameters)?.flat(),headers:PYi(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(Ho)}}).filter(Ho);let a=this.servers?.map(u=>u.convert()).filter(Ho),o=this.convertPathToPathParts();if(o==null)return;let c,d=this.auth?.convert();d!=null&&(c=Object.keys(d));let s=t?.flatMap(u=>u.headers).filter(Ho);return this.endpointIds.map((u,l)=>({id:uc.EndpointId(u),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[l]?.convert()?.map(p=>uc.api.v1.SubpackageId(p)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:o,auth:c?.map(p=>uc.api.latest.AuthSchemeId(p)),defaultEnvironment:a?.[0]?.id,environments:a,pathParameters:PYi(this.pathParameters)?.flat(),queryParameters:PYi(this.queryParameters)?.flat(),requestHeaders:PYi(this.requestHeaders)?.flat(),responseHeaders:s!=null&&s.length>0?s:void 0,requests:this.requests?.convert(),responses:t?.map(p=>p.response),errors:r,examples:n,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var tla=class extends mo{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i,isWebhook:n}){this.description=this.input.description;let a=yYi(t,this.input.servers,this.context,this.accessPath),o=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new jYi({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:a,globalAuth:r,path:o,method:"GET",basePath:i,isWebhook:n})),this.input.post!=null&&(this.post=new jYi({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:a,globalAuth:r,path:o,method:"POST",basePath:i,isWebhook:n})),this.input.put!=null&&(this.put=new jYi({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:a,globalAuth:r,path:o,method:"PUT",basePath:i,isWebhook:!1})),this.input.patch!=null&&(this.patch=new jYi({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:a,globalAuth:r,path:o,method:"PATCH",basePath:i,isWebhook:!1})),this.input.delete!=null&&(this.delete=new jYi({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:a,globalAuth:r,path:o,method:"DELETE",basePath:i,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(Ho)}};function uwu(e){return"payloads"in e}var swu=class extends mo{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.paths=Object.entries(this.input).map(([n,a])=>{if(a!=null)return new tla({input:a,context:this.context,accessPath:this.accessPath,pathId:n,servers:yYi(t,a.servers,this.context,this.accessPath),globalAuth:r,basePath:i,isWebhook:void 0})}).filter(Ho)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{uwu(a)?r[uc.WebhookId(a.id)]=a:t[uc.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var cwu=class extends mo{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[n4h]?.map(r=>{let{header:i,...n}=r;return(n.optional!=null&&!n.optional||z0u(n,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(i)),[i,new EXt({input:n,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:i})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return Xca(this.globalHeaders,this.requiredProperties)?.flat()}};function ULh(e,t){if(tg(e)){let r=IL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var lwu=class extends mo{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.webhooks=Object.entries(this.input??{}).map(([n,a])=>{let o=ULh(a,this.context.document);if(o!=null)return new tla({input:o,context:this.context,accessPath:this.accessPath,pathId:n,servers:t,globalAuth:r,basePath:i,isWebhook:!0})}).filter(Ho)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(i=>{uwu(i)&&(t[uc.WebhookId(i.id)]=i)}),t),{})}};var fwu=class extends mo{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=yYi(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new Yca({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new R0u({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 swu({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 lwu({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 twu({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new cwu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Rve(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n={...this.webhooks?.convert()??{},...r??{}},a=e4h({endpoints:i,webhookEndpoints:n}),{types:o,auths:c}=this.components?.convert()??{};return{id:uc.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:n,types:{...o,...this.context.generatedTypes},subpackages:a,auths:{...c,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function ktl(e,t){if(e instanceof hSe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof jS))return;let r=new V8t(e.absoluteFilePath),i=await bSe({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i,loadAiExamples:!0}),a;for(let o of n){if(o.type!=="openapi")continue;let c={document:o.value,logger:t.logger,errors:new o0u,generatedTypes:{}},d=new fwu({input:o.value,context:c,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=h$n(a,d.convert())}return a}var nKh=ue(rrl(),1),aKh=ue(kwu(),1),PSu=require("fs/promises"),oKh=ue(require("http"),1),uKh=ue(require("path"),1);var G5h=require("events"),nEu=ue(require("fs"),1),fOn=ue(require("path"),1);var E5h=ue(require("os"),1),S5h=300,IYi=20,vXa=1e7,M5h=E5h.default.platform();var QqB=M5h==="darwin",Ail=M5h==="win32",CYi=QqB||Ail,D5h=3e3,B5h=2e4,Pil=1250;var BXt;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(BXt||(BXt={}));var lOn;(function(e){e.CHANGE="change",e.RENAME="rename"})(lOn||(lOn={}));var gXa;(function(e){e.CHANGE="change",e.ERROR="error"})(gXa||(gXa={}));var rf;(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"})(rf||(rf={}));var zx;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(zx||(zx={}));var UqB=(e,t=1,r)=>{t=Math.max(1,t);let i=r?.leading??!1,n=r?.trailing??!0,a=Math.max(r?.maxWait??1/0,t),o,c,d=0,s=0,u=()=>{let O=Date.now(),A=O-d,j=O-s,M=A>=t||j>=a;return[O,M]},l=O=>{if(s=O,!o)return;let A=o;o=void 0,e.apply(void 0,A)},p=()=>{g(0)},_=()=>{c&&(p(),l(Date.now()))},h=O=>{if(s=O,i)return l(O)},y=O=>{if(n&&o)return l(O);o=void 0},b=()=>{c=void 0;let[O,A]=u();return A?y(O):v(O)},v=O=>{let A=O-d,j=O-s,M=t-A,w=a-j,D=Math.min(M,w);return g(D)},g=O=>{c&&clearTimeout(c),!(O<=0)&&(c=setTimeout(b,O))},m=(...O)=>{let[A,j]=u(),M=!!c;if(o=O,d=A,(j||!c)&&g(t),j)return M?l(A):h(A)};return m.cancel=p,m.flush=_,m},eEu=UqB;var Sil=ue(require("fs"),1),rEu=ue(require("path"),1);var dm=ue(require("fs"),1),CL=require("util");var _4i=(e,t)=>function(...i){return e.apply(void 0,i).catch(t)},IXt=(e,t)=>function(...i){try{return e.apply(void 0,i)}catch(n){return t(n)}};var jil=ue(require("process"),1),I5h=jil.default.getuid?!jil.default.getuid():!1,C5h=1e4,TY=()=>{};var OXa={isChangeErrorOk:e=>{if(!OXa.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!I5h&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!OXa.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(!OXa.isNodeError(e))throw e;if(!OXa.isChangeErrorOk(e))throw e}},qC=OXa;var wil=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=C5h,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(i),i=()=>t(r);this.add(i)}),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()}}}}},q5h=new wil;var h4i=(e,t)=>function(i){return function n(...a){return q5h.schedule().then(o=>{let c=s=>(o(),s),d=s=>{if(o(),Date.now()>=i)throw s;if(t(s)){let u=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,u)).then(()=>n.apply(void 0,a))}throw s};return e.apply(void 0,a).then(c,d)})}},y4i=(e,t)=>function(i){return function n(...a){try{return e.apply(void 0,a)}catch(o){if(Date.now()>i)throw o;if(t(o))return n.apply(void 0,a);throw o}}};var LqB={attempt:{chmod:_4i((0,CL.promisify)(dm.default.chmod),qC.onChangeError),chown:_4i((0,CL.promisify)(dm.default.chown),qC.onChangeError),close:_4i((0,CL.promisify)(dm.default.close),TY),fsync:_4i((0,CL.promisify)(dm.default.fsync),TY),mkdir:_4i((0,CL.promisify)(dm.default.mkdir),TY),realpath:_4i((0,CL.promisify)(dm.default.realpath),TY),stat:_4i((0,CL.promisify)(dm.default.stat),TY),unlink:_4i((0,CL.promisify)(dm.default.unlink),TY),chmodSync:IXt(dm.default.chmodSync,qC.onChangeError),chownSync:IXt(dm.default.chownSync,qC.onChangeError),closeSync:IXt(dm.default.closeSync,TY),existsSync:IXt(dm.default.existsSync,TY),fsyncSync:IXt(dm.default.fsync,TY),mkdirSync:IXt(dm.default.mkdirSync,TY),realpathSync:IXt(dm.default.realpathSync,TY),statSync:IXt(dm.default.statSync,TY),unlinkSync:IXt(dm.default.unlinkSync,TY)},retry:{close:h4i((0,CL.promisify)(dm.default.close),qC.isRetriableError),fsync:h4i((0,CL.promisify)(dm.default.fsync),qC.isRetriableError),open:h4i((0,CL.promisify)(dm.default.open),qC.isRetriableError),readFile:h4i((0,CL.promisify)(dm.default.readFile),qC.isRetriableError),rename:h4i((0,CL.promisify)(dm.default.rename),qC.isRetriableError),stat:h4i((0,CL.promisify)(dm.default.stat),qC.isRetriableError),write:h4i((0,CL.promisify)(dm.default.write),qC.isRetriableError),writeFile:h4i((0,CL.promisify)(dm.default.writeFile),qC.isRetriableError),closeSync:y4i(dm.default.closeSync,qC.isRetriableError),fsyncSync:y4i(dm.default.fsyncSync,qC.isRetriableError),openSync:y4i(dm.default.openSync,qC.isRetriableError),readFileSync:y4i(dm.default.readFileSync,qC.isRetriableError),renameSync:y4i(dm.default.renameSync,qC.isRetriableError),statSync:y4i(dm.default.statSync,qC.isRetriableError),writeSync:y4i(dm.default.writeSync,qC.isRetriableError),writeFileSync:y4i(dm.default.writeFileSync,qC.isRetriableError)}},T5h=LqB;var tEu=ue(require("fs"),1),mXa=ue(require("path"),1);var Eil=()=>{};var VqB=()=>{let e=Eil,t=Eil,r=!1,i=!1;return{promise:new Promise((d,s)=>{e=u=>(r=!0,d(u)),t=u=>(i=!0,s(u))}),resolve:e,reject:t,isPending:()=>!r&&!i,isResolved:()=>r,isRejected:()=>i}},R5h=VqB;var WqB=()=>{let{promise:e,resolve:t,isPending:r}=R5h(),i=0,n=()=>{i+=1},a=()=>{i-=1,!i&&t()};return(()=>{n(),queueMicrotask(a)})(),{promise:e,isPending:r,increment:n,decrement:a}},z5h=WqB;var N5h={then:e=>{e()}};var F5h=e=>Array.isArray(e)?e:[e],Q5h=e=>typeof e=="function";var GqB=(e,t)=>{let r=t?.followSymlinks??!1,i=t?.depth??1/0,n=t?.limit??1/0,a=t?.ignore??[],o=F5h(a).map(W=>Q5h(W)?W:x=>W.test(x)),c=W=>o.some(x=>x(W)),d=t?.signal??{aborted:!1},s=t?.onDirents||(()=>{}),u=[],l=new Set,p={},_=[],h=new Set,y={},b=[],v=new Set,g={},m={},O=new Set,A={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},j={directories:u,directoriesNames:l,directoriesNamesToPaths:p,files:_,filesNames:h,filesNamesToPaths:y,symlinks:b,symlinksNames:v,symlinksNamesToPaths:g,map:m},{promise:M,increment:w,decrement:D}=z5h(),B=0,R=(W,x,Ee,se)=>{O.has(x)||B>=n||(B+=1,W.directories.push(x),W.directoriesNames.add(Ee),u.push(x),l.add(Ee),p.propertyIsEnumerable(Ee)||(p[Ee]=[]),p[Ee].push(x),O.add(x),!(se>=i)&&(B>=n||$(x,se+1)))},T=(W,x,Ee)=>{O.has(x)||B>=n||(B+=1,W.files.push(x),W.filesNames.add(Ee),_.push(x),h.add(Ee),y.propertyIsEnumerable(Ee)||(y[Ee]=[]),y[Ee].push(x),O.add(x))},q=(W,x,Ee,se)=>{O.has(x)||B>=n||(B+=1,W.symlinks.push(x),W.symlinksNames.add(Ee),b.push(x),v.add(Ee),g.propertyIsEnumerable(Ee)||(g[Ee]=[]),g[Ee].push(x),O.add(x),r&&(se>=i||B>=n||de(x,se+1)))},z=(W,x,Ee,se,Oe)=>{d.aborted||c(x)||(se.isDirectory()?R(W,x,Ee,Oe):se.isFile()?T(W,x,Ee):se.isSymbolicLink()&&q(W,x,Ee,Oe))},N=(W,x,Ee,se)=>{if(d.aborted)return;let Oe=x===mXa.default.sep?"":mXa.default.sep,Fe=Ee.name,ae=`${x}${Oe}${Fe}`;c(ae)||(Ee.isDirectory()?R(W,ae,Fe,se):Ee.isFile()?T(W,ae,Fe):Ee.isSymbolicLink()&&q(W,ae,Fe,se))},H=(W,x,Ee,se)=>{for(let Oe=0,Fe=Ee.length;Oe<Fe;Oe++)N(W,x,Ee[Oe],se)},$=(W,x)=>{d.aborted||x>i||B>=n||(w(),tEu.default.readdir(W,{withFileTypes:!0},(Ee,se)=>{if(Ee||d.aborted||!se.length)return D();(s(se)||N5h).then(()=>{let Fe=m[W]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Fe,W,se,x),D()})}))},de=(W,x)=>{w(),tEu.default.realpath(W,(Ee,se)=>{if(Ee||d.aborted)return D();tEu.default.stat(se,(Oe,Fe)=>{if(Oe||d.aborted)return D();let ae=mXa.default.basename(se),re=m[W]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};z(re,se,ae,Fe,x),D()})})};return(async(W,x=1)=>(W=mXa.default.normalize(W),O.add(W),$(W,x),await M,d.aborted?A:j))(e)},U5h=GqB;var CXt={lang:{debounce:eEu,attempt:e=>{try{return e()}catch(t){return CXt.lang.castError(t)}},castArray:e=>CXt.lang.isArray(e)?e:[e],castError:e=>CXt.lang.isError(e)?e:CXt.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(CXt.lang.isNaN(e))return CXt.lang.isNaN(t);if(CXt.lang.isPrimitive(e)||CXt.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(rEu.default.sep).length-1),getRealPath:(e,t)=>{try{return t?Sil.default.realpathSync.native(e):Sil.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===rEu.default.sep&&t.length-e.length>rEu.default.sep.length,poll:(e,t=B5h)=>T5h.retry.stat(t)(e,{bigint:!0}).catch(CXt.lang.noop),readdir:async(e,t,r=1/0,i=1/0,n,a)=>{if(a&&r===1&&e in a){let o=a[e];return[o.directories,o.files]}else{let o=await U5h(e,{depth:r,limit:i,ignore:t,signal:n});return[o.directories,o.files]}}}},Gp=CXt;var iEu=ue(require("path"),1);var Mil=class{constructor(t,r,i){this.base=i,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||Gp.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=S5h){return(()=>{let r=this.watcher._readyWait,i=[],n=new Set,a=async(c,d)=>{let s=this.options.ignoreInitial?[]:c,u=await this.eventsPopulate([...d]),l=this.eventsDeduplicate([...s,...u]);this.onTargetEvents(l)},o=Gp.lang.debounce(()=>{this.watcher.isClosed()||(r=a(i,n),i=[],n=new Set)},t);return async(c,d="",s=!1)=>{s?await this.eventsPopulate([d],i,!0):n.add(d),r.then(o)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((i,n)=>{let[a,o]=n,c=r[o];return a===c||a===rf.CHANGE&&c===rf.ADD||(r[o]=a,i.push(n)),i},[])}async eventsPopulate(t,r=[],i=!1){return await Promise.all(t.map(async n=>{let a=await this.watcher._poller.update(n,this.options.pollingTimeout);await Promise.all(a.map(async o=>{r.push([o,n]),o===rf.ADD_DIR?await this.eventsPopulateAddDir(t,n,r,i):o===rf.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,n,r,i)}))})),r}async eventsPopulateAddDir(t,r,i=[],n=!1){if(n)return i;let a=this.options.recursive?this.options.depth??IYi:Math.min(1,this.options.depth??IYi),o=this.options.limit??vXa,[c,d]=await Gp.fs.readdir(r,this.options.ignore,a,o,this.watcher._closeSignal),s=[...c,...d];return await Promise.all(s.map(u=>{if(!this.watcher.isIgnored(u,this.options.ignore)&&!t.includes(u))return this.eventsPopulate([u],i,!0)})),i}async eventsPopulateUnlinkDir(t,r,i=[],n=!1){if(n)return i;for(let a of this.watcher._poller.stats.keys())Gp.fs.isSubPath(r,a)&&(t.includes(a)||await this.eventsPopulate([a],i,!0));return i}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(rf.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!CYi&&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(rf.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(rf.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(iEu.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(rf.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(iEu.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(rf.UNLINK_DIR,t))}onTargetEvent(t){let[r,i]=t;r===rf.ADD?this.onTargetAdd(i):r===rf.ADD_DIR?this.onTargetAddDir(i):r===rf.CHANGE?this.onTargetChange(i):r===rf.UNLINK?this.onTargetUnlink(i):r===rf.UNLINK_DIR&&this.onTargetUnlinkDir(i)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,i=!1){return this.handlerBatched(t,r,i)}onWatcherChange(t=lOn.CHANGE,r){if(this.watcher.isClosed())return;let i=iEu.default.resolve(this.folderPath,r||"");this.filePath&&i!==this.folderPath&&i!==this.filePath||this.watcher.isIgnored(i,this.options.ignore)||this.onWatcherEvent(t,i)}onWatcherError(t){Ail&&t.code==="EPERM"?this.onWatcherChange(lOn.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(gXa.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(gXa.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(lOn.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&CYi&&this.options.native!==!1?this.options.depth??IYi:Math.min(1,this.options.depth??IYi),i=this.options.limit??vXa,[n,a]=await Gp.fs.readdir(this.folderPath,this.options.ignore,r,i,this.watcher._closeSignal,this.options.readdirMap),o=[this.folderPath,...n,...a];await Promise.all(o.map(c=>{if(!this.watcher._poller.stats.has(c)&&!this.watcher.isIgnored(c,this.options.ignore))return this.onWatcherEvent(lOn.CHANGE,c,t)}))}}},L5h=Mil;var Nx={interval:100,intervalId:void 0,fns:new Map,init:()=>{Nx.intervalId||(Nx.intervalId=setInterval(Nx.resolve,Nx.interval))},reset:()=>{Nx.intervalId&&(clearInterval(Nx.intervalId),delete Nx.intervalId)},add:(e,t)=>{Nx.fns.set(e,Date.now()+t),Nx.init()},remove:e=>{Nx.fns.delete(e)},resolve:()=>{if(!Nx.fns.size)return Nx.reset();let e=Date.now();for(let[t,r]of Nx.fns)r>=e||(Nx.remove(t),t())}},AXa=Nx;var PXa=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=Pil){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{let l=this._watcher._poller.paths.find(i||-1,p=>p!==n);if(l&&l!==n){if(Gp.fs.getRealPath(n,!0)===l)return;this._watcher.event(a.rename,l,n)}else this._watcher.event(a.add,n)};if(!i)return c();let d=()=>{o.add.delete(i),AXa.remove(s)},s=()=>{d(),c()};AXa.add(s,r);let u=()=>{let l=o.unlink.get(i);if(!l)return;d();let p=l();n===p?a.change&&this._watcher._poller.stats.has(n)&&this._watcher.event(a.change,n):this._watcher.event(a.rename,p,n)};o.add.set(i,u),u()}getLockUnlink(t,r=Pil){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{this._watcher.event(a.unlink,n)};if(!i)return c();let d=()=>{o.unlink.delete(i),AXa.remove(s)},s=()=>{d(),c()};AXa.add(s,r);let u=()=>(d(),n);o.unlink.set(i,u),o.add.get(i)?.()}getLockTargetAdd(t,r){let i=this._watcher._poller.getIno(t,rf.ADD,BXt.FILE);return this.getLockAdd({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let i=this._watcher._poller.getIno(t,rf.ADD_DIR,BXt.DIR);return this.getLockAdd({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let i=this._watcher._poller.getIno(t,rf.UNLINK,BXt.FILE);return this.getLockUnlink({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let i=this._watcher._poller.getIno(t,rf.UNLINK_DIR,BXt.DIR);return this.getLockUnlink({ino:i,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}}};PXa.DIR_EVENTS={add:rf.ADD_DIR,rename:rf.RENAME_DIR,unlink:rf.UNLINK_DIR};PXa.FILE_EVENTS={add:rf.ADD,change:rf.CHANGE,rename:rf.RENAME,unlink:rf.UNLINK};var V5h=PXa;var Dil=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gp.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let i=this.map.get(t);if(Gp.lang.isSet(i)){let n=i.delete(r);return i.size||this.map.delete(t),n}else if(i===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let i=this.map.get(t);if(Gp.lang.isSet(i))return Array.from(i).find(r);if(r(i))return i}}get(t){return this.map.get(t)}has(t,r){if(Gp.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let i=this.map.get(t);return Gp.lang.isSet(i)?i.has(r):i===r}return!1}set(t,r){if(this.map.has(t)){let i=this.map.get(t);Gp.lang.isSet(i)?i.add(r):i!==r&&this.map.set(t,new Set([i,r]))}else this.map.set(t,r);return this}},Bil=Dil;var Iil=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}},W5h=Iil;var Cil=class{constructor(){this.inos={},this.paths=new Bil,this.stats=new Map}getIno(t,r,i){let n=this.inos[r];if(!n)return;let a=n[t];if(a&&!(i&&a[1]!==i))return a[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let i=await Gp.fs.poll(t,r);if(!(!i||!(i.isFile()||i.isDirectory())))return new W5h(i)}reset(){this.inos={},this.paths=new Bil,this.stats=new Map}async update(t,r){let i=this.getStats(t),n=await this.poll(t,r);if(this.updateStats(t,n),!i&&n){if(n.isFile())return this.updateIno(t,rf.ADD,n),[rf.ADD];if(n.isDirectory())return this.updateIno(t,rf.ADD_DIR,n),[rf.ADD_DIR]}else if(i&&!n){if(i.isFile())return this.updateIno(t,rf.UNLINK,i),[rf.UNLINK];if(i.isDirectory())return this.updateIno(t,rf.UNLINK_DIR,i),[rf.UNLINK_DIR]}else if(i&&n){if(i.isFile()){if(n.isFile())return i.ino===n.ino&&!i.size&&!n.size?[]:(this.updateIno(t,rf.CHANGE,n),[rf.CHANGE]);if(n.isDirectory())return this.updateIno(t,rf.UNLINK,i),this.updateIno(t,rf.ADD_DIR,n),[rf.UNLINK,rf.ADD_DIR]}else if(i.isDirectory()){if(n.isFile())return this.updateIno(t,rf.UNLINK_DIR,i),this.updateIno(t,rf.ADD,n),[rf.UNLINK_DIR,rf.ADD];if(n.isDirectory())return i.ino===n.ino?[]:(this.updateIno(t,rf.UNLINK_DIR,i),this.updateIno(t,rf.ADD_DIR,n),[rf.UNLINK_DIR,rf.ADD_DIR])}}return[]}updateIno(t,r,i){let n=this.inos[r]=this.inos[r]||(this.inos[r]={}),a=i.isFile()?BXt.FILE:BXt.DIR;n[t]=[i.ino,a]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let i=this.stats.get(t)?.ino||-1;this.paths.delete(i,t),this.stats.delete(t)}}},qil=Cil;var Til=class e extends G5h.EventEmitter{constructor(t,r,i){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(zx.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(n=>this.on(zx.CLOSE,n)),this._readyWait=new Promise(n=>this.on(zx.READY,n)),this._locker=new V5h(this),this._roots=new Set,this._poller=new qil,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,i)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gp.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(zx.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gp.lang.castError(t);return this.emit(zx.ERROR,r)}event(t,r,i){return this.isClosed()?!1:(this.emit(zx.ALL,t,r,i),this.emit(t,r,i))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(zx.READY))}pollerExists(t,r){for(let i of this._pollers)if(i.targetPath===t&&Gp.lang.isShallowEqual(i.options,r))return!0;return!1}subwatcherExists(t,r){for(let i of this._subwatchers)if(i.targetPath===t&&Gp.lang.isShallowEqual(i.options,r))return!0;return!1}watchersClose(t,r,i=!0){if(t){let n=this._watchers[t];if(n)for(let a of[...n])r&&a.filePath!==r||this.watcherClose(a);if(i)for(let a in this._watchers)Gp.fs.isSubPath(t,a)&&this.watchersClose(a,r,!1)}else for(let n in this._watchers)this.watchersClose(n,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,i]of t)this.watchPath(r,i.options,i.handler)}async watcherAdd(t,r){let{folderPath:i}=t;(this._watchers[i]=this._watchers[i]||[]).push(t);let a=new L5h(this,t,r);return await a.init(),a}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let a=r.indexOf(t);r.splice(a,1),r.length||delete this._watchers[t.folderPath]}let i=t.filePath||t.folderPath;this._roots.has(i)&&(this._watchersRestorable[i]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gp.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,i,n){if(this._watchers[t]?.find(c=>c.handler===i&&(!c.filePath||c.filePath===n)&&c.options.ignore===r.ignore&&!!c.options.native==!!r.native&&(!r.recursive||c.options.recursive)))return!0;let o=fOn.default.dirname(t);for(let c=1;c<1/0;c++){if(this._watchers[o]?.find(u=>(c===1||u.options.recursive&&c<=(u.options.depth??IYi))&&u.handler===i&&(!u.filePath||u.filePath===n)&&u.options.ignore===r.ignore&&!!u.options.native==!!r.native&&(!r.recursive||u.options.recursive&&CYi&&u.options.native!==!1)))return!0;if(!CYi)break;let s=fOn.default.dirname(t);if(o===s)break;o=s}return!1}async watchDirectories(t,r,i,n,a){if(this.isClosed())return;t=Gp.lang.uniq(t).sort();let o;for(let c of t)if(!this.isIgnored(c,r.ignore)&&!this.watcherExists(c,r,i,n))try{let d=!r.recursive||CYi&&r.native!==!1?r:{...r,recursive:!1},u={watcher:nEu.default.watch(c,d),handler:i,options:r,folderPath:c,filePath:n},l=o=await this.watcherAdd(u,a);if(this._roots.has(n||c)){let _={...r,ignoreInitial:!0,recursive:!1},h=fOn.default.dirname(c),y=c;await this.watchDirectories([h],_,i,y,l)}}catch(d){this.error(d)}return o}async watchDirectory(t,r,i,n,a){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||CYi&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,i,n,a));{r={...r,recursive:!0};let o=r.depth??IYi,c=r.limit??vXa,[d]=await Gp.fs.readdir(t,r.ignore,o,c,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let s=await this.watchDirectories([t],r,i,n,a);if(d.length){let u=Gp.fs.getDepth(t);for(let l of d){let p=Gp.fs.getDepth(l),_=Math.max(0,o-(p-u)),h={...r,depth:_};await this.watchDirectories([l],h,i,n,a||s)}}})}}}async watchFileOnce(t,r,i){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let n={targetPath:t,options:r},a=(s,u)=>{u===t&&(d(),i())},o=new e(a),c=()=>{this._subwatchers.add(n),this.on(zx.CLOSE,d),o.watchFile(t,r,a)},d=()=>{this._subwatchers.delete(n),this.removeListener(zx.CLOSE,d),o.close()};return c()}async watchFile(t,r,i){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let n=fOn.default.dirname(t);return this.watchDirectory(n,r,i,t)}async watchPollingOnce(t,r,i){if(this.isClosed())return;let n=!1,a=new qil,o=await this.watchPolling(t,r,async()=>{n||!(await a.update(t,r.pollingTimeout)).length||n||(n=!0,o(),i())})}async watchPolling(t,r,i){if(this.isClosed())return Gp.lang.noop;if(this.pollerExists(t,r))return Gp.lang.noop;let n={...r,interval:r.pollingInterval??D5h},a={targetPath:t,options:r},o=()=>{this._pollers.add(a),this.on(zx.CLOSE,c),nEu.default.watchFile(t,n,i)},c=()=>{this._pollers.delete(a),this.removeListener(zx.CLOSE,c),nEu.default.unwatchFile(t,i)};return Gp.lang.attempt(o),()=>Gp.lang.attempt(c)}async watchUnknownChild(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchFileOnce(t,r,n)}async watchUnknownTarget(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchPollingOnce(t,r,n)}async watchPaths(t,r,i){if(this.isClosed())return;if(t=Gp.lang.uniq(t).sort(),t.every((a,o)=>t.every((c,d)=>d===o||!Gp.fs.isSubPath(a,c))))await Promise.all(t.map(a=>this.watchPath(a,r,i)));else for(let a of t)await this.watchPath(a,r,i)}async watchPath(t,r,i){if(this.isClosed()||(t=fOn.default.resolve(t),this.isIgnored(t,r.ignore)))return;let n=await Gp.fs.poll(t,r.pollingTimeout);if(n){if(n.isFile())return this.watchFile(t,r,i);if(n.isDirectory())return this.watchDirectory(t,r,i);this.error(`"${t}" is not supported`)}else{let a=fOn.default.dirname(t);return(await Gp.fs.poll(a,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,i):this.watchUnknownTarget(t,r,i)}}async watch(t,r,i=Gp.lang.noop){if(Gp.lang.isFunction(t))return this.watch([],{},t);if(Gp.lang.isUndefined(t))return this.watch([],r,i);if(Gp.lang.isFunction(r))return this.watch(t,{},r);if(Gp.lang.isUndefined(r))return this.watch(t,{},i);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let n=Gp.lang.castArray(t);n.forEach(a=>this._roots.add(a)),await this.watchPaths(n,r,i),!this.isClosed()&&(i!==Gp.lang.noop&&this.on(zx.ALL,i),r.readdirMap=void 0,this.ready())}},aEu=Til;sru();var bla=require("fs/promises"),x5h=require("os"),H5h=ue(require("path"),1),xqB=".fern",HqB="logs";function KqB(){return"cli@3.48.1"}var jXa=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Tt(Sr.of((0,x5h.homedir)()),He.of(xqB)),r=Tt(t,He.of(HqB));await mi(r)||await(0,bla.mkdir)(r,{recursive:!0});let n=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Tt(r,He.of(n));let a=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${H5h.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1944
+ `;return this.parsedDocsConfig.pages[He.of(o)]=d,{id:this.#e.get(c),type:"page",slug:a.get(),title:i,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:c,authed:void 0,noindex:!0,featureFlags:void 0,availability:void 0}}async toPageNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=Ft.PageId(this.toRelativeFilepath(t.absolutePath)),o=r.apply({urlSlug:t.slug??cS(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(a),type:"page",slug:o.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:i||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:a,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:t.availability??n}}async toSectionNode({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){let o=this.toRelativeFilepath(r.overviewAbsolutePath),c=o?Ft.PageId(o):void 0,d=this.#e.get(c??`${t}/section`),s=i.apply({urlSlug:r.slug??cS(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),u=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,l=n||r.hidden;return{id:d,type:"section",overviewPageId:c,slug:s.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:l,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(p=>this.toNavigationChild({prefix:d,item:p,parentSlug:s,hideChildren:l,parentAvailability:r.availability??a}))),authed:void 0,pointsTo:void 0,noindex:u,featureFlags:r.featureFlags,availability:r.availability??a}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return xfn(r.child)._visit({link:({href:n,target:a})=>this.toTabLinkNode(r,n,a),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i),variants:({variants:n})=>this.toTabNodeWithVariants(t,r,n,i)})}async toTabChangelogNode(t,r,i){return new kgn(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,i){return{type:"link",id:this.#e.get(r),title:t.title,url:Ft.V1.Url(r),target:i,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??cS(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.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(a,i,o),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??cS(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.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(a,i,o),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):qG.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:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(us),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:qG.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return xfn(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:qG.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function LwB(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:i,repo:n,branch:a="main",host:o="https://github.com"}=e.github;return{url:`${qx(o)}/${i}/${n}/blob/${a}/fern/${t}?plain=1`,launch:r}}function VwB(e){switch(e){case"beta":return Ft.V1.NavigationV1Availability.Beta;case"deprecated":return Ft.V1.NavigationV1Availability.Deprecated;case"ga":return Ft.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Ft.V1.NavigationV1Availability.Stable;default:vt(e)}}async function BL(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof jS?t:null))).filter(us)}async function ftl(e,t,r){if(e instanceof hSe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof jS))return;let i=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return Cx({ir:i,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 uc={};Yt(uc,{AlgoliaSearchIndex:()=>NQh,ApiDefinitionId:()=>nUh,ApiId:()=>sUh,Availability:()=>PUh,DocsConfigId:()=>cUh,EndpointId:()=>fUh,EndpointPathLiteral:()=>mUh,EnvironmentId:()=>lUh,FileId:()=>yUh,HttpMethod:()=>AUh,IndexSegmentId:()=>FQh,JqString:()=>vUh,OrgId:()=>oUh,PageId:()=>hUh,PayloadLocation:()=>YUh,PropertyKey:()=>gUh,PullRequestState:()=>xUh,RoleId:()=>OUh,TokenId:()=>uUh,TypeId:()=>_Uh,Url:()=>bUh,VersionId:()=>aUh,WebSocketId:()=>dUh,WebhookId:()=>pUh,algolia:()=>dtl,api:()=>Atl,commons:()=>Ptl,diff:()=>jUh,docs:()=>Ctl,generators:()=>Ttl,git:()=>Rtl,navigation:()=>Ftl,sdks:()=>Utl,snippets:()=>JUh,snippetsFactory:()=>$Uh,templates:()=>Ltl,tokens:()=>XUh});var dtl={};Yt(dtl,{AlgoliaSearchIndex:()=>NQh,IndexSegmentId:()=>FQh});function NQh(e){return e}function FQh(e){return e}var Atl={};Yt(Atl,{latest:()=>htl,v1:()=>mtl});var htl={};Yt(htl,{AuthSchemeId:()=>QQh,WebhookHttpMethod:()=>WQh,auth:()=>ptl,commons:()=>UQh,endpoint:()=>LQh,type_:()=>VQh,webhook:()=>_tl,websocket:()=>GQh});var ptl={};Yt(ptl,{AuthSchemeId:()=>QQh});function QQh(e){return e}var UQh={};var LQh={};var VQh={};var _tl={};Yt(_tl,{WebhookHttpMethod:()=>WQh});var WQh={Get:"GET",Post:"POST"};var GQh={};var mtl={};Yt(mtl,{SubpackageId:()=>eUh,WebSocketMessageId:()=>tUh,WebSocketMessageOrigin:()=>rUh,WebhookHttpMethod:()=>iUh,commons:()=>Otl,db:()=>ytl,read:()=>vtl,register:()=>gtl});var ytl={};Yt(ytl,{endpoint:()=>xQh});var xQh={};var vtl={};Yt(vtl,{SupportedLanguage:()=>HQh,endpoint:()=>btl,type_:()=>KQh,webhook:()=>JQh,websocket:()=>$Qh});var btl={};Yt(btl,{SupportedLanguage:()=>HQh});var HQh={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var KQh={};var JQh={};var $Qh={};var gtl={};Yt(gtl,{SourceId:()=>WwB,endpoint:()=>YQh,type_:()=>XQh,webhook:()=>ZQh,websocket:()=>kQh});var YQh={};var XQh={};var ZQh={};var kQh={};function WwB(e){return e}var Otl={};Yt(Otl,{SubpackageId:()=>eUh,WebSocketMessageId:()=>tUh,WebSocketMessageOrigin:()=>rUh,WebhookHttpMethod:()=>iUh});function eUh(e){return e}function tUh(e){return e}var rUh={Client:"client",Server:"server"};var iUh={Get:"GET",Post:"POST"};var Ptl={};Yt(Ptl,{ApiDefinitionId:()=>nUh,ApiId:()=>sUh,Availability:()=>PUh,DocsConfigId:()=>cUh,EndpointId:()=>fUh,EndpointPathLiteral:()=>mUh,EnvironmentId:()=>lUh,FileId:()=>yUh,HttpMethod:()=>AUh,JqString:()=>vUh,OrgId:()=>oUh,PageId:()=>hUh,PropertyKey:()=>gUh,RoleId:()=>OUh,TokenId:()=>uUh,TypeId:()=>_Uh,Url:()=>bUh,VersionId:()=>aUh,WebSocketId:()=>dUh,WebhookId:()=>pUh});function nUh(e){return e}function aUh(e){return e}function oUh(e){return e}function uUh(e){return e}function sUh(e){return e}function cUh(e){return e}function lUh(e){return e}function fUh(e){return e}function dUh(e){return e}function pUh(e){return e}function _Uh(e){return e}function hUh(e){return e}function yUh(e){return e}function bUh(e){return e}function vUh(e){return e}function gUh(e){return e}function OUh(e){return e}function mUh(e){return e}var AUh={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var PUh={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var jUh={};var Ctl={};Yt(Ctl,{latest:()=>Etl,v1:()=>Btl,v2:()=>Itl});var Etl={};Yt(Etl,{Layout:()=>EUh,MdxEngine:()=>GwB,TwitterCardSetting:()=>SUh,commons:()=>wUh,frontmatter:()=>jtl,seo:()=>wtl});var GwB={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var wUh={};var jtl={};Yt(jtl,{Layout:()=>EUh});var EUh={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var wtl={};Yt(wtl,{TwitterCardSetting:()=>SUh});var SUh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Btl={};Yt(Btl,{commons:()=>Dtl,db:()=>MUh,read:()=>DUh,write:()=>Stl});var MUh={};var DUh={};var Stl={};Yt(Stl,{DocsRegistrationId:()=>HwB,FilePath:()=>xwB});function xwB(e){return e}function HwB(e){return e}var Dtl={};Yt(Dtl,{ContentAlignment:()=>qUh,FontDisplay:()=>FUh,FontStyle:()=>NUh,HeaderPosition:()=>TUh,JsScriptStrategy:()=>zUh,ProgrammingLanguage:()=>BUh,SearchbarPlacement:()=>IUh,TabsPlacement:()=>CUh,TwitterCardSetting:()=>RUh,commons:()=>Mtl});var Mtl={};Yt(Mtl,{ContentAlignment:()=>qUh,FontDisplay:()=>FUh,FontStyle:()=>NUh,HeaderPosition:()=>TUh,JsScriptStrategy:()=>zUh,ProgrammingLanguage:()=>BUh,SearchbarPlacement:()=>IUh,TabsPlacement:()=>CUh,TwitterCardSetting:()=>RUh});var BUh={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 IUh={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var CUh={Header:"HEADER",Sidebar:"SIDEBAR"};var qUh={Center:"CENTER",Left:"LEFT"};var TUh={Fixed:"FIXED",Absolute:"ABSOLUTE"};var RUh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var zUh={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var NUh={Normal:"normal",Italic:"italic"};var FUh={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Itl={};Yt(Itl,{read:()=>QUh,write:()=>UUh});var QUh={};var UUh={};var Ttl={};Yt(Ttl,{ChangelogEntryType:()=>VUh,GeneratorId:()=>KwB,GeneratorLanguage:()=>JwB,ReleaseType:()=>WUh,cli:()=>LUh,commons:()=>qtl,versions:()=>GUh});var LUh={};var qtl={};Yt(qtl,{ChangelogEntryType:()=>VUh,ReleaseType:()=>WUh});var VUh={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var WUh={Ga:"GA",Rc:"RC"};var GUh={};function KwB(e){return e}var JwB={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Rtl={};Yt(Rtl,{PullRequestState:()=>xUh});var xUh={Open:"open",Closed:"closed",Merged:"merged"};var Ftl={};Yt(Ftl,{latest:()=>ztl,v1:()=>Ntl});var ztl={};Yt(ztl,{NodeId:()=>XwB,ProductId:()=>ZwB,Slug:()=>$wB,TabId:()=>YwB});function $wB(e){return e}function YwB(e){return e}function XwB(e){return e}function ZwB(e){return e}var Ntl={};Yt(Ntl,{NavigationV1Availability:()=>iEB,NodeId:()=>tEB,ProductId:()=>rEB,Slug:()=>kwB,TabId:()=>eEB});function kwB(e){return e}function eEB(e){return e}function tEB(e){return e}function rEB(e){return e}var iEB={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Utl={};Yt(Utl,{Language:()=>HUh,VersionBump:()=>KUh,versions:()=>Qtl});var Qtl={};Yt(Qtl,{Language:()=>HUh,VersionBump:()=>KUh});var HUh={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var KUh={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var JUh={};var $Uh={};var Ltl={};Yt(Ltl,{PayloadLocation:()=>YUh});var YUh={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var XUh={};var o0u=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function Ho(e){return e!=null}var kUh=ue(h4a(),1);var ZUh=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function jXt(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,kUh.default)(e,{special:ZUh}).replace(/V\s(\d)/g,"V$1")}function e4h({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(i=>{let n=[];i.namespace?.forEach(a=>{let o=[...n,a],c=uc.api.v1.SubpackageId(o.join("."));r[c]={id:c,name:a,displayName:jXt(a)},n.push(a)})}),r}var u0u=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 t4h(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var mo=class extends u0u{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){if(super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,n!=null){let a=Array.isArray(this.pathId)?this.pathId:[this.pathId];a.every((o,c)=>o===this.accessPath[this.accessPath.length-a.length+c])||this.accessPath.push(...a)}r.logger.debug(`Processing ${t4h(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})}}},IC=class extends mo{},BY=class extends IC{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var r4h="x-fern-base-path",i4h="x-fern-availability",s0u="x-fern-sdk-group-name",n4h="x-fern-global-headers",a4h="x-fern-sdk-method-name";var o4h="x-fern-webhook",u4h="x-fern-access-token-locator",s4h="x-fern-basic",c4h="x-fern-username-variable-name",l4h="x-fern-password-variable-name",f4h="x-fern-bearer",d4h="x-fern-token-variable-name",p4h="x-fern-header",_4h="x-fern-header-variable-name",h4h="x-fern-server-name",y4h="x-fern-examples";var c0u=class extends mo{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[h4h]}convert(){if(this.serverName!=null)return this.serverName}};var l0u=class extends mo{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,i])=>t.replace(`{${r}}`,i.default),this.input.url)??this.input.url,this.serverName=new c0u({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:uc.EnvironmentId(t),baseUrl:this.url}}};function yYi(e,t,r,i){let n=e??[],a=new Set(n.map(c=>c.url)),o=(t??[]).filter(c=>!a.has(c.url)).map((c,d)=>new l0u({input:c,context:r,accessPath:i,pathId:["servers",`${d}`]}));return[...n,...o]}function tg(e){return typeof e=="object"&&Ho(e)&&"$ref"in e&&typeof e.$ref=="string"}function IL(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(tg(n)&&(n=IL(n,t,r)),n)}function f0u(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return tg(r)?IL(r,t,void 0):r}var uLh=ue(bM());var d0u=class extends mo{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[s4h];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var p0u=class extends mo{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[l4h]}convert(){return this.passwordVariableName}};var _0u=class extends mo{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[c4h]}convert(){return this.usernameVariableName}};var h0u=class extends mo{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[f4h];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var y0u=class extends mo{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[d4h]}convert(){return this.tokenVariableName}};function b4h(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var v4h="x-bearer-format",g4h="x-code-samples",O4h="x-codeSamples";var b0u=class extends mo{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[v4h]}convert(){return this.bearerFormat}};var v0u=class extends mo{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[p4h];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var g0u=class extends mo{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[_4h]}convert(){return this.headerVariableName}};function m4h(e){return e.type==="apiKey"}var Kca=class extends mo{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){m4h(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new v0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new g0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new b0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function O0u(e){return e}function m0u(e){return e==="__proto__"}function A0u(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Jca(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function xYa(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(xYa).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function P0u(e){if(Array.isArray(e))return e.map(Jca);if(typeof e=="symbol")return[e];e=xYa(e);let t=[],r=e.length;if(r===0)return t;let i=0,n="",a="",o=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<r;){let c=e[i];a?c==="\\"&&i+1<r?(i++,n+=e[i]):c===a?a="":n+=c:o?c==='"'||c==="'"?a=c:c==="]"?(o=!1,t.push(n),n=""):n+=c:c==="["?(o=!0,n&&(t.push(n),n="")):c==="."?n&&(t.push(n),n=""):n+=c,i++}return n&&t.push(n),t}function HYa(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(m0u(t))return r;let i=e[t];return i===void 0?A0u(t)?HYa(e,P0u(t),r):r:i}case"number":case"symbol":{typeof t=="number"&&(t=Jca(t));let i=e[t];return i===void 0?r:i}default:{if(Array.isArray(t))return nEB(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),m0u(t))return r;let i=e[t];return i===void 0?r:i}}}function nEB(e,t,r){if(t.length===0)return r;let i=e;for(let n=0;n<t.length;n++){if(i==null||m0u(t[n]))return r;i=i[t[n]]}return i===void 0?r:i}function A4h(e){return function(t){return HYa(t,e)}}function P4h(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function j0u(e){return e==null||typeof e!="object"&&typeof e!="function"}function Vtl(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Gtl(e,t,r){return typeof r!="function"?Gtl(e,t,()=>{}):Wtl(e,t,function i(n,a,o,c,d,s){let u=r(n,a,o,c,d,s);return u!==void 0?!!u:Wtl(n,a,i,s)},new Map)}function Wtl(e,t,r,i){if(t===e)return!0;switch(typeof t){case"object":return aEB(e,t,r,i);case"function":return Object.keys(t).length>0?Wtl(e,{...t},r,i):Vtl(e,t);default:return P4h(e)?typeof t=="string"?t==="":!0:Vtl(e,t)}}function aEB(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return j4h(e,t,r,i);if(t instanceof Map)return oEB(e,t,r,i);if(t instanceof Set)return uEB(e,t,r,i);let n=Object.keys(t);if(e==null)return n.length===0;if(n.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let a=0;a<n.length;a++){let o=n[a];if(!j0u(e)&&!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!r(e[o],t[o],o,e,t,i))return!1}return!0}finally{i?.delete(t)}}function oEB(e,t,r,i){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[n,a]of t.entries()){let o=e.get(n);if(r(o,a,n,e,t,i)===!1)return!1}return!0}function j4h(e,t,r,i){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let n=new Set;for(let a=0;a<t.length;a++){let o=t[a],c=!1;for(let d=0;d<e.length;d++){if(n.has(d))continue;let s=e[d],u=!1;if(r(s,o,a,e,t,i)&&(u=!0),u){n.add(d),c=!0;break}}if(!c)return!1}return!0}function uEB(e,t,r,i){return t.size===0?!0:e instanceof Set?j4h([...e],[...t],r,i):!1}function w0u(e,t){return Gtl(e,t,()=>{})}function w4h(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function E0u(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var E4h="[object RegExp]",S0u="[object String]",M0u="[object Number]",D0u="[object Boolean]",B0u="[object Arguments]",S4h="[object Symbol]",M4h="[object Date]",D4h="[object Map]",B4h="[object Set]",I4h="[object Array]";var C4h="[object ArrayBuffer]",q4h="[object Object]";var T4h="[object DataView]",R4h="[object Uint8Array]",z4h="[object Uint8ClampedArray]",N4h="[object Uint16Array]",F4h="[object Uint32Array]";var Q4h="[object Int8Array]",U4h="[object Int16Array]",L4h="[object Int32Array]";var V4h="[object Float32Array]",W4h="[object Float64Array]";function G4h(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function x4h(e,t){return bYi(e,void 0,e,new Map,t)}function bYi(e,t,r,i=new Map,n=void 0){let a=n?.(e,t,r,i);if(a!==void 0)return a;if(j0u(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let o=new Array(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=bYi(e[c],c,r,i,n);return Object.hasOwn(e,"index")&&(o.index=e.index),Object.hasOwn(e,"input")&&(o.input=e.input),o}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let o=new RegExp(e.source,e.flags);return o.lastIndex=e.lastIndex,o}if(e instanceof Map){let o=new Map;i.set(e,o);for(let[c,d]of e)o.set(c,bYi(d,c,r,i,n));return o}if(e instanceof Set){let o=new Set;i.set(e,o);for(let c of e)o.add(bYi(c,void 0,r,i,n));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(G4h(e)){let o=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=bYi(e[c],c,r,i,n);return o}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let o=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof File<"u"&&e instanceof File){let o=new File([e],e.name,{type:e.type});return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof Blob<"u"&&e instanceof Blob){let o=new Blob([e],{type:e.type});return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof Error){let o=new e.constructor;return i.set(e,o),o.message=e.message,o.name=e.name,o.stack=e.stack,o.cause=e.cause,k8t(o,e,r,i,n),o}if(e instanceof Boolean){let o=new Boolean(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof Number){let o=new Number(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(e instanceof String){let o=new String(e.valueOf());return i.set(e,o),k8t(o,e,r,i,n),o}if(typeof e=="object"&&sEB(e)){let o=Object.create(Object.getPrototypeOf(e));return i.set(e,o),k8t(o,e,r,i,n),o}return e}function k8t(e,t,r=e,i,n){let a=[...Object.keys(t),...w4h(t)];for(let o=0;o<a.length;o++){let c=a[o],d=Object.getOwnPropertyDescriptor(e,c);(d==null||d.writable)&&(e[c]=bYi(t[c],c,r,i,n))}}function sEB(e){switch(E0u(e)){case B0u:case I4h:case C4h:case T4h:case D0u:case M4h:case V4h:case W4h:case Q4h:case U4h:case L4h:case D4h:case M0u:case q4h:case E4h:case B4h:case S0u:case S4h:case R4h:case z4h:case N4h:case F4h:return!0;default:return!1}}function H4h(e){return bYi(e,void 0,e,new Map,void 0)}function K4h(e){return e=H4h(e),t=>w0u(t,e)}function J4h(e,t){return x4h(e,(r,i,n,a)=>{let o=t?.(r,i,n,a);if(o!==void 0)return o;if(typeof e=="object")switch(Object.prototype.toString.call(e)){case M0u:case S0u:case D0u:{let c=new e.constructor(e?.valueOf());return k8t(c,e),c}case B0u:{let c={};return k8t(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}})}function $4h(e){return J4h(e)}var cEB=/^(?:0|[1-9]\d*)$/;function Y4h(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 cEB.test(e)}}function X4h(e){return e!==null&&typeof e=="object"&&E0u(e)==="[object Arguments]"}function Z4h(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&A0u(t)&&e?.[t]==null?r=P0u(t):r=[t],r.length===0)return!1;let i=e;for(let n=0;n<r.length;n++){let a=r[n];if((i==null||!Object.hasOwn(i,a))&&!((Array.isArray(i)||X4h(i))&&Y4h(a)&&a<i.length))return!1;i=i[a]}return!0}function k4h(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Jca(e);break}}return t=$4h(t),function(r){let i=HYa(r,e);return i===void 0?Z4h(r,e):t===void 0?i===void 0:w0u(i,t)}}function eLh(e){if(e==null)return O0u;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?k4h(e[0],e[1]):K4h(e);case"string":case"symbol":case"number":return A4h(e)}}function tLh(e,t){let r={},i=Object.keys(e);for(let n=0;n<i.length;n++){let a=i[n],o=e[a];r[a]=t(o,a,e)}return r}function I0u(e,t=O0u){return e==null?{}:tLh(e,eLh(t))}function rLh(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}var lEB=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function iLh(e){return Array.from(e.match(lEB)??[])}function nLh(e){let t=iLh(e);if(t.length===0)return"";let[r,...i]=t;return`${r.toLowerCase()}${i.map(n=>rLh(n)).join("")}`}function aLh(e){return typeof e!="string"&&(e=xYa(e)),e.replace(/['\u2019]/g,"")}function eWt(e){return nLh(aLh(e))}function ij(e){if(e!=null)return Array.isArray(e)?e:[e]}function C0u({namespace:e,path:t,method:r,sdkMethodName:i,operationId:n,displayName:a,isWebhook:o}){if(t==null)return;let c=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(i==null&&n==null&&a==null&&c==null))return`${fEB(o)}${dEB(e)}.${pEB(i,n,a,c)}`}function fEB(e){return e?"webhook_":"endpoint_"}function dEB(e){return e!=null?ij(e)?.map(t=>eWt(t)).join("/"):""}function pEB(e,t,r,i){return e||t||eWt(r??"")||eWt(i??"")}function oLh(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var q0u=class extends mo{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[u4h],this.accessTokenLocator!=null&&(oLh(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 T0u=class extends mo{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 Kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new q0u({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=C0u({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:uc.EndpointId(r),accessTokenLocator:uc.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var $ca=class extends mo{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 d0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new _0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new p0u({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 h0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new y0u({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":{b4h(this.input)?(this.authScheme="header",this.headerAuthNode=new Kca({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 T0u({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 uLh.UnreachableCaseError(this.authScheme);return}}};var Yca=class extends mo{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=f0u(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new $ca({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(Ho))}};var R0u=class extends mo{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[r4h],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 sLh(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function cLh(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function Xca(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>ij(n.convert())?.map(o=>((t!=null&&!t.includes(i)||t==null&&!sLh(n))&&(o=cLh(o,o.type==="enum"?o.default:void 0)),{key:uc.PropertyKey(i),valueShape:o,description:n.description,availability:n.availability?.convert()})).filter(Ho)).filter(Ho).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]])}function z0u(e,t){return tg(e)?IL(e,t,void 0):e}function vYi(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function lLh(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function fLh(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var dLh=ue(bM());var xtl=["decimal","decimal128","double-int","double","float","sf-decimal"],Htl=["int16","int32","int64","int8","sf-integer","uint8"],Ktl=["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"],Jtl=["beta","pre-release","in-development","generally-available","deprecated"];function CC(e,t){return tg(e)?IL(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var ESe=class extends mo{availability;constructor(t){super(t),this.safeParse()}parse(){if(CC(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[i4h];r!=null&&(Jtl.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Jtl.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return uc.Availability.Beta;case"in-development":return uc.Availability.InDevelopment;case"generally-available":return uc.Availability.GenerallyAvailable;case"deprecated":return uc.Availability.Deprecated;case void 0:return;default:new dLh.UnreachableCaseError(this.availability);return}}};var F0u=ue(bM());function pLh(e){return typeof e=="object"&&e!=null&&"language"in e}function _Lh(e){return typeof e=="object"&&e!=null&&"sdk"in e}function hLh(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function yLh(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function N0u(e){return typeof e=="object"&&e!=null&&"event"in e}function $tl(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(N0u)}function gYi(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function bLh(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var Q0u=class extends mo{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[y4h]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let o=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return gYi(o)?[n,{type:"filenameWithData",filename:o.filename,data:uc.FileId(o.data)}]:o!=null?[n,{type:"filename",value:o}]:void 0;case"files":{if(Array.isArray(o)){if(o.every(c=>gYi(c)))return[n,{type:"filenamesWithData",value:o.map(c=>({filename:c.filename,data:uc.FileId(c.data)}))}];if(o.every(c=>typeof c=="string"))return[n,{type:"filenames",value:o}]}return}case"property":return[n,{type:"json",value:o}];case void 0:return;default:new F0u.UnreachableCaseError(a.multipartType);return}}).filter(Ho))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=bLh(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":a=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new F0u.UnreachableCaseError(n.contentType);break}let o;switch(i.contentType){case"application/json":{hLh(r.response)&&(o={type:"json",value:r.response.body});break}case"text/event-stream":{$tl(r.response)&&(o={type:"sse",value:r.response.stream.map(l=>({event:l.event,data:l.data}))});break}case"application/octet-stream":!$tl(r.response)&&yLh(r.response)&&(o={type:"stream",value:r.response.stream});break;case void 0:break;default:new F0u.UnreachableCaseError(i.contentType);break}let c={};r["code-samples"]?.forEach(l=>{pLh(l)?l.language!=null&&(c[l.language]??=[],c[l.language]?.push({name:l.name,language:l.language,install:l.install,code:l.code,generated:!1,description:l.docs})):_Lh(l)&&l.sdk!=null&&(c[l.sdk]??=[],c[l.sdk]?.push({name:l.name,language:l.sdk,install:void 0,code:l.code,generated:!1,description:l.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([l,p])=>[uc.PropertyKey(l),p])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([l,p])=>[uc.PropertyKey(l),p])),u=Object.fromEntries(Object.entries(r.headers??{}).map(([l,p])=>[uc.PropertyKey(l),p]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(u).length>0?u:void 0,requestBody:a,responseBody:o,snippets:c}}))}};var KYa=class extends mo{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[s0u]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>uc.api.v1.SubpackageId(eWt(r)))}};var U0u=class extends mo{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[a4h]}convert(){return this.sdkMethodName}};var L0u=class extends mo{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[o4h]}convert(){return this.isWebhook}};var V0u=class extends mo{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[g4h]??[],...this.input[O4h]??[]],this.codeSamples.forEach(t=>{[...Object.values(uc.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 eOn=ue(bM());function Ytl(e,t){return tg(e)?IL(e,t,void 0):e}function vLh(e,t){return e.replace(/{(\w+)}/g,(r,i)=>t[i]!=null&&typeof t[i]=="string"||typeof t[i]=="number"||typeof t[i]=="boolean"?`${t[i]}`:r)}var TF="",wXt=class extends mo{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(gYi(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>gYi(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new eOn.UnreachableCaseError(i.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=Ytl(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=Ytl(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 eOn.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(N0u)){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 eOn.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return gYi(n)?[r,{type:"filenameWithData",filename:n.filename,data:uc.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>gYi(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:uc.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new eOn.UnreachableCaseError(i.multipartType);return}}).filter(Ho))};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 eOn.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 eOn.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([o,c])=>[o,c.example({includeOptionals:!1,override:o})]));i=Object.keys(i).length>0?i:void 0;let n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(Ho));n=Object.keys(n).length>0?n:void 0;let a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(Ho));if(a=Object.keys(a).length>0?a:void 0,!(this.path==null&&t==null&&r==null&&a==null&&n==null&&i==null))return{path:vLh(this.path,i??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?jXt(this.name):this.summary!=null?jXt(this.summary):void 0,description:this.convertDescription(),pathParameters:i,queryParameters:n,headers:a,requestBody:t,responseBody:r,snippets:void 0}}};function gLh(e,t){return tg(e)?IL(e,t,void 0):e}var CLh=ue(bM());var OLh="#/components/schemas/";function Zca(e){if(e.$ref.startsWith(OLh))return e.$ref.replace(OLh,"")}function d4i(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function OYi(e){return typeof e.type=="string"&&e.type==="array"}function mLh(e){return e.type==="boolean"}function ALh(e){return e.type==="integer"}function mYi(e){return!Array.isArray(e.type)&&!OYi(e)}function PLh(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||mYi(t)||OYi(t))}function jLh(e){return"nullable"in e&&typeof e.nullable=="boolean"}function wLh(e){return e.type==="null"}function ELh(e){return e.type==="number"}function Xtl(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function SLh(e){return e.type==="string"}var W0u=class extends BY{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 ij(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 G0u=class extends IC{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 ESe({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 x0u=class extends BY{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(Ho)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>ij(n.convert())?.map(o=>({displayName:n.name,shape:o,description:n.description,availability:n.availability?.convert()}))).filter(Ho).reduce((n,a)=>n.flatMap(o=>a.length>0?a.map(c=>[...o,c]):[[...o]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(d4i).filter(Ho):i}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function H0u(e){return e!=null&&e.length>0?e:[void 0]}var kca=class extends BY{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(tg(t))return Zca(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([i,n])=>[i,new hw({input:n,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",i],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(Ho))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return Xca(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}}}]:ij(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(Ho)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>H0u(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:n}:{type:"object",extends:this.extends.map(a=>uc.TypeId(a)),properties:i,extraProperties:n}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(i=>{let n=CC(i,this.context.document);n!=null&&(r={...r,...Object.fromEntries(Object.entries(n.properties??{}).map(([a,o])=>[a,new hw({input:o,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((i,n)=>{let a=r?.[n];return i[n]=a?.example({includeOptionals:t,override:n}),i},{}):Object.entries(r).reduce((i,[n,a])=>(i[n]=a?.example({includeOptionals:t,override:n}),i),{}))}};var K0u=class extends BY{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=>CC(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>CC(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(Ho);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=CC({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new hw({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let n=this.undiscriminatedMapping?.flatMap(a=>a.convert()).filter(Ho);return this.isNullable&&n!=null?n.map(d4i).filter(Ho):n}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:uc.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([n,a])=>ij(a.convert())?.map(c=>{if(!(c==null||c.type!=="object"))return{discriminantValue:n,displayName:a.name??jXt(n),availability:a.availability?.convert(),description:a.description,...c}}).filter(Ho)).filter(Ho)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(n=>ij(n.convert())?.map(o=>{if(o==null)return;t+=1;let c=o.type==="object"?jXt(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:n.name??(o.type==="alias"&&o.value.type==="id"?jXt(o.value.id):c),shape:o,description:n.description,availability:n.availability?.convert()}}).filter(Ho)).filter(Ho)}:void 0,i=this.isNullable?d4i(r):r;return i!=null?[i]: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 J0u=class extends IC{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 AYi=class extends IC{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,i)=>{if(t){if(tg(r)){let n=CC(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(Ho),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 MLh=ue(bM());function _EB(e){return Htl.includes(e)}var $0u=class extends IC{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&&(_EB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Htl.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 MLh.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 Y0u=class extends IC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return d4i({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var DLh=ue(bM());function hEB(e){return xtl.includes(e)}var X0u=class extends IC{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&&(hEB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${xtl.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 DLh.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 BLh=ue(bM());function yEB(e){return Ktl.includes(e)}var Z0u=class extends IC{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 BLh.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&&(yEB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Ktl.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new AYi({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 ILh=ue(bM());var k0u=class extends IC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ILh.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var tOn=class extends BY{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=Zca(this.input);let t=CC(this.input,this.context.document);t?.enum!=null&&mYi(t)&&(this.maybeEnumConverterNode=new AYi({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:uc.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=CC(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 BY{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 ESe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),mYi(this.input)&&jLh(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),tg(this.input)){let t=Zca(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 tOn({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 G0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(PLh(this.input))this.typeShapeNode=new x0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(mYi(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new K0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(Xtl(this.input)&&this.input.allOf!=null)this.typeShapeNode=new kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(mYi(this.input)&&this.input.enum!=null)this.typeShapeNode=new AYi({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":Xtl(this.input)&&(this.typeShapeNode=new kca({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":OYi(this.input)&&(this.typeShapeNode=new W0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":mLh(this.input)&&(this.typeShapeNode=new J0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":ALh(this.input)&&(this.typeShapeNode=new $0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":ELh(this.input)&&(this.typeShapeNode=new X0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":SLh(this.input)&&(this.typeShapeNode=new Z0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":wLh(this.input)&&(this.typeShapeNode=new Y0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new CLh.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 kca({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 k0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!tg(this.input)&&(!OYi(this.input)&&this.input==null||OYi(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=ij(t)?.map(i=>this.nullable?d4i(i):i).filter(Ho);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function PYi(e){if(e!=null)return Xca(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(Ho))}var EXt=class extends IC{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;tg(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 ESe({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 i=gLh(this.input,this.context.document);this.inputExample=i?.example??Object.values(i?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function qLh(e,t){return tg(e)?IL(e,t,void 0):e}var Ztl=ue(bM());function ewu(e){let{uniqueId:t,type:r,contextTypes:i,description:n,availability:a}=e;i[uc.TypeId(t)]={name:t,shape:r,description:n,availability:a}}var TLh=ue(fnc(),1),ela=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,o){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=o}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=TLh.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 bEB(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var twu=class extends mo{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})]))),bEB(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],i)=>{let n;if(tg(r)?n=f0u(r.$ref,this.context.document):n=r,n!=null)return[t,new $ca({input:n,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${i}`]})]}).filter(Ho)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[uc.api.latest.AuthSchemeId(t),i]}).filter(Ho)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=ij(r.convert());return n==null?[t,void 0]:[uc.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>Ho(r))):void 0}}};var rwu=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=CC(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${tg(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=CC(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 iwu=class extends mo{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 i=CC(this.input.schema,this.context.document);this.availability=new ESe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=tg(this.input.schema)?new tOn({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 n=ela.parse(t);n?.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"})):n?.isOctetStream()?(this.contentType="bytes",this.isOptional=i?.required==null):n?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=i?.required,this.fields=Object.fromEntries(Object.entries(i?.properties??{}).map(([a,o])=>{if(o!=null)return[a,new rwu({input:o,context:this.context,accessPath:this.accessPath,pathId:`schema.${a}`,seenSchemas:new Set,nullable:void 0,schemaName:a})]}).filter(Ho))):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?{[TF]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[TF]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:ij(t)?.map(i=>{let n=i.type;switch(n){case"object":case"alias":return i;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let a=eWt([this.method,this.path,this.contentType,"request"].join("_"));return ewu({uniqueId:a,type:i,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:uc.TypeId(a),default:i.type==="enum"&&i.default!=null?{type:"enum",value:i.default}:void 0}}}case void 0:return;default:new Ztl.UnreachableCaseError(n);return}}).filter(Ho)}convert(){if(this.schema instanceof tOn)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(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:uc.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:uc.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=ij(n.convert()),o=n.multipartType;return a?.map(c=>({type:o,key:uc.PropertyKey(i),contentType:n.contentType,exploded:void 0,valueShape:c,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Ztl.UnreachableCaseError(n.multipartType),[]}}).filter(Ho).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var nwu=class extends mo{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let i=qLh(this.input,this.context.document);if(i==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(i.content).forEach(([n,a])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[n]=new iwu({input:a,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:n,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>ij(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(Ho)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>ij(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(Ho)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var RLh={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 zLh(e,t){if(tg(e)){let r=IL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var awu=ue(bM());var NLh="application/json";var FLh="application/octet-stream";function QLh(e,t){return e===t||t===TF||e===TF}var JYa=class extends mo{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,i,n,a,o,c,d){super(t),this.streamingFormat=i,this.path=n,this.method=a,this.statusCode=o,this.requests=c,this.shapes=d,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,i){for(let n of t)for(let[a,o]of Object.entries(n?.examples??{}))for(let[c,d]of Object.entries(r))for(let s of d)QLh(c,a)&&(i.add(c),this.examples?.push(new wXt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,vYi(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let i=0;for(let n of t){let a=0;for(let[o,c]of r){if(a===i){let[d,s,u]=n??[void 0,void 0,void 0];this.examples?.push(...c.map(l=>new wXt({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:s!=null&&s!==""?["examples",s]:"examples"},this.path,this.statusCode,vYi(s,o),{requestBody:d,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}a++}i++}if(t.length>r.length)for(let n of t.slice(r.length)){let[a,o]=r[r.length-1]??[void 0,void 0],[c,d,s]=n??[void 0,void 0,void 0];this.examples?.push(...(o??[void 0]).map(u=>new wXt({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:d!=null&&d!==""?["examples",d]:"examples"},this.path,this.statusCode,vYi(d,a),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[n,a,o]=t[t.length-1]??[void 0,void 0,void 0];for(let[c,d]of r.slice(t.length))this.examples?.push(...d.map(s=>new wXt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,vYi(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,i,n){let a=t[TF];if(a!=null)for(let o of a)this.examples?.push(new wXt({input:{requestExample:n,responseExample:o},context:this.context,accessPath:this.accessPath,pathId:i!=null&&i!==""?["examples",i]:"examples"},this.path,this.statusCode,vYi(i,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 i of t)if(Object.keys(i.examples??{}).length===0)this.pushResponseExample(r,i,void 0,void 0);else for(let[n,a]of Object.entries(i.examples??{}))this.pushResponseExample(r,i,n,a)}parse(t){if(t==="empty")this.empty=!0;else{let c=ela.parse(t);if(c?.isJSON()||c?.isEventStream())this.contentType=NLh,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(c?.isOctetStream())this.contentType=FLh,this.contentSubtype=CC(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=I0u(this.input.examples,c=>[c])),this.input.example!=null&&Object.keys(r).length===0&&(r[TF]??=[],r[TF]=[{value:this.input.example}]);let i=CC(this.input.schema,this.context.document);if(i!=null&&(i.examples!=null&&Object.keys(r).length===0&&(r=I0u(i.examples,c=>[c])),i.example!=null&&Object.keys(r).length===0&&(r[TF]??=[],r[TF]?.push({value:i.example}))),Object.keys(r).length===0){let c=this.schema?.example({includeOptionals:!0,override:void 0});r[TF]??=[],r[TF]?.push(c!=null?{value:c}:void 0)}this.examples??=[];let n=new Set;this.matchRequestResponseExamplesByName(this.requests,r,n);let a=[];for(let c of this.requests)a.push(...Object.entries(c.examples??{}).filter(([d])=>!n.has(d)&&d!==TF).map(([d,s])=>[c,d,s]));let o=Object.entries(r).filter(([c,d])=>!n.has(c)&&Ho(d)&&c!==TF);Object.keys(r).every(c=>c===TF)||this.matchExamplesByIndex(a,o),!n.has(TF)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return ij(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new awu.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return ij(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let n=eWt([this.method,this.path,this.statusCode,"response"].join("_"));return ewu({uniqueId:n,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:uc.TypeId(n),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new awu.UnreachableCaseError(i);return}}).filter(Ho)}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 awu.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var $Ya=class extends mo{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a,o){super(t),this.path=r,this.method=i,this.statusCode=n,this.requests=a,this.shapes=o,this.safeParse()}parse(t){this.description=this.input.description;let r=zLh(this.input,this.context.document);if(r==null){this.context.errors.error({message:tg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new EXt({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:i})}),r.content==null?(this.responses??=[],this.responses.push(new JYa({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(([i,n])=>{this.responses??=[],this.responses.push(new JYa({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(Ho)}};var owu=class extends mo{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n,a){super(t),this.path=r,this.method=i,this.requests=n,this.shapes=a,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new $Ya({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new $Ya({input:i,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 i=r.convert();if(i!=null)return H0u(PYi(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(o=>(o.examples??[]).map(c=>c.convert()).filter(Ho))})))}).filter(Ho)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=ij(n?.convert());if(n!=null)return a?.map(o=>({statusCode:parseInt(t),shape:o,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??RLh[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(c=>{let d=c.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(Ho)})).filter(Ho)})).filter(Ho)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var jYi=class extends mo{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,i){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new wXt({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,vYi(i,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 ESe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=yYi(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new L0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(tg(i)){let a=z0u(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new EXt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new V0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new nwu({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 owu({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 i=this.requests?.requestBodiesByContentType;i==null||Object.keys(i).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(i).forEach(n=>{if(Object.keys(n.examples??{}).length===0){let a=n.schema?.example({includeOptionals:!1,override:void 0});a!=null&&this.pushEmptyResponseExample({value:a},n,void 0)}else Object.entries(n.examples??{}).forEach(([a,o])=>{this.pushEmptyResponseExample(o,n,a)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new Yca({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new KYa({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(i=>i.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((i,n)=>new KYa({input:{[s0u]:i},context:this.context,accessPath:this.accessPath,pathId:["tags",`${n}`]})));let r=new U0u({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(i=>C0u({namespace:ij(i?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(Ho),this.xFernExamplesNode=new Q0u({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(Ho)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:uc.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=this.emptyResponseExamples?.map(u=>u.convert()).filter(Ho),n=fLh(this.xFernExamplesNode?.convert(),[...i??[],...t?.flatMap(u=>u.examples)??[]])?.map(u=>({...u,snippets:lLh(u.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((u,l)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:uc.WebhookId(u),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[l]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(p=>p.value.toString())??[],queryParameters:PYi(this.queryParameters)?.flat(),headers:PYi(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(Ho)}}).filter(Ho);let a=this.servers?.map(u=>u.convert()).filter(Ho),o=this.convertPathToPathParts();if(o==null)return;let c,d=this.auth?.convert();d!=null&&(c=Object.keys(d));let s=t?.flatMap(u=>u.headers).filter(Ho);return this.endpointIds.map((u,l)=>({id:uc.EndpointId(u),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[l]?.convert()?.map(p=>uc.api.v1.SubpackageId(p)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:o,auth:c?.map(p=>uc.api.latest.AuthSchemeId(p)),defaultEnvironment:a?.[0]?.id,environments:a,pathParameters:PYi(this.pathParameters)?.flat(),queryParameters:PYi(this.queryParameters)?.flat(),requestHeaders:PYi(this.requestHeaders)?.flat(),responseHeaders:s!=null&&s.length>0?s:void 0,requests:this.requests?.convert(),responses:t?.map(p=>p.response),errors:r,examples:n,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var tla=class extends mo{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i,isWebhook:n}){this.description=this.input.description;let a=yYi(t,this.input.servers,this.context,this.accessPath),o=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new jYi({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:a,globalAuth:r,path:o,method:"GET",basePath:i,isWebhook:n})),this.input.post!=null&&(this.post=new jYi({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:a,globalAuth:r,path:o,method:"POST",basePath:i,isWebhook:n})),this.input.put!=null&&(this.put=new jYi({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:a,globalAuth:r,path:o,method:"PUT",basePath:i,isWebhook:!1})),this.input.patch!=null&&(this.patch=new jYi({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:a,globalAuth:r,path:o,method:"PATCH",basePath:i,isWebhook:!1})),this.input.delete!=null&&(this.delete=new jYi({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:a,globalAuth:r,path:o,method:"DELETE",basePath:i,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(Ho)}};function uwu(e){return"payloads"in e}var swu=class extends mo{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.paths=Object.entries(this.input).map(([n,a])=>{if(a!=null)return new tla({input:a,context:this.context,accessPath:this.accessPath,pathId:n,servers:yYi(t,a.servers,this.context,this.accessPath),globalAuth:r,basePath:i,isWebhook:void 0})}).filter(Ho)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{uwu(a)?r[uc.WebhookId(a.id)]=a:t[uc.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var cwu=class extends mo{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[n4h]?.map(r=>{let{header:i,...n}=r;return(n.optional!=null&&!n.optional||z0u(n,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(i)),[i,new EXt({input:n,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:i})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return Xca(this.globalHeaders,this.requiredProperties)?.flat()}};function ULh(e,t){if(tg(e)){let r=IL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var lwu=class extends mo{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.webhooks=Object.entries(this.input??{}).map(([n,a])=>{let o=ULh(a,this.context.document);if(o!=null)return new tla({input:o,context:this.context,accessPath:this.accessPath,pathId:n,servers:t,globalAuth:r,basePath:i,isWebhook:!0})}).filter(Ho)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(i=>{uwu(i)&&(t[uc.WebhookId(i.id)]=i)}),t),{})}};var fwu=class extends mo{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=yYi(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new Yca({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new R0u({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 swu({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 lwu({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 twu({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new cwu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Rve(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n={...this.webhooks?.convert()??{},...r??{}},a=e4h({endpoints:i,webhookEndpoints:n}),{types:o,auths:c}=this.components?.convert()??{};return{id:uc.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:n,types:{...o,...this.context.generatedTypes},subpackages:a,auths:{...c,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function ktl(e,t){if(e instanceof hSe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof jS))return;let r=new V8t(e.absoluteFilePath),i=await bSe({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i,loadAiExamples:!0}),a;for(let o of n){if(o.type!=="openapi")continue;let c={document:o.value,logger:t.logger,errors:new o0u,generatedTypes:{}},d=new fwu({input:o.value,context:c,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=h$n(a,d.convert())}return a}var nKh=ue(rrl(),1),aKh=ue(kwu(),1),PSu=require("fs/promises"),oKh=ue(require("http"),1),uKh=ue(require("path"),1);var G5h=require("events"),nEu=ue(require("fs"),1),fOn=ue(require("path"),1);var E5h=ue(require("os"),1),S5h=300,IYi=20,vXa=1e7,M5h=E5h.default.platform();var QqB=M5h==="darwin",Ail=M5h==="win32",CYi=QqB||Ail,D5h=3e3,B5h=2e4,Pil=1250;var BXt;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(BXt||(BXt={}));var lOn;(function(e){e.CHANGE="change",e.RENAME="rename"})(lOn||(lOn={}));var gXa;(function(e){e.CHANGE="change",e.ERROR="error"})(gXa||(gXa={}));var rf;(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"})(rf||(rf={}));var zx;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(zx||(zx={}));var UqB=(e,t=1,r)=>{t=Math.max(1,t);let i=r?.leading??!1,n=r?.trailing??!0,a=Math.max(r?.maxWait??1/0,t),o,c,d=0,s=0,u=()=>{let O=Date.now(),A=O-d,j=O-s,M=A>=t||j>=a;return[O,M]},l=O=>{if(s=O,!o)return;let A=o;o=void 0,e.apply(void 0,A)},p=()=>{g(0)},_=()=>{c&&(p(),l(Date.now()))},h=O=>{if(s=O,i)return l(O)},y=O=>{if(n&&o)return l(O);o=void 0},b=()=>{c=void 0;let[O,A]=u();return A?y(O):v(O)},v=O=>{let A=O-d,j=O-s,M=t-A,w=a-j,D=Math.min(M,w);return g(D)},g=O=>{c&&clearTimeout(c),!(O<=0)&&(c=setTimeout(b,O))},m=(...O)=>{let[A,j]=u(),M=!!c;if(o=O,d=A,(j||!c)&&g(t),j)return M?l(A):h(A)};return m.cancel=p,m.flush=_,m},eEu=UqB;var Sil=ue(require("fs"),1),rEu=ue(require("path"),1);var dm=ue(require("fs"),1),CL=require("util");var _4i=(e,t)=>function(...i){return e.apply(void 0,i).catch(t)},IXt=(e,t)=>function(...i){try{return e.apply(void 0,i)}catch(n){return t(n)}};var jil=ue(require("process"),1),I5h=jil.default.getuid?!jil.default.getuid():!1,C5h=1e4,TY=()=>{};var OXa={isChangeErrorOk:e=>{if(!OXa.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!I5h&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!OXa.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(!OXa.isNodeError(e))throw e;if(!OXa.isChangeErrorOk(e))throw e}},qC=OXa;var wil=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=C5h,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(i),i=()=>t(r);this.add(i)}),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()}}}}},q5h=new wil;var h4i=(e,t)=>function(i){return function n(...a){return q5h.schedule().then(o=>{let c=s=>(o(),s),d=s=>{if(o(),Date.now()>=i)throw s;if(t(s)){let u=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,u)).then(()=>n.apply(void 0,a))}throw s};return e.apply(void 0,a).then(c,d)})}},y4i=(e,t)=>function(i){return function n(...a){try{return e.apply(void 0,a)}catch(o){if(Date.now()>i)throw o;if(t(o))return n.apply(void 0,a);throw o}}};var LqB={attempt:{chmod:_4i((0,CL.promisify)(dm.default.chmod),qC.onChangeError),chown:_4i((0,CL.promisify)(dm.default.chown),qC.onChangeError),close:_4i((0,CL.promisify)(dm.default.close),TY),fsync:_4i((0,CL.promisify)(dm.default.fsync),TY),mkdir:_4i((0,CL.promisify)(dm.default.mkdir),TY),realpath:_4i((0,CL.promisify)(dm.default.realpath),TY),stat:_4i((0,CL.promisify)(dm.default.stat),TY),unlink:_4i((0,CL.promisify)(dm.default.unlink),TY),chmodSync:IXt(dm.default.chmodSync,qC.onChangeError),chownSync:IXt(dm.default.chownSync,qC.onChangeError),closeSync:IXt(dm.default.closeSync,TY),existsSync:IXt(dm.default.existsSync,TY),fsyncSync:IXt(dm.default.fsync,TY),mkdirSync:IXt(dm.default.mkdirSync,TY),realpathSync:IXt(dm.default.realpathSync,TY),statSync:IXt(dm.default.statSync,TY),unlinkSync:IXt(dm.default.unlinkSync,TY)},retry:{close:h4i((0,CL.promisify)(dm.default.close),qC.isRetriableError),fsync:h4i((0,CL.promisify)(dm.default.fsync),qC.isRetriableError),open:h4i((0,CL.promisify)(dm.default.open),qC.isRetriableError),readFile:h4i((0,CL.promisify)(dm.default.readFile),qC.isRetriableError),rename:h4i((0,CL.promisify)(dm.default.rename),qC.isRetriableError),stat:h4i((0,CL.promisify)(dm.default.stat),qC.isRetriableError),write:h4i((0,CL.promisify)(dm.default.write),qC.isRetriableError),writeFile:h4i((0,CL.promisify)(dm.default.writeFile),qC.isRetriableError),closeSync:y4i(dm.default.closeSync,qC.isRetriableError),fsyncSync:y4i(dm.default.fsyncSync,qC.isRetriableError),openSync:y4i(dm.default.openSync,qC.isRetriableError),readFileSync:y4i(dm.default.readFileSync,qC.isRetriableError),renameSync:y4i(dm.default.renameSync,qC.isRetriableError),statSync:y4i(dm.default.statSync,qC.isRetriableError),writeSync:y4i(dm.default.writeSync,qC.isRetriableError),writeFileSync:y4i(dm.default.writeFileSync,qC.isRetriableError)}},T5h=LqB;var tEu=ue(require("fs"),1),mXa=ue(require("path"),1);var Eil=()=>{};var VqB=()=>{let e=Eil,t=Eil,r=!1,i=!1;return{promise:new Promise((d,s)=>{e=u=>(r=!0,d(u)),t=u=>(i=!0,s(u))}),resolve:e,reject:t,isPending:()=>!r&&!i,isResolved:()=>r,isRejected:()=>i}},R5h=VqB;var WqB=()=>{let{promise:e,resolve:t,isPending:r}=R5h(),i=0,n=()=>{i+=1},a=()=>{i-=1,!i&&t()};return(()=>{n(),queueMicrotask(a)})(),{promise:e,isPending:r,increment:n,decrement:a}},z5h=WqB;var N5h={then:e=>{e()}};var F5h=e=>Array.isArray(e)?e:[e],Q5h=e=>typeof e=="function";var GqB=(e,t)=>{let r=t?.followSymlinks??!1,i=t?.depth??1/0,n=t?.limit??1/0,a=t?.ignore??[],o=F5h(a).map(W=>Q5h(W)?W:x=>W.test(x)),c=W=>o.some(x=>x(W)),d=t?.signal??{aborted:!1},s=t?.onDirents||(()=>{}),u=[],l=new Set,p={},_=[],h=new Set,y={},b=[],v=new Set,g={},m={},O=new Set,A={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},j={directories:u,directoriesNames:l,directoriesNamesToPaths:p,files:_,filesNames:h,filesNamesToPaths:y,symlinks:b,symlinksNames:v,symlinksNamesToPaths:g,map:m},{promise:M,increment:w,decrement:D}=z5h(),B=0,R=(W,x,Ee,se)=>{O.has(x)||B>=n||(B+=1,W.directories.push(x),W.directoriesNames.add(Ee),u.push(x),l.add(Ee),p.propertyIsEnumerable(Ee)||(p[Ee]=[]),p[Ee].push(x),O.add(x),!(se>=i)&&(B>=n||$(x,se+1)))},T=(W,x,Ee)=>{O.has(x)||B>=n||(B+=1,W.files.push(x),W.filesNames.add(Ee),_.push(x),h.add(Ee),y.propertyIsEnumerable(Ee)||(y[Ee]=[]),y[Ee].push(x),O.add(x))},q=(W,x,Ee,se)=>{O.has(x)||B>=n||(B+=1,W.symlinks.push(x),W.symlinksNames.add(Ee),b.push(x),v.add(Ee),g.propertyIsEnumerable(Ee)||(g[Ee]=[]),g[Ee].push(x),O.add(x),r&&(se>=i||B>=n||de(x,se+1)))},z=(W,x,Ee,se,Oe)=>{d.aborted||c(x)||(se.isDirectory()?R(W,x,Ee,Oe):se.isFile()?T(W,x,Ee):se.isSymbolicLink()&&q(W,x,Ee,Oe))},N=(W,x,Ee,se)=>{if(d.aborted)return;let Oe=x===mXa.default.sep?"":mXa.default.sep,Fe=Ee.name,ae=`${x}${Oe}${Fe}`;c(ae)||(Ee.isDirectory()?R(W,ae,Fe,se):Ee.isFile()?T(W,ae,Fe):Ee.isSymbolicLink()&&q(W,ae,Fe,se))},H=(W,x,Ee,se)=>{for(let Oe=0,Fe=Ee.length;Oe<Fe;Oe++)N(W,x,Ee[Oe],se)},$=(W,x)=>{d.aborted||x>i||B>=n||(w(),tEu.default.readdir(W,{withFileTypes:!0},(Ee,se)=>{if(Ee||d.aborted||!se.length)return D();(s(se)||N5h).then(()=>{let Fe=m[W]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Fe,W,se,x),D()})}))},de=(W,x)=>{w(),tEu.default.realpath(W,(Ee,se)=>{if(Ee||d.aborted)return D();tEu.default.stat(se,(Oe,Fe)=>{if(Oe||d.aborted)return D();let ae=mXa.default.basename(se),re=m[W]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};z(re,se,ae,Fe,x),D()})})};return(async(W,x=1)=>(W=mXa.default.normalize(W),O.add(W),$(W,x),await M,d.aborted?A:j))(e)},U5h=GqB;var CXt={lang:{debounce:eEu,attempt:e=>{try{return e()}catch(t){return CXt.lang.castError(t)}},castArray:e=>CXt.lang.isArray(e)?e:[e],castError:e=>CXt.lang.isError(e)?e:CXt.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(CXt.lang.isNaN(e))return CXt.lang.isNaN(t);if(CXt.lang.isPrimitive(e)||CXt.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(rEu.default.sep).length-1),getRealPath:(e,t)=>{try{return t?Sil.default.realpathSync.native(e):Sil.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===rEu.default.sep&&t.length-e.length>rEu.default.sep.length,poll:(e,t=B5h)=>T5h.retry.stat(t)(e,{bigint:!0}).catch(CXt.lang.noop),readdir:async(e,t,r=1/0,i=1/0,n,a)=>{if(a&&r===1&&e in a){let o=a[e];return[o.directories,o.files]}else{let o=await U5h(e,{depth:r,limit:i,ignore:t,signal:n});return[o.directories,o.files]}}}},Gp=CXt;var iEu=ue(require("path"),1);var Mil=class{constructor(t,r,i){this.base=i,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||Gp.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=S5h){return(()=>{let r=this.watcher._readyWait,i=[],n=new Set,a=async(c,d)=>{let s=this.options.ignoreInitial?[]:c,u=await this.eventsPopulate([...d]),l=this.eventsDeduplicate([...s,...u]);this.onTargetEvents(l)},o=Gp.lang.debounce(()=>{this.watcher.isClosed()||(r=a(i,n),i=[],n=new Set)},t);return async(c,d="",s=!1)=>{s?await this.eventsPopulate([d],i,!0):n.add(d),r.then(o)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((i,n)=>{let[a,o]=n,c=r[o];return a===c||a===rf.CHANGE&&c===rf.ADD||(r[o]=a,i.push(n)),i},[])}async eventsPopulate(t,r=[],i=!1){return await Promise.all(t.map(async n=>{let a=await this.watcher._poller.update(n,this.options.pollingTimeout);await Promise.all(a.map(async o=>{r.push([o,n]),o===rf.ADD_DIR?await this.eventsPopulateAddDir(t,n,r,i):o===rf.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,n,r,i)}))})),r}async eventsPopulateAddDir(t,r,i=[],n=!1){if(n)return i;let a=this.options.recursive?this.options.depth??IYi:Math.min(1,this.options.depth??IYi),o=this.options.limit??vXa,[c,d]=await Gp.fs.readdir(r,this.options.ignore,a,o,this.watcher._closeSignal),s=[...c,...d];return await Promise.all(s.map(u=>{if(!this.watcher.isIgnored(u,this.options.ignore)&&!t.includes(u))return this.eventsPopulate([u],i,!0)})),i}async eventsPopulateUnlinkDir(t,r,i=[],n=!1){if(n)return i;for(let a of this.watcher._poller.stats.keys())Gp.fs.isSubPath(r,a)&&(t.includes(a)||await this.eventsPopulate([a],i,!0));return i}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(rf.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!CYi&&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(rf.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(rf.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(iEu.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(rf.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(iEu.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(rf.UNLINK_DIR,t))}onTargetEvent(t){let[r,i]=t;r===rf.ADD?this.onTargetAdd(i):r===rf.ADD_DIR?this.onTargetAddDir(i):r===rf.CHANGE?this.onTargetChange(i):r===rf.UNLINK?this.onTargetUnlink(i):r===rf.UNLINK_DIR&&this.onTargetUnlinkDir(i)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,i=!1){return this.handlerBatched(t,r,i)}onWatcherChange(t=lOn.CHANGE,r){if(this.watcher.isClosed())return;let i=iEu.default.resolve(this.folderPath,r||"");this.filePath&&i!==this.folderPath&&i!==this.filePath||this.watcher.isIgnored(i,this.options.ignore)||this.onWatcherEvent(t,i)}onWatcherError(t){Ail&&t.code==="EPERM"?this.onWatcherChange(lOn.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(gXa.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(gXa.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(lOn.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&CYi&&this.options.native!==!1?this.options.depth??IYi:Math.min(1,this.options.depth??IYi),i=this.options.limit??vXa,[n,a]=await Gp.fs.readdir(this.folderPath,this.options.ignore,r,i,this.watcher._closeSignal,this.options.readdirMap),o=[this.folderPath,...n,...a];await Promise.all(o.map(c=>{if(!this.watcher._poller.stats.has(c)&&!this.watcher.isIgnored(c,this.options.ignore))return this.onWatcherEvent(lOn.CHANGE,c,t)}))}}},L5h=Mil;var Nx={interval:100,intervalId:void 0,fns:new Map,init:()=>{Nx.intervalId||(Nx.intervalId=setInterval(Nx.resolve,Nx.interval))},reset:()=>{Nx.intervalId&&(clearInterval(Nx.intervalId),delete Nx.intervalId)},add:(e,t)=>{Nx.fns.set(e,Date.now()+t),Nx.init()},remove:e=>{Nx.fns.delete(e)},resolve:()=>{if(!Nx.fns.size)return Nx.reset();let e=Date.now();for(let[t,r]of Nx.fns)r>=e||(Nx.remove(t),t())}},AXa=Nx;var PXa=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=Pil){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{let l=this._watcher._poller.paths.find(i||-1,p=>p!==n);if(l&&l!==n){if(Gp.fs.getRealPath(n,!0)===l)return;this._watcher.event(a.rename,l,n)}else this._watcher.event(a.add,n)};if(!i)return c();let d=()=>{o.add.delete(i),AXa.remove(s)},s=()=>{d(),c()};AXa.add(s,r);let u=()=>{let l=o.unlink.get(i);if(!l)return;d();let p=l();n===p?a.change&&this._watcher._poller.stats.has(n)&&this._watcher.event(a.change,n):this._watcher.event(a.rename,p,n)};o.add.set(i,u),u()}getLockUnlink(t,r=Pil){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{this._watcher.event(a.unlink,n)};if(!i)return c();let d=()=>{o.unlink.delete(i),AXa.remove(s)},s=()=>{d(),c()};AXa.add(s,r);let u=()=>(d(),n);o.unlink.set(i,u),o.add.get(i)?.()}getLockTargetAdd(t,r){let i=this._watcher._poller.getIno(t,rf.ADD,BXt.FILE);return this.getLockAdd({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let i=this._watcher._poller.getIno(t,rf.ADD_DIR,BXt.DIR);return this.getLockAdd({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let i=this._watcher._poller.getIno(t,rf.UNLINK,BXt.FILE);return this.getLockUnlink({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let i=this._watcher._poller.getIno(t,rf.UNLINK_DIR,BXt.DIR);return this.getLockUnlink({ino:i,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}}};PXa.DIR_EVENTS={add:rf.ADD_DIR,rename:rf.RENAME_DIR,unlink:rf.UNLINK_DIR};PXa.FILE_EVENTS={add:rf.ADD,change:rf.CHANGE,rename:rf.RENAME,unlink:rf.UNLINK};var V5h=PXa;var Dil=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gp.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let i=this.map.get(t);if(Gp.lang.isSet(i)){let n=i.delete(r);return i.size||this.map.delete(t),n}else if(i===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let i=this.map.get(t);if(Gp.lang.isSet(i))return Array.from(i).find(r);if(r(i))return i}}get(t){return this.map.get(t)}has(t,r){if(Gp.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let i=this.map.get(t);return Gp.lang.isSet(i)?i.has(r):i===r}return!1}set(t,r){if(this.map.has(t)){let i=this.map.get(t);Gp.lang.isSet(i)?i.add(r):i!==r&&this.map.set(t,new Set([i,r]))}else this.map.set(t,r);return this}},Bil=Dil;var Iil=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}},W5h=Iil;var Cil=class{constructor(){this.inos={},this.paths=new Bil,this.stats=new Map}getIno(t,r,i){let n=this.inos[r];if(!n)return;let a=n[t];if(a&&!(i&&a[1]!==i))return a[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let i=await Gp.fs.poll(t,r);if(!(!i||!(i.isFile()||i.isDirectory())))return new W5h(i)}reset(){this.inos={},this.paths=new Bil,this.stats=new Map}async update(t,r){let i=this.getStats(t),n=await this.poll(t,r);if(this.updateStats(t,n),!i&&n){if(n.isFile())return this.updateIno(t,rf.ADD,n),[rf.ADD];if(n.isDirectory())return this.updateIno(t,rf.ADD_DIR,n),[rf.ADD_DIR]}else if(i&&!n){if(i.isFile())return this.updateIno(t,rf.UNLINK,i),[rf.UNLINK];if(i.isDirectory())return this.updateIno(t,rf.UNLINK_DIR,i),[rf.UNLINK_DIR]}else if(i&&n){if(i.isFile()){if(n.isFile())return i.ino===n.ino&&!i.size&&!n.size?[]:(this.updateIno(t,rf.CHANGE,n),[rf.CHANGE]);if(n.isDirectory())return this.updateIno(t,rf.UNLINK,i),this.updateIno(t,rf.ADD_DIR,n),[rf.UNLINK,rf.ADD_DIR]}else if(i.isDirectory()){if(n.isFile())return this.updateIno(t,rf.UNLINK_DIR,i),this.updateIno(t,rf.ADD,n),[rf.UNLINK_DIR,rf.ADD];if(n.isDirectory())return i.ino===n.ino?[]:(this.updateIno(t,rf.UNLINK_DIR,i),this.updateIno(t,rf.ADD_DIR,n),[rf.UNLINK_DIR,rf.ADD_DIR])}}return[]}updateIno(t,r,i){let n=this.inos[r]=this.inos[r]||(this.inos[r]={}),a=i.isFile()?BXt.FILE:BXt.DIR;n[t]=[i.ino,a]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let i=this.stats.get(t)?.ino||-1;this.paths.delete(i,t),this.stats.delete(t)}}},qil=Cil;var Til=class e extends G5h.EventEmitter{constructor(t,r,i){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(zx.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(n=>this.on(zx.CLOSE,n)),this._readyWait=new Promise(n=>this.on(zx.READY,n)),this._locker=new V5h(this),this._roots=new Set,this._poller=new qil,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,i)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gp.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(zx.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gp.lang.castError(t);return this.emit(zx.ERROR,r)}event(t,r,i){return this.isClosed()?!1:(this.emit(zx.ALL,t,r,i),this.emit(t,r,i))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(zx.READY))}pollerExists(t,r){for(let i of this._pollers)if(i.targetPath===t&&Gp.lang.isShallowEqual(i.options,r))return!0;return!1}subwatcherExists(t,r){for(let i of this._subwatchers)if(i.targetPath===t&&Gp.lang.isShallowEqual(i.options,r))return!0;return!1}watchersClose(t,r,i=!0){if(t){let n=this._watchers[t];if(n)for(let a of[...n])r&&a.filePath!==r||this.watcherClose(a);if(i)for(let a in this._watchers)Gp.fs.isSubPath(t,a)&&this.watchersClose(a,r,!1)}else for(let n in this._watchers)this.watchersClose(n,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,i]of t)this.watchPath(r,i.options,i.handler)}async watcherAdd(t,r){let{folderPath:i}=t;(this._watchers[i]=this._watchers[i]||[]).push(t);let a=new L5h(this,t,r);return await a.init(),a}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let a=r.indexOf(t);r.splice(a,1),r.length||delete this._watchers[t.folderPath]}let i=t.filePath||t.folderPath;this._roots.has(i)&&(this._watchersRestorable[i]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gp.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,i,n){if(this._watchers[t]?.find(c=>c.handler===i&&(!c.filePath||c.filePath===n)&&c.options.ignore===r.ignore&&!!c.options.native==!!r.native&&(!r.recursive||c.options.recursive)))return!0;let o=fOn.default.dirname(t);for(let c=1;c<1/0;c++){if(this._watchers[o]?.find(u=>(c===1||u.options.recursive&&c<=(u.options.depth??IYi))&&u.handler===i&&(!u.filePath||u.filePath===n)&&u.options.ignore===r.ignore&&!!u.options.native==!!r.native&&(!r.recursive||u.options.recursive&&CYi&&u.options.native!==!1)))return!0;if(!CYi)break;let s=fOn.default.dirname(t);if(o===s)break;o=s}return!1}async watchDirectories(t,r,i,n,a){if(this.isClosed())return;t=Gp.lang.uniq(t).sort();let o;for(let c of t)if(!this.isIgnored(c,r.ignore)&&!this.watcherExists(c,r,i,n))try{let d=!r.recursive||CYi&&r.native!==!1?r:{...r,recursive:!1},u={watcher:nEu.default.watch(c,d),handler:i,options:r,folderPath:c,filePath:n},l=o=await this.watcherAdd(u,a);if(this._roots.has(n||c)){let _={...r,ignoreInitial:!0,recursive:!1},h=fOn.default.dirname(c),y=c;await this.watchDirectories([h],_,i,y,l)}}catch(d){this.error(d)}return o}async watchDirectory(t,r,i,n,a){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||CYi&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,i,n,a));{r={...r,recursive:!0};let o=r.depth??IYi,c=r.limit??vXa,[d]=await Gp.fs.readdir(t,r.ignore,o,c,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let s=await this.watchDirectories([t],r,i,n,a);if(d.length){let u=Gp.fs.getDepth(t);for(let l of d){let p=Gp.fs.getDepth(l),_=Math.max(0,o-(p-u)),h={...r,depth:_};await this.watchDirectories([l],h,i,n,a||s)}}})}}}async watchFileOnce(t,r,i){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let n={targetPath:t,options:r},a=(s,u)=>{u===t&&(d(),i())},o=new e(a),c=()=>{this._subwatchers.add(n),this.on(zx.CLOSE,d),o.watchFile(t,r,a)},d=()=>{this._subwatchers.delete(n),this.removeListener(zx.CLOSE,d),o.close()};return c()}async watchFile(t,r,i){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let n=fOn.default.dirname(t);return this.watchDirectory(n,r,i,t)}async watchPollingOnce(t,r,i){if(this.isClosed())return;let n=!1,a=new qil,o=await this.watchPolling(t,r,async()=>{n||!(await a.update(t,r.pollingTimeout)).length||n||(n=!0,o(),i())})}async watchPolling(t,r,i){if(this.isClosed())return Gp.lang.noop;if(this.pollerExists(t,r))return Gp.lang.noop;let n={...r,interval:r.pollingInterval??D5h},a={targetPath:t,options:r},o=()=>{this._pollers.add(a),this.on(zx.CLOSE,c),nEu.default.watchFile(t,n,i)},c=()=>{this._pollers.delete(a),this.removeListener(zx.CLOSE,c),nEu.default.unwatchFile(t,i)};return Gp.lang.attempt(o),()=>Gp.lang.attempt(c)}async watchUnknownChild(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchFileOnce(t,r,n)}async watchUnknownTarget(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchPollingOnce(t,r,n)}async watchPaths(t,r,i){if(this.isClosed())return;if(t=Gp.lang.uniq(t).sort(),t.every((a,o)=>t.every((c,d)=>d===o||!Gp.fs.isSubPath(a,c))))await Promise.all(t.map(a=>this.watchPath(a,r,i)));else for(let a of t)await this.watchPath(a,r,i)}async watchPath(t,r,i){if(this.isClosed()||(t=fOn.default.resolve(t),this.isIgnored(t,r.ignore)))return;let n=await Gp.fs.poll(t,r.pollingTimeout);if(n){if(n.isFile())return this.watchFile(t,r,i);if(n.isDirectory())return this.watchDirectory(t,r,i);this.error(`"${t}" is not supported`)}else{let a=fOn.default.dirname(t);return(await Gp.fs.poll(a,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,i):this.watchUnknownTarget(t,r,i)}}async watch(t,r,i=Gp.lang.noop){if(Gp.lang.isFunction(t))return this.watch([],{},t);if(Gp.lang.isUndefined(t))return this.watch([],r,i);if(Gp.lang.isFunction(r))return this.watch(t,{},r);if(Gp.lang.isUndefined(r))return this.watch(t,{},i);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let n=Gp.lang.castArray(t);n.forEach(a=>this._roots.add(a)),await this.watchPaths(n,r,i),!this.isClosed()&&(i!==Gp.lang.noop&&this.on(zx.ALL,i),r.readdirMap=void 0,this.ready())}},aEu=Til;sru();var bla=require("fs/promises"),x5h=require("os"),H5h=ue(require("path"),1),xqB=".fern",HqB="logs";function KqB(){return"cli@3.48.2"}var jXa=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Tt(Sr.of((0,x5h.homedir)()),He.of(xqB)),r=Tt(t,He.of(HqB));await mi(r)||await(0,bla.mkdir)(r,{recursive:!0});let n=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Tt(r,He.of(n));let a=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${H5h.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1945
1945
  `);await(0,bla.writeFile)(this.logFilePath,a,"utf-8"),this.initialized=!0}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
1946
1946
  `;try{await(0,bla.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 i={timestamp:t.timestamp,source:KqB(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(i)}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 i={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(i)}async logCliDocsGeneration(t,r){let i={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(i)}async logCliValidation(t,r){let i={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(i)}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 ual=ue(Wil(),1),F7h=ue(YEu(),1),RY=require("fs/promises"),Q7h=require("os"),U7h=ue(j4(),1),L7h=ue(z7h(),1),pSu=process.platform==="win32",oal=Rt.cyan("[docs]:"),pNB="etag",_NB=23,N7h=e=>e.padEnd(_NB," "),hNB="preview",yNB="app-preview",bNB="bundle",vNB=".next",gNB="standalone",ONB=".fern",mNB="packages/fern-docs/bundle/.next/server/instrumentation.js",ANB=".npmrc",PNB=".pnpmfile.cjs",jNB="pnpm-workspace.yaml",wNB='Cannot find matching keyid: {"signatures":';function ENB(){return Tt(Sr.of((0,Q7h.homedir)()),He.of(ONB))}function Tla({app:e=!1}){return Tt(ENB(),He.of(e?yNB:hNB))}function LYi({app:e=!1}){return Tt(Tla({app:e}),He.of(e?vNB:bNB))}function JXa({app:e=!1}){return Tt(LYi({app:e}),He.of(gNB))}function SNB({app:e=!1}){return Tt(JXa({app:e}),He.of(mNB))}function MNB({app:e=!1}){return Tt(JXa({app:e}),He.of(jNB))}function DNB({app:e=!1}){return Tt(JXa({app:e}),He.of(PNB))}function BNB({app:e=!1}){return Tt(JXa({app:e}),He.of(ANB))}function vOn(e){return new Error(`${e}. Please reach out to support@buildwithfern.com.`)}function INB({app:e=!1}){return Tt(Tla({app:e}),He.of(pNB))}var CNB=`module.exports = {
1947
1947
  hooks: {