fern-api 4.21.1 → 4.21.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
@@ -1648,7 +1648,7 @@ ${zCa.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&dSi(th
1648
1648
  `+bPe.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?bPe.default.cyan(YCa(t,this.opt.mask)):bPe.default.italic(bPe.default.dim("[hidden]")):this.opt.mask?YCa(t,this.opt.mask):bPe.default.italic(bPe.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 sEr=xe(kI(),1);var Jxa=xe(HSi(),1),iEr=require("child_process"),o9e=require("fs"),nEr=xe(require("path"),1),Yxa=xe(require("os"),1),Xxa=require("crypto"),DBi=xe(Hxa(),1);var eEr=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var sCt=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var tEr=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var rEr=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function oEr(e="",t,r){let n=new RBi(e,r);n.runAsync((i,o)=>{if(i)setImmediate(t,i,void 0);else try{n.cleanup(),setImmediate(t,void 0,o)}catch(s){setImmediate(t,s,void 0)}})}function Kxa(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function gyf(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e.charAt(n);n>0&&i===" "&&e[n-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${i}`}return r.length>0&&t.push(r),t}var RBi=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=gyf(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??Yxa.default.tmpdir(),r=(0,Xxa.randomUUID)(),n=Kxa(this.fileOptions.prefix),i=Kxa(this.fileOptions.postfix),o=`${n}${r}${i}`,s=nEr.default.resolve(t,o),a=nEr.default.resolve(t)+nEr.default.sep;if(!s.startsWith(a))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=s;let u={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(u.mode=this.fileOptions.mode),(0,o9e.writeFileSync)(this.tempFile,this.text,u)}catch(t){throw new eEr(t)}}readTemporaryFile(){try{let t=(0,o9e.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,Jxa.detect)(t)??"utf8";DBi.default.encodingExists(r)||(r="utf8"),this.text=DBi.default.decode(t,r)}}catch(t){throw new tEr(t)}}removeTemporaryFile(){try{(0,o9e.unlinkSync)(this.tempFile)}catch(t){throw new rEr(t)}}launchEditor(){try{let t=(0,iEr.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new sCt(t)}}launchEditorAsync(t){try{(0,iEr.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new sCt(r)}}};var Zxa=xe(kQ(),1);var aCt=class extends QI{_run(t){this.done=t,this.editorResult=new Zxa.Subject;let r=Y_(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?sEr.default.dim("Received"):sEr.default.dim("Press <enter> to launch your preferred editor."),t&&(r=sEr.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),oEr(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 i_a=require("stream");var r_a=xe(require("readline"),1),n_a=xe(t_a(),1),wPe=class{constructor(t){this.rl||=r_a.default.createInterface(yyf(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 yyf(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new n_a.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var uCt=class extends wPe{constructor(t={}){super(t),this.log=new i_a.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return Gwt(this.rl,this.bottomBar.split(`
1649
1649
  `).length),this}updateBottomBar(t){return Gwt(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+`
1650
1650
  `}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&&Bbr(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var Af=xe(kQ(),1),a_a=xe(Iwt(),1);var aEr=xe(kQ(),1),o_a=xe(Iwt(),1),uEr=function(e,t,r){return typeof e[t]!="function"?(0,aEr.of)(e):(0,aEr.from)((0,o_a.default)(e[t])(r).then(n=>(e[t]=n,e)))};var s_a={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,o,s)=>{i==="__proto__"||i==="constructor"||(o===s.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=o=>String.prototype.split.call(t,o).filter(Boolean).reduce((s,a)=>s!=null?s[a]:s,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},s9e=class extends wPe{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,Af.from)(t):(0,Af.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,Af.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,Af.from)([t]),this.process=n.pipe((0,Af.concatMap)(this.processQuestion.bind(this)),(0,Af.publish)()),this.process.connect(),this.process.pipe((0,Af.reduce)((i,o)=>(s_a.set(i,o.name,o.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,Af.defer)(()=>(0,Af.of)(t).pipe((0,Af.concatMap)(this.setDefaultType.bind(this)),(0,Af.concatMap)(this.filterIfRunnable.bind(this)),(0,Af.concatMap)(()=>uEr(t,"message",this.answers)),(0,Af.concatMap)(()=>uEr(t,"default",this.answers)),(0,Af.concatMap)(()=>uEr(t,"choices",this.answers)),(0,Af.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,Af.defer)(()=>(0,Af.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,Af.defer)(()=>(0,Af.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&s_a.get(this.answers,t.name)!==void 0)return Af.EMPTY;if(t.when===!1)return Af.EMPTY;if(typeof t.when!="function")return(0,Af.of)(t);let{answers:r}=this;return(0,Af.defer)(()=>(0,Af.from)((0,a_a.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,Af.filter)(n=>n!=null)))}};function u_a(e){let t=function(r,n){let i;try{i=new s9e(t.prompts,e)}catch(s){return Promise.reject(s)}let o=i.run(r,n);return o.ui=i,o};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",$wt),this.registerPrompt("input",yPe),this.registerPrompt("number",Hwt),this.registerPrompt("confirm",Kwt),this.registerPrompt("rawlist",Jwt),this.registerPrompt("expand",Ywt),this.registerPrompt("checkbox",Xwt),this.registerPrompt("password",Zwt),this.registerPrompt("editor",aCt)},t.restoreDefaultPrompts(),t}var kBi=u_a();function Eyf(e,t){kBi.registerPrompt(e,t)}function vyf(){kBi.restoreDefaultPrompts()}var Iyf={prompt:kBi,ui:{BottomBar:uCt,Prompt:s9e},createPromptModule:u_a,registerPrompt:Eyf,restoreDefaultPrompts:vyf,Separator:lF},Fp=Iyf;var a9e=require("path");function l_a(){let e=wyf();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function wyf(e=process.argv[1]?(0,a9e.dirname)(process.argv[1]):process.cwd(),t=a9e.sep==="\\"){let r=t?c_a(e):e;return n=>{if(!n)return;let i=t?c_a(n):n,{dir:o,base:s,ext:a}=a9e.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,-1*a.length));let u=decodeURIComponent(s);o||(o=".");let c=o.lastIndexOf("/node_modules");if(c>-1)return`${o.slice(c+14).replace(/\//g,".")}:${u}`;if(o.startsWith(r)){let l=o.slice(r.length+1).replace(/\//g,".");return l?`${l}:${u}`:u}return u}}function c_a(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var QBi=e=>{if("flags"in e){let t=p_a(e.flags),r=f_a(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,jBi(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,Cyf(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function Cyf(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 p_a=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,cCt(r)]).filter(([,t])=>t!==void 0)),f_a=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let n=t[r];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(r=>{let n=t[r].metadata?.payload;return[r,n?jBi(n):void 0]}))};var cCt=e=>e===void 0?void 0:e.variant??e.enabled,jBi=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var cEr="0123456789abcdef",lEr=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,n,i){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(i)||t<0||r<0||n<0||i<0||t>0xffffffffffff||r>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=t/2**40,o[1]=t/2**32,o[2]=t/2**24,o[3]=t/2**16,o[4]=t/256,o[5]=t,o[6]=112|r>>>8,o[7]=r,o[8]=128|n>>>24,o[9]=n>>>16,o[10]=n>>>8,o[11]=n,o[12]=i>>>24,o[13]=i>>>16,o[14]=i>>>8,o[15]=i,new e(o)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let n=new Uint8Array(16);for(let i=0;i<16;i+=4){let o=parseInt(r.substring(2*i,2*i+8),16);n[i+0]=o>>>24,n[i+1]=o>>>16,n[i+2]=o>>>8,n[i+3]=o}return new e(n)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=cEr.charAt(this.bytes[r]>>>4),t+=cEr.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+=cEr.charAt(this.bytes[r]>>>4),t+=cEr.charAt(15&this.bytes[r]);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let n=this.bytes[r]-t.bytes[r];if(n!==0)return Math.sign(n)}return 0}},NBi=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??xyf()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let n=this.generateOrAbortCore(t,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(t,r)),n}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return lEr.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,lEr.ofInner(t)}},xyf=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),d_a,ZH=()=>_yf().toString(),_yf=()=>(d_a||(d_a=new NBi)).generate();var fF=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e})({});var Syf=["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"],m_a=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return Syf.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var Oyf=Array.isArray,h_a=Object.prototype,t2y=h_a.hasOwnProperty,MBi=h_a.toString,LBi=Oyf||function(e){return MBi.call(e)==="[object Array]"};var UBi=e=>e===Object(e)&&!LBi(e);var u9e=e=>e===void 0,lCt=e=>MBi.call(e)=="[object String]",g_a=e=>lCt(e)&&e.trim().length===0;var A_a=e=>MBi.call(e)=="[object Number]"&&e===e;var zBi=e=>e instanceof Error;function pCt(e){return e===null||typeof e!="object"}function CPe(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function y_a(e){return CPe(e,"ErrorEvent")}function pEr(e){return!u9e(Event)&&Pyf(e,Event)}function b_a(e){return CPe(e,"Object")}function Pyf(e,t){try{return e instanceof t}catch{return!1}}function fCt(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),A_a(e)?e>r?(n.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(n.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(n.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+i),fCt(i||r,t,r,n))}var Tyf=864e5,fEr=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=fCt(t.bucketSize,0,100,t._logger),this._refillRate=fCt(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=fCt(t.refillInterval,0,Tyf,t._logger)}_applyRefill(t,r){let n=r-t.lastAccess,i=Math.floor(n/this._refillInterval);if(i>0){let o=i*this._refillRate;t.tokens=Math.min(t.tokens+o,this._bucketSize),t.lastAccess=t.lastAccess+i*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),n=String(t),i=this._buckets[n];return i?this._applyRefill(i,r):(i={tokens:this._bucketSize,lastAccess:r},this._buckets[n]=i),i.tokens===0?!0:(i.tokens--,i.tokens===0&&this._onBucketRateLimited?.(t),i.tokens===0)}stop(){this._buckets={}}};var dEr=class{add(t){let r=ZH();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 Dyf(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var E_a=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>E_a(`${e} ${o}`,t,r)}},Ryf=e=>e();function v_a(e,t=Ryf){return E_a(e,t,Dyf())}var l9e="Mobile",hEr="iOS",c9e="Android",I_a="Tablet",d2y=c9e+" "+I_a;var Fyf="Apple",m2y=Fyf+" Watch",w_a="Safari",gEr="BlackBerry",C_a="Samsung",kyf=C_a+"Browser",Qyf=C_a+" Internet",AEr="Chrome",jyf=AEr+" OS",Nyf=AEr+" "+hEr,x_a="Internet Explorer",Myf=x_a+" "+l9e,qBi="Opera",h2y=qBi+" Mini",__a="Edge",Lyf="Microsoft "+__a,GBi="Firefox",Uyf=GBi+" "+hEr,WBi="Nintendo",$Bi="PlayStation",mEr="Xbox",zyf=c9e+" "+l9e,Vyf=l9e+" "+w_a,dCt="Windows",qyf=dCt+" Phone";var S_a="Generic",g2y=S_a+" "+l9e.toLowerCase(),A2y=S_a+" "+I_a.toLowerCase(),Gyf="Konqueror",wP="(\\d+(\\.\\d+)?)",VBi=new RegExp("Version/"+wP),y2y=new RegExp(mEr,"i"),b2y=new RegExp($Bi+" \\w+","i"),E2y=new RegExp(WBi+" \\w+","i"),Wyf=new RegExp(gEr+"|PlayBook|BB10","i"),$yf={"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 v2y={[Myf]:[new RegExp("rv:"+wP)],[Lyf]:[new RegExp(__a+"?\\/"+wP)],[AEr]:[new RegExp("("+AEr+"|CrMo)\\/"+wP)],[Nyf]:[new RegExp("CriOS\\/"+wP)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+wP)],[w_a]:[VBi],[Vyf]:[VBi],[qBi]:[new RegExp("("+qBi+"|OPR)\\/"+wP)],[GBi]:[new RegExp(GBi+"\\/"+wP)],[Uyf]:[new RegExp("FxiOS\\/"+wP)],[Gyf]:[new RegExp("Konqueror[:/]?"+wP,"i")],[gEr]:[new RegExp(gEr+" "+wP),VBi],[zyf]:[new RegExp("android\\s"+wP,"i")],[Qyf]:[new RegExp(kyf+"\\/"+wP)],[x_a]:[new RegExp("(rv:|MSIE )"+wP)],Mozilla:[new RegExp("rv:"+wP)]};var I2y=[[new RegExp(mEr+"; "+mEr+" (.*?)[);]","i"),e=>[mEr,e&&e[1]||""]],[new RegExp(WBi,"i"),[WBi,""]],[new RegExp($Bi,"i"),[$Bi,""]],[Wyf,[gEr,""]],[new RegExp(dCt,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[qyf,""];if(new RegExp(l9e).test(t)&&!/IEMobile\b/.test(t))return[dCt+" "+l9e,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=$yf[n]||"";return/arm/i.test(t)&&(i="RT"),[dCt,i]}return[dCt,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[hEr,t.join(".")]}return[hEr,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=u9e(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+c9e+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+c9e+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[c9e,t.join(".")]}return[c9e,""]}],[/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/,[jyf,""]],[/Linux|debian/i,["Linux",""]]];var B_a="utf8";function O_a(e,t){if(!e||typeof e!="string"||Hyf(e))throw new Error(t)}function Hyf(e){return e.trim().length===0}function P_a(e){return e?.replace(/\/+$/,"")}async function T_a(e,t){let r=null;for(let n=0;n<t.retryCount+1;n++){n>0&&await new Promise(i=>setTimeout(i,t.retryDelay));try{return await e()}catch(i){if(r=i,!t.retryCheck(i))throw i}}throw r}function yEr(){return new Date().toISOString()}function xPe(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var D_a=e=>e instanceof Error;function HBi(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var bEr=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(n=>n!==r)}}emit(t,r){for(let n of this.events[t]||[])n(r);for(let n of this.events["*"]||[])n(t,r)}};function R_a(){return"CompressionStream"in globalThis}async function KBi(e,t=!0){try{let n=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(n).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var _Pe=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()}},p9e=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function F_a(e){if(e instanceof _Pe){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 JBi(e){return typeof e=="object"&&(e instanceof _Pe||e instanceof p9e)}function k_a(e){return typeof e=="object"&&e instanceof _Pe&&e.status===413}var mCt=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new dEr,this._events=new bEr,this._isInitialized=!1,O_a(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=P_a(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:JBi},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=r.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=v_a("[PostHog]",this.logMsgIfDebug.bind(this)),this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!R_a()||(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(fF.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(fF.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(fF.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(n,i)=>this._logger.info(n,i));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,n){this.wrap(()=>{let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",i,n)})}async identifyStatelessImmediate(t,r,n){let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",i,n)}captureStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({distinct_id:t,event:r,properties:n});this.enqueue("capture",o,i)})}async captureStatelessImmediate(t,r,n,i){let o=this.buildPayload({distinct_id:t,event:r,properties:n});await this.sendImmediate("capture",o,i)}aliasStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});this.enqueue("alias",o,i)})}async aliasStatelessImmediate(t,r,n,i){let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",o,i)}groupIdentifyStateless(t,r,n,i,o,s){this.wrap(()=>{let a=this.buildPayload({distinct_id:o||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:n||{},...s||{}}});this.enqueue("capture",a,i)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(i=>i.json()).catch(i=>{this._logger.error("Remote config could not be loaded",i),this._events.emit("error",i)})}async getFlags(t,r={},n={},i={},o={},s=!0){await this._initPromise;let a=s?"&config=true":"",u=`${this.host}/flags/?v=2${a}`,c={token:this.apiKey,distinct_id:t,groups:r,person_properties:n,group_properties:i,...o};this.evaluationContexts&&this.evaluationContexts.length>0&&(c.evaluation_contexts=this.evaluationContexts);let l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(c)};return this._logger.info("Flags URL",u),this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(p=>p.json()).then(p=>({success:!0,response:QBi(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof _Pe)return{type:"api_error",statusCode:t.status};if(t instanceof p9e){let r=t.error;return r instanceof Error&&(r.name==="AbortError"||r.name==="TimeoutError")?{type:"timeout"}:{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailStateless(t,r,n,i,o,s);if(a===void 0)return{response:void 0,requestId:void 0};let u=cCt(a.response);return u===void 0&&(u=!1),{response:u,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let u=a[t];return u===void 0?null:u}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let u=await this.getFlags(t,r,n,i,a);if(!u.success)return;let c=u.response;return c.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"),c.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:c?.requestId,quotaLimited:c.quotaLimited}):c}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(fF.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(fF.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(fF.Props,this.props)})}processBeforeEnqueue(t){return t}async flushStorage(){}enqueue(t,r,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o=this.getPersistedProperty(fF.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(fF.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=xPe(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,n){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o={api_key:this.apiKey,batch:[i],sent_at:yEr()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,u=this.disableCompression?null:await KBi(s,this.isDebug),c={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...u!==null&&{"Content-Encoding":"gzip"}},body:u||s};try{await this.fetchWithRetry(a,c)}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:yEr(),uuid:n?.uuid?n.uuid:ZH()};return(n?.disableGeoip??this.disableGeoip)&&(i.properties||(i.properties={}),i.properties.$geoip_disable=!0),i.distinctId&&(i.distinct_id=i.distinctId,delete i.distinctId),i}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await F_a(t)})}async flush(){let t=HBi([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),HBi([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(fF.Queue)||[];if(!t.length)return;let r=[],n=t.length;for(;t.length>0&&r.length<n;){let i=t.slice(0,this.maxBatchSize),o=i.map(f=>f.message),s=async()=>{let m=(this.getPersistedProperty(fF.Queue)||[]).slice(i.length);this.setPersistedProperty(fF.Queue,m),t=m,await this.flushStorage()},a={api_key:this.apiKey,batch:o,sent_at:yEr()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),c=`${this.host}/batch/`,l=this.disableCompression?null:await KBi(u,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||u},d={retryCheck:f=>k_a(f)?!1:JBi(f)};try{await this.fetchWithRetry(c,p,d)}catch(f){if(k_a(f)&&o.length>1){this.maxBatchSize=Math.max(1,Math.floor(o.length/2)),this._logger.warn(`Received 413 when sending batch of size ${o.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw f instanceof p9e||await s(),this._events.emit("error",f),f}await s(),r.push(...o)}this._events.emit("flush",r)}async fetchWithRetry(t,r,n,i){AbortSignal.timeout??=function(a){let u=new AbortController;return setTimeout(()=>u.abort(),a),u.signal};let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,B_a)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await T_a(async()=>{let a=null;try{a=await this.fetch(t,{signal:AbortSignal.timeout(i??this.requestTimeout),...r})}catch(c){throw new p9e(c)}if(!(r.mode==="no-cors")&&(a.status<200||a.status>=400))throw new _Pe(a,s);return a},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(fF.Queue)||[]).length===0||(await this.flush(),r)););}catch(i){if(!JBi(i))throw i;await F_a(i)}};return Promise.race([new Promise((i,o)=>{xPe(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,o("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),n()])}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var dF={};Y(dF,{DOMExceptionCoercer:()=>eOi,ErrorCoercer:()=>tOi,ErrorEventCoercer:()=>rOi,ErrorPropertiesBuilder:()=>YBi,EventCoercer:()=>oOi,ObjectCoercer:()=>iOi,PrimitiveCoercer:()=>sOi,PromiseRejectionEventCoercer:()=>aOi,ReduceableCache:()=>uOi,StringCoercer:()=>nOi,chromeStackLineParser:()=>XBi,createDefaultStackParser:()=>c0f,createStackParser:()=>W_a,geckoStackLineParser:()=>ZBi,nodeStackLineParser:()=>z_a,opera10StackLineParser:()=>M_a,opera11StackLineParser:()=>L_a,reverseAndStripFrames:()=>G_a,winjsStackLineParser:()=>N_a});var EEr,Q_a,vEr;function j_a(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return vEr&&r.length===Q_a||(Q_a=r.length,vEr=r.reduce((n,i)=>{EEr||(EEr={});let o=EEr[i];if(o)n[o[0]]=o[1];else{let s=e(i);for(let a=s.length-1;a>=0;a--){let c=s[a]?.filename,l=t[i];if(c&&l){n[c]=l,EEr[i]=[c,l];break}}}return n},{})),vEr}var Jyf=4,YBi=class{constructor(t,r,n=[]){this.coercers=t,this.stackParser=r,this.modifiers=n}buildFromUnknown(t,r={}){let i=r&&r.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,r,0).apply(t),a=this.buildParsingContext(r),u=this.parseStacktrace(s,a);return{$exception_list:this.convertToExceptionList(u,i),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&LBi(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let n;t.cause!=null&&(n=this.parseStacktrace(t.cause,r));let i;return t.stack!=""&&t.stack!=null&&(i=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?r.skipFirstLines:0),r.chunkIdMap)),{...t,cause:n,stack:i}}applyChunkIds(t,r){return t.map(n=>(n.filename&&r&&(n.chunk_id=r[n.filename]),n))}applyCoercers(t,r){for(let n of this.coercers)if(n.match(t))return n.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let n of this.modifiers)r=await n(r);return r}convertToExceptionList(t,r){let n={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(n.stacktrace={type:"raw",frames:t.stack});let i=[n];return t.cause!=null&&i.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),i}buildParsingContext(t){return{chunkIdMap:j_a(this.stackParser),skipFirstLines:t.skipFirstLines??1}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=Jyf){let u=this.buildCoercingContext(t,r,a);return this.applyCoercers(s,u)}};return{...r,syntheticException:n==0?r.syntheticException:void 0,mechanism:t,apply:s=>i(s,n),next:s=>i(s,n+1)}}};var Z_="?";function eK(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?Z_:r,in_app:!0};return u9e(n)||(o.lineno=n),u9e(i)||(o.colno=i),o}var IEr=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:Z_,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var Yyf=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Xyf=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Zyf=/\((\S*)(?::(\d+))(?::(\d+))\)/,XBi=(e,t)=>{let r=Yyf.exec(e);if(r){let[,i,o,s]=r;return eK(t,i,Z_,+o,+s)}let n=Xyf.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=Zyf.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=IEr(n[1]||Z_,n[2]);return eK(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var e0f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,t0f=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,ZBi=(e,t)=>{let r=e0f.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=t0f.exec(r[3]);s&&(r[1]=r[1]||"eval",r[3]=s[1],r[4]=s[2],r[5]="")}let i=r[3],o=r[1]||Z_;return[o,i]=IEr(o,i),eK(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var r0f=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,N_a=(e,t)=>{let r=r0f.exec(e);return r?eK(t,r[2],r[1]||Z_,+r[3],r[4]?+r[4]:void 0):void 0};var n0f=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,M_a=(e,t)=>{let r=n0f.exec(e);return r?eK(t,r[2],r[3]||Z_,+r[1]):void 0},i0f=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,L_a=(e,t)=>{let r=i0f.exec(e);return r?eK(t,r[5],r[3]||r[4]||Z_,+r[1],+r[2]):void 0};var o0f=/^\s*[-]{4,}$/,s0f=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,z_a=(e,t)=>{let r=e.match(s0f);if(r){let n,i,o,s,a;if(r[1]){o=r[1];let l=o.lastIndexOf(".");if(o[l-1]==="."&&l--,l>0){n=o.slice(0,l),i=o.slice(l+1);let p=n.indexOf(".Module");p>0&&(o=o.slice(p+1),n=n.slice(0,p))}s=void 0}i&&(s=n,a=i),i==="<anonymous>"&&(a=void 0,o=void 0),o===void 0&&(a=a||Z_,o=s?`${s}.${a}`:a);let u=r[2]?.startsWith("file://")?r[2].slice(7):r[2],c=r[5]==="native";return u?.match(/\/[A-Z]:/)&&(u=u.slice(1)),!u&&r[5]&&!c&&(u=r[5]),{filename:u?decodeURI(u):void 0,module:void 0,function:o,lineno:U_a(r[3]),colno:U_a(r[4]),in_app:a0f(u||"",c),platform:t}}if(e.match(o0f))return{filename:e,platform:t}};function a0f(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 U_a(e){return parseInt(e||"",10)||void 0}var V_a=/\(error: (.*)\)/,q_a=50;function G_a(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,q_a).map(r=>({...r,filename:r.filename||u0f(t).filename,function:r.function||Z_}))}function u0f(e){return e[e.length-1]||{}}function c0f(){return W_a("web:javascript",XBi,ZBi)}function W_a(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
1651
- `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let u=V_a.test(a)?a.replace(V_a,"$1"):a;if(!u.match(/\S*Error: /)){for(let c of t){let l=c(u,e);if(l){i.push(l);break}}if(i.length>=q_a)break}}return G_a(i)}}var eOi=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=lCt(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return CPe(t,"DOMException")}isDOMError(t){return CPe(t,"DOMError")}};var tOi=class{match(t){return zBi(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var rOi=class{constructor(){}match(t){return y_a(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var l0f=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,nOi=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(l0f);return i&&(r=i[1],n=i[2]),[r,n]}};var $_a=["fatal","error","warning","log","info","debug"];function wEr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var iOi=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return pEr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=wEr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return lCt(t)&&!g_a(t)&&$_a.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(D_a(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var oOi=class{match(t){return pEr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${wEr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var sOi=class{match(t){return pCt(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var aOi=class{match(t){return CPe(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return pCt(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(pCt(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 uOi=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 J_a=require("fs"),Y_a=require("readline"),CEr=new dF.ReduceableCache(25),X_a=new dF.ReduceableCache(20),cOi=7,p0f=1e3,f0f=1e4;async function Z_a(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||g0f(s)||A0f(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(X_a.get(i))continue;let o=t[i];if(!o)continue;o.sort((u,c)=>u-c);let s=b0f(o);if(s.every(u=>y0f(i,u)))continue;let a=E0f(CEr,i,{});n.push(d0f(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&m0f(e,CEr),CEr.reduce(),e}function d0f(e,t,r){return new Promise(n=>{let i=(0,J_a.createReadStream)(e),o=(0,Y_a.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,u=0,c=t[u];if(c===void 0)return void s();let l=c[0],p=c[1];function d(){X_a.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=v0f(f,0),a>=p)){if(u===t.length-1){o.close(),o.removeAllListeners();return}u++;let m=t[u];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function m0f(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;h0f(r.lineno,r,n)}}function h0f(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=e1a(e);i<e;i++){let o=r[i];if(o===void 0)return void H_a(t);t.pre_context.push(o)}if(r[e]===void 0)return void H_a(t);t.context_line=r[e];let n=t1a(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function H_a(e){delete e.pre_context,delete e.context_line,delete e.post_context}function g0f(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function A0f(e){return e.lineno!==void 0&&e.lineno>f0f||e.colno!==void 0&&e.colno>p0f}function y0f(e,t){let r=CEr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function b0f(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=K_a(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+cOi:(i.push(n),n=K_a(o)),t++}return i}function K_a(e){return[e1a(e),t1a(e)]}function e1a(e){return Math.max(1,e-cOi)}function t1a(e){return e+cOi}function E0f(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function v0f(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function I0f(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function r1a(e,t){globalThis.process?.on("uncaughtException",I0f(e,t))}function n1a(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var w0f=2e3,eV=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new fEr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return UBi(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||ZH(),properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(r1a(this.onException.bind(this),this.onFatalError.bind(this)),n1a(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(w0f),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var i1a="5.26.2";var hCt={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function o1a(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var C0f=6e4,x0f=1152921504606847e3,_0f=["is_not"],f9e=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},uh=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},tK=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},xEr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let u=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,u)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof tK||c instanceof uh?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(u=>this.featureFlagsByKey[u]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async u=>{try{let{value:c,payload:l}=await this.computeFlagAndPayloadLocally(u,a);n[u.key]=c,l&&(i[u.key]=l)}catch(c){c instanceof tK||c instanceof uh?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${u.key}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${u.key}: ${c}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(t.ensure_experience_continuity)throw new uh("Flag has experience continuity enabled");if(!t.active)return!1;let u=(t.filters||{}).aggregation_group_type_index;if(u!=null){let c=this.groupTypeMapping[String(u)];if(!c)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${u} for feature flag ${t.key}`)),new uh("Flag has unknown group type index");if(!(c in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[c];return await this.matchFeatureFlagProperties(t,i[c],l,r)}{let c=this.getBucketingValueForFlag(t,n,o);if(c===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new uh(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,c,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new uh("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new uh(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new uh(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new uh(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let u of s){if(!(u in i)){let l=this.featureFlagsByKey[u];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[u]=p}catch(p){throw new uh(`Error evaluating flag dependency '${u}' for flag '${o}': ${p}`)}else i[u]=!1;else throw new uh(`Missing flag dependency '${u}' for flag '${o}'`)}if(i[u]==null)throw new uh(`Dependency '${u}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=!1,u;for(let c of s)try{if(await this.isConditionMatch(t,r,c,n,i)){let l=c.variant,p=o.multivariate?.variants||[];u=l&&p.some(d=>d.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof tK)throw l;if(l instanceof uh)a=!0;else throw l}if(u!==void 0)return u;if(a)throw new uh("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=u=>{this.logMsgIfDebug(()=>console.warn(u))};if((n.properties||[]).length>0){for(let u of n.properties){let c=u.type,l=!1;if(l=c==="cohort"?l1a(u,i,this.cohorts,this.debugMode):c==="flag"?await this.evaluateFlagDependency(u,i,o):c1a(u,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await s1a(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await s1a(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(C0f,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new f9e(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new f9e(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new f9e(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof f9e&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=xPe(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function s1a(e,t,r=""){let n=await o1a(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/x0f}function c1a(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new uh("Operator is_not_set is not supported")}else throw new uh(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_0f.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(c,l){return Array.isArray(c)?c.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(c).toLowerCase()===String(l).toLowerCase()}function u(c,l,p){if(p==="gt")return c>l;if(p==="gte")return c>=l;if(p==="lt")return c<l;if(p==="lte")return c<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return a1a(String(i))&&String(s).match(String(i))!==null;case"not_regex":return a1a(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let c=typeof i=="number"?i:null;if(typeof i=="string")try{c=parseFloat(i)}catch{}return c==null||s==null?u(String(s),String(i),o):typeof s=="string"?u(s,String(i),o):u(s,c,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new uh("Date operations cannot be performed on boolean values");let c=B0f(String(i));if(c==null&&(c=u1a(i)),c==null)throw new uh(`Invalid date: ${i}`);let l=u1a(s);return["is_date_before"].includes(o)?l<c:l>c}default:throw new uh(`Unknown operator: ${o}`)}}function S0f(e,t){if(!(e in t))throw new tK(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function l1a(e,t,r,n=!1){let i=String(e.value);S0f(i,r);let o=r[i];return p1a(o,t,r,n)}function p1a(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let u=p1a(a,t,r,n);if(i==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof tK)throw u;if(u instanceof uh)n&&console.debug(`Failed to compute property ${a} locally: ${u}`),s=!0;else throw u}if(s)throw new uh("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let u;if(a.type==="cohort")u=l1a(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else u=c1a(a,t);let c=a.negation||!1;if(i==="AND"){if(!u&&!c||u&&c)return!1}else if(u&&!c||!u&&c)return!0}catch(u){if(u instanceof tK)throw u;if(u instanceof uh)n&&console.debug(`Failed to compute property ${a} locally: ${u}`),s=!0;else throw u}if(s)throw new uh("can't match cohort without a given cohort property value");return i==="AND"}function a1a(e){try{return new RegExp(e),!0}catch{return!1}}function u1a(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 uh(`${e} is in an invalid date format`)}throw new uh(`The date provided ${e} must be a string, number, or date object`)}function B0f(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var _Er=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var O0f=100,f1a=3e4,P0f=5e4,SEr=class extends mCt{constructor(t,r={}){if(super(t,r),this._memoryStorage=new _Er,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,O0f):f1a,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 xEr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new eV(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||P0f}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 i1a}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."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=f1a){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let x=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:x}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:u,personProperties:c,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,c,l);c=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,c,l);u==null&&(u=this.options.strictLocalEvaluation??!1);let f,m=!1,h,g,A,b,v,E;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let x=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(x){m=!0;let C=x.value;b=w.id,E="Evaluated locally",f={key:t,enabled:C!==!1,variant:typeof C=="string"?C:void 0,payload:x.payload??void 0}}}catch(x){if(x instanceof tK||x instanceof uh)this._logger?.info(`${x.name} when computing flag locally: ${t}: ${x.message}`);else throw x}}if(!m&&!u){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)A=hCt.UNKNOWN_ERROR;else{h=w.requestId,g=w.evaluatedAt;let x=[];w.errorsWhileComputingFlags&&x.push(hCt.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&x.push(hCt.QUOTA_LIMITED);let C=w.flags[t];if(C===void 0)x.push(hCt.FLAG_MISSING);else{b=C.metadata?.id,v=C.metadata?.version,E=C.reason?.description??C.reason?.code;let _;if(C.metadata?.payload!==void 0)try{_=JSON.parse(C.metadata.payload)}catch{_=C.metadata.payload}f={key:t,enabled:C.enabled,variant:C.variant,payload:_}}x.length>0&&(A=x.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,x=`${t}_${w}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(x)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(x):this.distinctIdHasSentFlagCalls[r]=[x];let C={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:b,$feature_flag_version:v,$feature_flag_reason:E,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:h,$feature_flag_evaluated_at:m?Date.now():g};if(m&&this.featureFlagsPoller){let _=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();_!==void 0&&(C.$feature_flag_definitions_loaded_at=_)}A&&(C.$feature_flag_error=A),this.capture({distinctId:r,event:"$feature_flag_called",properties:C,groups:s,disableGeoip:a})}}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:u,personProperties:c,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,c,l);c=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,c,l);u==null&&(u=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},h={},g=!0;if(f&&(m=f.response,h=f.payloads,g=f.fallbackToFlags),g&&!u){let A=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...A.flags||{}},h={...h,...A.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(h={...h,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:h}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=xPe(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(b_a(s)&&r&&o in r){let a={};for(let[u,c]of Object.entries(s))a[String(u)]=String(c);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let c={};for(let[l,p]of Object.entries(r||{}))c[l]=String(p);return await this.getAllFlags(t,{groups:c,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let c={};for(let[l,p]of Object.entries(r||{}))c[l]=String(p);return await this.getAllFlags(t,{groups:c,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i){if(!eV.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(eV.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!eV.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(eV.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:u,uuid:c}=t,l=this.context?.get(),p=r||l?.distinctId,d={...this.props,...l?.properties||{},...i||{}};p||(p=ZH(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:d,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:u,uuid:c});if(!f)return Promise.reject(null);let m=await Promise.resolve().then(async()=>{if(s){let h=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,u,h)}return f.event,{}}).then(h=>{let g={};if(h)for(let[b,v]of Object.entries(h))g[`$feature/${b}`]=v;let A=Object.keys(h||{}).filter(b=>h?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(h=>({...h,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof m.$raw_user_agent=="string"&&m_a(m.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",m.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:m,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var d1a=require("async_hooks"),BEr=class{constructor(){this.storage=new d1a.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var m1a="posthog-node";function T0f(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let u=s.tags[lOi.POSTHOG_ID_TAG];if(u===void 0)return s;let c=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${u}`,c).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(h=>({...h,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:u,properties:f}),s}}var lOi=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=m1a,this.name=m1a,this.setupOnce=function(s,a){let u=a()?.getClient()?.getDsn()?.projectId;s(T0f(t,{organization:r,projectId:u,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};eV.errorPropertiesBuilder=new dF.ErrorPropertiesBuilder([new dF.EventCoercer,new dF.ErrorCoercer,new dF.ObjectCoercer,new dF.StringCoercer,new dF.PrimitiveCoercer],dF.createStackParser("node:javascript",dF.nodeStackLineParser),[l_a(),Z_a]);var d9e=class extends SEr{getLibraryId(){return"posthog-node"}initializeContext(){return new BEr}};var OEr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new d9e(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"4.21.1",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var gCt=class{async sendEvent(){}async identify(){}async flush(){}};Vt();var m9e=require("fs/promises"),h1a=require("os"),g1a=require("path");var D0f="id",R0f=".fern",ACt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new d9e(r),this.userId=t==null?void 0:Swi(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:"4.21.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 e0({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=Ge(zt.of((0,h1a.homedir)()),Se.of(R0f),Se.of(D0f));await Xt(t)||(await(0,m9e.mkdir)((0,g1a.dirname)(t),{recursive:!0}),await(0,m9e.writeFile)(t,lC())),this.persistedDistinctId=(await(0,m9e.readFile)(t)).toString()}return this.persistedDistinctId}};var pOi;async function h9e(){return pOi==null&&(pOi=await F0f()),pOi}async function F0f(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new gCt;let r=await zmr();return r!=null?new ACt({token:r,posthogApiKey:e}):await QH()!=null?new OEr({posthogApiKey:e}):new ACt({token:void 0,posthogApiKey:e})}catch{return new gCt}}Qt();var yCt=xe(require("process"),1);jQe();var b1a=xe(Rgi(),1),E1a=xe(y1a(),1);function SC(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=cz(e),e.length===0))return 0;e=e.replace((0,E1a.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(b1a.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function PEr(e){let t=0;for(let r of e.split(`
1651
+ `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let u=V_a.test(a)?a.replace(V_a,"$1"):a;if(!u.match(/\S*Error: /)){for(let c of t){let l=c(u,e);if(l){i.push(l);break}}if(i.length>=q_a)break}}return G_a(i)}}var eOi=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=lCt(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return CPe(t,"DOMException")}isDOMError(t){return CPe(t,"DOMError")}};var tOi=class{match(t){return zBi(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var rOi=class{constructor(){}match(t){return y_a(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var l0f=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,nOi=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(l0f);return i&&(r=i[1],n=i[2]),[r,n]}};var $_a=["fatal","error","warning","log","info","debug"];function wEr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var iOi=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return pEr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=wEr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return lCt(t)&&!g_a(t)&&$_a.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(D_a(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var oOi=class{match(t){return pEr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${wEr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var sOi=class{match(t){return pCt(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var aOi=class{match(t){return CPe(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return pCt(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(pCt(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 uOi=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 J_a=require("fs"),Y_a=require("readline"),CEr=new dF.ReduceableCache(25),X_a=new dF.ReduceableCache(20),cOi=7,p0f=1e3,f0f=1e4;async function Z_a(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||g0f(s)||A0f(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(X_a.get(i))continue;let o=t[i];if(!o)continue;o.sort((u,c)=>u-c);let s=b0f(o);if(s.every(u=>y0f(i,u)))continue;let a=E0f(CEr,i,{});n.push(d0f(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&m0f(e,CEr),CEr.reduce(),e}function d0f(e,t,r){return new Promise(n=>{let i=(0,J_a.createReadStream)(e),o=(0,Y_a.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,u=0,c=t[u];if(c===void 0)return void s();let l=c[0],p=c[1];function d(){X_a.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=v0f(f,0),a>=p)){if(u===t.length-1){o.close(),o.removeAllListeners();return}u++;let m=t[u];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function m0f(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;h0f(r.lineno,r,n)}}function h0f(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=e1a(e);i<e;i++){let o=r[i];if(o===void 0)return void H_a(t);t.pre_context.push(o)}if(r[e]===void 0)return void H_a(t);t.context_line=r[e];let n=t1a(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function H_a(e){delete e.pre_context,delete e.context_line,delete e.post_context}function g0f(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function A0f(e){return e.lineno!==void 0&&e.lineno>f0f||e.colno!==void 0&&e.colno>p0f}function y0f(e,t){let r=CEr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function b0f(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=K_a(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+cOi:(i.push(n),n=K_a(o)),t++}return i}function K_a(e){return[e1a(e),t1a(e)]}function e1a(e){return Math.max(1,e-cOi)}function t1a(e){return e+cOi}function E0f(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function v0f(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function I0f(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function r1a(e,t){globalThis.process?.on("uncaughtException",I0f(e,t))}function n1a(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var w0f=2e3,eV=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new fEr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return UBi(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||ZH(),properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(r1a(this.onException.bind(this),this.onFatalError.bind(this)),n1a(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(w0f),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var i1a="5.26.2";var hCt={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function o1a(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var C0f=6e4,x0f=1152921504606847e3,_0f=["is_not"],f9e=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},uh=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},tK=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},xEr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let u=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,u)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof tK||c instanceof uh?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(u=>this.featureFlagsByKey[u]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async u=>{try{let{value:c,payload:l}=await this.computeFlagAndPayloadLocally(u,a);n[u.key]=c,l&&(i[u.key]=l)}catch(c){c instanceof tK||c instanceof uh?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${u.key}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${u.key}: ${c}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(t.ensure_experience_continuity)throw new uh("Flag has experience continuity enabled");if(!t.active)return!1;let u=(t.filters||{}).aggregation_group_type_index;if(u!=null){let c=this.groupTypeMapping[String(u)];if(!c)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${u} for feature flag ${t.key}`)),new uh("Flag has unknown group type index");if(!(c in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[c];return await this.matchFeatureFlagProperties(t,i[c],l,r)}{let c=this.getBucketingValueForFlag(t,n,o);if(c===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new uh(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,c,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new uh("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new uh(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new uh(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new uh(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let u of s){if(!(u in i)){let l=this.featureFlagsByKey[u];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[u]=p}catch(p){throw new uh(`Error evaluating flag dependency '${u}' for flag '${o}': ${p}`)}else i[u]=!1;else throw new uh(`Missing flag dependency '${u}' for flag '${o}'`)}if(i[u]==null)throw new uh(`Dependency '${u}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=!1,u;for(let c of s)try{if(await this.isConditionMatch(t,r,c,n,i)){let l=c.variant,p=o.multivariate?.variants||[];u=l&&p.some(d=>d.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof tK)throw l;if(l instanceof uh)a=!0;else throw l}if(u!==void 0)return u;if(a)throw new uh("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=u=>{this.logMsgIfDebug(()=>console.warn(u))};if((n.properties||[]).length>0){for(let u of n.properties){let c=u.type,l=!1;if(l=c==="cohort"?l1a(u,i,this.cohorts,this.debugMode):c==="flag"?await this.evaluateFlagDependency(u,i,o):c1a(u,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await s1a(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await s1a(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(C0f,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new f9e(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new f9e(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new f9e(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof f9e&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=xPe(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function s1a(e,t,r=""){let n=await o1a(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/x0f}function c1a(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new uh("Operator is_not_set is not supported")}else throw new uh(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_0f.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(c,l){return Array.isArray(c)?c.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(c).toLowerCase()===String(l).toLowerCase()}function u(c,l,p){if(p==="gt")return c>l;if(p==="gte")return c>=l;if(p==="lt")return c<l;if(p==="lte")return c<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return a1a(String(i))&&String(s).match(String(i))!==null;case"not_regex":return a1a(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let c=typeof i=="number"?i:null;if(typeof i=="string")try{c=parseFloat(i)}catch{}return c==null||s==null?u(String(s),String(i),o):typeof s=="string"?u(s,String(i),o):u(s,c,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new uh("Date operations cannot be performed on boolean values");let c=B0f(String(i));if(c==null&&(c=u1a(i)),c==null)throw new uh(`Invalid date: ${i}`);let l=u1a(s);return["is_date_before"].includes(o)?l<c:l>c}default:throw new uh(`Unknown operator: ${o}`)}}function S0f(e,t){if(!(e in t))throw new tK(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function l1a(e,t,r,n=!1){let i=String(e.value);S0f(i,r);let o=r[i];return p1a(o,t,r,n)}function p1a(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let u=p1a(a,t,r,n);if(i==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof tK)throw u;if(u instanceof uh)n&&console.debug(`Failed to compute property ${a} locally: ${u}`),s=!0;else throw u}if(s)throw new uh("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let u;if(a.type==="cohort")u=l1a(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else u=c1a(a,t);let c=a.negation||!1;if(i==="AND"){if(!u&&!c||u&&c)return!1}else if(u&&!c||!u&&c)return!0}catch(u){if(u instanceof tK)throw u;if(u instanceof uh)n&&console.debug(`Failed to compute property ${a} locally: ${u}`),s=!0;else throw u}if(s)throw new uh("can't match cohort without a given cohort property value");return i==="AND"}function a1a(e){try{return new RegExp(e),!0}catch{return!1}}function u1a(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 uh(`${e} is in an invalid date format`)}throw new uh(`The date provided ${e} must be a string, number, or date object`)}function B0f(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var _Er=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var O0f=100,f1a=3e4,P0f=5e4,SEr=class extends mCt{constructor(t,r={}){if(super(t,r),this._memoryStorage=new _Er,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,O0f):f1a,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 xEr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new eV(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||P0f}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 i1a}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."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=f1a){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let x=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:x}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:u,personProperties:c,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,c,l);c=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,c,l);u==null&&(u=this.options.strictLocalEvaluation??!1);let f,m=!1,h,g,A,b,v,E;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let x=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(x){m=!0;let C=x.value;b=w.id,E="Evaluated locally",f={key:t,enabled:C!==!1,variant:typeof C=="string"?C:void 0,payload:x.payload??void 0}}}catch(x){if(x instanceof tK||x instanceof uh)this._logger?.info(`${x.name} when computing flag locally: ${t}: ${x.message}`);else throw x}}if(!m&&!u){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)A=hCt.UNKNOWN_ERROR;else{h=w.requestId,g=w.evaluatedAt;let x=[];w.errorsWhileComputingFlags&&x.push(hCt.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&x.push(hCt.QUOTA_LIMITED);let C=w.flags[t];if(C===void 0)x.push(hCt.FLAG_MISSING);else{b=C.metadata?.id,v=C.metadata?.version,E=C.reason?.description??C.reason?.code;let _;if(C.metadata?.payload!==void 0)try{_=JSON.parse(C.metadata.payload)}catch{_=C.metadata.payload}f={key:t,enabled:C.enabled,variant:C.variant,payload:_}}x.length>0&&(A=x.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,x=`${t}_${w}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(x)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(x):this.distinctIdHasSentFlagCalls[r]=[x];let C={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:b,$feature_flag_version:v,$feature_flag_reason:E,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:h,$feature_flag_evaluated_at:m?Date.now():g};if(m&&this.featureFlagsPoller){let _=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();_!==void 0&&(C.$feature_flag_definitions_loaded_at=_)}A&&(C.$feature_flag_error=A),this.capture({distinctId:r,event:"$feature_flag_called",properties:C,groups:s,disableGeoip:a})}}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:u,personProperties:c,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,c,l);c=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,c,l);u==null&&(u=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},h={},g=!0;if(f&&(m=f.response,h=f.payloads,g=f.fallbackToFlags),g&&!u){let A=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...A.flags||{}},h={...h,...A.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(h={...h,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:h}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=xPe(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(b_a(s)&&r&&o in r){let a={};for(let[u,c]of Object.entries(s))a[String(u)]=String(c);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let c={};for(let[l,p]of Object.entries(r||{}))c[l]=String(p);return await this.getAllFlags(t,{groups:c,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let c={};for(let[l,p]of Object.entries(r||{}))c[l]=String(p);return await this.getAllFlags(t,{groups:c,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i){if(!eV.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(eV.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!eV.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(eV.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:u,uuid:c}=t,l=this.context?.get(),p=r||l?.distinctId,d={...this.props,...l?.properties||{},...i||{}};p||(p=ZH(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:d,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:u,uuid:c});if(!f)return Promise.reject(null);let m=await Promise.resolve().then(async()=>{if(s){let h=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,u,h)}return f.event,{}}).then(h=>{let g={};if(h)for(let[b,v]of Object.entries(h))g[`$feature/${b}`]=v;let A=Object.keys(h||{}).filter(b=>h?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(h=>({...h,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof m.$raw_user_agent=="string"&&m_a(m.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",m.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:m,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var d1a=require("async_hooks"),BEr=class{constructor(){this.storage=new d1a.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var m1a="posthog-node";function T0f(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let u=s.tags[lOi.POSTHOG_ID_TAG];if(u===void 0)return s;let c=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${u}`,c).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(h=>({...h,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:u,properties:f}),s}}var lOi=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=m1a,this.name=m1a,this.setupOnce=function(s,a){let u=a()?.getClient()?.getDsn()?.projectId;s(T0f(t,{organization:r,projectId:u,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};eV.errorPropertiesBuilder=new dF.ErrorPropertiesBuilder([new dF.EventCoercer,new dF.ErrorCoercer,new dF.ObjectCoercer,new dF.StringCoercer,new dF.PrimitiveCoercer],dF.createStackParser("node:javascript",dF.nodeStackLineParser),[l_a(),Z_a]);var d9e=class extends SEr{getLibraryId(){return"posthog-node"}initializeContext(){return new BEr}};var OEr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new d9e(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"4.21.2",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var gCt=class{async sendEvent(){}async identify(){}async flush(){}};Vt();var m9e=require("fs/promises"),h1a=require("os"),g1a=require("path");var D0f="id",R0f=".fern",ACt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new d9e(r),this.userId=t==null?void 0:Swi(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:"4.21.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 e0({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=Ge(zt.of((0,h1a.homedir)()),Se.of(R0f),Se.of(D0f));await Xt(t)||(await(0,m9e.mkdir)((0,g1a.dirname)(t),{recursive:!0}),await(0,m9e.writeFile)(t,lC())),this.persistedDistinctId=(await(0,m9e.readFile)(t)).toString()}return this.persistedDistinctId}};var pOi;async function h9e(){return pOi==null&&(pOi=await F0f()),pOi}async function F0f(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new gCt;let r=await zmr();return r!=null?new ACt({token:r,posthogApiKey:e}):await QH()!=null?new OEr({posthogApiKey:e}):new ACt({token:void 0,posthogApiKey:e})}catch{return new gCt}}Qt();var yCt=xe(require("process"),1);jQe();var b1a=xe(Rgi(),1),E1a=xe(y1a(),1);function SC(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=cz(e),e.length===0))return 0;e=e.replace((0,E1a.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(b1a.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function PEr(e){let t=0;for(let r of e.split(`
1652
1652
  `))t=Math.max(t,SC(r));return t}var L1a=xe(dOi(),1);var Q0f=/[\p{Lu}]/u,j0f=/[\p{Ll}]/u,w1a=/^[\p{Lu}](?![\p{Lu}])/gu,_1a=/([\p{Alpha}\p{N}_]|$)/u,mOi=/[_.\- ]+/,N0f=new RegExp("^"+mOi.source),C1a=new RegExp(mOi.source+_1a.source,"gu"),x1a=new RegExp("\\d+"+_1a.source,"gu"),M0f=(e,t,r,n)=>{let i=!1,o=!1,s=!1,a=!1;for(let u=0;u<e.length;u++){let c=e[u];a=u>2?e[u-3]==="-":!0,i&&Q0f.test(c)?(e=e.slice(0,u)+"-"+e.slice(u),i=!1,s=o,o=!0,u++):o&&s&&j0f.test(c)&&(!a||n)?(e=e.slice(0,u-1)+"-"+e.slice(u-1),s=o,o=!1,i=!0):(i=t(c)===c&&r(c)!==c,s=o,o=r(c)===c&&t(c)!==c)}return e},L0f=(e,t)=>(w1a.lastIndex=0,e.replace(w1a,r=>t(r))),U0f=(e,t)=>(C1a.lastIndex=0,x1a.lastIndex=0,e.replace(C1a,(r,n)=>t(n)).replace(x1a,r=>t(r)));function hOi(e,t){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),n=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?mOi.test(e)?"":t.pascalCase?n(e):r(e):(e!==r(e)&&(e=M0f(e,r,n,t.preserveConsecutiveUppercase)),e=e.replace(N0f,""),e=t.preserveConsecutiveUppercase?L0f(e,r):r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),U0f(e,n))}var bOi=xe(B1a(),1);jQe();var O1a=(e=0)=>t=>`\x1B[${t+e}m`,P1a=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,T1a=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,Ey={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},PNy=Object.keys(Ey.modifier),G0f=Object.keys(Ey.color),W0f=Object.keys(Ey.bgColor),TNy=[...G0f,...W0f];function $0f(){let e=new Map;for(let[t,r]of Object.entries(Ey)){for(let[n,i]of Object.entries(r))Ey[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=Ey[n],e.set(i[0],i[1]);Object.defineProperty(Ey,t,{value:r,enumerable:!1})}return Object.defineProperty(Ey,"codes",{value:e,enumerable:!1}),Ey.color.close="\x1B[39m",Ey.bgColor.close="\x1B[49m",Ey.color.ansi=O1a(),Ey.color.ansi256=P1a(),Ey.color.ansi16m=T1a(),Ey.bgColor.ansi=O1a(10),Ey.bgColor.ansi256=P1a(10),Ey.bgColor.ansi16m=T1a(10),Object.defineProperties(Ey,{rgbToAnsi256:{value(t,r,n){return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(o=>o+o).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>Ey.rgbToAnsi256(...Ey.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,i=a%6/5}let o=Math.max(r,n,i)*2;if(o===0)return 30;let s=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return o===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>Ey.ansi256ToAnsi(Ey.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>Ey.ansi256ToAnsi(Ey.hexToAnsi256(t)),enumerable:!1}}),Ey}var H0f=$0f(),D1a=H0f;var TEr=new Set(["\x1B","\x9B"]),K0f=39,AOi="\x07",k1a="[",J0f="]",Q1a="m",yOi=`${J0f}8;;`,R1a=e=>`${TEr.values().next().value}${k1a}${e}${Q1a}`,F1a=e=>`${TEr.values().next().value}${yOi}${e}${AOi}`,Y0f=e=>e.split(" ").map(t=>SC(t)),gOi=(e,t,r)=>{let n=[...t],i=!1,o=!1,s=SC(cz(e[e.length-1]));for(let[a,u]of n.entries()){let c=SC(u);if(s+c<=r?e[e.length-1]+=u:(e.push(u),s=0),TEr.has(u)&&(i=!0,o=n.slice(a+1).join("").startsWith(yOi)),i){o?u===AOi&&(i=!1,o=!1):u===Q1a&&(i=!1);continue}s+=c,s===r&&a<n.length-1&&(e.push(""),s=0)}!s&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},X0f=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(SC(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Z0f=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,o,s=Y0f(e),a=[""];for(let[c,l]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=SC(a[a.length-1]);if(c!==0&&(p>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),p=0),(p>0||r.trim===!1)&&(a[a.length-1]+=" ",p++)),r.hard&&s[c]>t){let d=t-p,f=1+Math.floor((s[c]-d-1)/t);Math.floor((s[c]-1)/t)<f&&a.push(""),gOi(a,l,t);continue}if(p+s[c]>t&&p>0&&s[c]>0){if(r.wordWrap===!1&&p<t){gOi(a,l,t);continue}a.push("")}if(p+s[c]>t&&r.wordWrap===!1){gOi(a,l,t);continue}a[a.length-1]+=l}r.trim!==!1&&(a=a.map(c=>X0f(c)));let u=[...a.join(`
1653
1653
  `)];for(let[c,l]of u.entries()){if(n+=l,TEr.has(l)){let{groups:d}=new RegExp(`(?:\\${k1a}(?<code>\\d+)m|\\${yOi}(?<uri>.*)${AOi})`).exec(u.slice(c).join(""))||{groups:{}};if(d.code!==void 0){let f=Number.parseFloat(d.code);i=f===K0f?void 0:f}else d.uri!==void 0&&(o=d.uri.length===0?void 0:d.uri)}let p=D1a.codes.get(Number(i));u[c+1]===`
1654
1654
  `?(o&&(n+=F1a("")),i&&p&&(n+=R1a(p))):l===`
@@ -2102,7 +2102,7 @@ https://buildwithfern.com/learn/docs/getting-started/project-structure#api-defin
2102
2102
  Learn more about project structure:
2103
2103
  https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`;throw new Error(r)}async toRootNode(){let t=Ct.V1.SlugGenerator.init(Ct.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),n=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:n,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(i=>Ct.RoleId(i)),featureFlags:void 0}}async toRootChild(t){return uw(this.parsedDocsConfig.navigation)._visit({untabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),tabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),versioned:r=>this.toVersionedNode(r,t),productgroup:r=>this.toProductGroupNode({landingPageConfig:this.parsedDocsConfig.landingPage,productGroup:r,parentSlug:t})})}toLandingPageNode(t,r){let n=Ct.PageId(this.toRelativeFilepath(t.absolutePath)),i=r.apply({urlSlug:t.slug??Gd(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(n),title:t.title,slug:i.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:n,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:n}){let i=this.#e.get("unversioned"),o=t!=null?this.toLandingPageNode(t,n):void 0,s=r.type==="tabbed"?await this.convertTabbedNavigation(i,r.items,n):await this.toSidebarRootNode(i,r.items,n);return{type:"unversioned",id:i,landingPage:o,child:s}}async toVersionedNode(t,r){let n=this.#e.get("versioned"),i=t.versions[0];if(i?.hidden===!0)throw new Error(`The default version "${i.version}" cannot be hidden. Please set a non-hidden version as the first version in your versions list, or remove the hidden flag from the default version.`);let o=5,s=[];for(let a=0;a<t.versions.length;a+=o){let u=t.versions.slice(a,a+o),c=await Promise.all(u.map((l,p)=>this.toVersionNode(l,r,a+p===0)));s.push(...c)}return{id:n,type:"versioned",children:s}}async toProductGroupNode({productGroup:t,landingPageConfig:r,parentSlug:n}){let i=this.#e.get("productgroup"),o=r!=null?this.toLandingPageNode(r,n):void 0;return{id:i,type:"productgroup",landingPage:o,children:await Promise.all(t.products.map(s=>this.toProductNode(s,n)))}}async toProductNode(t,r){if(t.type==="internal"){let n=r.setProductSlug(t.slug??Gd(t.product)),i;switch(t.navigation.type){case"tabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.convertTabbedNavigation(this.#e.get(t.product),t.navigation.items,n)};break;case"untabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.toSidebarRootNode(this.#e.get(t.product),t.navigation.items,n)};break;case"versioned":i=await this.toVersionedNode(t.navigation,n);break;default:_e(t.navigation)}return{type:"product",id:this.#e.get(t.product),productId:Ct.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",slug:n.get(),child:i,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,pointsTo:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}else return{type:"productLink",id:this.#e.get(t.product),productId:Ct.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",href:nP.Url(t.href??""),target:t.target,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,viewers:t.viewers,orphaned:t.orphaned}}async toVersionNode(t,r,n){let i=this.#e.get(t.version),o=r.setVersionSlug(t.slug??Gd(t.version)),s=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(i,t.navigation.items,o):await this.toSidebarRootNode(i,t.navigation.items,o);return{type:"version",id:i,versionId:Ct.VersionId(t.version),title:t.version,slug:o.get(),child:s,default:n,availability:t.availability!=null?lVf(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,o):void 0,hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}async toSidebarRootNode(t,r,n){let i=this.#e.get(`${t}/root`),s=(await Promise.all(r.map(u=>this.toNavigationChild({prefix:i,item:u,parentSlug:n})))).filter(u=>u!=null),a=[];return s.forEach(u=>{if(u.type==="apiReference"){a.push(u);return}let c=u.type==="section"&&u.collapsed!=null;if(u.type==="section"&&!c){a.push(u);return}let l=a.length>0?a[a.length-1]:void 0,p;l?.type==="sidebarGroup"?p=l:(p={id:this.#e.get(`${i}/group`),type:"sidebarGroup",children:[]},a.push(p)),p.children.push(u)}),{type:"sidebarRoot",id:i,children:a}}async toSidebarRootNodeWithVariants(t,r,n){let i=this.#e.get(`${t}/root`);return{type:"sidebarRoot",id:i,children:[{type:"varianted",id:i,children:await Promise.all(r.map(o=>this.toVariantNode(o,i,n)))}]}}async toVariantNode(t,r,n){let i=this.#e.get(`${r}/variant/${t.slug??Gd(t.title)}`),o=n.apply({urlSlug:t.slug??Gd(t.title),skipUrlSlug:t.skipUrlSlug}),a=(await Promise.all(t.layout.map(u=>this.toVariantChild(u,i,o)))).filter(u=>u!=null);return{type:"variant",id:i,variantId:Ct.V1.VariantId(t.title),subtitle:t.subtitle??"",default:t.default??!1,image:void 0,children:a,title:t.title,slug:o.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,pointsTo:void 0}}async toVariantChild(t,r,n){return uw(t)._visit({page:async i=>this.toPageNode({item:i,parentSlug:n}),apiSection:async i=>this.toApiSectionNode({item:i,parentSlug:n}),section:async i=>this.toSectionNode({prefix:r,item:i,parentSlug:n}),link:async i=>this.toLinkNode(i),changelog:async i=>this.toChangelogNode(i,n),librarySection:async i=>this.handleLibrarySection(i,n)})}async toNavigationChild({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){return uw(r)._visit({page:async s=>this.toPageNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),apiSection:async s=>this.toApiSectionNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),section:async s=>this.toSectionNode({prefix:t,item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),link:async s=>this.toLinkNode(s),changelog:async s=>this.toChangelogNode(s,n,i),librarySection:async s=>this.handleLibrarySection(s,n)})}async toApiSectionNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=X5a(t.snippetsConfiguration),s,a,u,c,l=this.parsedDocsConfig.experimental?.openapiParserV3,p=l==null||l;if(p)try{u=this.getOpenApiWorkspaceForApiSection(t),s=await u.getIntermediateRepresentation({context:this.taskContext,audiences:t.audiences,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1})}catch(I){c=I}let d;if(t.tagDescriptionPages&&p)try{let w=await(u??this.getOpenApiWorkspaceForApiSection(t)).getOpenAPIIr({context:this.taskContext,loadAiExamples:!0});w.tags.tagsById&&(d=Object.fromEntries(Object.entries(w.tags.tagsById).filter(([x,C])=>C.description&&C.description.trim().length>0).map(([x,C])=>[Wn(x),{id:String(C.id),description:C.description}])))}catch(I){this.taskContext.logger.warn("Failed to extract OpenAPI tags for tag description pages",String(I))}if(s==null){if(this.apiWorkspaces.length===0&&c!=null)throw c;a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0}),s=th({workspace:a,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new tm(this.taskContext,a)})}else try{a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0})}catch(I){this.taskContext.logger.debug(`Could not load workspace: ${I}. Dynamic snippets and AI examples may not be available.`)}this.docsWorkspace.config.settings?.substituteEnvVars&&(s=xb(s,{onError:I=>this.taskContext.failAndThrow(`Error substituting environment variables in API spec: ${I}`)},{substituteAsEmpty:!1}));let f=u;if(f==null)try{f=this.getOpenApiWorkspaceForApiSection(t)}catch{}let m=await this.extractGraphQLData(f),h=t.apiName??a?.workspaceName??u?.workspaceName,g=`__pending_api_${this.pendingApiCounter++}__`,A=g1t({ir:s,apiDefinitionId:g,playgroundConfig:{oauth:t.playground?.oauth},context:this.taskContext,graphqlOperations:m.operations,graphqlTypes:m.types}),b=new bAn(t,A,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.#e,this.collectedFileIds,a,n,i??t.availability,d,m.namespacesByOperationId),v=b.getTagDescriptionContent();for(let[I,w]of v.entries()){let x=I.split("/").pop()||I,C=Se.of(x),_=w;this.docsWorkspace.config.settings?.substituteEnvVars&&(_=xb(w,{onError:R=>this.taskContext.logger.error(`Error in tag description environment variable substitution: ${R}`)},{substituteAsEmpty:!1})),this.rawMarkdownFiles[C]=_,this.parsedDocsConfig.pages[C]=_}let E=b.get();return this.pendingApiRegistrations.push({ir:s,snippetsConfig:o,playgroundConfig:{oauth:t.playground?.oauth},apiName:h,workspace:a,graphqlOperations:m.operations,graphqlTypes:m.types,tempApiDefinitionId:g,apiReferenceNode:E}),E}async toChangelogNode(t,r,n){return new VTe(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:n||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:Ct.V1.Url(t.url),icon:this.resolveIconFileId(t.icon),target:t.target}}async extractGraphQLData(t){let r={},n={},i=new Map;if(t==null)return{operations:r,types:n,namespacesByOperationId:i};let o=t.allSpecs.filter(s=>s.type==="graphql");for(let s of o)try{let u=await new CVe({context:this.taskContext,filePath:s.absoluteFilepath,namespace:s.namespace}).convert();if(Object.assign(r,u.graphqlOperations),Object.assign(n,u.types),s.namespace)for(let c of Object.keys(u.graphqlOperations))i.set(Cr.GraphQlOperationId(c),s.namespace)}catch(a){this.taskContext.logger.error(`Failed to process GraphQL spec ${s.absoluteFilepath}:`,String(a))}return{operations:r,types:n,namespacesByOperationId:i}}async handleLibrarySection(t,r){let n=this.parsedDocsConfig.libraries?.[t.libraryName];if(n==null)return this.taskContext.logger.warn(`Library '${t.libraryName}' not found in libraries config. Skipping.`),null;let i=ao(this.docsWorkspace.absoluteFilePath,n.output.path),o=await this.loadLibraryNavNodes(t.libraryName,i);if(o==null)return null;let s=t.title??t.libraryName,a=r.apply({urlSlug:t.slug??Gd(s)}),u=this.#e.get(`library/${t.libraryName}`),c;if(o.length>0){let p=o[0]?.slug.split("/").slice(0,-1).join("/");p&&(c=await this.registerLibraryMdxPage(i,`${p}.mdx`))}let l=await this.convertLibraryNavNodes(o,i,a);return{id:u,type:"section",overviewPageId:c,slug:a.get(),title:s,icon:void 0,collapsed:void 0,hidden:!1,viewers:t.viewers,orphaned:t.orphaned,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:t.featureFlags,availability:void 0}}async loadLibraryNavNodes(t,r){let n=Ge(r,Se.of("_navigation.yml"));if(!(0,yUi.existsSync)(n))return this.taskContext.logger.warn(`No _navigation.yml found for library '${t}' at ${n}. Run 'fern docs md generate' first.`),null;let o=(await(0,LEe.readFile)(n,"utf-8")).split(`
2104
2104
  `).filter(s=>!s.startsWith("#")).join(`
2105
- `);try{return wr.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Ge(t,Se.of(r));if(!(0,yUi.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=ma(this.docsWorkspace.absoluteFilePath,n),o=await(0,LEe.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,Ct.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:Gd(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:Gd(o.title)}),a=this.#e.get(`library-section/${o.slug}`),u=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),c=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(c,r,s);i.push({id:a,type:"section",overviewPageId:u,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=Ct.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??Gd(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),u=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:u??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?Ct.PageId(s):void 0,u=this.#e.get(a??`${t}/section`),c=n.apply({urlSlug:r.slug??Gd(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,d=i||r.hidden,m=(await Promise.all(r.contents.map(h=>this.toNavigationChild({prefix:u,item:h,parentSlug:c,hideChildren:d,parentAvailability:r.availability??o})))).filter(h=>h!=null);if(a==null){let h=m.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);h!=null&&(a=h.overviewPageId)}return{id:u,type:"section",overviewPageId:a,slug:c.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,collapsible:r.collapsible,collapsedByDefault:r.collapsedByDefault,hidden:d,viewers:r.viewers,orphaned:r.orphaned,children:m,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return uw(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new VTe(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:Ct.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??Gd(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??Gd(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):nP.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(da),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:nP.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,"og:background-image":i,...o}=this.parsedDocsConfig.metadata;return{...o,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n),"og:background-image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return uw(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:nP.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}resolveLinksInIrDocs(t,r){let n={absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.docsWorkspace.absoluteFilePath};OAn(t,r,n)}};function cVf(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${ET(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function lVf(e){switch(e){case"beta":return Ct.V1.NavigationV1Availability.Beta;case"deprecated":return Ct.V1.NavigationV1Availability.Deprecated;case"ga":return Ct.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Ct.V1.NavigationV1Availability.Stable;default:_e(e)}}Qt();async function d1(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof Rp?t:null))).filter(da)}async function bUi(e,t,r){if(e instanceof jS){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof Rp))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return bT({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var fa={};Y(fa,{AlgoliaSearchIndex:()=>yza,ApiDefinitionId:()=>Mza,ApiId:()=>Vza,Availability:()=>i8a,DocsConfigId:()=>qza,EndpointId:()=>Wza,EndpointPathLiteral:()=>r8a,EnvironmentId:()=>Gza,FileId:()=>Yza,HttpMethod:()=>n8a,IndexSegmentId:()=>bza,JqString:()=>Zza,OrgId:()=>Uza,PageId:()=>Jza,PayloadLocation:()=>T8a,PropertyKey:()=>e8a,PullRequestState:()=>_8a,RoleId:()=>t8a,TokenId:()=>zza,TypeId:()=>Kza,Url:()=>Xza,VersionId:()=>Lza,WebSocketId:()=>$za,WebhookId:()=>Hza,algolia:()=>EUi,api:()=>PUi,commons:()=>TUi,diff:()=>o8a,docs:()=>LUi,generators:()=>zUi,git:()=>VUi,navigation:()=>WUi,sdks:()=>HUi,snippets:()=>O8a,snippetsFactory:()=>P8a,templates:()=>KUi,tokens:()=>D8a});var EUi={};Y(EUi,{AlgoliaSearchIndex:()=>yza,IndexSegmentId:()=>bza});function yza(e){return e}function bza(e){return e}var PUi={};Y(PUi,{latest:()=>wUi,v1:()=>OUi});var wUi={};Y(wUi,{AuthSchemeId:()=>Eza,WebhookHttpMethod:()=>Cza,auth:()=>vUi,commons:()=>vza,endpoint:()=>Iza,type_:()=>wza,webhook:()=>IUi,websocket:()=>xza});var vUi={};Y(vUi,{AuthSchemeId:()=>Eza});function Eza(e){return e}var vza={};var Iza={};var wza={};var IUi={};Y(IUi,{WebhookHttpMethod:()=>Cza});var Cza={Get:"GET",Post:"POST"};var xza={};var OUi={};Y(OUi,{SubpackageId:()=>kza,WebSocketMessageId:()=>Qza,WebSocketMessageOrigin:()=>jza,WebhookHttpMethod:()=>Nza,commons:()=>BUi,db:()=>CUi,read:()=>_Ui,register:()=>SUi});var CUi={};Y(CUi,{endpoint:()=>_za});var _za={};var _Ui={};Y(_Ui,{SupportedLanguage:()=>Sza,endpoint:()=>xUi,type_:()=>Bza,webhook:()=>Oza,websocket:()=>Pza});var xUi={};Y(xUi,{SupportedLanguage:()=>Sza});var Sza={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var Bza={};var Oza={};var Pza={};var SUi={};Y(SUi,{SourceId:()=>pVf,endpoint:()=>Tza,type_:()=>Dza,webhook:()=>Rza,websocket:()=>Fza});var Tza={};var Dza={};var Rza={};var Fza={};function pVf(e){return e}var BUi={};Y(BUi,{SubpackageId:()=>kza,WebSocketMessageId:()=>Qza,WebSocketMessageOrigin:()=>jza,WebhookHttpMethod:()=>Nza});function kza(e){return e}function Qza(e){return e}var jza={Client:"client",Server:"server"};var Nza={Get:"GET",Post:"POST"};var TUi={};Y(TUi,{ApiDefinitionId:()=>Mza,ApiId:()=>Vza,Availability:()=>i8a,DocsConfigId:()=>qza,EndpointId:()=>Wza,EndpointPathLiteral:()=>r8a,EnvironmentId:()=>Gza,FileId:()=>Yza,HttpMethod:()=>n8a,JqString:()=>Zza,OrgId:()=>Uza,PageId:()=>Jza,PropertyKey:()=>e8a,RoleId:()=>t8a,TokenId:()=>zza,TypeId:()=>Kza,Url:()=>Xza,VersionId:()=>Lza,WebSocketId:()=>$za,WebhookId:()=>Hza});function Mza(e){return e}function Lza(e){return e}function Uza(e){return e}function zza(e){return e}function Vza(e){return e}function qza(e){return e}function Gza(e){return e}function Wza(e){return e}function $za(e){return e}function Hza(e){return e}function Kza(e){return e}function Jza(e){return e}function Yza(e){return e}function Xza(e){return e}function Zza(e){return e}function e8a(e){return e}function t8a(e){return e}function r8a(e){return e}var n8a={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var i8a={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var o8a={};var LUi={};Y(LUi,{latest:()=>FUi,v1:()=>NUi,v2:()=>MUi});var FUi={};Y(FUi,{Layout:()=>a8a,MdxEngine:()=>fVf,TwitterCardSetting:()=>u8a,commons:()=>s8a,frontmatter:()=>DUi,seo:()=>RUi});var fVf={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var s8a={};var DUi={};Y(DUi,{Layout:()=>a8a});var a8a={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var RUi={};Y(RUi,{TwitterCardSetting:()=>u8a});var u8a={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var NUi={};Y(NUi,{commons:()=>jUi,db:()=>c8a,read:()=>l8a,write:()=>kUi});var c8a={};var l8a={};var kUi={};Y(kUi,{DocsRegistrationId:()=>mVf,FilePath:()=>dVf});function dVf(e){return e}function mVf(e){return e}var jUi={};Y(jUi,{ContentAlignment:()=>m8a,FontDisplay:()=>b8a,FontStyle:()=>y8a,HeaderPosition:()=>h8a,JsScriptStrategy:()=>A8a,ProgrammingLanguage:()=>p8a,SearchbarPlacement:()=>f8a,TabsPlacement:()=>d8a,TwitterCardSetting:()=>g8a,commons:()=>QUi});var QUi={};Y(QUi,{ContentAlignment:()=>m8a,FontDisplay:()=>b8a,FontStyle:()=>y8a,HeaderPosition:()=>h8a,JsScriptStrategy:()=>A8a,ProgrammingLanguage:()=>p8a,SearchbarPlacement:()=>f8a,TabsPlacement:()=>d8a,TwitterCardSetting:()=>g8a});var p8a={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 f8a={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var d8a={Header:"HEADER",Sidebar:"SIDEBAR"};var m8a={Center:"CENTER",Left:"LEFT"};var h8a={Fixed:"FIXED",Absolute:"ABSOLUTE"};var g8a={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var A8a={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var y8a={Normal:"normal",Italic:"italic"};var b8a={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var MUi={};Y(MUi,{read:()=>E8a,write:()=>v8a});var E8a={};var v8a={};var zUi={};Y(zUi,{ChangelogEntryType:()=>w8a,GeneratorId:()=>hVf,GeneratorLanguage:()=>gVf,ReleaseType:()=>C8a,cli:()=>I8a,commons:()=>UUi,versions:()=>x8a});var I8a={};var UUi={};Y(UUi,{ChangelogEntryType:()=>w8a,ReleaseType:()=>C8a});var w8a={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var C8a={Ga:"GA",Rc:"RC"};var x8a={};function hVf(e){return e}var gVf={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var VUi={};Y(VUi,{PullRequestState:()=>_8a});var _8a={Open:"open",Closed:"closed",Merged:"merged"};var WUi={};Y(WUi,{latest:()=>qUi,v1:()=>GUi});var qUi={};Y(qUi,{NodeId:()=>bVf,ProductId:()=>EVf,Slug:()=>AVf,TabId:()=>yVf});function AVf(e){return e}function yVf(e){return e}function bVf(e){return e}function EVf(e){return e}var GUi={};Y(GUi,{NavigationV1Availability:()=>xVf,NodeId:()=>wVf,ProductId:()=>CVf,Slug:()=>vVf,TabId:()=>IVf});function vVf(e){return e}function IVf(e){return e}function wVf(e){return e}function CVf(e){return e}var xVf={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var HUi={};Y(HUi,{Language:()=>S8a,VersionBump:()=>B8a,versions:()=>$Ui});var $Ui={};Y($Ui,{Language:()=>S8a,VersionBump:()=>B8a});var S8a={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var B8a={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var O8a={};var P8a={};var KUi={};Y(KUi,{PayloadLocation:()=>T8a});var T8a={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var D8a={};var DAn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function R8a({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=fa.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:f1(o)},i.push(o)})}),r}var RAn=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 F8a(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var No=class extends RAn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${F8a(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})}}},EE=class extends No{},hk=class extends EE{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var k8a="x-fern-base-path",Q8a="x-fern-availability",FAn="x-fern-sdk-group-name",j8a="x-fern-global-headers",N8a="x-fern-sdk-method-name";var M8a="x-fern-webhook",L8a="x-fern-access-token-locator",U8a="x-fern-basic",z8a="x-fern-username-variable-name",V8a="x-fern-password-variable-name",q8a="x-fern-bearer",G8a="x-fern-token-variable-name",W8a="x-fern-header",$8a="x-fern-header-variable-name",H8a="x-fern-server-name",K8a="x-fern-examples";var kAn=class extends No{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[H8a]}convert(){if(this.serverName!=null)return this.serverName}};var QAn=class extends No{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new kAn({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:fa.EnvironmentId(t),baseUrl:this.url}}};function UEe(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,u)=>new QAn({input:a,context:r,accessPath:n,pathId:["servers",`${u}`]}));return[...i,...s]}function Cp(e){return typeof e=="object"&&$o(e)&&"$ref"in e&&typeof e.$ref=="string"}function m1(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(Cp(i)&&(i=m1(i,t,r)),i)}function jAn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return Cp(r)?m1(r,t,void 0):r}var h6a=xe(py());var NAn=class extends No{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[U8a];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var MAn=class extends No{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[V8a]}convert(){return this.passwordVariableName}};var LAn=class extends No{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[z8a]}convert(){return this.usernameVariableName}};var UAn=class extends No{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[q8a];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var zAn=class extends No{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[G8a]}convert(){return this.tokenVariableName}};function J8a(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Y8a="x-bearer-format",X8a="x-code-samples",Z8a="x-codeSamples";var VAn=class extends No{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Y8a]}convert(){return this.bearerFormat}};var qAn=class extends No{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[W8a];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var GAn=class extends No{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[$8a]}convert(){return this.headerVariableName}};function e6a(e){return e.type==="apiKey"}var vtt=class extends No{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){e6a(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new qAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new GAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new VAn({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()}}};uri();Sps();function WAn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Itt(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function qTe(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(qTe).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function $An(e){if(Array.isArray(e))return e.map(Itt);if(typeof e=="symbol")return[e];e=qTe(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function A1t(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(Rer(t))return r;let n=e[t];return n===void 0?WAn(t)?A1t(e,$An(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=Itt(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return _Vf(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),Rer(t))return r;let n=e[t];return n===void 0?r:n}}}function _Vf(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||Rer(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function t6a(e){return function(t){return A1t(t,e)}}function r6a(e){return e!==null&&(typeof e=="object"||typeof e=="function")}Lei();function JUi(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function XUi(e,t,r){return typeof r!="function"?XUi(e,t,()=>{}):YUi(e,t,function n(i,o,s,a,u,c){let l=r(i,o,s,a,u,c);return l!==void 0?!!l:YUi(i,o,n,c)},new Map)}function YUi(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return SVf(e,t,r,n);case"function":return Object.keys(t).length>0?YUi(e,{...t},r,n):JUi(e,t);default:return r6a(e)?typeof t=="string"?t==="":!0:JUi(e,t)}}function SVf(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return n6a(e,t,r,n);if(t instanceof Map)return BVf(e,t,r,n);if(t instanceof Set)return OVf(e,t,r,n);let i=Object.keys(t);if(e==null||zht(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!zht(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function BVf(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function n6a(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let u=0;u<e.length;u++){if(i.has(u))continue;let c=e[u],l=!1;if(r(c,s,o,e,t,n)&&(l=!0),l){i.add(u),a=!0;break}}if(!a)return!1}return!0}function OVf(e,t,r,n){return t.size===0?!0:e instanceof Set?n6a([...e],[...t],r,n):!1}function HAn(e,t){return XUi(e,t,()=>{})}_ps();function i6a(e){return e=xps(e),t=>HAn(t,e)}zei();Ser();Uei();function o6a(e,t){return Cps(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(A3e(e)===Der&&typeof e.constructor!="function"){let a={};return o.set(e,a),mM(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case Oer:case Ber:case Per:{let a=new e.constructor(e?.valueOf());return mM(a,e),a}case Ter:{let a={};return mM(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function s6a(e){return o6a(e)}var PVf=/^(?:0|[1-9]\d*)$/;function a6a(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 PVf.test(e)}}Ser();function u6a(e){return e!==null&&typeof e=="object"&&A3e(e)==="[object Arguments]"}function c6a(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&WAn(t)&&e?.[t]==null?r=$An(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||u6a(n))&&a6a(o)&&o<n.length))return!1;n=n[o]}return!0}function l6a(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Itt(e);break}}return t=s6a(t),function(r){let n=A1t(r,e);return n===void 0?c6a(r,e):t===void 0?n===void 0:HAn(n,t)}}function p6a(e){if(e==null)return Gtr;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?l6a(e[0],e[1]):i6a(e);case"string":case"symbol":case"number":return t6a(e)}}uri();Vei();function KAn(e,t=Gtr){return e==null?{}:A_(e,p6a(t))}JAs();function f6a(e){return KAs(qTe(e))}Tps();function d6a(e){return typeof e!="string"&&(e=qTe(e)),e.replace(/['\u2019]/g,"")}function NV(e){return Pps(d6a(f6a(e)))}function zm(e){if(e!=null)return Array.isArray(e)?e:[e]}function JAn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${TVf(s)}${DVf(e)}.${RVf(n,i,o,a)}`}function TVf(e){return e?"webhook_":"endpoint_"}function DVf(e){return e!=null?zm(e)?.map(t=>NV(t)).join("/"):""}function RVf(e,t,r,n){return e||t||NV(r??"")||NV(n??"")}function m6a(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var YAn=class extends No{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[L8a],this.accessTokenLocator!=null&&(m6a(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 XAn=class extends No{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 vtt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new YAn({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=JAn({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:fa.EndpointId(r),accessTokenLocator:fa.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var wtt=class extends No{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 NAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new LAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new MAn({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 UAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new zAn({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":{J8a(this.input)?(this.authScheme="header",this.headerAuthNode=new vtt({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 XAn({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 h6a.UnreachableCaseError(this.authScheme);return}}};var Ctt=class extends No{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=jAn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new wtt({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter($o))}};var ZAn=class extends No{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[k8a],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 g6a(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function A6a(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function xtt(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>zm(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!g6a(i))&&(s=A6a(s,s.type==="enum"?s.default:void 0)),{key:fa.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter($o)).filter($o).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function eyn(e,t){return Cp(e)?m1(e,t,void 0):e}function zEe(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function y6a(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function b6a(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var E6a=xe(py());var ZUi=["decimal","decimal128","double-int","double","float","sf-decimal"],e3i=["int16","int32","int64","int8","sf-integer","uint8"],t3i=["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"],r3i=["beta","pre-release","in-development","generally-available","deprecated"];function vE(e,t){return Cp(e)?m1(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var I3=class extends No{availability;constructor(t){super(t),this.safeParse()}parse(){if(vE(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[Q8a];r!=null&&(r3i.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${r3i.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return fa.Availability.Beta;case"in-development":return fa.Availability.InDevelopment;case"generally-available":return fa.Availability.GenerallyAvailable;case"deprecated":return fa.Availability.Deprecated;case void 0:return;default:new E6a.UnreachableCaseError(this.availability);return}}};var ryn=xe(py());function v6a(e){return typeof e=="object"&&e!=null&&"language"in e}function I6a(e){return typeof e=="object"&&e!=null&&"sdk"in e}function w6a(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function C6a(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function tyn(e){return typeof e=="object"&&e!=null&&"event"in e}function n3i(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(tyn)}function VEe(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function x6a(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var nyn=class extends No{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[K8a]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return VEe(s)?[i,{type:"filenameWithData",filename:s.filename,data:fa.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>VEe(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:fa.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new ryn.UnreachableCaseError(o.multipartType);return}}).filter($o))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=x6a(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new ryn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{w6a(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{n3i(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!n3i(r.response)&&C6a(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new ryn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{v6a(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):I6a(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let u=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,d])=>[fa.PropertyKey(p),d])),c=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,d])=>[fa.PropertyKey(p),d])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,d])=>[fa.PropertyKey(p),d]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(u).length>0?u:void 0,queryParameters:Object.keys(c).length>0?c:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var y1t=class extends No{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[FAn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>fa.api.v1.SubpackageId(NV(r)))}};var iyn=class extends No{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[N8a]}convert(){return this.sdkMethodName}};var oyn=class extends No{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[M8a]}convert(){return this.isWebhook}};var syn=class extends No{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[X8a]??[],...this.input[Z8a]??[]],this.codeSamples.forEach(t=>{[...Object.values(fa.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 GTe=xe(py());function i3i(e,t){return Cp(e)?m1(e,t,void 0):e}function _6a(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var lx="",gX=class extends No{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(VEe(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>VEe(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new GTe.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=i3i(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=i3i(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 GTe.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(tyn)){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 GTe.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return VEe(i)?[r,{type:"filenameWithData",filename:i.filename,data:fa.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>VEe(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:fa.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new GTe.UnreachableCaseError(n.multipartType);return}}).filter($o))};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 GTe.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 GTe.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter($o));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter($o));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:_6a(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?f1(this.name):this.summary!=null?f1(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function S6a(e,t){return Cp(e)?m1(e,t,void 0):e}var L6a=xe(py());var B6a="#/components/schemas/";function _tt(e){if(e.$ref.startsWith(B6a))return e.$ref.replace(B6a,"")}function Jse(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function qEe(e){return typeof e.type=="string"&&e.type==="array"}function O6a(e){return e.type==="boolean"}function P6a(e){return e.type==="integer"}function GEe(e){return!Array.isArray(e.type)&&!qEe(e)}function T6a(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||GEe(t)||qEe(t))}function D6a(e){return"nullable"in e&&typeof e.nullable=="boolean"}function R6a(e){return e.type==="null"}function F6a(e){return e.type==="number"}function o3i(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function k6a(e){return e.type==="string"}var ayn=class extends hk{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new dg({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 zm(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 uyn=class extends EE{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 I3({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 cyn=class extends hk{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 dg({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter($o)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>zm(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter($o).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(Jse).filter($o):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function lyn(e){return e!=null&&e.length>0?e:[void 0]}var Stt=class extends hk{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 dg({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 dg({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(Cp(t))return _tt(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new dg({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter($o))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return xtt(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}}}]:zm(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($o)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>lyn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>fa.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=vE(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new dg({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var pyn=class extends hk{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=>vE(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>vE(t,this.context.document)?.type!=="null"?new dg({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter($o);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([n,i])=>{let o=vE({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new dg({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter($o);return this.isNullable&&i!=null?i.map(Jse).filter($o):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:fa.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>zm(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??f1(i),availability:o.availability?.convert(),description:o.description,...a}}).filter($o)).filter($o)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>zm(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?f1(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?f1(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter($o)).filter($o)}:void 0,n=this.isNullable?Jse(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var fyn=class extends EE{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 WEe=class extends EE{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(Cp(r)){let i=vE(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter($o),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 Q6a=xe(py());function FVf(e){return e3i.includes(e)}var dyn=class extends EE{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&&(FVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${e3i.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 Q6a.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 myn=class extends EE{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return Jse({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var j6a=xe(py());function kVf(e){return ZUi.includes(e)}var hyn=class extends EE{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&&(kVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${ZUi.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 j6a.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 N6a=xe(py());function QVf(e){return t3i.includes(e)}var gyn=class extends EE{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 N6a.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&&(QVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${t3i.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new WEe({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 M6a=xe(py());var Ayn=class extends EE{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,M6a.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var WTe=class extends hk{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=_tt(this.input);let t=vE(this.input,this.context.document);t?.enum!=null&&GEe(t)&&(this.maybeEnumConverterNode=new WEe({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:fa.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=vE(this.input,this.context.document);if(r!=null)return new dg({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var dg=class e extends hk{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 I3({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),GEe(this.input)&&D6a(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),Cp(this.input)){let t=_tt(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 WTe({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 uyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(T6a(this.input))this.typeShapeNode=new cyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(GEe(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new pyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(o3i(this.input)&&this.input.allOf!=null)this.typeShapeNode=new Stt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(GEe(this.input)&&this.input.enum!=null)this.typeShapeNode=new WEe({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":o3i(this.input)&&(this.typeShapeNode=new Stt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":qEe(this.input)&&(this.typeShapeNode=new ayn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":O6a(this.input)&&(this.typeShapeNode=new fyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":P6a(this.input)&&(this.typeShapeNode=new dyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":F6a(this.input)&&(this.typeShapeNode=new hyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":k6a(this.input)&&(this.typeShapeNode=new gyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":R6a(this.input)&&(this.typeShapeNode=new myn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new L6a.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 Stt({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 Ayn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!Cp(this.input)&&(!qEe(this.input)&&this.input==null||qEe(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=zm(t)?.map(n=>this.nullable?Jse(n):n).filter($o);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function $Ee(e){if(e!=null)return xtt(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter($o))}var AX=class extends EE{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;Cp(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 I3({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new dg({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=S6a(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function U6a(e,t){return Cp(e)?m1(e,t,void 0):e}var s3i=xe(py());function yyn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[fa.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var z6a=xe(oLn(),1),Btt=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=z6a.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 jVf(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var byn=class extends No{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 dg({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),jVf(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(Cp(r)?i=jAn(r.$ref,this.context.document):i=r,i!=null)return[t,new wtt({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter($o)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[fa.api.latest.AuthSchemeId(t),n]}).filter($o)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=zm(r.convert());return i==null?[t,void 0]:[fa.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>$o(r))):void 0}}};var Eyn=class extends dg{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=vE(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${Cp(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=vE(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 vyn=class extends No{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=vE(this.input.schema,this.context.document);this.availability=new I3({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=Cp(this.input.schema)?new WTe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=Btt.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new dg({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new Eyn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter($o))):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?{[lx]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[lx]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:zm(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=NV([this.method,this.path,this.contentType,"request"].join("_"));return yyn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:fa.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new s3i.UnreachableCaseError(i);return}}).filter($o)}convert(){if(this.schema instanceof WTe)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:fa.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:fa.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=zm(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:fa.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new s3i.UnreachableCaseError(i.multipartType),[]}}).filter($o).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var Iyn=class extends No{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=U6a(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new vyn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>zm(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter($o)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>zm(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter($o)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var V6a={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 q6a(e,t){if(Cp(e)){let r=m1(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var wyn=xe(py());var G6a="application/json";var W6a="application/octet-stream";function $6a(e,t){return e===t||t===lx||e===lx}var b1t=class extends No{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,u){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=u,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,u]of Object.entries(r))for(let c of u)$6a(a,o)&&(n.add(a),this.examples?.push(new gX({input:{requestExample:s,responseExample:c},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,zEe(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[u,c,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new gX({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,zEe(c,s),{requestBody:u,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,u,c]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new gX({input:{requestExample:c,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,zEe(u,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,u]of r.slice(t.length))this.examples?.push(...u.map(c=>new gX({input:{requestExample:s,responseExample:c},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,zEe(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[lx];if(o!=null)for(let s of o)this.examples?.push(new gX({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,zEe(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=Btt.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=G6a,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 dg({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=W6a,this.contentSubtype=vE(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 dg({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=KAn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[lx]??=[],r[lx]=[{value:this.input.example}]);let n=vE(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=KAn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[lx]??=[],r[lx]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[lx]??=[],r[lx]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([u])=>!i.has(u)&&u!==lx).map(([u,c])=>[a,u,c]));let s=Object.entries(r).filter(([a,u])=>!i.has(a)&&$o(u)&&a!==lx);Object.keys(r).every(a=>a===lx)||this.matchExamplesByIndex(o,s),!i.has(lx)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return zm(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new wyn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return zm(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=NV([this.method,this.path,this.statusCode,"response"].join("_"));return yyn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:fa.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new wyn.UnreachableCaseError(n);return}}).filter($o)}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 wyn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var E1t=class extends No{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=q6a(this.input,this.context.document);if(r==null){this.context.errors.error({message:Cp(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new AX({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new b1t({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new b1t({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter($o)}};var Cyn=class extends No{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new E1t({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new E1t({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return lyn($Ee(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter($o))})))}).filter($o)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=zm(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??V6a[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let u=a.convert();if(u!=null&&u.responseBody?.type==="json")return{name:u.name,description:u.description,responseBody:u.responseBody}}).filter($o)})).filter($o)})).filter($o)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var HEe=class extends No{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new gX({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,zEe(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new I3({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=UEe(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new oyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(Cp(n)){let o=eyn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new syn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new Iyn({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 Cyn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new Ctt({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new y1t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new y1t({input:{[FAn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new iyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>JAn({namespace:zm(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter($o),this.xFernExamplesNode=new nyn({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($o)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:fa.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter($o),i=b6a(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:y6a(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:fa.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(d=>d.value.toString())??[],queryParameters:$Ee(this.queryParameters)?.flat(),headers:$Ee(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter($o)}}).filter($o);let o=this.servers?.map(l=>l.convert()).filter($o),s=this.convertPathToPathParts();if(s==null)return;let a,u=this.auth?.convert();u!=null&&(a=Object.keys(u));let c=t?.flatMap(l=>l.headers).filter($o);return this.endpointIds.map((l,p)=>({id:fa.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(d=>fa.api.v1.SubpackageId(d)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(d=>fa.api.latest.AuthSchemeId(d)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:$Ee(this.pathParameters)?.flat(),queryParameters:$Ee(this.queryParameters)?.flat(),requestHeaders:$Ee(this.requestHeaders)?.flat(),responseHeaders:c!=null&&c.length>0?c:void 0,requests:this.requests?.convert(),responses:t?.map(d=>d.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var Ott=class extends No{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=UEe(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new HEe({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new HEe({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new HEe({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new HEe({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new HEe({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter($o)}};function xyn(e){return"payloads"in e}var _yn=class extends No{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new Ott({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:UEe(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter($o)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{xyn(o)?r[fa.WebhookId(o.id)]=o:t[fa.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var Syn=class extends No{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[j8a]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||eyn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new AX({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return xtt(this.globalHeaders,this.requiredProperties)?.flat()}};function H6a(e,t){if(Cp(e)){let r=m1(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Byn=class extends No{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=H6a(o,this.context.document);if(s!=null)return new Ott({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter($o)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{xyn(n)&&(t[fa.WebhookId(n.id)]=n)}),t),{})}};var Oyn=class extends No{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=UEe(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new Ctt({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new ZAn({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 _yn({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 Byn({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 byn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new Syn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=lC(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=R8a({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:fa.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};wi();async function a3i(e,t){if(e instanceof jS){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof Rp))return;let r=new D6(e.absoluteFilePath),n=await k4({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new DAn,generatedTypes:{}},u=new Oyn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=mje(o,u.convert())}return o}_g();Vt();var sZa=xe(l3i(),1),aZa=xe(h0n(),1),Xbn=require("fs/promises"),uZa=xe(require("http"),1),cZa=xe(require("path"),1);var W7a=require("events"),E0n=xe(require("fs"),1),rDe=xe(require("path"),1);var B7a=xe(require("os"),1),O7a=300,tve=20,G1t=1e7,P7a=B7a.default.platform();var XHf=P7a==="darwin",O5i=P7a==="win32",rve=XHf||O5i,T7a=3e3,D7a=2e4,P5i=1250;var vX;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(vX||(vX={}));var tDe;(function(e){e.CHANGE="change",e.RENAME="rename"})(tDe||(tDe={}));var W1t;(function(e){e.CHANGE="change",e.ERROR="error"})(W1t||(W1t={}));var Xa;(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"})(Xa||(Xa={}));var wT;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(wT||(wT={}));var ZHf=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,u=0,c=0,l=()=>{let E=Date.now(),I=E-u,w=E-c,x=I>=t||w>=o;return[E,x]},p=E=>{if(c=E,!s)return;let I=s;s=void 0,e.apply(void 0,I)},d=()=>{b(0)},f=()=>{a&&(d(),p(Date.now()))},m=E=>{if(c=E,n)return p(E)},h=E=>{if(i&&s)return p(E);s=void 0},g=()=>{a=void 0;let[E,I]=l();return I?h(E):A(E)},A=E=>{let I=E-u,w=E-c,x=t-I,C=o-w,_=Math.min(x,C);return b(_)},b=E=>{a&&clearTimeout(a),!(E<=0)&&(a=setTimeout(g,E))},v=(...E)=>{let[I,w]=l(),x=!!a;if(s=E,u=I,(w||!a)&&b(t),w)return x?p(I):m(I)};return v.cancel=d,v.flush=f,v},g0n=ZHf;var F5i=xe(require("fs"),1),y0n=xe(require("path"),1);var bf=xe(require("fs"),1),h1=require("util");var Xse=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},IX=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var T5i=xe(require("process"),1),R7a=T5i.default.getuid?!T5i.default.getuid():!1,F7a=1e4,bk=()=>{};var $1t={isChangeErrorOk:e=>{if(!$1t.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!R7a&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!$1t.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(!$1t.isNodeError(e))throw e;if(!$1t.isChangeErrorOk(e))throw e}},IE=$1t;var D5i=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=F7a,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},k7a=new D5i;var Zse=(e,t)=>function(n){return function i(...o){return k7a.schedule().then(s=>{let a=c=>(s(),c),u=c=>{if(s(),Date.now()>=n)throw c;if(t(c)){let l=Math.round(100*Math.random());return new Promise(d=>setTimeout(d,l)).then(()=>i.apply(void 0,o))}throw c};return e.apply(void 0,o).then(a,u)})}},eae=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var eKf={attempt:{chmod:Xse((0,h1.promisify)(bf.default.chmod),IE.onChangeError),chown:Xse((0,h1.promisify)(bf.default.chown),IE.onChangeError),close:Xse((0,h1.promisify)(bf.default.close),bk),fsync:Xse((0,h1.promisify)(bf.default.fsync),bk),mkdir:Xse((0,h1.promisify)(bf.default.mkdir),bk),realpath:Xse((0,h1.promisify)(bf.default.realpath),bk),stat:Xse((0,h1.promisify)(bf.default.stat),bk),unlink:Xse((0,h1.promisify)(bf.default.unlink),bk),chmodSync:IX(bf.default.chmodSync,IE.onChangeError),chownSync:IX(bf.default.chownSync,IE.onChangeError),closeSync:IX(bf.default.closeSync,bk),existsSync:IX(bf.default.existsSync,bk),fsyncSync:IX(bf.default.fsync,bk),mkdirSync:IX(bf.default.mkdirSync,bk),realpathSync:IX(bf.default.realpathSync,bk),statSync:IX(bf.default.statSync,bk),unlinkSync:IX(bf.default.unlinkSync,bk)},retry:{close:Zse((0,h1.promisify)(bf.default.close),IE.isRetriableError),fsync:Zse((0,h1.promisify)(bf.default.fsync),IE.isRetriableError),open:Zse((0,h1.promisify)(bf.default.open),IE.isRetriableError),readFile:Zse((0,h1.promisify)(bf.default.readFile),IE.isRetriableError),rename:Zse((0,h1.promisify)(bf.default.rename),IE.isRetriableError),stat:Zse((0,h1.promisify)(bf.default.stat),IE.isRetriableError),write:Zse((0,h1.promisify)(bf.default.write),IE.isRetriableError),writeFile:Zse((0,h1.promisify)(bf.default.writeFile),IE.isRetriableError),closeSync:eae(bf.default.closeSync,IE.isRetriableError),fsyncSync:eae(bf.default.fsyncSync,IE.isRetriableError),openSync:eae(bf.default.openSync,IE.isRetriableError),readFileSync:eae(bf.default.readFileSync,IE.isRetriableError),renameSync:eae(bf.default.renameSync,IE.isRetriableError),statSync:eae(bf.default.statSync,IE.isRetriableError),writeSync:eae(bf.default.writeSync,IE.isRetriableError),writeFileSync:eae(bf.default.writeFileSync,IE.isRetriableError)}},Q7a=eKf;var A0n=xe(require("fs"),1),H1t=xe(require("path"),1);var R5i=()=>{};var tKf=()=>{let e=R5i,t=R5i,r=!1,n=!1;return{promise:new Promise((u,c)=>{e=l=>(r=!0,u(l)),t=l=>(n=!0,c(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},j7a=tKf;var rKf=()=>{let{promise:e,resolve:t,isPending:r}=j7a(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},N7a=rKf;var M7a={then:e=>{e()}};var L7a=e=>Array.isArray(e)?e:[e],U7a=e=>typeof e=="function";var nKf=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=L7a(o).map(H=>U7a(H)?H:J=>H.test(J)),a=H=>s.some(J=>J(H)),u=t?.signal??{aborted:!1},c=t?.onDirents||(()=>{}),l=[],p=new Set,d={},f=[],m=new Set,h={},g=[],A=new Set,b={},v={},E=new Set,I={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},w={directories:l,directoriesNames:p,directoriesNamesToPaths:d,files:f,filesNames:m,filesNamesToPaths:h,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:x,increment:C,decrement:_}=N7a(),R=0,U=(H,J,Ae,ge)=>{E.has(J)||R>=i||(R+=1,H.directories.push(J),H.directoriesNames.add(Ae),l.push(J),p.add(Ae),d.propertyIsEnumerable(Ae)||(d[Ae]=[]),d[Ae].push(J),E.add(J),!(ge>=n)&&(R>=i||K(J,ge+1)))},z=(H,J,Ae)=>{E.has(J)||R>=i||(R+=1,H.files.push(J),H.filesNames.add(Ae),f.push(J),m.add(Ae),h.propertyIsEnumerable(Ae)||(h[Ae]=[]),h[Ae].push(J),E.add(J))},V=(H,J,Ae,ge)=>{E.has(J)||R>=i||(R+=1,H.symlinks.push(J),H.symlinksNames.add(Ae),g.push(J),A.add(Ae),b.propertyIsEnumerable(Ae)||(b[Ae]=[]),b[Ae].push(J),E.add(J),r&&(ge>=n||R>=i||ve(J,ge+1)))},te=(H,J,Ae,ge,Be)=>{u.aborted||a(J)||(ge.isDirectory()?U(H,J,Ae,Be):ge.isFile()?z(H,J,Ae):ge.isSymbolicLink()&&V(H,J,Ae,Be))},ie=(H,J,Ae,ge)=>{if(u.aborted)return;let Be=J===H1t.default.sep?"":H1t.default.sep,Ce=Ae.name,pe=`${J}${Be}${Ce}`;a(pe)||(Ae.isDirectory()?U(H,pe,Ce,ge):Ae.isFile()?z(H,pe,Ce):Ae.isSymbolicLink()&&V(H,pe,Ce,ge))},q=(H,J,Ae,ge)=>{for(let Be=0,Ce=Ae.length;Be<Ce;Be++)ie(H,J,Ae[Be],ge)},K=(H,J)=>{u.aborted||J>n||R>=i||(C(),A0n.default.readdir(H,{withFileTypes:!0},(Ae,ge)=>{if(Ae||u.aborted||!ge.length)return _();(c(ge)||M7a).then(()=>{let Ce=v[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};q(Ce,H,ge,J),_()})}))},ve=(H,J)=>{C(),A0n.default.realpath(H,(Ae,ge)=>{if(Ae||u.aborted)return _();A0n.default.stat(ge,(Be,Ce)=>{if(Be||u.aborted)return _();let pe=H1t.default.basename(ge),ue=v[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};te(ue,ge,pe,Ce,J),_()})})};return(async(H,J=1)=>(H=H1t.default.normalize(H),E.add(H),K(H,J),await x,u.aborted?I:w))(e)},z7a=nKf;var wX={lang:{debounce:g0n,attempt:e=>{try{return e()}catch(t){return wX.lang.castError(t)}},castArray:e=>wX.lang.isArray(e)?e:[e],castError:e=>wX.lang.isError(e)?e:wX.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(wX.lang.isNaN(e))return wX.lang.isNaN(t);if(wX.lang.isPrimitive(e)||wX.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(y0n.default.sep).length-1),getRealPath:(e,t)=>{try{return t?F5i.default.realpathSync.native(e):F5i.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===y0n.default.sep&&t.length-e.length>y0n.default.sep.length,poll:(e,t=D7a)=>Q7a.retry.stat(t)(e,{bigint:!0}).catch(wX.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await z7a(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},al=wX;var b0n=xe(require("path"),1);var k5i=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||al.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=O7a){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,u)=>{let c=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...u]),p=this.eventsDeduplicate([...c,...l]);this.onTargetEvents(p)},s=al.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,u="",c=!1)=>{c?await this.eventsPopulate([u],n,!0):i.add(u),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Xa.CHANGE&&a===Xa.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Xa.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Xa.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??tve:Math.min(1,this.options.depth??tve),s=this.options.limit??G1t,[a,u]=await al.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),c=[...a,...u];return await Promise.all(c.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())al.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Xa.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!rve&&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(Xa.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Xa.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(b0n.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Xa.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(b0n.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(Xa.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Xa.ADD?this.onTargetAdd(n):r===Xa.ADD_DIR?this.onTargetAddDir(n):r===Xa.CHANGE?this.onTargetChange(n):r===Xa.UNLINK?this.onTargetUnlink(n):r===Xa.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=tDe.CHANGE,r){if(this.watcher.isClosed())return;let n=b0n.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){O5i&&t.code==="EPERM"?this.onWatcherChange(tDe.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(W1t.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(W1t.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(tDe.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&rve&&this.options.native!==!1?this.options.depth??tve:Math.min(1,this.options.depth??tve),n=this.options.limit??G1t,[i,o]=await al.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(tDe.CHANGE,a,t)}))}}},V7a=k5i;var CT={interval:100,intervalId:void 0,fns:new Map,init:()=>{CT.intervalId||(CT.intervalId=setInterval(CT.resolve,CT.interval))},reset:()=>{CT.intervalId&&(clearInterval(CT.intervalId),delete CT.intervalId)},add:(e,t)=>{CT.fns.set(e,Date.now()+t),CT.init()},remove:e=>{CT.fns.delete(e)},resolve:()=>{if(!CT.fns.size)return CT.reset();let e=Date.now();for(let[t,r]of CT.fns)r>=e||(CT.remove(t),t())}},K1t=CT;var J1t=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=P5i){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,d=>d!==i);if(p&&p!==i){if(al.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let u=()=>{s.add.delete(n),K1t.remove(c)},c=()=>{u(),a()};K1t.add(c,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;u();let d=p();i===d?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,d,i)};s.add.set(n,l),l()}getLockUnlink(t,r=P5i){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let u=()=>{s.unlink.delete(n),K1t.remove(c)},c=()=>{u(),a()};K1t.add(c,r);let l=()=>(u(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Xa.ADD,vX.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Xa.ADD_DIR,vX.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Xa.UNLINK,vX.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Xa.UNLINK_DIR,vX.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};J1t.DIR_EVENTS={add:Xa.ADD_DIR,rename:Xa.RENAME_DIR,unlink:Xa.UNLINK_DIR};J1t.FILE_EVENTS={add:Xa.ADD,change:Xa.CHANGE,rename:Xa.RENAME,unlink:Xa.UNLINK};var q7a=J1t;var Q5i=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(al.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(al.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(al.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(al.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return al.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);al.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},j5i=Q5i;var N5i=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}},G7a=N5i;var M5i=class{constructor(){this.inos={},this.paths=new j5i,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await al.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new G7a(n)}reset(){this.inos={},this.paths=new j5i,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Xa.ADD,i),[Xa.ADD];if(i.isDirectory())return this.updateIno(t,Xa.ADD_DIR,i),[Xa.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Xa.UNLINK,n),[Xa.UNLINK];if(n.isDirectory())return this.updateIno(t,Xa.UNLINK_DIR,n),[Xa.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Xa.CHANGE,i),[Xa.CHANGE]);if(i.isDirectory())return this.updateIno(t,Xa.UNLINK,n),this.updateIno(t,Xa.ADD_DIR,i),[Xa.UNLINK,Xa.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Xa.UNLINK_DIR,n),this.updateIno(t,Xa.ADD,i),[Xa.UNLINK_DIR,Xa.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Xa.UNLINK_DIR,n),this.updateIno(t,Xa.ADD_DIR,i),[Xa.UNLINK_DIR,Xa.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?vX.FILE:vX.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},L5i=M5i;var U5i=class e extends W7a.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(wT.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(wT.CLOSE,i)),this._readyWait=new Promise(i=>this.on(wT.READY,i)),this._locker=new q7a(this),this._roots=new Set,this._poller=new L5i,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(al.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(wT.CLOSE))}error(t){if(this.isClosed())return!1;let r=al.lang.castError(t);return this.emit(wT.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(wT.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(wT.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&al.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&al.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)al.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new V7a(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=al.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=rDe.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??tve))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&rve&&l.options.native!==!1)))return!0;if(!rve)break;let c=rDe.default.dirname(t);if(s===c)break;s=c}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=al.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let u=!r.recursive||rve&&r.native!==!1?r:{...r,recursive:!1},l={watcher:E0n.default.watch(a,u),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},m=rDe.default.dirname(a),h=a;await this.watchDirectories([m],f,n,h,p)}}catch(u){this.error(u)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||rve&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??tve,a=r.limit??G1t,[u]=await al.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let c=await this.watchDirectories([t],r,n,i,o);if(u.length){let l=al.fs.getDepth(t);for(let p of u){let d=al.fs.getDepth(p),f=Math.max(0,s-(d-l)),m={...r,depth:f};await this.watchDirectories([p],m,n,i,o||c)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(c,l)=>{l===t&&(u(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(wT.CLOSE,u),s.watchFile(t,r,o)},u=()=>{this._subwatchers.delete(i),this.removeListener(wT.CLOSE,u),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=rDe.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new L5i,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return al.lang.noop;if(this.pollerExists(t,r))return al.lang.noop;let i={...r,interval:r.pollingInterval??T7a},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(wT.CLOSE,a),E0n.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(wT.CLOSE,a),E0n.default.unwatchFile(t,n)};return al.lang.attempt(s),()=>al.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=al.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,u)=>u===s||!al.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=rDe.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await al.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=rDe.default.dirname(t);return(await al.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=al.lang.noop){if(al.lang.isFunction(t))return this.watch([],{},t);if(al.lang.isUndefined(t))return this.watch([],r,n);if(al.lang.isFunction(r))return this.watch(t,{},r);if(al.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=al.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==al.lang.noop&&this.on(wT.ALL,n),r.readdirMap=void 0,this.ready())}},v0n=U5i;k0n();Vt();var Ztt=require("fs/promises"),XWa=require("os"),ZWa=xe(require("path"),1),_Jf=".fern",SJf="logs";function BJf(){return"cli@4.21.1"}var uDe=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Ge(zt.of((0,XWa.homedir)()),Se.of(_Jf)),r=Ge(t,Se.of(SJf));await Xt(r)||await(0,Ztt.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Ge(r,Se.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${ZWa.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
2105
+ `);try{return wr.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Ge(t,Se.of(r));if(!(0,yUi.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=ma(this.docsWorkspace.absoluteFilePath,n),o=await(0,LEe.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,Ct.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:Gd(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:Gd(o.title)}),a=this.#e.get(`library-section/${o.slug}`),u=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),c=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(c,r,s);i.push({id:a,type:"section",overviewPageId:u,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=Ct.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??Gd(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),u=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:u??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?Ct.PageId(s):void 0,u=this.#e.get(a??`${t}/section`),c=n.apply({urlSlug:r.slug??Gd(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,d=i||r.hidden,m=(await Promise.all(r.contents.map(h=>this.toNavigationChild({prefix:u,item:h,parentSlug:c,hideChildren:d,parentAvailability:r.availability??o})))).filter(h=>h!=null);if(a==null){let h=m.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);h!=null&&(a=h.overviewPageId)}return{id:u,type:"section",overviewPageId:a,slug:c.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,collapsible:r.collapsible,collapsedByDefault:r.collapsedByDefault,hidden:d,viewers:r.viewers,orphaned:r.orphaned,children:m,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return uw(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new VTe(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:Ct.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??Gd(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??Gd(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):nP.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(da),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:nP.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,"og:background-image":i,...o}=this.parsedDocsConfig.metadata;return{...o,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n),"og:background-image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return uw(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:nP.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}resolveLinksInIrDocs(t,r){let n={absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.docsWorkspace.absoluteFilePath};OAn(t,r,n)}};function cVf(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${ET(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function lVf(e){switch(e){case"beta":return Ct.V1.NavigationV1Availability.Beta;case"deprecated":return Ct.V1.NavigationV1Availability.Deprecated;case"ga":return Ct.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Ct.V1.NavigationV1Availability.Stable;default:_e(e)}}Qt();async function d1(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof Rp?t:null))).filter(da)}async function bUi(e,t,r){if(e instanceof jS){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof Rp))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return bT({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var fa={};Y(fa,{AlgoliaSearchIndex:()=>yza,ApiDefinitionId:()=>Mza,ApiId:()=>Vza,Availability:()=>i8a,DocsConfigId:()=>qza,EndpointId:()=>Wza,EndpointPathLiteral:()=>r8a,EnvironmentId:()=>Gza,FileId:()=>Yza,HttpMethod:()=>n8a,IndexSegmentId:()=>bza,JqString:()=>Zza,OrgId:()=>Uza,PageId:()=>Jza,PayloadLocation:()=>T8a,PropertyKey:()=>e8a,PullRequestState:()=>_8a,RoleId:()=>t8a,TokenId:()=>zza,TypeId:()=>Kza,Url:()=>Xza,VersionId:()=>Lza,WebSocketId:()=>$za,WebhookId:()=>Hza,algolia:()=>EUi,api:()=>PUi,commons:()=>TUi,diff:()=>o8a,docs:()=>LUi,generators:()=>zUi,git:()=>VUi,navigation:()=>WUi,sdks:()=>HUi,snippets:()=>O8a,snippetsFactory:()=>P8a,templates:()=>KUi,tokens:()=>D8a});var EUi={};Y(EUi,{AlgoliaSearchIndex:()=>yza,IndexSegmentId:()=>bza});function yza(e){return e}function bza(e){return e}var PUi={};Y(PUi,{latest:()=>wUi,v1:()=>OUi});var wUi={};Y(wUi,{AuthSchemeId:()=>Eza,WebhookHttpMethod:()=>Cza,auth:()=>vUi,commons:()=>vza,endpoint:()=>Iza,type_:()=>wza,webhook:()=>IUi,websocket:()=>xza});var vUi={};Y(vUi,{AuthSchemeId:()=>Eza});function Eza(e){return e}var vza={};var Iza={};var wza={};var IUi={};Y(IUi,{WebhookHttpMethod:()=>Cza});var Cza={Get:"GET",Post:"POST"};var xza={};var OUi={};Y(OUi,{SubpackageId:()=>kza,WebSocketMessageId:()=>Qza,WebSocketMessageOrigin:()=>jza,WebhookHttpMethod:()=>Nza,commons:()=>BUi,db:()=>CUi,read:()=>_Ui,register:()=>SUi});var CUi={};Y(CUi,{endpoint:()=>_za});var _za={};var _Ui={};Y(_Ui,{SupportedLanguage:()=>Sza,endpoint:()=>xUi,type_:()=>Bza,webhook:()=>Oza,websocket:()=>Pza});var xUi={};Y(xUi,{SupportedLanguage:()=>Sza});var Sza={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var Bza={};var Oza={};var Pza={};var SUi={};Y(SUi,{SourceId:()=>pVf,endpoint:()=>Tza,type_:()=>Dza,webhook:()=>Rza,websocket:()=>Fza});var Tza={};var Dza={};var Rza={};var Fza={};function pVf(e){return e}var BUi={};Y(BUi,{SubpackageId:()=>kza,WebSocketMessageId:()=>Qza,WebSocketMessageOrigin:()=>jza,WebhookHttpMethod:()=>Nza});function kza(e){return e}function Qza(e){return e}var jza={Client:"client",Server:"server"};var Nza={Get:"GET",Post:"POST"};var TUi={};Y(TUi,{ApiDefinitionId:()=>Mza,ApiId:()=>Vza,Availability:()=>i8a,DocsConfigId:()=>qza,EndpointId:()=>Wza,EndpointPathLiteral:()=>r8a,EnvironmentId:()=>Gza,FileId:()=>Yza,HttpMethod:()=>n8a,JqString:()=>Zza,OrgId:()=>Uza,PageId:()=>Jza,PropertyKey:()=>e8a,RoleId:()=>t8a,TokenId:()=>zza,TypeId:()=>Kza,Url:()=>Xza,VersionId:()=>Lza,WebSocketId:()=>$za,WebhookId:()=>Hza});function Mza(e){return e}function Lza(e){return e}function Uza(e){return e}function zza(e){return e}function Vza(e){return e}function qza(e){return e}function Gza(e){return e}function Wza(e){return e}function $za(e){return e}function Hza(e){return e}function Kza(e){return e}function Jza(e){return e}function Yza(e){return e}function Xza(e){return e}function Zza(e){return e}function e8a(e){return e}function t8a(e){return e}function r8a(e){return e}var n8a={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var i8a={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var o8a={};var LUi={};Y(LUi,{latest:()=>FUi,v1:()=>NUi,v2:()=>MUi});var FUi={};Y(FUi,{Layout:()=>a8a,MdxEngine:()=>fVf,TwitterCardSetting:()=>u8a,commons:()=>s8a,frontmatter:()=>DUi,seo:()=>RUi});var fVf={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var s8a={};var DUi={};Y(DUi,{Layout:()=>a8a});var a8a={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var RUi={};Y(RUi,{TwitterCardSetting:()=>u8a});var u8a={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var NUi={};Y(NUi,{commons:()=>jUi,db:()=>c8a,read:()=>l8a,write:()=>kUi});var c8a={};var l8a={};var kUi={};Y(kUi,{DocsRegistrationId:()=>mVf,FilePath:()=>dVf});function dVf(e){return e}function mVf(e){return e}var jUi={};Y(jUi,{ContentAlignment:()=>m8a,FontDisplay:()=>b8a,FontStyle:()=>y8a,HeaderPosition:()=>h8a,JsScriptStrategy:()=>A8a,ProgrammingLanguage:()=>p8a,SearchbarPlacement:()=>f8a,TabsPlacement:()=>d8a,TwitterCardSetting:()=>g8a,commons:()=>QUi});var QUi={};Y(QUi,{ContentAlignment:()=>m8a,FontDisplay:()=>b8a,FontStyle:()=>y8a,HeaderPosition:()=>h8a,JsScriptStrategy:()=>A8a,ProgrammingLanguage:()=>p8a,SearchbarPlacement:()=>f8a,TabsPlacement:()=>d8a,TwitterCardSetting:()=>g8a});var p8a={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 f8a={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var d8a={Header:"HEADER",Sidebar:"SIDEBAR"};var m8a={Center:"CENTER",Left:"LEFT"};var h8a={Fixed:"FIXED",Absolute:"ABSOLUTE"};var g8a={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var A8a={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var y8a={Normal:"normal",Italic:"italic"};var b8a={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var MUi={};Y(MUi,{read:()=>E8a,write:()=>v8a});var E8a={};var v8a={};var zUi={};Y(zUi,{ChangelogEntryType:()=>w8a,GeneratorId:()=>hVf,GeneratorLanguage:()=>gVf,ReleaseType:()=>C8a,cli:()=>I8a,commons:()=>UUi,versions:()=>x8a});var I8a={};var UUi={};Y(UUi,{ChangelogEntryType:()=>w8a,ReleaseType:()=>C8a});var w8a={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var C8a={Ga:"GA",Rc:"RC"};var x8a={};function hVf(e){return e}var gVf={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var VUi={};Y(VUi,{PullRequestState:()=>_8a});var _8a={Open:"open",Closed:"closed",Merged:"merged"};var WUi={};Y(WUi,{latest:()=>qUi,v1:()=>GUi});var qUi={};Y(qUi,{NodeId:()=>bVf,ProductId:()=>EVf,Slug:()=>AVf,TabId:()=>yVf});function AVf(e){return e}function yVf(e){return e}function bVf(e){return e}function EVf(e){return e}var GUi={};Y(GUi,{NavigationV1Availability:()=>xVf,NodeId:()=>wVf,ProductId:()=>CVf,Slug:()=>vVf,TabId:()=>IVf});function vVf(e){return e}function IVf(e){return e}function wVf(e){return e}function CVf(e){return e}var xVf={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var HUi={};Y(HUi,{Language:()=>S8a,VersionBump:()=>B8a,versions:()=>$Ui});var $Ui={};Y($Ui,{Language:()=>S8a,VersionBump:()=>B8a});var S8a={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var B8a={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var O8a={};var P8a={};var KUi={};Y(KUi,{PayloadLocation:()=>T8a});var T8a={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var D8a={};var DAn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function R8a({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=fa.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:f1(o)},i.push(o)})}),r}var RAn=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 F8a(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var No=class extends RAn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${F8a(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})}}},EE=class extends No{},hk=class extends EE{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var k8a="x-fern-base-path",Q8a="x-fern-availability",FAn="x-fern-sdk-group-name",j8a="x-fern-global-headers",N8a="x-fern-sdk-method-name";var M8a="x-fern-webhook",L8a="x-fern-access-token-locator",U8a="x-fern-basic",z8a="x-fern-username-variable-name",V8a="x-fern-password-variable-name",q8a="x-fern-bearer",G8a="x-fern-token-variable-name",W8a="x-fern-header",$8a="x-fern-header-variable-name",H8a="x-fern-server-name",K8a="x-fern-examples";var kAn=class extends No{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[H8a]}convert(){if(this.serverName!=null)return this.serverName}};var QAn=class extends No{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new kAn({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:fa.EnvironmentId(t),baseUrl:this.url}}};function UEe(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,u)=>new QAn({input:a,context:r,accessPath:n,pathId:["servers",`${u}`]}));return[...i,...s]}function Cp(e){return typeof e=="object"&&$o(e)&&"$ref"in e&&typeof e.$ref=="string"}function m1(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(Cp(i)&&(i=m1(i,t,r)),i)}function jAn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return Cp(r)?m1(r,t,void 0):r}var h6a=xe(py());var NAn=class extends No{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[U8a];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var MAn=class extends No{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[V8a]}convert(){return this.passwordVariableName}};var LAn=class extends No{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[z8a]}convert(){return this.usernameVariableName}};var UAn=class extends No{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[q8a];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var zAn=class extends No{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[G8a]}convert(){return this.tokenVariableName}};function J8a(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Y8a="x-bearer-format",X8a="x-code-samples",Z8a="x-codeSamples";var VAn=class extends No{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Y8a]}convert(){return this.bearerFormat}};var qAn=class extends No{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[W8a];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var GAn=class extends No{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[$8a]}convert(){return this.headerVariableName}};function e6a(e){return e.type==="apiKey"}var vtt=class extends No{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){e6a(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new qAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new GAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new VAn({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()}}};uri();Sps();function WAn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Itt(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function qTe(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(qTe).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function $An(e){if(Array.isArray(e))return e.map(Itt);if(typeof e=="symbol")return[e];e=qTe(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function A1t(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(Rer(t))return r;let n=e[t];return n===void 0?WAn(t)?A1t(e,$An(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=Itt(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return _Vf(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),Rer(t))return r;let n=e[t];return n===void 0?r:n}}}function _Vf(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||Rer(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function t6a(e){return function(t){return A1t(t,e)}}function r6a(e){return e!==null&&(typeof e=="object"||typeof e=="function")}Lei();function JUi(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function XUi(e,t,r){return typeof r!="function"?XUi(e,t,()=>{}):YUi(e,t,function n(i,o,s,a,u,c){let l=r(i,o,s,a,u,c);return l!==void 0?!!l:YUi(i,o,n,c)},new Map)}function YUi(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return SVf(e,t,r,n);case"function":return Object.keys(t).length>0?YUi(e,{...t},r,n):JUi(e,t);default:return r6a(e)?typeof t=="string"?t==="":!0:JUi(e,t)}}function SVf(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return n6a(e,t,r,n);if(t instanceof Map)return BVf(e,t,r,n);if(t instanceof Set)return OVf(e,t,r,n);let i=Object.keys(t);if(e==null||zht(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!zht(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function BVf(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function n6a(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let u=0;u<e.length;u++){if(i.has(u))continue;let c=e[u],l=!1;if(r(c,s,o,e,t,n)&&(l=!0),l){i.add(u),a=!0;break}}if(!a)return!1}return!0}function OVf(e,t,r,n){return t.size===0?!0:e instanceof Set?n6a([...e],[...t],r,n):!1}function HAn(e,t){return XUi(e,t,()=>{})}_ps();function i6a(e){return e=xps(e),t=>HAn(t,e)}zei();Ser();Uei();function o6a(e,t){return Cps(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(A3e(e)===Der&&typeof e.constructor!="function"){let a={};return o.set(e,a),mM(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case Oer:case Ber:case Per:{let a=new e.constructor(e?.valueOf());return mM(a,e),a}case Ter:{let a={};return mM(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function s6a(e){return o6a(e)}var PVf=/^(?:0|[1-9]\d*)$/;function a6a(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 PVf.test(e)}}Ser();function u6a(e){return e!==null&&typeof e=="object"&&A3e(e)==="[object Arguments]"}function c6a(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&WAn(t)&&e?.[t]==null?r=$An(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||u6a(n))&&a6a(o)&&o<n.length))return!1;n=n[o]}return!0}function l6a(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Itt(e);break}}return t=s6a(t),function(r){let n=A1t(r,e);return n===void 0?c6a(r,e):t===void 0?n===void 0:HAn(n,t)}}function p6a(e){if(e==null)return Gtr;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?l6a(e[0],e[1]):i6a(e);case"string":case"symbol":case"number":return t6a(e)}}uri();Vei();function KAn(e,t=Gtr){return e==null?{}:A_(e,p6a(t))}JAs();function f6a(e){return KAs(qTe(e))}Tps();function d6a(e){return typeof e!="string"&&(e=qTe(e)),e.replace(/['\u2019]/g,"")}function NV(e){return Pps(d6a(f6a(e)))}function zm(e){if(e!=null)return Array.isArray(e)?e:[e]}function JAn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${TVf(s)}${DVf(e)}.${RVf(n,i,o,a)}`}function TVf(e){return e?"webhook_":"endpoint_"}function DVf(e){return e!=null?zm(e)?.map(t=>NV(t)).join("/"):""}function RVf(e,t,r,n){return e||t||NV(r??"")||NV(n??"")}function m6a(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var YAn=class extends No{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[L8a],this.accessTokenLocator!=null&&(m6a(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 XAn=class extends No{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 vtt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new YAn({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=JAn({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:fa.EndpointId(r),accessTokenLocator:fa.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var wtt=class extends No{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 NAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new LAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new MAn({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 UAn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new zAn({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":{J8a(this.input)?(this.authScheme="header",this.headerAuthNode=new vtt({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 XAn({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 h6a.UnreachableCaseError(this.authScheme);return}}};var Ctt=class extends No{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=jAn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new wtt({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter($o))}};var ZAn=class extends No{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[k8a],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 g6a(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function A6a(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function xtt(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>zm(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!g6a(i))&&(s=A6a(s,s.type==="enum"?s.default:void 0)),{key:fa.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter($o)).filter($o).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function eyn(e,t){return Cp(e)?m1(e,t,void 0):e}function zEe(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function y6a(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function b6a(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var E6a=xe(py());var ZUi=["decimal","decimal128","double-int","double","float","sf-decimal"],e3i=["int16","int32","int64","int8","sf-integer","uint8"],t3i=["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"],r3i=["beta","pre-release","in-development","generally-available","deprecated"];function vE(e,t){return Cp(e)?m1(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var I3=class extends No{availability;constructor(t){super(t),this.safeParse()}parse(){if(vE(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[Q8a];r!=null&&(r3i.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${r3i.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return fa.Availability.Beta;case"in-development":return fa.Availability.InDevelopment;case"generally-available":return fa.Availability.GenerallyAvailable;case"deprecated":return fa.Availability.Deprecated;case void 0:return;default:new E6a.UnreachableCaseError(this.availability);return}}};var ryn=xe(py());function v6a(e){return typeof e=="object"&&e!=null&&"language"in e}function I6a(e){return typeof e=="object"&&e!=null&&"sdk"in e}function w6a(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function C6a(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function tyn(e){return typeof e=="object"&&e!=null&&"event"in e}function n3i(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(tyn)}function VEe(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function x6a(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var nyn=class extends No{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[K8a]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return VEe(s)?[i,{type:"filenameWithData",filename:s.filename,data:fa.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>VEe(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:fa.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new ryn.UnreachableCaseError(o.multipartType);return}}).filter($o))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=x6a(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new ryn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{w6a(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{n3i(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!n3i(r.response)&&C6a(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new ryn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{v6a(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):I6a(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let u=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,d])=>[fa.PropertyKey(p),d])),c=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,d])=>[fa.PropertyKey(p),d])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,d])=>[fa.PropertyKey(p),d]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(u).length>0?u:void 0,queryParameters:Object.keys(c).length>0?c:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var y1t=class extends No{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[FAn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>fa.api.v1.SubpackageId(NV(r)))}};var iyn=class extends No{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[N8a]}convert(){return this.sdkMethodName}};var oyn=class extends No{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[M8a]}convert(){return this.isWebhook}};var syn=class extends No{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[X8a]??[],...this.input[Z8a]??[]],this.codeSamples.forEach(t=>{[...Object.values(fa.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 GTe=xe(py());function i3i(e,t){return Cp(e)?m1(e,t,void 0):e}function _6a(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var lx="",gX=class extends No{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(VEe(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>VEe(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new GTe.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=i3i(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=i3i(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 GTe.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(tyn)){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 GTe.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return VEe(i)?[r,{type:"filenameWithData",filename:i.filename,data:fa.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>VEe(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:fa.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new GTe.UnreachableCaseError(n.multipartType);return}}).filter($o))};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 GTe.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 GTe.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter($o));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter($o));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:_6a(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?f1(this.name):this.summary!=null?f1(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function S6a(e,t){return Cp(e)?m1(e,t,void 0):e}var L6a=xe(py());var B6a="#/components/schemas/";function _tt(e){if(e.$ref.startsWith(B6a))return e.$ref.replace(B6a,"")}function Jse(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function qEe(e){return typeof e.type=="string"&&e.type==="array"}function O6a(e){return e.type==="boolean"}function P6a(e){return e.type==="integer"}function GEe(e){return!Array.isArray(e.type)&&!qEe(e)}function T6a(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||GEe(t)||qEe(t))}function D6a(e){return"nullable"in e&&typeof e.nullable=="boolean"}function R6a(e){return e.type==="null"}function F6a(e){return e.type==="number"}function o3i(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function k6a(e){return e.type==="string"}var ayn=class extends hk{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new dg({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 zm(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 uyn=class extends EE{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 I3({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 cyn=class extends hk{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 dg({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter($o)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>zm(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter($o).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(Jse).filter($o):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function lyn(e){return e!=null&&e.length>0?e:[void 0]}var Stt=class extends hk{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 dg({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 dg({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(Cp(t))return _tt(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new dg({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter($o))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return xtt(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}}}]:zm(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($o)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>lyn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>fa.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=vE(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new dg({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var pyn=class extends hk{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=>vE(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>vE(t,this.context.document)?.type!=="null"?new dg({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter($o);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([n,i])=>{let o=vE({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new dg({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter($o);return this.isNullable&&i!=null?i.map(Jse).filter($o):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:fa.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>zm(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??f1(i),availability:o.availability?.convert(),description:o.description,...a}}).filter($o)).filter($o)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>zm(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?f1(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?f1(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter($o)).filter($o)}:void 0,n=this.isNullable?Jse(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var fyn=class extends EE{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 WEe=class extends EE{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(Cp(r)){let i=vE(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter($o),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 Q6a=xe(py());function FVf(e){return e3i.includes(e)}var dyn=class extends EE{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&&(FVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${e3i.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 Q6a.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 myn=class extends EE{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return Jse({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var j6a=xe(py());function kVf(e){return ZUi.includes(e)}var hyn=class extends EE{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&&(kVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${ZUi.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 j6a.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 N6a=xe(py());function QVf(e){return t3i.includes(e)}var gyn=class extends EE{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 N6a.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&&(QVf(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${t3i.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new WEe({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 M6a=xe(py());var Ayn=class extends EE{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,M6a.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var WTe=class extends hk{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=_tt(this.input);let t=vE(this.input,this.context.document);t?.enum!=null&&GEe(t)&&(this.maybeEnumConverterNode=new WEe({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:fa.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=vE(this.input,this.context.document);if(r!=null)return new dg({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var dg=class e extends hk{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 I3({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),GEe(this.input)&&D6a(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),Cp(this.input)){let t=_tt(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 WTe({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 uyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(T6a(this.input))this.typeShapeNode=new cyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(GEe(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new pyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(o3i(this.input)&&this.input.allOf!=null)this.typeShapeNode=new Stt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(GEe(this.input)&&this.input.enum!=null)this.typeShapeNode=new WEe({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":o3i(this.input)&&(this.typeShapeNode=new Stt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":qEe(this.input)&&(this.typeShapeNode=new ayn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":O6a(this.input)&&(this.typeShapeNode=new fyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":P6a(this.input)&&(this.typeShapeNode=new dyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":F6a(this.input)&&(this.typeShapeNode=new hyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":k6a(this.input)&&(this.typeShapeNode=new gyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":R6a(this.input)&&(this.typeShapeNode=new myn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new L6a.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 Stt({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 Ayn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!Cp(this.input)&&(!qEe(this.input)&&this.input==null||qEe(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=zm(t)?.map(n=>this.nullable?Jse(n):n).filter($o);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function $Ee(e){if(e!=null)return xtt(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter($o))}var AX=class extends EE{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;Cp(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 I3({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new dg({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=S6a(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function U6a(e,t){return Cp(e)?m1(e,t,void 0):e}var s3i=xe(py());function yyn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[fa.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var z6a=xe(oLn(),1),Btt=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=z6a.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 jVf(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var byn=class extends No{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 dg({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),jVf(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(Cp(r)?i=jAn(r.$ref,this.context.document):i=r,i!=null)return[t,new wtt({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter($o)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[fa.api.latest.AuthSchemeId(t),n]}).filter($o)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=zm(r.convert());return i==null?[t,void 0]:[fa.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>$o(r))):void 0}}};var Eyn=class extends dg{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=vE(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${Cp(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=vE(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 vyn=class extends No{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=vE(this.input.schema,this.context.document);this.availability=new I3({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=Cp(this.input.schema)?new WTe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=Btt.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new dg({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new Eyn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter($o))):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?{[lx]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[lx]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:zm(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=NV([this.method,this.path,this.contentType,"request"].join("_"));return yyn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:fa.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new s3i.UnreachableCaseError(i);return}}).filter($o)}convert(){if(this.schema instanceof WTe)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:fa.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:fa.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=zm(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:fa.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new s3i.UnreachableCaseError(i.multipartType),[]}}).filter($o).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var Iyn=class extends No{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=U6a(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new vyn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>zm(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter($o)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>zm(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter($o)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var V6a={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 q6a(e,t){if(Cp(e)){let r=m1(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var wyn=xe(py());var G6a="application/json";var W6a="application/octet-stream";function $6a(e,t){return e===t||t===lx||e===lx}var b1t=class extends No{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,u){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=u,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,u]of Object.entries(r))for(let c of u)$6a(a,o)&&(n.add(a),this.examples?.push(new gX({input:{requestExample:s,responseExample:c},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,zEe(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[u,c,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new gX({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,zEe(c,s),{requestBody:u,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,u,c]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new gX({input:{requestExample:c,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,zEe(u,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,u]of r.slice(t.length))this.examples?.push(...u.map(c=>new gX({input:{requestExample:s,responseExample:c},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,zEe(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[lx];if(o!=null)for(let s of o)this.examples?.push(new gX({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,zEe(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=Btt.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=G6a,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 dg({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=W6a,this.contentSubtype=vE(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 dg({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=KAn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[lx]??=[],r[lx]=[{value:this.input.example}]);let n=vE(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=KAn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[lx]??=[],r[lx]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[lx]??=[],r[lx]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([u])=>!i.has(u)&&u!==lx).map(([u,c])=>[a,u,c]));let s=Object.entries(r).filter(([a,u])=>!i.has(a)&&$o(u)&&a!==lx);Object.keys(r).every(a=>a===lx)||this.matchExamplesByIndex(o,s),!i.has(lx)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return zm(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new wyn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return zm(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=NV([this.method,this.path,this.statusCode,"response"].join("_"));return yyn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:fa.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new wyn.UnreachableCaseError(n);return}}).filter($o)}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 wyn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var E1t=class extends No{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=q6a(this.input,this.context.document);if(r==null){this.context.errors.error({message:Cp(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new AX({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new b1t({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new b1t({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter($o)}};var Cyn=class extends No{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new E1t({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new E1t({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return lyn($Ee(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter($o))})))}).filter($o)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=zm(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??V6a[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let u=a.convert();if(u!=null&&u.responseBody?.type==="json")return{name:u.name,description:u.description,responseBody:u.responseBody}}).filter($o)})).filter($o)})).filter($o)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var HEe=class extends No{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new gX({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,zEe(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new I3({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=UEe(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new oyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(Cp(n)){let o=eyn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new AX({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new syn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new Iyn({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 Cyn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new Ctt({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new y1t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new y1t({input:{[FAn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new iyn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>JAn({namespace:zm(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter($o),this.xFernExamplesNode=new nyn({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($o)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:fa.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter($o),i=b6a(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:y6a(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:fa.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(d=>d.value.toString())??[],queryParameters:$Ee(this.queryParameters)?.flat(),headers:$Ee(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter($o)}}).filter($o);let o=this.servers?.map(l=>l.convert()).filter($o),s=this.convertPathToPathParts();if(s==null)return;let a,u=this.auth?.convert();u!=null&&(a=Object.keys(u));let c=t?.flatMap(l=>l.headers).filter($o);return this.endpointIds.map((l,p)=>({id:fa.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(d=>fa.api.v1.SubpackageId(d)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(d=>fa.api.latest.AuthSchemeId(d)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:$Ee(this.pathParameters)?.flat(),queryParameters:$Ee(this.queryParameters)?.flat(),requestHeaders:$Ee(this.requestHeaders)?.flat(),responseHeaders:c!=null&&c.length>0?c:void 0,requests:this.requests?.convert(),responses:t?.map(d=>d.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var Ott=class extends No{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=UEe(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new HEe({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new HEe({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new HEe({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new HEe({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new HEe({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter($o)}};function xyn(e){return"payloads"in e}var _yn=class extends No{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new Ott({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:UEe(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter($o)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{xyn(o)?r[fa.WebhookId(o.id)]=o:t[fa.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var Syn=class extends No{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[j8a]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||eyn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new AX({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return xtt(this.globalHeaders,this.requiredProperties)?.flat()}};function H6a(e,t){if(Cp(e)){let r=m1(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Byn=class extends No{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=H6a(o,this.context.document);if(s!=null)return new Ott({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter($o)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{xyn(n)&&(t[fa.WebhookId(n.id)]=n)}),t),{})}};var Oyn=class extends No{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=UEe(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new Ctt({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new ZAn({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 _yn({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 Byn({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 byn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new Syn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=lC(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=R8a({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:fa.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};wi();async function a3i(e,t){if(e instanceof jS){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof Rp))return;let r=new D6(e.absoluteFilePath),n=await k4({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new DAn,generatedTypes:{}},u=new Oyn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=mje(o,u.convert())}return o}_g();Vt();var sZa=xe(l3i(),1),aZa=xe(h0n(),1),Xbn=require("fs/promises"),uZa=xe(require("http"),1),cZa=xe(require("path"),1);var W7a=require("events"),E0n=xe(require("fs"),1),rDe=xe(require("path"),1);var B7a=xe(require("os"),1),O7a=300,tve=20,G1t=1e7,P7a=B7a.default.platform();var XHf=P7a==="darwin",O5i=P7a==="win32",rve=XHf||O5i,T7a=3e3,D7a=2e4,P5i=1250;var vX;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(vX||(vX={}));var tDe;(function(e){e.CHANGE="change",e.RENAME="rename"})(tDe||(tDe={}));var W1t;(function(e){e.CHANGE="change",e.ERROR="error"})(W1t||(W1t={}));var Xa;(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"})(Xa||(Xa={}));var wT;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(wT||(wT={}));var ZHf=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,u=0,c=0,l=()=>{let E=Date.now(),I=E-u,w=E-c,x=I>=t||w>=o;return[E,x]},p=E=>{if(c=E,!s)return;let I=s;s=void 0,e.apply(void 0,I)},d=()=>{b(0)},f=()=>{a&&(d(),p(Date.now()))},m=E=>{if(c=E,n)return p(E)},h=E=>{if(i&&s)return p(E);s=void 0},g=()=>{a=void 0;let[E,I]=l();return I?h(E):A(E)},A=E=>{let I=E-u,w=E-c,x=t-I,C=o-w,_=Math.min(x,C);return b(_)},b=E=>{a&&clearTimeout(a),!(E<=0)&&(a=setTimeout(g,E))},v=(...E)=>{let[I,w]=l(),x=!!a;if(s=E,u=I,(w||!a)&&b(t),w)return x?p(I):m(I)};return v.cancel=d,v.flush=f,v},g0n=ZHf;var F5i=xe(require("fs"),1),y0n=xe(require("path"),1);var bf=xe(require("fs"),1),h1=require("util");var Xse=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},IX=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var T5i=xe(require("process"),1),R7a=T5i.default.getuid?!T5i.default.getuid():!1,F7a=1e4,bk=()=>{};var $1t={isChangeErrorOk:e=>{if(!$1t.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!R7a&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!$1t.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(!$1t.isNodeError(e))throw e;if(!$1t.isChangeErrorOk(e))throw e}},IE=$1t;var D5i=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=F7a,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},k7a=new D5i;var Zse=(e,t)=>function(n){return function i(...o){return k7a.schedule().then(s=>{let a=c=>(s(),c),u=c=>{if(s(),Date.now()>=n)throw c;if(t(c)){let l=Math.round(100*Math.random());return new Promise(d=>setTimeout(d,l)).then(()=>i.apply(void 0,o))}throw c};return e.apply(void 0,o).then(a,u)})}},eae=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var eKf={attempt:{chmod:Xse((0,h1.promisify)(bf.default.chmod),IE.onChangeError),chown:Xse((0,h1.promisify)(bf.default.chown),IE.onChangeError),close:Xse((0,h1.promisify)(bf.default.close),bk),fsync:Xse((0,h1.promisify)(bf.default.fsync),bk),mkdir:Xse((0,h1.promisify)(bf.default.mkdir),bk),realpath:Xse((0,h1.promisify)(bf.default.realpath),bk),stat:Xse((0,h1.promisify)(bf.default.stat),bk),unlink:Xse((0,h1.promisify)(bf.default.unlink),bk),chmodSync:IX(bf.default.chmodSync,IE.onChangeError),chownSync:IX(bf.default.chownSync,IE.onChangeError),closeSync:IX(bf.default.closeSync,bk),existsSync:IX(bf.default.existsSync,bk),fsyncSync:IX(bf.default.fsync,bk),mkdirSync:IX(bf.default.mkdirSync,bk),realpathSync:IX(bf.default.realpathSync,bk),statSync:IX(bf.default.statSync,bk),unlinkSync:IX(bf.default.unlinkSync,bk)},retry:{close:Zse((0,h1.promisify)(bf.default.close),IE.isRetriableError),fsync:Zse((0,h1.promisify)(bf.default.fsync),IE.isRetriableError),open:Zse((0,h1.promisify)(bf.default.open),IE.isRetriableError),readFile:Zse((0,h1.promisify)(bf.default.readFile),IE.isRetriableError),rename:Zse((0,h1.promisify)(bf.default.rename),IE.isRetriableError),stat:Zse((0,h1.promisify)(bf.default.stat),IE.isRetriableError),write:Zse((0,h1.promisify)(bf.default.write),IE.isRetriableError),writeFile:Zse((0,h1.promisify)(bf.default.writeFile),IE.isRetriableError),closeSync:eae(bf.default.closeSync,IE.isRetriableError),fsyncSync:eae(bf.default.fsyncSync,IE.isRetriableError),openSync:eae(bf.default.openSync,IE.isRetriableError),readFileSync:eae(bf.default.readFileSync,IE.isRetriableError),renameSync:eae(bf.default.renameSync,IE.isRetriableError),statSync:eae(bf.default.statSync,IE.isRetriableError),writeSync:eae(bf.default.writeSync,IE.isRetriableError),writeFileSync:eae(bf.default.writeFileSync,IE.isRetriableError)}},Q7a=eKf;var A0n=xe(require("fs"),1),H1t=xe(require("path"),1);var R5i=()=>{};var tKf=()=>{let e=R5i,t=R5i,r=!1,n=!1;return{promise:new Promise((u,c)=>{e=l=>(r=!0,u(l)),t=l=>(n=!0,c(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},j7a=tKf;var rKf=()=>{let{promise:e,resolve:t,isPending:r}=j7a(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},N7a=rKf;var M7a={then:e=>{e()}};var L7a=e=>Array.isArray(e)?e:[e],U7a=e=>typeof e=="function";var nKf=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=L7a(o).map(H=>U7a(H)?H:J=>H.test(J)),a=H=>s.some(J=>J(H)),u=t?.signal??{aborted:!1},c=t?.onDirents||(()=>{}),l=[],p=new Set,d={},f=[],m=new Set,h={},g=[],A=new Set,b={},v={},E=new Set,I={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},w={directories:l,directoriesNames:p,directoriesNamesToPaths:d,files:f,filesNames:m,filesNamesToPaths:h,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:x,increment:C,decrement:_}=N7a(),R=0,U=(H,J,Ae,ge)=>{E.has(J)||R>=i||(R+=1,H.directories.push(J),H.directoriesNames.add(Ae),l.push(J),p.add(Ae),d.propertyIsEnumerable(Ae)||(d[Ae]=[]),d[Ae].push(J),E.add(J),!(ge>=n)&&(R>=i||K(J,ge+1)))},z=(H,J,Ae)=>{E.has(J)||R>=i||(R+=1,H.files.push(J),H.filesNames.add(Ae),f.push(J),m.add(Ae),h.propertyIsEnumerable(Ae)||(h[Ae]=[]),h[Ae].push(J),E.add(J))},V=(H,J,Ae,ge)=>{E.has(J)||R>=i||(R+=1,H.symlinks.push(J),H.symlinksNames.add(Ae),g.push(J),A.add(Ae),b.propertyIsEnumerable(Ae)||(b[Ae]=[]),b[Ae].push(J),E.add(J),r&&(ge>=n||R>=i||ve(J,ge+1)))},te=(H,J,Ae,ge,Be)=>{u.aborted||a(J)||(ge.isDirectory()?U(H,J,Ae,Be):ge.isFile()?z(H,J,Ae):ge.isSymbolicLink()&&V(H,J,Ae,Be))},ie=(H,J,Ae,ge)=>{if(u.aborted)return;let Be=J===H1t.default.sep?"":H1t.default.sep,Ce=Ae.name,pe=`${J}${Be}${Ce}`;a(pe)||(Ae.isDirectory()?U(H,pe,Ce,ge):Ae.isFile()?z(H,pe,Ce):Ae.isSymbolicLink()&&V(H,pe,Ce,ge))},q=(H,J,Ae,ge)=>{for(let Be=0,Ce=Ae.length;Be<Ce;Be++)ie(H,J,Ae[Be],ge)},K=(H,J)=>{u.aborted||J>n||R>=i||(C(),A0n.default.readdir(H,{withFileTypes:!0},(Ae,ge)=>{if(Ae||u.aborted||!ge.length)return _();(c(ge)||M7a).then(()=>{let Ce=v[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};q(Ce,H,ge,J),_()})}))},ve=(H,J)=>{C(),A0n.default.realpath(H,(Ae,ge)=>{if(Ae||u.aborted)return _();A0n.default.stat(ge,(Be,Ce)=>{if(Be||u.aborted)return _();let pe=H1t.default.basename(ge),ue=v[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};te(ue,ge,pe,Ce,J),_()})})};return(async(H,J=1)=>(H=H1t.default.normalize(H),E.add(H),K(H,J),await x,u.aborted?I:w))(e)},z7a=nKf;var wX={lang:{debounce:g0n,attempt:e=>{try{return e()}catch(t){return wX.lang.castError(t)}},castArray:e=>wX.lang.isArray(e)?e:[e],castError:e=>wX.lang.isError(e)?e:wX.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(wX.lang.isNaN(e))return wX.lang.isNaN(t);if(wX.lang.isPrimitive(e)||wX.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(y0n.default.sep).length-1),getRealPath:(e,t)=>{try{return t?F5i.default.realpathSync.native(e):F5i.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===y0n.default.sep&&t.length-e.length>y0n.default.sep.length,poll:(e,t=D7a)=>Q7a.retry.stat(t)(e,{bigint:!0}).catch(wX.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await z7a(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},al=wX;var b0n=xe(require("path"),1);var k5i=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||al.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=O7a){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,u)=>{let c=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...u]),p=this.eventsDeduplicate([...c,...l]);this.onTargetEvents(p)},s=al.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,u="",c=!1)=>{c?await this.eventsPopulate([u],n,!0):i.add(u),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Xa.CHANGE&&a===Xa.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Xa.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Xa.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??tve:Math.min(1,this.options.depth??tve),s=this.options.limit??G1t,[a,u]=await al.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),c=[...a,...u];return await Promise.all(c.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())al.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Xa.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!rve&&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(Xa.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Xa.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(b0n.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Xa.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(b0n.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(Xa.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Xa.ADD?this.onTargetAdd(n):r===Xa.ADD_DIR?this.onTargetAddDir(n):r===Xa.CHANGE?this.onTargetChange(n):r===Xa.UNLINK?this.onTargetUnlink(n):r===Xa.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=tDe.CHANGE,r){if(this.watcher.isClosed())return;let n=b0n.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){O5i&&t.code==="EPERM"?this.onWatcherChange(tDe.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(W1t.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(W1t.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(tDe.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&rve&&this.options.native!==!1?this.options.depth??tve:Math.min(1,this.options.depth??tve),n=this.options.limit??G1t,[i,o]=await al.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(tDe.CHANGE,a,t)}))}}},V7a=k5i;var CT={interval:100,intervalId:void 0,fns:new Map,init:()=>{CT.intervalId||(CT.intervalId=setInterval(CT.resolve,CT.interval))},reset:()=>{CT.intervalId&&(clearInterval(CT.intervalId),delete CT.intervalId)},add:(e,t)=>{CT.fns.set(e,Date.now()+t),CT.init()},remove:e=>{CT.fns.delete(e)},resolve:()=>{if(!CT.fns.size)return CT.reset();let e=Date.now();for(let[t,r]of CT.fns)r>=e||(CT.remove(t),t())}},K1t=CT;var J1t=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=P5i){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,d=>d!==i);if(p&&p!==i){if(al.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let u=()=>{s.add.delete(n),K1t.remove(c)},c=()=>{u(),a()};K1t.add(c,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;u();let d=p();i===d?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,d,i)};s.add.set(n,l),l()}getLockUnlink(t,r=P5i){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let u=()=>{s.unlink.delete(n),K1t.remove(c)},c=()=>{u(),a()};K1t.add(c,r);let l=()=>(u(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Xa.ADD,vX.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Xa.ADD_DIR,vX.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Xa.UNLINK,vX.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Xa.UNLINK_DIR,vX.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};J1t.DIR_EVENTS={add:Xa.ADD_DIR,rename:Xa.RENAME_DIR,unlink:Xa.UNLINK_DIR};J1t.FILE_EVENTS={add:Xa.ADD,change:Xa.CHANGE,rename:Xa.RENAME,unlink:Xa.UNLINK};var q7a=J1t;var Q5i=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(al.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(al.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(al.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(al.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return al.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);al.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},j5i=Q5i;var N5i=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}},G7a=N5i;var M5i=class{constructor(){this.inos={},this.paths=new j5i,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await al.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new G7a(n)}reset(){this.inos={},this.paths=new j5i,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Xa.ADD,i),[Xa.ADD];if(i.isDirectory())return this.updateIno(t,Xa.ADD_DIR,i),[Xa.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Xa.UNLINK,n),[Xa.UNLINK];if(n.isDirectory())return this.updateIno(t,Xa.UNLINK_DIR,n),[Xa.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Xa.CHANGE,i),[Xa.CHANGE]);if(i.isDirectory())return this.updateIno(t,Xa.UNLINK,n),this.updateIno(t,Xa.ADD_DIR,i),[Xa.UNLINK,Xa.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Xa.UNLINK_DIR,n),this.updateIno(t,Xa.ADD,i),[Xa.UNLINK_DIR,Xa.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Xa.UNLINK_DIR,n),this.updateIno(t,Xa.ADD_DIR,i),[Xa.UNLINK_DIR,Xa.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?vX.FILE:vX.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},L5i=M5i;var U5i=class e extends W7a.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(wT.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(wT.CLOSE,i)),this._readyWait=new Promise(i=>this.on(wT.READY,i)),this._locker=new q7a(this),this._roots=new Set,this._poller=new L5i,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(al.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(wT.CLOSE))}error(t){if(this.isClosed())return!1;let r=al.lang.castError(t);return this.emit(wT.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(wT.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(wT.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&al.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&al.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)al.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new V7a(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=al.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=rDe.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??tve))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&rve&&l.options.native!==!1)))return!0;if(!rve)break;let c=rDe.default.dirname(t);if(s===c)break;s=c}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=al.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let u=!r.recursive||rve&&r.native!==!1?r:{...r,recursive:!1},l={watcher:E0n.default.watch(a,u),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},m=rDe.default.dirname(a),h=a;await this.watchDirectories([m],f,n,h,p)}}catch(u){this.error(u)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||rve&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??tve,a=r.limit??G1t,[u]=await al.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let c=await this.watchDirectories([t],r,n,i,o);if(u.length){let l=al.fs.getDepth(t);for(let p of u){let d=al.fs.getDepth(p),f=Math.max(0,s-(d-l)),m={...r,depth:f};await this.watchDirectories([p],m,n,i,o||c)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(c,l)=>{l===t&&(u(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(wT.CLOSE,u),s.watchFile(t,r,o)},u=()=>{this._subwatchers.delete(i),this.removeListener(wT.CLOSE,u),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=rDe.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new L5i,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return al.lang.noop;if(this.pollerExists(t,r))return al.lang.noop;let i={...r,interval:r.pollingInterval??T7a},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(wT.CLOSE,a),E0n.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(wT.CLOSE,a),E0n.default.unwatchFile(t,n)};return al.lang.attempt(s),()=>al.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=al.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,u)=>u===s||!al.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=rDe.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await al.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=rDe.default.dirname(t);return(await al.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=al.lang.noop){if(al.lang.isFunction(t))return this.watch([],{},t);if(al.lang.isUndefined(t))return this.watch([],r,n);if(al.lang.isFunction(r))return this.watch(t,{},r);if(al.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=al.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==al.lang.noop&&this.on(wT.ALL,n),r.readdirMap=void 0,this.ready())}},v0n=U5i;k0n();Vt();var Ztt=require("fs/promises"),XWa=require("os"),ZWa=xe(require("path"),1),_Jf=".fern",SJf="logs";function BJf(){return"cli@4.21.2"}var uDe=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Ge(zt.of((0,XWa.homedir)()),Se.of(_Jf)),r=Ge(t,Se.of(SJf));await Xt(r)||await(0,Ztt.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Ge(r,Se.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${ZWa.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
2106
2106
  `);await(0,Ztt.writeFile)(this.logFilePath,o,"utf-8"),this.initialized=!0}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
2107
2107
  `;try{await(0,Ztt.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let n={timestamp:t.timestamp,source:BJf(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(n)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let n={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliDocsGeneration(t,r){let n={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliValidation(t,r){let n={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(n)}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var czi={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"};function e$a(e){let t=OJf();if(t==null)return;let{port:r,debugLogger:n,getDocsLoadResponse:i}=e,o=new Map;function s(u){let c=JSON.stringify(u),l=[];for(let[p]of o)try{p.send(c)}catch{l.push(p)}for(let p of l){let d=o.get(p);d&&(clearInterval(d.pingInterval),o.delete(p))}}let a=t.serve({port:r,fetch(u,c){if(u.method==="OPTIONS")return new Response(null,{status:204,headers:czi});let l=new URL(u.url);if(u.headers.get("upgrade")?.toLowerCase()==="websocket"){c.upgrade(u,{data:{connectionId:`${Date.now()}`}});return}if(u.method==="POST"&&l.pathname==="/v2/registry/docs/load-with-url")return new Response(JSON.stringify(i()),{headers:{"Content-Type":"application/json",...czi}});let p=/^\/_local\/(.*)/.exec(l.pathname);return u.method==="GET"&&p!=null?new Response(t.file(`/${p[1]}`),{headers:czi}):new Response("Not Found",{status:404})},websocket:{open(u){let{connectionId:c}=u.data,l=setInterval(()=>{let p=o.get(u);if(!p)return;let d=Date.now();if(d-p.lastPong>9e4){u.close();return}try{u.send(JSON.stringify({type:"ping",timestamp:d}))}catch{u.close()}},3e4);o.set(u,{pingInterval:l,lastPong:Date.now()});try{u.send(JSON.stringify({type:"connected",connectionId:c}))}catch{}},message(u,c){try{let l=JSON.parse(c.toString());if(l.type==="pong"){let p=o.get(u);p&&(p.lastPong=Date.now())}else uDe.isMetricsMessage(l)&&n.logFrontendMetrics(l)}catch{}},close(u){let c=o.get(u);c&&(clearInterval(c.pingInterval),o.delete(u))}}});return{sendData:s,stop:u=>a.stop(u)}}function OJf(){return globalThis.Bun}Vt();var G8i=xe(yzi(),1),XXa=xe(R8i(),1),Ek=require("fs/promises"),ZXa=require("os"),eZa=xe(mw(),1),tZa=xe(JXa(),1),Wbn=process.platform==="win32",q8i=we.cyan("[docs]:"),otd="etag",std=23,YXa=e=>e.padEnd(std," "),atd="preview",utd="app-preview",ctd="bundle",ltd=".next",ptd="standalone",ftd=".fern",dtd="packages/fern-docs/bundle/.next/server/instrumentation.js",mtd=".npmrc",htd=".pnpmfile.cjs",gtd="pnpm-workspace.yaml",Atd='Cannot find matching keyid: {"signatures":';function ytd(){return Ge(zt.of((0,ZXa.homedir)()),Se.of(ftd))}function Art({app:e=!1}){return Ge(ytd(),Se.of(e?utd:atd))}function mve({app:e=!1}){return Ge(Art({app:e}),Se.of(e?ltd:ctd))}function OSt({app:e=!1}){return Ge(mve({app:e}),Se.of(ptd))}function btd({app:e=!1}){return Ge(OSt({app:e}),Se.of(dtd))}function Etd({app:e=!1}){return Ge(OSt({app:e}),Se.of(gtd))}function vtd({app:e=!1}){return Ge(OSt({app:e}),Se.of(htd))}function Itd({app:e=!1}){return Ge(OSt({app:e}),Se.of(mtd))}function ADe(e){return new Error(`${e}. Please reach out to support@buildwithfern.com.`)}function wtd({app:e=!1}){return Ge(Art({app:e}),Se.of(otd))}var Ctd=`module.exports = {
2108
2108
  hooks: {
@@ -3429,7 +3429,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
3429
3429
  Run ${we.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
3430
3430
  Run ${we.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),g9e(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function QAo({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!EMu(e))return;let i=t??"",o=e.filter(a=>a.isUpgradeAvailable);r!=null&&(o=o.slice(0,r+1));let s=o.sort((a,u)=>a.generatorName.localeCompare(u.generatorName)||a.currentVersion.localeCompare(u.currentVersion));for(let a of s)i+=`
3431
3431
  ${await GCm(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+we.dim(a.currentVersion)+we.reset(" \u2192 ")+we.green(a.latestVersion);return i+=`
3432
- `,n?g9e(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function GCm(e){let r=await new bMu.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 WCm({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(u,c,l,p)=>{a.versions[c]==null&&(a.versions[c]={});let d=$Se(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await TS({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[c][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,u,c,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][u]==null&&(s.versions[a][u]={});let p=$Se(c.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${c.name}`);return}let d=await TS({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:c.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][u][c.name]={previousVersion:c.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await hQ({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let u=n!=null?tC(n):void 0;for(let c of a.groups)if(!(i!=null&&c.groupName!==i))for(let l of c.generators)u!=null&&l.name!==u||await r(o.workspaceName,c.groupName,l,s)})}))}function wMu(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let u=WR(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(u?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:u,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function DFn({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await WCm({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[u,c]of Object.entries(a.versions))s.push(...wMu(c,u,t.logger));else s.push(...wMu(a.versions,void 0,t.logger))}return s}async function _we({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:qft(e.packageName,{version:t?"prerelease":"latest"})}var CMu=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],RFn=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Ln.Info;isLocal;stdoutRedirector=new TFn;jsonMode=!1;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new HBe(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"4.21.1"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${we.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new fm}failWithoutThrowing(t,r){this.didSucceed=!1,Tbt({message:t,error:r,logger:this.logger})}enableJsonMode(){this.jsonMode||(this.jsonMode=!0,this.stdoutRedirector.redirect())}get isJsonMode(){return this.jsonMode}writeJsonToStdout(t){this.stdoutRedirector.restore(),process.stdout.write(JSON.stringify(t,null,2)+`
3432
+ `,n?g9e(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function GCm(e){let r=await new bMu.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 WCm({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(u,c,l,p)=>{a.versions[c]==null&&(a.versions[c]={});let d=$Se(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await TS({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[c][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,u,c,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][u]==null&&(s.versions[a][u]={});let p=$Se(c.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${c.name}`);return}let d=await TS({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:c.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][u][c.name]={previousVersion:c.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function IMu({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await hQ({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let u=n!=null?tC(n):void 0;for(let c of a.groups)if(!(i!=null&&c.groupName!==i))for(let l of c.generators)u!=null&&l.name!==u||await r(o.workspaceName,c.groupName,l,s)})}))}function wMu(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let u=WR(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(u?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:u,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function DFn({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await WCm({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[u,c]of Object.entries(a.versions))s.push(...wMu(c,u,t.logger));else s.push(...wMu(a.versions,void 0,t.logger))}return s}async function _we({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:qft(e.packageName,{version:t?"prerelease":"latest"})}var CMu=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],RFn=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Ln.Info;isLocal;stdoutRedirector=new TFn;jsonMode=!1;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new HBe(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"4.21.2"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${we.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new fm}failWithoutThrowing(t,r){this.didSucceed=!1,Tbt({message:t,error:r,logger:this.logger})}enableJsonMode(){this.jsonMode||(this.jsonMode=!0,this.stdoutRedirector.redirect())}get isJsonMode(){return this.jsonMode}writeJsonToStdout(t){this.stdoutRedirector.restore(),process.stdout.write(JSON.stringify(t,null,2)+`
3433
3433
  `),this.jsonMode&&this.stdoutRedirector.redirect()}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await h9e()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await vMu({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
3434
3434
  `)||(r+=`
3435
3435
  `),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=H4n(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new HRt(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(o){throw o.message.includes("globalThis")?(n.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),n.failWithoutThrowing()):n.failWithoutThrowing(void 0,o),new fm}finally{n.finish()}return i}async instrumentPostHogEvent(t){this.isLocal||(await h9e()).sendEvent(t)}logger=XO((t,...r)=>this.log(t,...r));stderr=XO((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=xMu(t.type==="docs"?"docs":t.workspaceName??"api"),n=1+(this.longestWorkspaceName!=null?xMu(this.longestWorkspaceName):r).length,i=r.padEnd(n),o=CMu[this.numTasks++%CMu.length],s=we.hex(o)(i);return{...this.constructTaskInit(),logPrefix:s}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===md.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let n=t.filter(i=>g_.indexOf(i.level)>=g_.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===Ln.Debug,stderr:r||this.jsonMode})}_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 _we({cliEnvironment:this.environment,includePreReleases:t}),n=WR(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await DFn({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await FAo({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:we.yellow("?"),style:{answer:i=>we.cyan(i),message:i=>we.bold(i),highlight:i=>we.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
@@ -3467,7 +3467,7 @@ The generator configuration must be an object with a 'name' property, but the cu
3467
3467
  Please check your generators.yml file and ensure the generator is properly configured.`);let s=i,a=await jMu({generatorName:t,logger:o});if(a==null)return;let u=exm({migrations:a.migrations,from:r,to:n,logger:o});if(u.length!==0)return NMu({migrations:u,config:s,logger:o})}function MMu(e){return{"fernapi/fern-typescript-sdk":"https://buildwithfern.com/learn/sdks/generators/typescript/changelog","fernapi/fern-typescript-node-sdk":"https://buildwithfern.com/learn/sdks/generators/typescript/changelog","fernapi/fern-python-sdk":"https://buildwithfern.com/learn/sdks/generators/python/changelog","fernapi/fern-go-sdk":"https://buildwithfern.com/learn/sdks/generators/go/changelog","fernapi/fern-java-sdk":"https://buildwithfern.com/learn/sdks/generators/java/changelog","fernapi/fern-csharp-sdk":"https://buildwithfern.com/learn/sdks/generators/csharp/changelog","fernapi/fern-php-sdk":"https://buildwithfern.com/learn/sdks/generators/php/changelog","fernapi/fern-ruby-sdk":"https://buildwithfern.com/learn/sdks/generators/ruby/changelog","fernapi/fern-swift-sdk":"https://buildwithfern.com/learn/sdks/generators/swift/changelog"}[e]}async function rxm({absolutePathToWorkspace:e,context:t,generatorFilter:r,groupFilter:n,includeMajor:i,skipAutoreleaseDisabled:o,channel:s,cliVersion:a}){let u=await yde({absolutePathToWorkspace:e});if(u==null||!await Xt(u))return t.logger.debug("Generators configuration file was not found, no generators to upgrade."),{updatedConfiguration:void 0,skippedMajorUpgrades:[],appliedUpgrades:[],alreadyUpToDate:[],skippedAutoreleaseDisabled:[]};let c=await(0,QFn.readFile)(u);t.logger.debug(`Found generators: ${c.toString()}`);let l=but.default.parseDocument(c.toString()),p=l.get("groups");if(p==null)return t.logger.debug("No groups were found within the generators configuration, no generators to upgrade."),{updatedConfiguration:void 0,skippedMajorUpgrades:[],appliedUpgrades:[],alreadyUpToDate:[],skippedAutoreleaseDisabled:[]};if(!but.default.isMap(p))return t.failAndThrow(`Expected 'groups' to be a map in ${KRt.default.relative(process.cwd(),u)}`),{updatedConfiguration:void 0,skippedMajorUpgrades:[],appliedUpgrades:[],alreadyUpToDate:[],skippedAutoreleaseDisabled:[]};t.logger.debug(`Groups found: ${p.toString()}`);let d=[],f=[],m=[],h=[];for(let g of p.items){let A=g.key.value,b=g.value;if(!but.default.isMap(b)){t.failAndThrow(`Expected group ${A} to be a map in ${KRt.default.relative(process.cwd(),u)}`);continue}if(n!=null&&n!==A){t.logger.debug(`Skipping group ${A} as it does not match the filter: ${n}`);continue}let v=b.get("generators");if(!but.default.isSeq(v)){t.failAndThrow(`Expected group ${A} to have a 'generators' key in ${KRt.default.relative(process.cwd(),u)}`);continue}t.logger.debug(`Generators found: ${v.toString()}`);for(let E of v.items){but.default.isMap(E)||t.failAndThrow(`Expected generator in group ${A} to be a map in ${KRt.default.relative(process.cwd(),u)}`);let I=E.get("name"),w=$Se(I);if(w==null){t.logger.warn(`Skipping unrecognized generator: ${I}. The generator will not be upgraded.`);continue}let x=r!=null?tC(r):void 0;if(x!=null&&w!==x){t.logger.debug(`Skipping generator ${I} as it does not match the filter: ${r}`);continue}if(o&&E.get("autorelease")===!1){let U=E.get("version");t.logger.debug(`Skipping generator ${I} (autorelease disabled, version ${U})`),h.push({generatorName:I,groupName:A,version:U});continue}let C=E.get("version"),_=await TS({generatorName:w,cliVersion:a,currentGeneratorVersion:C,channel:s,includeMajor:i,context:t}),R=_??C;if(_!=null)if(_!==C){t.logger.debug(we.green(`Upgrading ${I} from ${C} to ${_}`)),E.set("version",_);let U=0,z=[],V=E.toJSON(),te=await NAo({generatorName:w,from:C,to:_,config:V,logger:t.logger});if(te!=null){U=te.migrationsApplied,z=te.appliedVersions;let ie=new Set(Object.keys(V)),q=new Set(Object.keys(te.config));for(let K of ie)q.has(K)||E.delete(K);for(let[K,ve]of Object.entries(te.config))E.set(K,ve);t.logger.debug(we.dim(`Applied ${U} migration(s): ${z.join(", ")}`))}f.push({generatorName:I,groupName:A,previousVersion:C,newVersion:_,migrationsApplied:U>0?U:void 0,migrationVersions:z.length>0?z:void 0})}else t.logger.debug(we.gray(`${I} is already on the latest version: ${C}`)),m.push({generatorName:I,groupName:A,version:C});if(!i){let U=await TS({generatorName:w,cliVersion:a,currentGeneratorVersion:R,channel:s,includeMajor:!0,context:t});if(U!=null){let z=MAo.default.parse(R),V=MAo.default.parse(U);z!=null&&V!=null&&V.major>z.major&&d.push({generatorName:I,currentVersion:R,latestMajorVersion:U})}}}}return{updatedConfiguration:l.toString(),skippedMajorUpgrades:d,appliedUpgrades:f,alreadyUpToDate:m,skippedAutoreleaseDisabled:h}}async function LMu({cliContext:e,generator:t,group:r,project:{apiWorkspaces:n},includeMajor:i,skipAutoreleaseDisabled:o,channel:s}){let a=[],u=[],c=[],l=[];if(await Promise.all(n.map(async p=>{await e.runTaskForWorkspace(p,async d=>{let f=await B8e({absolutePathToWorkspace:p.absoluteFilePath,context:d})??{};if(f==null||f.groups==null){d.logger.debug("No groups were found within the generators configuration, no generators to upgrade.");return}p.workspaceName==null?d.logger.info("Upgrading generators."):d.logger.info(`Upgrading generators in workspace: ${p.workspaceName}.`);let m=await rxm({absolutePathToWorkspace:p.absoluteFilePath,context:d,generatorFilter:t,groupFilter:r,includeMajor:i,skipAutoreleaseDisabled:o,channel:s,cliVersion:e.environment.packageVersion}),h=await yde({absolutePathToWorkspace:p.absoluteFilePath});h!=null&&m.updatedConfiguration!=null&&await(0,QFn.writeFile)(h,m.updatedConfiguration),a.push(...m.skippedMajorUpgrades),m.appliedUpgrades.length>0&&u.push({workspace:p.workspaceName,upgrades:m.appliedUpgrades}),m.alreadyUpToDate.length>0&&c.push({workspace:p.workspaceName,upToDate:m.alreadyUpToDate}),m.skippedAutoreleaseDisabled.length>0&&l.push({workspace:p.workspaceName,skipped:m.skippedAutoreleaseDisabled})})})),u.length>0){e.logger.info(""),e.logger.info(we.green("Successfully upgraded generators:"));for(let{workspace:p,upgrades:d}of u){let f=new Map;for(let m of d){let h=f.get(m.groupName)??[];h.push(m),f.set(m.groupName,h)}for(let[m,h]of f){let g=p!=null?`[${p}] `:"";e.logger.info(we.green(`${g}Group ${m}:`));for(let A of h){e.logger.info(we.green(` - ${A.generatorName}: ${we.dim(A.previousVersion)} \u2192 ${A.newVersion}`)),A.migrationsApplied!=null&&A.migrationsApplied>0&&e.logger.info(we.dim(` Applied ${A.migrationsApplied} migration(s): ${A.migrationVersions?.join(", ")??""}`));let b=MMu(tC(A.generatorName));b!=null&&e.logger.info(we.dim(` Changelog: ${b}`))}}}}if(c.length>0){e.logger.info(""),e.logger.info(we.dim("Generators already on latest version:"));for(let{workspace:p,upToDate:d}of c){let f=new Map;for(let m of d){let h=f.get(m.groupName)??[];h.push(m),f.set(m.groupName,h)}for(let[m,h]of f){let g=p!=null?`[${p}] `:"";e.logger.info(we.dim(`${g}Group ${m}:`));for(let A of h)e.logger.info(we.dim(` - ${A.generatorName}: ${A.version} (latest)`))}}}if(u.length===0&&c.length===0){let p=r!=null?` for group ${r}`:t!=null?` for generator ${t}`:"";e.logger.info(""),e.logger.info(we.gray(`No generators found${p}.`))}if(l.length>0){e.logger.info(""),e.logger.info(we.dim("Skipped generators with autorelease disabled:"));for(let{workspace:p,skipped:d}of l){let f=new Map;for(let m of d){let h=f.get(m.groupName)??[];h.push(m),f.set(m.groupName,h)}for(let[m,h]of f){let g=p!=null?`[${p}] `:"";e.logger.info(we.dim(`${g}Group ${m}:`));for(let A of h)e.logger.info(we.dim(` - ${A.generatorName}: ${A.version} (autorelease disabled)`))}}}if(a.length>0){e.logger.info(""),e.logger.info(we.yellow("Major version upgrades available:"));for(let p of a){e.logger.info(we.yellow(` - ${p.generatorName}: ${p.currentVersion} \u2192 ${p.latestMajorVersion}`));let d=t!=null?`fern generator upgrade --generator ${p.generatorName} --include-major`:"fern generator upgrade --include-major";e.logger.info(we.yellow(` Run: ${d}`));let f=MMu(tC(p.generatorName));f!=null&&e.logger.info(we.yellow(` Changelog: ${f}`))}}}function UMu(e,t){let r=mze(e);return r!==e&&t.logger.warn(`"${e}" is not a valid generator name. Using "${r}" instead \u2014 the Docker org is "fernapi", not "${WSe}".`),r}function qMu(e,t){e.command("organization",!1,r=>r.option("output",{string:!0,alias:"o",description:"The location to output the organization name as a text file, defaults to standard out."}),async r=>{await t.instrumentPostHogEvent({command:"fern organization",properties:{outputLocation:r.output}}),await FMu({project:await rp(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0}),context:t,outputLocation:r.output})})}function GMu(e,t){e.command("generator","Operate on the generators within your Fern configuration",r=>{r.command("list",!1,n=>n.option("output",{string:!0,alias:"o",description:"The location to output the list as a text file, defaults to standard out."}).option("generators",{string:!0,type:"array",description:"The type of generator to include in the list, ex: `fern-typescript-node-sdk`. If omitted, all generators will be listed."}).option("groups",{type:"array",string:!0,description:"The groups to include generators from, if group is not specified, the all generators of the specified type will be listed."}).option("apis",{type:"array",string:!0,description:"The APIs to list the generators for. If not specified, the generator will be upgraded for all APIs."}).option("api-fallback",{string:!0,description:"The APIs to list the generators for. If not specified, the generator will be upgraded for all APIs."}).option("include-mode",{choices:Object.values(yut),type:"array",description:"The generator output modes to include within the outputted list."}).option("exclude-mode",{choices:Object.values(yut),type:"array",description:"The generator output modes to exclude within the outputted list."}),async n=>{await t.instrumentPostHogEvent({command:"fern generator list",properties:{outputLocation:n.output}}),await TMu({project:await rp(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0}),generatorFilter:n.generators?new Set(n.generators):void 0,groupFilter:n.groups?new Set(n.groups):void 0,apiFilter:n.apis?new Set(n.apis):void 0,apiKeyFallback:n.apiFallback,cliContext:t,outputLocation:n.output,includedModes:n["include-mode"]?new Set(n["include-mode"]):void 0,excludedModes:n["exclude-mode"]?new Set(n["exclude-mode"]):void 0})}).command("upgrade",`Upgrades the specified generator in ${Hd} to the latest stable version.`,n=>n.option("generator",{string:!0,description:"The type of generator to upgrade, ex: `fern-typescript-node-sdk`."}).option("group",{string:!0,description:"The group in which the generator is located, if group is not specified, the all generators of the specified type will be upgraded."}).option("api",{string:!0,description:"The API to upgrade the generator for. If not specified, the generator will be upgraded for all APIs."}).option("yes",{alias:"y",boolean:!0,default:!1,description:"Automatically answer yes to any prompts that may appear during the upgrade process."}).option("include-major",{boolean:!0,default:!1,description:"Whether or not to include major versions within the upgrade. Defaults to false, meaning major versions will be skipped."}).option("channel",{demandOption:!1,choices:Object.values(zMu.FernRegistry.generators.ReleaseType)}).option("list",{demandOption:!1,boolean:!0,default:!1,description:"When specified, a list of available upgrades will be displayed, but no upgrade will be taken."}).option("skip-autorelease-disabled",{boolean:!0,default:!1,hidden:!0,description:"Skip upgrading generators that have autorelease: false set in their configuration."}),async n=>{await t.instrumentPostHogEvent({command:"fern generator upgrade",properties:{generator:n.generator,version:n.version,api:n.api,group:n.group,includeMajor:n.includeMajor,rc:n.rc}});let i=n.generator!=null?UMu(n.generator,t):void 0,o=await rp(t,{commandLineApiWorkspace:n.api,defaultToAllApiWorkspaces:!0});if(n.list){t.suppressUpgradeMessage();let s=await DFn({cliContext:t,project:o,generatorFilter:i,groupFilter:n.group,includeMajor:n.includeMajor,channel:n.channel}),a=await QAo({generatorUpgradeInfo:s,header:`Generator Upgrades
3468
3468
  `,includeBoxen:!0});a!=null&&t.logger.info(a)}else await LMu({cliContext:t,generator:i,group:n.group,project:await rp(t,{commandLineApiWorkspace:n.api,defaultToAllApiWorkspaces:!0}),includeMajor:n.includeMajor,skipAutoreleaseDisabled:n.skipAutoreleaseDisabled,channel:n.channel})}).command("get",!1,n=>n.option("output",{string:!0,alias:"o",description:"The location to output the list as a text file, defaults to standard out."}).option("generator",{string:!0,demandOption:!0,description:"The name of the generator to get, ex: `fern-typescript-node-sdk`."}).option("group",{string:!0,demandOption:!0,description:"The group in which the generator is located."}).option("api",{string:!0,description:"The API in which the generator is located."}).option("version",{boolean:!0,default:!1,description:"Get the version of the specified generator."}).option("language",{boolean:!0,default:!1,description:"Get the language of the specified generator."}).option("repository",{boolean:!0,default:!1,description:"Get repository for the generator invocation, if one is specified."}),async n=>{let i=UMu(n.generator,t);await t.instrumentPostHogEvent({command:"fern generator get",properties:{generator:i,version:n.version,api:n.api,group:n.group,includeMajor:n.includeMajor}});let o=await DMu({cliContext:t,generatorFilter:i,groupFilter:n.group,apiFilter:n.api,project:await rp(t,{commandLineApiWorkspace:n.api,defaultToAllApiWorkspaces:!0})});if(o==null){let a=n.api?` for API ${n.api}`:"";t.failAndThrow(`Generator ${n.generator}, in group ${n.group}${a} was not found.`)}let s={};if(n.version&&(s.version=o.version,n.output==null)){process.stdout.write(o.version);return}if(n.language)if(o.language!=null){if(s.language=o.language,n.output==null){process.stdout.write(o.language);return}}else t.logger.warn(`Language information is not available for generator ${o.name} in group ${n.group}`);if(n.repository){let a=o.outputMode.type==="github"?o.outputMode.repo:o.outputMode.type==="githubV2"?o.outputMode.githubV2.repo:void 0;if(a!=null){if(s.repository=a,n.output==null){process.stdout.write(s.repository);return}}else t.logger.warn(`Repository information is not available for generator ${o.name} in group ${n.group}`)}if(n.output)try{await(0,VMu.writeFile)(n.output,JSON.stringify(s,null,2))}catch(a){t.failAndThrow(`Could not write file to the specified location: ${n.output}`,a)}})})}var WMu=require("fs/promises");async function $Mu({project:{apiWorkspaces:e},generatorName:t,groupName:r,cliContext:n}){await Promise.all(e.map(async i=>{await n.runTaskForWorkspace(i,async o=>{let s=await B8e({absolutePathToWorkspace:i.absoluteFilePath,context:o})??{},a=await Pfi({generatorName:t,generatorsConfiguration:s,groupName:r,context:o,cliVersion:n.environment.packageVersion}),u=i.generatorsConfiguration?.absolutePathToConfiguration??await yde({absolutePathToWorkspace:i.absoluteFilePath});u!=null&&(await(0,WMu.writeFile)(u,`# yaml-language-server: $schema=https://schema.buildwithfern.dev/generators-yml.json
3469
3469
  `+wr.dump(a)),o.logger.info(we.green(`Added ${t} generator`)))})}))}Qt();Vt();var KMu=require("fs/promises"),JMu=xe(M1(),1);async function YMu({context:e,from:t,to:r,fromVersion:n,generatorVersions:i}){let o=new fbt,s=nxm(await o.check({from:await HMu({context:e,filepath:t,flagName:"from"}),to:await HMu({context:e,filepath:r,flagName:"to"})})),a=sxm(e,i),{bump:u,errors:c}=ixm(s,a);if(n==null)return{bump:u??"patch",errors:c};if(u==="no_change")return{bump:"no_change",nextVersion:n,errors:c};let l=u??"patch",p=JMu.default.inc(n,l);if(!p)throw e.failWithoutThrowing(`Invalid current version: ${n}`),new fm;return{bump:l,nextVersion:p,errors:c}}async function HMu({context:e,filepath:t,flagName:r}){let n=zt.of(ao(_l(),t));if(!await Xt(n,"file"))throw e.failWithoutThrowing(`File not found: ${n}`),new fm;let i=await(0,KMu.readFile)(n,"utf-8"),o=Pi.IntermediateRepresentation.parse(JSON.parse(i));if(!o.ok)throw e.failWithoutThrowing(`Invalid --${r}; expected a filepath containing a valid IR`),new fm;return o.value}function nxm(e){return{bump:e.bump,errors:e.errors.map(t=>t.message)}}function ixm(e,t){return{bump:oxm(e.bump,t.bump),errors:[...e.errors,...t.errors]}}function oxm(e,t){if(!(e===void 0&&t===void 0))return e==="no_change"&&(t===void 0||t==="no_change")||t==="no_change"&&(e===void 0||e==="no_change")?"no_change":e===void 0?t:t===void 0?e:e==="no_change"?t:t==="no_change"?e:e==="major"||t==="major"?"major":e==="minor"||t==="minor"?"minor":"patch"}function sxm(e,t){if(t===void 0)return{bump:void 0,errors:[]};let{from:r,to:n}=t;try{let i=axm(FLn(r,n)),o=[];return i==="major"&&o.push("Generator version changed by major version."),{bump:i,errors:o}}catch(i){throw e.failWithoutThrowing(`Error diffing generator versions ${r} and ${n}: ${i}`),new fm}}function axm(e){if(e!==null)switch(e){case"major":case"minor":case"patch":return e;default:return}}Qt();Qt();var LAo={};Y(LAo,{additionalProperties:()=>pxm,default:()=>dxm,definitions:()=>fxm,properties:()=>cxm,required:()=>lxm,type:()=>uxm});var uxm="object",cxm={tabs:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/docs.TabConfig"}},{type:"null"}]},"landing-page":{oneOf:[{$ref:"#/definitions/docs.PageConfiguration"},{type:"null"}]},navigation:{$ref:"#/definitions/docs.NavigationConfig"}},lxm=["navigation"],pxm=!1,fxm={"docs.RoleId":{type:"string"},"docs.Role":{anyOf:[{$ref:"#/definitions/docs.RoleId"},{type:"array",items:{$ref:"#/definitions/docs.RoleId"}}]},"docs.FeatureFlag":{type:"object",properties:{flag:{type:"string"},"fallback-value":{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},match:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]}},required:["flag"],additionalProperties:!1},"docs.FeatureFlagConfiguration":{anyOf:[{type:"string",description:"The name of the feature flag, We assume that it is a boolean feature flag that needs to be evaluated to true."},{$ref:"#/definitions/docs.FeatureFlag",description:"A single feature flag with a configurable name, fallback value, and match value. Especially useful for non boolean feature flags."},{type:"array",items:{$ref:"#/definitions/docs.FeatureFlag"},description:"A list of feature flags. If any of the feature flags are satisfied, we will show all content."}]},"docs.Target":{type:"string",enum:["_blank","_self","_parent","_top"]},"docs.ChangelogFolderRelativePath":{type:"string"},"docs.TabConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]},target:{oneOf:[{$ref:"#/definitions/docs.Target"},{type:"null"}]},changelog:{oneOf:[{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},{type:"null"}]}},required:["display-name"],additionalProperties:!1},"docs.Availability":{type:"string",enum:["stable","generally-available","in-development","pre-release","deprecated","beta"]},"docs.PageConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},page:{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},noindex:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["page","path"],additionalProperties:!1},"docs.CollapsedStringValue":{type:"string",enum:["open-by-default"]},"docs.CollapsedValue":{anyOf:[{type:"boolean"},{$ref:"#/definitions/docs.CollapsedStringValue"}]},"docs.SectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},path:{oneOf:[{type:"string"},{type:"null"}]},contents:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["section","contents"],additionalProperties:!1},"docs.AudienceId":{type:"string"},"docs.Audience":{anyOf:[{$ref:"#/definitions/docs.AudienceId"},{type:"array",items:{$ref:"#/definitions/docs.AudienceId"}}]},"docs.VersionedSnippetLanguageConfiguration":{type:"object",properties:{version:{type:"string"},package:{type:"string"}},required:["version","package"],additionalProperties:!1},"docs.SnippetLanguageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.VersionedSnippetLanguageConfiguration"}]},"docs.SnippetsConfiguration":{type:"object",properties:{python:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},typescript:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},go:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},java:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},ruby:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},csharp:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},php:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},swift:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},rust:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundButtonSettings":{type:"object",properties:{href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundSettings":{type:"object",properties:{hidden:{oneOf:[{type:"boolean"},{type:"null"}]},environments:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},button:{oneOf:[{$ref:"#/definitions/docs.PlaygroundButtonSettings"},{type:"null"}]},oauth:{oneOf:[{type:"boolean"},{type:"null"}]},"limit-websocket-messages-per-connection":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfigurationWithOptions":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfiguration":{anyOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{$ref:"#/definitions/docs.ApiReferencePackageConfigurationWithOptions"}]},"docs.ApiReferenceSectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},"referenced-packages":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["section"],additionalProperties:!1},"docs.ApiReferenceEndpointConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},endpoint:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"docs.ApiReferenceOperationConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},operation:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["operation"],additionalProperties:!1},"docs.LinkConfiguration":{type:"object",properties:{link:{type:"string"},href:{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},target:{oneOf:[{$ref:"#/definitions/docs.Target"},{type:"null"}]}},required:["link","href"],additionalProperties:!1},"docs.ApiReferenceLayoutItem":{anyOf:[{type:"string",description:"This should be either an endpoint, websocket, webhook, or subpackage ID"},{type:"object",additionalProperties:{$ref:"#/definitions/docs.ApiReferencePackageConfiguration"},description:"Keyed by subpackage name, this object allows you to group endpoints and pages together."},{$ref:"#/definitions/docs.ApiReferenceSectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceEndpointConfiguration"},{$ref:"#/definitions/docs.ApiReferenceOperationConfiguration"},{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"}]},"docs.ApiReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},api:{type:"string"},"api-name":{oneOf:[{type:"string"},{type:"null"}]},openrpc:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{$ref:"#/definitions/docs.Audience"},{type:"null"}]},"display-errors":{oneOf:[{type:"boolean"},{type:"null"}]},"tag-description-pages":{oneOf:[{type:"boolean"},{type:"null"}]},snippets:{oneOf:[{$ref:"#/definitions/docs.SnippetsConfiguration"},{type:"null"}]},postman:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},alphabetized:{oneOf:[{type:"boolean"},{type:"null"}]},flattened:{oneOf:[{type:"boolean"},{type:"null"}]},paginated:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["api"],additionalProperties:!1},"docs.LibraryName":{type:"string"},"docs.LibraryReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},library:{$ref:"#/definitions/docs.LibraryName"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]}},required:["library"],additionalProperties:!1},"docs.ChangelogConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},changelog:{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["changelog"],additionalProperties:!1},"docs.TitleSource":{type:"string",enum:["frontmatter","filename"]},"docs.FolderConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},folder:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},"title-source":{oneOf:[{$ref:"#/definitions/docs.TitleSource"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["folder"],additionalProperties:!1},"docs.NavigationItem":{anyOf:[{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.SectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceConfiguration"},{$ref:"#/definitions/docs.LibraryReferenceConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"},{$ref:"#/definitions/docs.ChangelogConfiguration"},{$ref:"#/definitions/docs.FolderConfiguration"}]},"docs.UntabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},"docs.TabId":{type:"string"},"docs.TabbedNavigationItemWithLayout":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},{type:"null"}]}},required:["tab"],additionalProperties:!1},"docs.TabVariant":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{type:"string"},subtitle:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},layout:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},default:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["title","layout"],additionalProperties:!1},"docs.TabbedNavigationItemWithVariants":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},variants:{type:"array",items:{$ref:"#/definitions/docs.TabVariant"}}},required:["tab","variants"],additionalProperties:!1},"docs.TabbedNavigationItem":{anyOf:[{$ref:"#/definitions/docs.TabbedNavigationItemWithLayout"},{$ref:"#/definitions/docs.TabbedNavigationItemWithVariants"}]},"docs.TabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.TabbedNavigationItem"}},"docs.NavigationConfig":{anyOf:[{$ref:"#/definitions/docs.UntabbedNavigationConfig"},{$ref:"#/definitions/docs.TabbedNavigationConfig"}]}},dxm={type:uxm,properties:cxm,required:lxm,additionalProperties:pxm,definitions:fxm};async function jFn({value:e}){let t=bz(e,LAo);if(t.success){let i=fN(e,[],[]);return{type:"success",contents:Dw.RawSchemas.Serializer.VersionFileConfig.parseOrThrow(i)}}let r=t.error?.instancePath?` at ${t?.error.instancePath}`:"";return{type:"failure",message:`${t.error?.message??"Failed to parse because JSON schema validation failed"}${r}`}}Qt();Vt();var VAo=require("fs/promises");Qt();var UAo={};Y(UAo,{additionalProperties:()=>Axm,default:()=>bxm,definitions:()=>yxm,properties:()=>hxm,required:()=>gxm,type:()=>mxm});var mxm="object",hxm={tabs:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/docs.TabConfig"}},{type:"null"}]},"landing-page":{oneOf:[{$ref:"#/definitions/docs.PageConfiguration"},{type:"null"}]},navigation:{$ref:"#/definitions/docs.NavigationConfig"}},gxm=["navigation"],Axm=!1,yxm={"docs.RoleId":{type:"string"},"docs.Role":{anyOf:[{$ref:"#/definitions/docs.RoleId"},{type:"array",items:{$ref:"#/definitions/docs.RoleId"}}]},"docs.FeatureFlag":{type:"object",properties:{flag:{type:"string"},"fallback-value":{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},match:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]}},required:["flag"],additionalProperties:!1},"docs.FeatureFlagConfiguration":{anyOf:[{type:"string",description:"The name of the feature flag, We assume that it is a boolean feature flag that needs to be evaluated to true."},{$ref:"#/definitions/docs.FeatureFlag",description:"A single feature flag with a configurable name, fallback value, and match value. Especially useful for non boolean feature flags."},{type:"array",items:{$ref:"#/definitions/docs.FeatureFlag"},description:"A list of feature flags. If any of the feature flags are satisfied, we will show all content."}]},"docs.Target":{type:"string",enum:["_blank","_self","_parent","_top"]},"docs.ChangelogFolderRelativePath":{type:"string"},"docs.TabConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]},target:{oneOf:[{$ref:"#/definitions/docs.Target"},{type:"null"}]},changelog:{oneOf:[{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},{type:"null"}]}},required:["display-name"],additionalProperties:!1},"docs.Availability":{type:"string",enum:["stable","generally-available","in-development","pre-release","deprecated","beta"]},"docs.PageConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},page:{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},noindex:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["page","path"],additionalProperties:!1},"docs.CollapsedStringValue":{type:"string",enum:["open-by-default"]},"docs.CollapsedValue":{anyOf:[{type:"boolean"},{$ref:"#/definitions/docs.CollapsedStringValue"}]},"docs.SectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},path:{oneOf:[{type:"string"},{type:"null"}]},contents:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["section","contents"],additionalProperties:!1},"docs.AudienceId":{type:"string"},"docs.Audience":{anyOf:[{$ref:"#/definitions/docs.AudienceId"},{type:"array",items:{$ref:"#/definitions/docs.AudienceId"}}]},"docs.VersionedSnippetLanguageConfiguration":{type:"object",properties:{version:{type:"string"},package:{type:"string"}},required:["version","package"],additionalProperties:!1},"docs.SnippetLanguageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.VersionedSnippetLanguageConfiguration"}]},"docs.SnippetsConfiguration":{type:"object",properties:{python:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},typescript:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},go:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},java:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},ruby:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},csharp:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},php:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},swift:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},rust:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundButtonSettings":{type:"object",properties:{href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundSettings":{type:"object",properties:{hidden:{oneOf:[{type:"boolean"},{type:"null"}]},environments:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},button:{oneOf:[{$ref:"#/definitions/docs.PlaygroundButtonSettings"},{type:"null"}]},oauth:{oneOf:[{type:"boolean"},{type:"null"}]},"limit-websocket-messages-per-connection":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfigurationWithOptions":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfiguration":{anyOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{$ref:"#/definitions/docs.ApiReferencePackageConfigurationWithOptions"}]},"docs.ApiReferenceSectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},"referenced-packages":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["section"],additionalProperties:!1},"docs.ApiReferenceEndpointConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},endpoint:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"docs.ApiReferenceOperationConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},operation:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["operation"],additionalProperties:!1},"docs.LinkConfiguration":{type:"object",properties:{link:{type:"string"},href:{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},target:{oneOf:[{$ref:"#/definitions/docs.Target"},{type:"null"}]}},required:["link","href"],additionalProperties:!1},"docs.ApiReferenceLayoutItem":{anyOf:[{type:"string",description:"This should be either an endpoint, websocket, webhook, or subpackage ID"},{type:"object",additionalProperties:{$ref:"#/definitions/docs.ApiReferencePackageConfiguration"},description:"Keyed by subpackage name, this object allows you to group endpoints and pages together."},{$ref:"#/definitions/docs.ApiReferenceSectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceEndpointConfiguration"},{$ref:"#/definitions/docs.ApiReferenceOperationConfiguration"},{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"}]},"docs.ApiReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},api:{type:"string"},"api-name":{oneOf:[{type:"string"},{type:"null"}]},openrpc:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{$ref:"#/definitions/docs.Audience"},{type:"null"}]},"display-errors":{oneOf:[{type:"boolean"},{type:"null"}]},"tag-description-pages":{oneOf:[{type:"boolean"},{type:"null"}]},snippets:{oneOf:[{$ref:"#/definitions/docs.SnippetsConfiguration"},{type:"null"}]},postman:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},alphabetized:{oneOf:[{type:"boolean"},{type:"null"}]},flattened:{oneOf:[{type:"boolean"},{type:"null"}]},paginated:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["api"],additionalProperties:!1},"docs.LibraryName":{type:"string"},"docs.LibraryReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},library:{$ref:"#/definitions/docs.LibraryName"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]}},required:["library"],additionalProperties:!1},"docs.ChangelogConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},changelog:{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["changelog"],additionalProperties:!1},"docs.TitleSource":{type:"string",enum:["frontmatter","filename"]},"docs.FolderConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},folder:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},"title-source":{oneOf:[{$ref:"#/definitions/docs.TitleSource"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},collapsed:{oneOf:[{$ref:"#/definitions/docs.CollapsedValue"},{type:"null"}]},collapsible:{oneOf:[{type:"boolean"},{type:"null"}]},"collapsed-by-default":{oneOf:[{type:"boolean"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.Availability"},{type:"null"}]}},required:["folder"],additionalProperties:!1},"docs.NavigationItem":{anyOf:[{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.SectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceConfiguration"},{$ref:"#/definitions/docs.LibraryReferenceConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"},{$ref:"#/definitions/docs.ChangelogConfiguration"},{$ref:"#/definitions/docs.FolderConfiguration"}]},"docs.UntabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},"docs.TabId":{type:"string"},"docs.TabbedNavigationItemWithLayout":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},{type:"null"}]}},required:["tab"],additionalProperties:!1},"docs.TabVariant":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{type:"string"},subtitle:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},layout:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},default:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["title","layout"],additionalProperties:!1},"docs.TabbedNavigationItemWithVariants":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},variants:{type:"array",items:{$ref:"#/definitions/docs.TabVariant"}}},required:["tab","variants"],additionalProperties:!1},"docs.TabbedNavigationItem":{anyOf:[{$ref:"#/definitions/docs.TabbedNavigationItemWithLayout"},{$ref:"#/definitions/docs.TabbedNavigationItemWithVariants"}]},"docs.TabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.TabbedNavigationItem"}},"docs.NavigationConfig":{anyOf:[{$ref:"#/definitions/docs.UntabbedNavigationConfig"},{$ref:"#/definitions/docs.TabbedNavigationConfig"}]}},bxm={type:mxm,properties:hxm,required:gxm,additionalProperties:Axm,definitions:yxm};async function NFn({value:e}){let t=bz(e,UAo);if(t.success){let i=fN(e,[],[]);return{type:"success",contents:Dw.RawSchemas.Serializer.ProductFileConfig.parseOrThrow(i)}}let r=t.error?.instancePath?` at ${t?.error.instancePath}`:"";return{type:"failure",message:`${t.error?.message??"Failed to parse because JSON schema validation failed"}${r}`}}Vt();async function aI({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:t,visitor:r,nodePath:n,willBeUploaded:i=!0}){let o=ao(bn(e),t);await r.filepath?.({absoluteFilepath:o,value:t,willBeUploaded:i},[o])}Qt();Vt();var E2e=require("fs/promises");async function Iut(e,t,r){let n=new Array(t.length),i=new Set;for(let o=0;o<t.length;o++){let s=t[o];if(s===void 0)continue;let a=(async()=>{let u=await r(s,o);n[o]=u})().then(()=>{i.delete(a)});i.add(a),i.size>=e&&await Promise.race(i)}return await Promise.all(i),n}var wut=parseInt(process.env.FERN_DOCS_VALIDATION_CONCURRENCY??"32",10);async function LFn({absolutePathToFernFolder:e,navigation:t,apiWorkspaces:r,visitor:n,absoluteFilepathToConfiguration:i,context:o,nodePath:s}){o.logger.debug(`Starting navigation validation with concurrency limit: ${wut}`),Cxm(t)?await Iut(wut,t,async(a,u)=>{if(xxm(a))await Iut(wut,a.layout,async(c,l)=>{await MFn({absolutePathToFernFolder:e,navigationItem:c,visitor:n,nodePath:[...s,`${u}`,"layout",`${l}`],absoluteFilepathToConfiguration:i,apiWorkspaces:r,context:o})});else if(_xm(a)){let c=a.variants.flatMap((l,p)=>l.layout.map((d,f)=>({item:d,variantIdx:p,itemIdx:f})));await Iut(wut,c,async({item:l,variantIdx:p,itemIdx:d})=>{await MFn({absolutePathToFernFolder:e,navigationItem:l,visitor:n,nodePath:[...s,`${u}`,"variants",`${p}`,"layout",`${d}`],absoluteFilepathToConfiguration:i,apiWorkspaces:r,context:o})})}}):await Iut(wut,t,async(a,u)=>{await MFn({absolutePathToFernFolder:e,navigationItem:a,visitor:n,nodePath:[...s,`${u}`],absoluteFilepathToConfiguration:i,apiWorkspaces:r,context:o})})}async function MFn({absolutePathToFernFolder:e,navigationItem:t,visitor:r,nodePath:n,absoluteFilepathToConfiguration:i,apiWorkspaces:o,context:s}){await mz(t,{alphabetized:ft,api:ft,apiName:ft,audiences:ft,openrpc:async u=>{u!=null&&await aI({absoluteFilepathToConfiguration:i,rawUnresolvedFilepath:u,visitor:r,nodePath:[...n,"openrpc"],willBeUploaded:!1})},displayErrors:ft,tagDescriptionPages:ft,snippets:ft,summary:ft,title:ft,layout:ft,collapsed:ft,icon:ft,slug:ft,hidden:ft,skipSlug:ft,paginated:ft,playground:ft,flattened:ft,featureFlag:ft,postman:ft,path:async u=>{u!=null&&await aI({absoluteFilepathToConfiguration:i,rawUnresolvedFilepath:u,visitor:r,nodePath:[...n,"path"],willBeUploaded:!1})},page:ft,contents:async u=>{u!=null&&await Promise.all(u.map(async(c,l)=>{await MFn({absolutePathToFernFolder:e,navigationItem:c,visitor:r,nodePath:[...n,"contents",`${l}`],absoluteFilepathToConfiguration:i,apiWorkspaces:o,context:s})}))},viewers:async u=>{u!=null&&u.length>0&&await r.permissions?.({viewers:u},[...n,"viewers"])},orphaned:ft,availability:ft});let a=vxm(t);if(a!=null){let u=ao(bn(i),a);if(await Xt(u)){let l=(await(0,E2e.stat)(u)).size/(1024*1024);l>1&&s.logger.trace(`Processing large markdown file: ${a} (${l.toFixed(2)} MB)`);let p=performance.now(),d=(await(0,E2e.readFile)(u,"utf8")).toString(),f=performance.now()-p;f>2e3&&s.logger.debug(`Slow file read: ${a} took ${f.toFixed(0)}ms`);let m=Ixm(t);await r.markdownPage?.({title:m,content:d,absoluteFilepath:u},[...n,a]);try{let h=performance.now(),{filepaths:g}=$se(d,{absolutePathToFernFolder:e,absolutePathToMarkdownFile:u}),A=performance.now()-h;A>2e3&&s.logger.debug(`Slow image path parsing: ${a} took ${A.toFixed(0)}ms`);for(let b of g)await r.filepath?.({absoluteFilepath:b,value:ma(e,b),willBeUploaded:!0},[...n,a])}catch(h){s.logger.trace(`Failed to parse image paths in ${a}: ${h}`)}}}if(wxm(t)){let u=o.find(c=>c.workspaceName===t.apiName);u!=null&&await r.apiSection?.({config:t,workspace:u,context:s},[...n,"api"])}if(Exm(t)){let u=ao(bn(i),t.changelog);if(s.logger.trace(`Starting changelog processing for directory: ${u}`),await Xt(u)){let c=performance.now(),p=(await(0,E2e.readdir)(u)).filter(f=>f.endsWith(".md")||f.endsWith(".mdx"));s.logger.debug(`Processing ${p.length} changelog files in ${u}`),await Iut(wut,p,async f=>{let m=ao(u,f),h=(await(0,E2e.readFile)(m,"utf8")).toString();s.logger.trace(`Validating changelog file: ${f}`),await r.markdownPage?.({title:f,content:h,absoluteFilepath:m},[...n,"changelog",f])});let d=performance.now()-c;s.logger.debug(`Finished processing ${p.length} changelog files in ${d.toFixed(0)}ms`)}else s.logger.trace(`Changelog directory does not exist: ${u}`)}}function Exm(e){return e?.changelog!=null}function XMu(e){return e?.page!=null}function ZMu(e){return e?.section!=null}function vxm(e){if(XMu(e)||ZMu(e)&&e.path!=null)return e.path}function Ixm(e){return XMu(e)?e.page:ZMu(e)?e.section:"Unknown"}function wxm(e){return e?.api!=null}function Cxm(e){return e[0]?.tab!=null}function xxm(e){return"layout"in e&&Array.isArray(e.layout)}function _xm(e){return"variants"in e&&Array.isArray(e.variants)}async function t4u({contents:e,visitor:t,absoluteFilepathToConfiguration:r,context:n,apiWorkspaces:i,absolutePathToFernFolder:o}){await t.file?.({config:e},[]),await mz(e,{instances:ft,analytics:ft,aiChat:ft,aiSearch:ft,aiExamples:async s=>{s!=null&&typeof s=="object"&&await mz(s,{enabled:ft,style:ft})},pageActions:ft,announcement:ft,backgroundImage:async s=>{s!=null&&(typeof s=="string"?await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s,visitor:t,nodePath:["background-image"]}):(s.dark!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s.dark,visitor:t,nodePath:["background-image","dark"]}),s.light!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s.light,visitor:t,nodePath:["background-image","light"]})))},colors:ft,css:async s=>{s!=null&&(Array.isArray(s)?await Promise.all(s.map((a,u)=>aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:a,visitor:t,nodePath:["css",`${u}`],willBeUploaded:!1}))):await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s,visitor:t,nodePath:["css"],willBeUploaded:!1}))},defaultLanguage:ft,experimental:ft,favicon:async s=>{s!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s,visitor:t,nodePath:["favicon"]})},footer:async s=>{s!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s,visitor:t,nodePath:["footer"],willBeUploaded:!1})},footerLinks:ft,header:async s=>{s!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:s,visitor:t,nodePath:["header"],willBeUploaded:!1})},integrations:ft,js:async s=>{s!=null&&(Array.isArray(s)?await Promise.all(s.map((a,u)=>e4u({absoluteFilepathToConfiguration:r,visitor:t,script:a,nodePath:["js",`${u}`]}))):await e4u({absoluteFilepathToConfiguration:r,visitor:t,script:s,nodePath:["js"]}))},landingPage:ft,layout:ft,settings:ft,logo:async()=>{e.logo?.dark!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.dark,visitor:t,nodePath:["logo","dark"]}),e.logo?.light!=null&&await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.light,visitor:t,nodePath:["logo","light"]})},metadata:ft,navbarLinks:ft,navigation:async s=>{s!=null&&await LFn({absolutePathToFernFolder:o,navigation:s,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:r,apiWorkspaces:i,context:n})},products:async s=>{s!=null&&await Promise.all(s.map(async(a,u)=>{if("path"in a){await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:a.path,visitor:t,nodePath:["products",`${u}`],willBeUploaded:!1});let c=ao(bn(r),a.path),l=wr.load((await(0,VAo.readFile)(c)).toString());await Xt(c)&&await t.productFile?.({path:a.path,content:l},[a.path]);let p=await NFn({value:l});p.type==="success"&&await LFn({absolutePathToFernFolder:o,navigation:p.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:c,apiWorkspaces:i,context:n})}}))},redirects:ft,tabs:ft,title:ft,typography:async s=>{s!=null&&await mz(s,{bodyFont:async a=>{a!=null&&await zAo({absoluteFilepathToConfiguration:r,visitor:t,font:a,nodePath:["typography","bodyFont"]})},codeFont:async a=>{a!=null&&await zAo({absoluteFilepathToConfiguration:r,visitor:t,font:a,nodePath:["typography","codeFont"]})},headingsFont:async a=>{a!=null&&await zAo({absoluteFilepathToConfiguration:r,visitor:t,font:a,nodePath:["typography","headingsFont"]})}})},versions:async s=>{s!=null&&await Promise.all(s.map(async(a,u)=>{await aI({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:a.path,visitor:t,nodePath:["versions",`${u}`],willBeUploaded:!1});let c=ao(bn(r),a.path),l=wr.load((await(0,VAo.readFile)(c)).toString());await Xt(c)&&await t.versionFile?.({path:a.path,content:l},[a.path]);let p=await jFn({value:l});p.type==="success"&&await LFn({absolutePathToFernFolder:o,navigation:p.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:c,apiWorkspaces:i,context:n})}))},roles:ft,languages:ft,theme:ft,libraries:ft})}async function zAo({absoluteFilepathToConfiguration:e,visitor:t,font:r,nodePath:n}){r.path!=null&&await aI({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:r.path,visitor:t,nodePath:n,willBeUploaded:!0});for(let i of r.paths??[])typeof i=="string"?await aI({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:i,visitor:t,nodePath:n,willBeUploaded:!0}):await aI({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:i.path,visitor:t,nodePath:n,willBeUploaded:!0})}async function e4u({absoluteFilepathToConfiguration:e,visitor:t,script:r,nodePath:n}){let i=typeof r=="string"?r:"path"in r?r.path:null;i&&await aI({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:i,visitor:t,nodePath:n,willBeUploaded:!0})}var ykn={};Y(ykn,{AccentColorContrastRule:()=>qAo,AllRolesMustBeDeclaredRule:()=>GAo,FilepathsExistRule:()=>UFn,NoCircularRedirectsRule:()=>VFn,OnlyVersionedNavigation:()=>qFn,TabWithHrefRule:()=>Pxm,ValidDocsEndpoints:()=>GFn,ValidFileTypes:()=>XFn,ValidFrontmatter:()=>ZFn,ValidMarkdownFileReferences:()=>aUu,ValidMarkdownLinks:()=>Owe,ValidMarkdownRule:()=>iUu,ValidateProductFileRule:()=>gkn,ValidateVersionFileRule:()=>Akn,enforceBackgroundTheme:()=>r4u,validateTheme:()=>JRt});yer();var qAo={name:"accent-color-contrast",create:()=>({file:async({config:e})=>{if(e.colors==null)return[];let t=Eer(e.colors);return t==="dark"?JRt(e.colors,"dark"):t==="light"?JRt(e.colors,"light"):t==="darkAndLight"?[...JRt(e.colors,"dark"),...JRt(e.colors,"light")]:[]}})};function JRt(e,t){let r=Lht(e.accentPrimary??e.accentPrimaryDeprecated,"accent-primary",t),n=Lht(e.background,"background",t)??(t==="dark"?"#000":"#FFF"),i=[];if(!Uo(n).isValid())i.push({severity:"fatal",message:`Invalid background color provided for colors.background.${t}: ${n}.`});else{let o=r4u(Uo(n),t);Uo(n).toHexString()!==o.toHexString()&&i.push({severity:"warning",message:`The provided background color for ${t} mode is not ${t} enough. It will be adjusted to ${o.toHexString()}.`}),n=o.toHexString()}if(r==null)i.push({severity:"warning",message:`No accent-color provided for ${t} mode. A random color will be used.`});else if(!Uo(r).isValid())i.push({severity:"fatal",message:`Invalid accent-color provided for colors.accent-primary.${t}: ${r}.`});else{let o=Uo.readability(r,n),s=`${o.toFixed(2)}:1`;o<3?i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${s}. It should be at least 3:1.`}):o<4.5?i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${s}. Fern will adjust the color to meet the minimum contrast ratio of 4.5:1 for WCAG AA and 7:1 for WCAG AAA.`}):o<7&&i.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${s}. Fern will adjust the color to meet the minimum contrast ratio of 7:1 for WCAG AAA.`})}return i}function r4u(e,t){return t==="dark"&&e.isDark()||t==="light"&&e.isLight()?e:Sxm(e)}function Sxm(e){if(e==null)return;let{h:t,s:r,v:n}=e.toHsv();return Uo({h:t,s:r,v:1-n})}var GAo={name:"all-roles-must-be-declared",create:e=>{let t=e.workspace.config.roles;return{permissions:r=>{let n=[...r.viewers??[]],i=[];for(let o of n)(t==null||!t.includes(o))&&i.push({severity:"fatal",message:`Role "${o}" is used but not declared at the top level of the docs.yml file.`});return i}}}};Vt();var UFn={name:"filepaths-exist",create:()=>({filepath:async({absoluteFilepath:e,value:t})=>await Xt(e)?[]:[{severity:"fatal",message:`Path ${t} does not exist`}]})};function zFn(e){return e!=="/"&&e.endsWith("/")?e.slice(0,-1):e}function Bxm(e){return!e.source.includes(":")&&!e.destination.includes(":")}function Oxm(e){let t=[],r=e.filter(Bxm),n=new Map;for(let u=0;u<r.length;u++){let c=r[u];if(c){let l=zFn(c.source),p=zFn(c.destination);n.set(l,{destination:p,index:u})}}for(let u=0;u<e.length;u++){let c=e[u];if(c){let l=zFn(c.source),p=zFn(c.destination);l===p&&t.push({severity:"error",message:`redirects[${u}]: Redirect from "${c.source}" to "${c.destination}" creates an infinite loop (source equals destination)`})}}let i=new Set,o=new Set;function s(u,c){if(o.has(u)){let d=c.indexOf(u);return c.slice(d)}if(i.has(u))return null;let l=n.get(u);if(!l)return null;i.add(u),o.add(u),c.push(u);let p=s(l.destination,c);return o.delete(u),c.pop(),p}let a=new Set;for(let[u]of n){i.clear(),o.clear();let c=s(u,[]);if(c&&c.length>1){let p=[...c].sort().join(" -> ");if(!a.has(p)){a.add(p);let d=[...c,c[0]].join(" -> ");t.push({severity:"error",message:`Circular redirect chain detected: ${d}`})}}}return t}var VFn={name:"no-circular-redirects",create:()=>({file:async({config:e})=>{let t=[];if(!e.redirects||e.redirects.length===0)return t;let r=e.redirects.map(n=>({source:n.source,destination:n.destination,permanent:n.permanent}));return Oxm(r)}})};var qFn={name:"only-versioned-navigation",create:()=>({file:async({config:e})=>e.navigation!=null&&e.versions!=null?[{severity:"fatal",message:"Cannot contain both navigation and versions. If you want versioned docs, use versions. Otherwise use navigation."}]:[]})};var Pxm={name:"tab-with-href",create:()=>({file:async({config:e})=>{let t=e.tabs??{};if(e.navigation==null)return[];let r=[];if(Txm(e.navigation))for(let n of e.navigation){let i=t[n.tab];if(i==null){r.push({severity:"fatal",message:`Tab "${n.tab}" is missing from the tabs configuration.`});continue}let o=Dxm(n),s=Rxm(n);if(i.href!=null&&(o||s)){r.push({severity:"fatal",message:`Tab "${n.tab}" has both a href and ${o?"layout":"variants"}. Only one should be used.`});continue}if(i.href==null&&!o&&!s){r.push({severity:"fatal",message:`Tab "${n.tab}" is missing a href, layout, or variants.`});continue}}return[]}})};function Txm(e){return Array.isArray(e)&&e.length>0&&e[0].tab!=null}function Dxm(e){return"layout"in e&&Array.isArray(e.layout)}function Rxm(e){return"variants"in e&&Array.isArray(e.variants)}var GFn={name:"valid-docs-endpoints",create:()=>({file:async({config:e})=>!e.analytics||!Object.keys(e.analytics).length?[]:[[e.analytics.intercom?.apiBase,"Intercom API Base"],[e.analytics.posthog?.endpoint,"Posthog Host Endpoint"]].filter(([n])=>n&&!Fxm(n)).map(([n,i])=>({severity:"warning",message:`${i} <${n}> is malformed. Make sure it includes a protocol (e.g. 'https://')!`}))})};function Fxm(e){try{return!!new URL(e).protocol}catch{return!1}}Vt();var v4u=xe(HSi(),1);var Xxm=require("stream/web"),YAo=require("stream");var Mxm=require("fs/promises");var kxm="End-Of-Stream",$m=class extends Error{constructor(){super(kxm)}};var YRt=class{constructor(){this.maxStreamReadSize=1*1024*1024,this.endOfStream=!1,this.peekQueue=[]}async peek(t,r,n){let i=await this.read(t,r,n);return this.peekQueue.push(t.subarray(r,r+i)),i}async read(t,r,n){if(n===0)return 0;let i=this.readFromPeekBuffer(t,r,n);if(i+=await this.readRemainderFromStream(t,r+i,n-i),i===0)throw new $m;return i}readFromPeekBuffer(t,r,n){let i=n,o=0;for(;this.peekQueue.length>0&&i>0;){let s=this.peekQueue.pop();if(!s)throw new Error("peekData should be defined");let a=Math.min(s.length,i);t.set(s.subarray(0,a),r+o),o+=a,i-=a,a<s.length&&this.peekQueue.push(s.subarray(a))}return o}async readRemainderFromStream(t,r,n){let i=n,o=0;for(;i>0&&!this.endOfStream;){let s=Math.min(i,this.maxStreamReadSize),a=await this.readFromStream(t,r+o,s);if(a===0)break;o+=a,i-=a}return o}};var XRt=class extends YRt{constructor(t){super(),this.reader=t.getReader({mode:"byob"})}async readFromStream(t,r,n){if(this.endOfStream)throw new $m;let i=await this.reader.read(new Uint8Array(n));return i.done&&(this.endOfStream=i.done),i.value?(t.set(i.value,r),i.value.byteLength):0}abort(){return this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}};var $ue=class{constructor(t){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=t?.onClose,t?.abortSignal&&t.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(t,r=this.position){let n=new Uint8Array(t.len);if(await this.readBuffer(n,{position:r})<t.len)throw new $m;return t.get(n,0)}async peekToken(t,r=this.position){let n=new Uint8Array(t.len);if(await this.peekBuffer(n,{position:r})<t.len)throw new $m;return t.get(n,0)}async readNumber(t){if(await this.readBuffer(this.numBuffer,{length:t.len})<t.len)throw new $m;return t.get(this.numBuffer,0)}async peekNumber(t){if(await this.peekBuffer(this.numBuffer,{length:t.len})<t.len)throw new $m;return t.get(this.numBuffer,0)}async ignore(t){if(this.fileInfo.size!==void 0){let r=this.fileInfo.size-this.position;if(t>r)return this.position+=r,r}return this.position+=t,t}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(t,r){if(r&&r.position!==void 0&&r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return r?{mayBeLess:r.mayBeLess===!0,offset:r.offset?r.offset:0,length:r.length?r.length:t.length-(r.offset?r.offset:0),position:r.position?r.position:this.position}:{mayBeLess:!1,offset:0,length:t.length,position:this.position}}abort(){return Promise.resolve()}};var jxm=256e3,WFn=class extends $ue{constructor(t,r){super(r),this.streamReader=t,this.fileInfo=r?.fileInfo??{}}async readBuffer(t,r){let n=this.normalizeOptions(t,r),i=n.position-this.position;if(i>0)return await this.ignore(i),this.readBuffer(t,r);if(i<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(n.length===0)return 0;let o=await this.streamReader.read(t,n.offset,n.length);if(this.position+=o,(!r||!r.mayBeLess)&&o<n.length)throw new $m;return o}async peekBuffer(t,r){let n=this.normalizeOptions(t,r),i=0;if(n.position){let o=n.position-this.position;if(o>0){let s=new Uint8Array(n.length+o);return i=await this.peekBuffer(s,{mayBeLess:n.mayBeLess}),t.set(s.subarray(o),n.offset),i-o}if(o<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{i=await this.streamReader.peek(t,n.offset,n.length)}catch(o){if(r?.mayBeLess&&o instanceof $m)return 0;throw o}if(!n.mayBeLess&&i<n.length)throw new $m}return i}async ignore(t){let r=Math.min(jxm,t),n=new Uint8Array(r),i=0;for(;i<t;){let o=t-i,s=await this.readBuffer(n,{length:Math.min(r,o)});if(s<0)return s;i+=s}return i}abort(){return this.streamReader.abort()}supportsRandomAccess(){return!1}};var $Fn=class extends $ue{constructor(t,r){super(r),this.uint8Array=t,this.fileInfo={...r?.fileInfo??{},size:t.length}}async readBuffer(t,r){if(r?.position){if(r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=r.position}let n=await this.peekBuffer(t,r);return this.position+=n,n}async peekBuffer(t,r){let n=this.normalizeOptions(t,r),i=Math.min(this.uint8Array.length-n.position,n.length);if(!n.mayBeLess&&i<n.length)throw new $m;return t.set(this.uint8Array.subarray(n.position,n.position+i),n.offset),i}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(t){this.position=t}};function WAo(e,t){return new WFn(new XRt(e),t)}function n4u(e,t){return new $Fn(e,t)}var i4u=require("fs/promises"),ZRt=class e extends $ue{static async fromFile(t){let r=await(0,i4u.open)(t,"r"),n=await r.stat();return new e(r,{fileInfo:{path:t,size:n.size}})}constructor(t,r){super(r),this.fileHandle=t,this.fileInfo=r.fileInfo}async readBuffer(t,r){let n=this.normalizeOptions(t,r);if(this.position=n.position,n.length===0)return 0;let i=await this.fileHandle.read(t,n.offset,n.length,n.position);if(this.position+=i.bytesRead,i.bytesRead<n.length&&(!r||!r.mayBeLess))throw new $m;return i.bytesRead}async peekBuffer(t,r){let n=this.normalizeOptions(t,r),i=await this.fileHandle.read(t,n.offset,n.length,n.position);if(!n.mayBeLess&&i.bytesRead<n.length)throw new $m;return i.bytesRead}async close(){return await this.fileHandle.close(),super.close()}setPosition(t){this.position=t}supportsRandomAccess(){return!0}};var Lxm=ZRt.fromFile;var u4u=xe(o4u(),1);var s4u={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},zxm={};for(let[e,t]of Object.entries(s4u))zxm[t]=Number.parseInt(e,10);var HFn;function Vxm(){if(!(typeof globalThis.TextDecoder>"u"))return HFn??(HFn=new globalThis.TextDecoder("utf-8"))}var v2e=32*1024;function a4u(e,t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{let r=Vxm();return r?r.decode(e):qxm(e)}case"utf-16le":return Gxm(e);case"us-ascii":case"ascii":return Wxm(e);case"latin1":case"iso-8859-1":return $xm(e);case"windows-1252":return Hxm(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}function qxm(e){let t=[],r="",n=0;for(;n<e.length;){let i=e[n++];if(i<128)r+=String.fromCharCode(i);else if(i<224){let o=e[n++]&63;r+=String.fromCharCode((i&31)<<6|o)}else if(i<240){let o=e[n++]&63,s=e[n++]&63;r+=String.fromCharCode((i&15)<<12|o<<6|s)}else{let o=e[n++]&63,s=e[n++]&63,a=e[n++]&63,u=(i&7)<<18|o<<12|s<<6|a;u-=65536,r+=String.fromCharCode(55296+(u>>10&1023),56320+(u&1023))}r.length>=v2e&&(t.push(r),r="")}return r&&t.push(r),t.join("")}function Gxm(e){let t=e.length&-2;if(t===0)return"";let r=[],n=v2e;for(let i=0;i<t;){let o=Math.min(n,t-i>>1),s=new Array(o);for(let a=0;a<o;a++,i+=2)s[a]=e[i]|e[i+1]<<8;r.push(String.fromCharCode.apply(null,s))}return r.join("")}function Wxm(e){let t=[];for(let r=0;r<e.length;r+=v2e){let n=Math.min(e.length,r+v2e),i=new Array(n-r);for(let o=r,s=0;o<n;o++,s++)i[s]=e[o]&127;t.push(String.fromCharCode.apply(null,i))}return t.join("")}function $xm(e){let t=[];for(let r=0;r<e.length;r+=v2e){let n=Math.min(e.length,r+v2e),i=new Array(n-r);for(let o=r,s=0;o<n;o++,s++)i[s]=e[o];t.push(String.fromCharCode.apply(null,i))}return t.join("")}function Hxm(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e[n],o=i>=128&&i<=159?s4u[i]:void 0;r+=o??String.fromCharCode(i),r.length>=v2e&&(t.push(r),r="")}return r&&t.push(r),t.join("")}function d2(e){return new DataView(e.buffer,e.byteOffset)}var c4u={len:1,get(e,t){return d2(e).getUint8(t)},put(e,t,r){return d2(e).setUint8(t,r),t+1}},KFn={len:2,get(e,t){return d2(e).getUint16(t,!0)},put(e,t,r){return d2(e).setUint16(t,r,!0),t+2}},JFn={len:2,get(e,t){return d2(e).getUint16(t)},put(e,t,r){return d2(e).setUint16(t,r),t+2}};var l4u={len:4,get(e,t){return d2(e).getUint32(t,!0)},put(e,t,r){return d2(e).setUint32(t,r,!0),t+4}},p4u={len:4,get(e,t){return d2(e).getUint32(t)},put(e,t,r){return d2(e).setUint32(t,r),t+4}};var f4u={len:4,get(e,t){return d2(e).getInt32(t)},put(e,t,r){return d2(e).setInt32(t,r),t+4}};var d4u={len:8,get(e,t){return d2(e).getBigUint64(t,!0)},put(e,t,r){return d2(e).setBigUint64(t,r,!0),t+8}};var jj=class{constructor(t,r){this.len=t,this.encoding=r}get(t,r=0){let n=t.subarray(r,r+this.len);return a4u(n,this.encoding)}};var rcC={utf8:new globalThis.TextDecoder("utf8")};var ncC=new globalThis.TextEncoder;var icC=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function HAo(e){let{byteLength:t}=e;if(t===6)return e.getUint16(0)*2**32+e.getUint32(2);if(t===5)return e.getUint8(0)*2**32+e.getUint32(1);if(t===4)return e.getUint32(0);if(t===3)return e.getUint8(0)*2**16+e.getUint16(1);if(t===2)return e.getUint16(0);if(t===1)return e.getUint8(0)}function KAo(e,t){let r=e.length,n=t.length;if(n===0||n>r)return-1;let i=r-n;for(let o=0;o<=i;o++){let s=!0;for(let a=0;a<n;a++)if(e[o+a]!==t[a]){s=!1;break}if(s)return o}return-1}function m4u(e,t){return KAo(e,t)!==-1}function h4u(e){return[...e].map(t=>t.charCodeAt(0))}function g4u(e,t=0){let r=Number.parseInt(new jj(6).get(e,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(r))return!1;let n=256;for(let i=t;i<t+148;i++)n+=e[i];for(let i=t+156;i<t+512;i++)n+=e[i];return r===n}var A4u={get:(e,t)=>e[t+3]&127|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4};var y4u=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk"],b4u=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/x-parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive"];var E4u=4100;async function JAo(e){return new YFn().fromBuffer(e)}function Ate(e,t,r){r={offset:0,...r};for(let[n,i]of t.entries())if(r.mask){if(i!==(r.mask[n]&e[n+r.offset]))return!1}else if(i!==e[n+r.offset])return!1;return!0}var YFn=class{constructor(t){this.detectors=t?.customDetectors,this.tokenizerOptions={abortSignal:t?.signal},this.fromTokenizer=this.fromTokenizer.bind(this),this.fromBuffer=this.fromBuffer.bind(this),this.parse=this.parse.bind(this)}async fromTokenizer(t){let r=t.position;for(let n of this.detectors||[]){let i=await n(t);if(i)return i;if(r!==t.position)return}return this.parse(t)}async fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``);let r=t instanceof Uint8Array?t:new Uint8Array(t);if(r?.length>1)return this.fromTokenizer(n4u(r,this.tokenizerOptions))}async fromBlob(t){return this.fromStream(t.stream())}async fromStream(t){let r=await WAo(t,this.tokenizerOptions);try{return await this.fromTokenizer(r)}finally{await r.close()}}async toDetectionStream(t,r){let{sampleSize:n=E4u}=r,i,o,s=t.getReader({mode:"byob"});try{let{value:c,done:l}=await s.read(new Uint8Array(n));if(o=c,!l&&c)try{i=await this.fromBuffer(c.slice(0,n))}catch(p){if(!(p instanceof $m))throw p;i=void 0}o=c}finally{s.releaseLock()}let a=new TransformStream({async start(c){c.enqueue(o)},transform(c,l){l.enqueue(c)}}),u=t.pipeThrough(a);return u.fileType=i,u}check(t,r){return Ate(this.buffer,t,r)}checkString(t,r){return this.check(h4u(t),r)}async parse(t){if(this.buffer=new Uint8Array(E4u),t.fileInfo.size===void 0&&(t.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=t,await t.peekBuffer(this.buffer,{length:12,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await t.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.parse(t);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await t.ignore(6);let r=await t.readToken(A4u);return t.position+r>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(r),this.fromTokenizer(t))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){try{for(;t.position+30<t.fileInfo.size;){await t.readBuffer(this.buffer,{length:30});let r=new DataView(this.buffer.buffer),n={compressedSize:r.getUint32(18,!0),uncompressedSize:r.getUint32(22,!0),filenameLength:r.getUint16(26,!0),extraFieldLength:r.getUint16(28,!0)};if(n.filename=await t.readToken(new jj(n.filenameLength,"utf-8")),await t.ignore(n.extraFieldLength),/classes\d*\.dex/.test(n.filename))return{ext:"apk",mime:"application/vnd.android.package-archive"};if(n.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(n.filename.endsWith(".rels")||n.filename.endsWith(".xml"))switch(n.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};case"visio":return{ext:"vsdx",mime:"application/vnd.visio"};default:break}if(n.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(n.filename.startsWith("3D/")&&n.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(n.filename==="mimetype"&&n.compressedSize===n.uncompressedSize){let i=await t.readToken(new jj(n.compressedSize,"utf-8"));switch(i=i.trim(),i){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}}if(n.compressedSize===0){let i=-1;for(;i<0&&t.position<t.fileInfo.size;)await t.peekBuffer(this.buffer,{mayBeLess:!0}),i=KAo(this.buffer,new Uint8Array([80,75,3,4])),await t.ignore(i>=0?i:this.buffer.length)}else await t.ignore(n.compressedSize)}}catch(r){if(!(r instanceof $m))throw r}return{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await t.ignore(28);let r=new Uint8Array(8);return await t.readBuffer(r),Ate(r,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:Ate(r,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:Ate(r,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:Ate(r,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:Ate(r,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:Ate(r,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let r=new jj(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(r){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return r.startsWith("3g")?r.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF")){try{await t.ignore(1350);let r=10*1024*1024,n=new Uint8Array(Math.min(r,t.fileInfo.size));if(await t.readBuffer(n,{mayBeLess:!0}),m4u(n,new TextEncoder().encode("AIPrivateData")))return{ext:"ai",mime:"application/postscript"}}catch(r){if(!(r instanceof $m))throw r}return{ext:"pdf",mime:"application/pdf"}}if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let r=await this.readTiffHeader(!1);if(r)return r}if(this.check([77,77])){let r=await this.readTiffHeader(!0);if(r)return r}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function r(){let a=await t.peekNumber(c4u),u=128,c=0;for(;(a&u)===0&&u!==0;)++c,u>>=1;let l=new Uint8Array(c+1);return await t.readBuffer(l),l}async function n(){let a=await r(),u=await r();u[0]^=128>>u.length-1;let c=Math.min(6,u.length),l=new DataView(a.buffer),p=new DataView(u.buffer,u.length-c,c);return{id:HAo(l),len:HAo(p)}}async function i(a){for(;a>0;){let u=await n();if(u.id===17026)return(await t.readToken(new jj(u.len))).replaceAll(/\00.*$/g,"");await t.ignore(u.len),--a}}let o=await n();switch(await i(o.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(this.check([82,73,70,70])){if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1"))return{ext:"parquet",mime:"application/x-parquet"};if(this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190]))return{ext:"class",mime:"application/java-vm"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let r=new jj(4,"latin1").get(this.buffer,2);if(r.match("^d*")&&r>=1e3&&r<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await t.ignore(8),await t.readToken(new jj(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("WEBVTT")&&[`
3470
- `,"\r"," "," ","\0"].some(r=>this.checkString(r,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){await t.ignore(8);async function r(){return{length:await t.readToken(f4u),type:await t.readToken(new jj(4,"latin1"))}}do{let n=await r();if(n.length<0)return;switch(n.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await t.ignore(n.length+4)}}while(t.position+8<t.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function r(){let n=new Uint8Array(16);return await t.readBuffer(n),{id:n,size:Number(await t.readToken(d4u))}}for(await t.ignore(30);t.position+24<t.fileInfo.size;){let n=await r(),i=n.size-24;if(Ate(n.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let o=new Uint8Array(16);if(i-=await t.readBuffer(o),Ate(o,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(Ate(o,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await t.ignore(i)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await t.ignore(20),await t.readToken(new jj(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await t.peekBuffer(this.buffer,{length:Math.min(256,t.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let r=new DataView(this.buffer.buffer).getUint32(12,!0);if(r>12&&this.buffer.length>=r+16)try{let n=new TextDecoder().decode(this.buffer.slice(16,r+16));if(JSON.parse(n).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(this.buffer,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),g4u(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0;if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]}))return this.check([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}async readTiffTag(t){let r=await this.tokenizer.readToken(t?JFn:KFn);switch(this.tokenizer.ignore(10),r){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(t){let r=await this.tokenizer.readToken(t?JFn:KFn);for(let n=0;n<r;++n){let i=await this.readTiffTag(t);if(i)return i}}async readTiffHeader(t){let r=(t?JFn:KFn).get(this.buffer,2),n=(t?p4u:l4u).get(this.buffer,4);if(r===42){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8})))return{ext:"nef",mime:"image/x-nikon-nef"}}return await this.tokenizer.ignore(n),await this.readTiffIFD(t)??{ext:"tif",mime:"image/tiff"}}if(r===43)return{ext:"tif",mime:"image/tiff"}}},Jxm=new Set(y4u),Yxm=new Set(b4u);var I4u=require("fs/promises"),w4u=xe(require("path"),1),Zxm=new Set(["image/jpeg","image/png","image/gif","image/webp","image/tiff","image/x-icon","image/avif","video/quicktime","video/mp4","video/webm","audio/mpeg","audio/ogg","audio/wav","application/pdf","application/xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/x-cfb","font/woff","font/woff2","font/otf","font/ttf"]),e_m=new Set(["ASCII","UTF-8","UTF-16","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","WINDOWS-1250","WINDOWS-1251","WINDOWS-1252","WINDOWS-1253","WINDOWS-1254","WINDOWS-1255","WINDOWS-1256","WINDOWS-1257","WINDOWS-1258","SHIFT_JIS","SHIFT-JIS","EUC-JP","ISO-2022-JP","BIG5","GB2312","GB18030","KOI8-R"]),XFn={name:"valid-file-types",create:()=>({filepath:async({absoluteFilepath:e,willBeUploaded:t})=>t?await Xt(e)?t_m(e):[]:[]})},t_m=async e=>{let t=new Uint8Array(await(0,I4u.readFile)(e)),r=await JAo(t);if(r!=null)return Zxm.has(r.mime)?[]:[{severity:"fatal",message:`The file type of ${r.mime} is not allowed: ${e}`}];let n=w4u.default.extname(e).toLowerCase();n.startsWith(".")&&(n=n.substring(1));let i=v4u.default.detect(t);return i==null?[{severity:"fatal",message:`The encoding of the file could not be detected: ${e}`}]:e_m.has(i.toUpperCase())?[]:[{severity:"fatal",message:`The encoding of ${i} is not allowed: ${e}`}]};var C4u=require("fs/promises"),x4u=xe(a7(),1),ZFn={name:"valid-frontmatter",create:()=>({filepath:async({absoluteFilepath:e})=>{if(!e.endsWith(".md")&&!e.endsWith(".mdx"))return[];try{let t=await(0,C4u.readFile)(e,"utf-8");return(0,x4u.default)(t),[]}catch(t){return[{severity:"fatal",message:`Failed to parse frontmatter${t instanceof Error?`: ${t.message}`:""}`}]}}})};Vt();var r_m=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"],_4u=r_m;var S4u=_4u.map(function(e){return"."+e});function B4u(e,t){let r=n_m(e)?e:new C5(e),{format:n,...i}=t||{};return{file:r,options:{format:n==="md"||n==="mdx"?n:r.extname&&(i.mdExtensions||S4u).includes(r.extname)?"md":"mdx",...i}}}function n_m(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}var XAo=/@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g;function ZAo(e,t){let r=t||{},n=r.runtime==="automatic",i={},o={};zB(e,{enter(s){if(s.type==="Program"){let a=s.comments||[],u=-1;for(;++u<a.length;){XAo.lastIndex=0;let c=XAo.exec(a[u].value);for(;c;)i[c[1]]=c[2],c=XAo.exec(a[u].value)}if(i.jsxRuntime)if(i.jsxRuntime==="automatic"){if(n=!0,i.jsx)throw new Error("Unexpected `@jsx` pragma w/ automatic runtime");if(i.jsxFrag)throw new Error("Unexpected `@jsxFrag` pragma w/ automatic runtime")}else if(i.jsxRuntime==="classic"){if(n=!1,i.jsxImportSource)throw new Error("Unexpected `@jsxImportSource` w/ classic runtime")}else throw new Error("Unexpected `jsxRuntime` `"+i.jsxRuntime+"`, expected `automatic` or `classic`")}},leave(s){if(s.type==="Program"){let h=[];if(o.fragment&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"Fragment"},local:{type:"Identifier",name:"_Fragment"}}),o.jsx&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsx"},local:{type:"Identifier",name:"_jsx"}}),o.jsxs&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxs"},local:{type:"Identifier",name:"_jsxs"}}),o.jsxDEV&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxDEV"},local:{type:"Identifier",name:"_jsxDEV"}}),h.length>0){let g=0;for(;g<s.body.length;){let A=s.body[g];if("directive"in A&&A.directive)g++;else break}s.body.splice(g,0,{type:"ImportDeclaration",specifiers:h,source:{type:"Literal",value:(i.jsxImportSource||r.importSource||"react")+(r.development?"/jsx-dev-runtime":"/jsx-runtime")}})}}if(s.type!=="JSXElement"&&s.type!=="JSXFragment")return;let a=[],u=-1;for(;++u<s.children.length;){let h=s.children[u];if(h.type==="JSXExpressionContainer")h.expression.type!=="JSXEmptyExpression"&&a.push(h.expression);else if(h.type==="JSXText"){let g=h.value.replace(/\t/g," ").replace(/ *(\r?\n|\r) */g,`
3470
+ `,"\r"," "," ","\0"].some(r=>this.checkString(r,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){await t.ignore(8);async function r(){return{length:await t.readToken(f4u),type:await t.readToken(new jj(4,"latin1"))}}do{let n=await r();if(n.length<0)return;switch(n.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await t.ignore(n.length+4)}}while(t.position+8<t.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function r(){let n=new Uint8Array(16);return await t.readBuffer(n),{id:n,size:Number(await t.readToken(d4u))}}for(await t.ignore(30);t.position+24<t.fileInfo.size;){let n=await r(),i=n.size-24;if(Ate(n.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let o=new Uint8Array(16);if(i-=await t.readBuffer(o),Ate(o,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(Ate(o,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await t.ignore(i)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await t.ignore(20),await t.readToken(new jj(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await t.peekBuffer(this.buffer,{length:Math.min(256,t.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let r=new DataView(this.buffer.buffer).getUint32(12,!0);if(r>12&&this.buffer.length>=r+16)try{let n=new TextDecoder().decode(this.buffer.slice(16,r+16));if(JSON.parse(n).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(this.buffer,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),g4u(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0;if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]}))return this.check([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}async readTiffTag(t){let r=await this.tokenizer.readToken(t?JFn:KFn);switch(this.tokenizer.ignore(10),r){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(t){let r=await this.tokenizer.readToken(t?JFn:KFn);for(let n=0;n<r;++n){let i=await this.readTiffTag(t);if(i)return i}}async readTiffHeader(t){let r=(t?JFn:KFn).get(this.buffer,2),n=(t?p4u:l4u).get(this.buffer,4);if(r===42){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8})))return{ext:"nef",mime:"image/x-nikon-nef"}}return await this.tokenizer.ignore(n),await this.readTiffIFD(t)??{ext:"tif",mime:"image/tiff"}}if(r===43)return{ext:"tif",mime:"image/tiff"}}},Jxm=new Set(y4u),Yxm=new Set(b4u);var I4u=require("fs/promises"),w4u=xe(require("path"),1),Zxm=new Set(["image/jpeg","image/png","image/gif","image/webp","image/tiff","image/x-icon","image/avif","video/quicktime","video/mp4","video/webm","audio/mpeg","audio/ogg","audio/wav","application/pdf","application/xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/x-cfb","font/woff","font/woff2","font/otf","font/ttf","application/x-tar","application/gzip","application/zip","application/x-bzip2","image/bmp","image/heif"]),e_m=new Set(["ASCII","UTF-8","UTF-16","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","WINDOWS-1250","WINDOWS-1251","WINDOWS-1252","WINDOWS-1253","WINDOWS-1254","WINDOWS-1255","WINDOWS-1256","WINDOWS-1257","WINDOWS-1258","SHIFT_JIS","SHIFT-JIS","EUC-JP","ISO-2022-JP","BIG5","GB2312","GB18030","KOI8-R"]),XFn={name:"valid-file-types",create:()=>({filepath:async({absoluteFilepath:e,willBeUploaded:t})=>t?await Xt(e)?t_m(e):[]:[]})},t_m=async e=>{let t=new Uint8Array(await(0,I4u.readFile)(e)),r=await JAo(t);if(r!=null)return Zxm.has(r.mime)?[]:[{severity:"fatal",message:`The file type of ${r.mime} is not allowed: ${e}`}];let n=w4u.default.extname(e).toLowerCase();n.startsWith(".")&&(n=n.substring(1));let i=v4u.default.detect(t);return i==null?[{severity:"fatal",message:`The encoding of the file could not be detected: ${e}`}]:e_m.has(i.toUpperCase())?[]:[{severity:"fatal",message:`The encoding of ${i} is not allowed: ${e}`}]};var C4u=require("fs/promises"),x4u=xe(a7(),1),ZFn={name:"valid-frontmatter",create:()=>({filepath:async({absoluteFilepath:e})=>{if(!e.endsWith(".md")&&!e.endsWith(".mdx"))return[];try{let t=await(0,C4u.readFile)(e,"utf-8");return(0,x4u.default)(t),[]}catch(t){return[{severity:"fatal",message:`Failed to parse frontmatter${t instanceof Error?`: ${t.message}`:""}`}]}}})};Vt();var r_m=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"],_4u=r_m;var S4u=_4u.map(function(e){return"."+e});function B4u(e,t){let r=n_m(e)?e:new C5(e),{format:n,...i}=t||{};return{file:r,options:{format:n==="md"||n==="mdx"?n:r.extname&&(i.mdExtensions||S4u).includes(r.extname)?"md":"mdx",...i}}}function n_m(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}var XAo=/@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g;function ZAo(e,t){let r=t||{},n=r.runtime==="automatic",i={},o={};zB(e,{enter(s){if(s.type==="Program"){let a=s.comments||[],u=-1;for(;++u<a.length;){XAo.lastIndex=0;let c=XAo.exec(a[u].value);for(;c;)i[c[1]]=c[2],c=XAo.exec(a[u].value)}if(i.jsxRuntime)if(i.jsxRuntime==="automatic"){if(n=!0,i.jsx)throw new Error("Unexpected `@jsx` pragma w/ automatic runtime");if(i.jsxFrag)throw new Error("Unexpected `@jsxFrag` pragma w/ automatic runtime")}else if(i.jsxRuntime==="classic"){if(n=!1,i.jsxImportSource)throw new Error("Unexpected `@jsxImportSource` w/ classic runtime")}else throw new Error("Unexpected `jsxRuntime` `"+i.jsxRuntime+"`, expected `automatic` or `classic`")}},leave(s){if(s.type==="Program"){let h=[];if(o.fragment&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"Fragment"},local:{type:"Identifier",name:"_Fragment"}}),o.jsx&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsx"},local:{type:"Identifier",name:"_jsx"}}),o.jsxs&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxs"},local:{type:"Identifier",name:"_jsxs"}}),o.jsxDEV&&h.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxDEV"},local:{type:"Identifier",name:"_jsxDEV"}}),h.length>0){let g=0;for(;g<s.body.length;){let A=s.body[g];if("directive"in A&&A.directive)g++;else break}s.body.splice(g,0,{type:"ImportDeclaration",specifiers:h,source:{type:"Literal",value:(i.jsxImportSource||r.importSource||"react")+(r.development?"/jsx-dev-runtime":"/jsx-runtime")}})}}if(s.type!=="JSXElement"&&s.type!=="JSXFragment")return;let a=[],u=-1;for(;++u<s.children.length;){let h=s.children[u];if(h.type==="JSXExpressionContainer")h.expression.type!=="JSXEmptyExpression"&&a.push(h.expression);else if(h.type==="JSXText"){let g=h.value.replace(/\t/g," ").replace(/ *(\r?\n|\r) */g,`
3471
3471
  `).replace(/\n+/g,`
3472
3472
  `).replace(/\n+$/,"").replace(/^\n+/,"").replace(/\n/g," ");if(g){let A={type:"Literal",value:g};eFt(h,A),a.push(A)}}else h.type!=="JSXElement"&&h.type!=="JSXFragment"&&h.type,a.push(h)}let c,l=[],p=[],d;if(s.type==="JSXElement"){if(c=ekn(s.openingElement.name),c.type==="Identifier"&&/^[a-z]/.test(c.name)){let b={type:"Literal",value:c.name};eFt(c,b),c=b}let h,g=s.openingElement.attributes,A=-1;for(;++A<g.length;){let b=g[A];if(b.type==="JSXSpreadAttribute")b.argument.type==="ObjectExpression"?l.push(...b.argument.properties):l.push({type:"SpreadElement",argument:b.argument}),h=!0;else{let v=i_m(b);if(n&&v.key.type==="Identifier"&&v.key.name==="key"){if(h)throw new Error("Expected `key` to come before any spread expressions");let E=v.value;E.type!=="AssignmentPattern"&&E.type!=="ArrayPattern"&&E.type!=="ObjectPattern"&&E.type,d=E}else l.push(v)}}}else n?(o.fragment=!0,c={type:"Identifier",name:"_Fragment"}):c=O4u(i.jsxFrag||r.pragmaFrag||"React.Fragment");n?a.length>0&&l.push({type:"Property",key:{type:"Identifier",name:"children"},value:a.length>1?{type:"ArrayExpression",elements:a}:a[0],kind:"init",method:!1,shorthand:!1,computed:!1}):p=a;let f;if(n){p.push({type:"ObjectExpression",properties:l}),d?p.push(d):r.development&&p.push({type:"Identifier",name:"undefined"});let h=a.length>1;if(r.development){o.jsxDEV=!0,f={type:"Identifier",name:"_jsxDEV"},p.push({type:"Literal",value:h});let g={type:"ObjectExpression",properties:[{type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"fileName"},value:{type:"Literal",value:r.filePath||"<source.js>"}}]};s.loc&&g.properties.push({type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"lineNumber"},value:{type:"Literal",value:s.loc.start.line}},{type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"columnNumber"},value:{type:"Literal",value:s.loc.start.column+1}}),p.push(g,{type:"ThisExpression"})}else h?(o.jsxs=!0,f={type:"Identifier",name:"_jsxs"}):(o.jsx=!0,f={type:"Identifier",name:"_jsx"})}else l.length>0?p.unshift({type:"ObjectExpression",properties:l}):p.length>0&&p.unshift({type:"Literal",value:null}),f=O4u(i.jsx||r.pragma||"React.createElement");p.unshift(c);let m={type:"CallExpression",callee:f,arguments:p,optional:!1};eFt(s,m),this.replace(m)}})}function i_m(e){let t;if(e.value)if(e.value.type==="JSXExpressionContainer"){let n=e.value.expression;n.type,t=n}else{let n=e.value;n.type!=="JSXElement"&&n.type,t=n,delete t.raw}else t={type:"Literal",value:!0};let r={type:"Property",key:ekn(e.name),value:t,kind:"init",method:!1,shorthand:!1,computed:!1};return eFt(e,r),r}function ekn(e){let t;if(e.type==="JSXMemberExpression"){let r=ekn(e.property);t={type:"MemberExpression",object:ekn(e.object),property:r,computed:r.type==="Literal",optional:!1}}else e.type==="JSXNamespacedName"?t={type:"Literal",value:e.namespace.name+":"+e.name.name}:t=AT(e.name)?{type:"Identifier",name:e.name}:{type:"Literal",value:e.name};return eFt(e,t),t}function O4u(e){let t=e.split("."),r=-1,n;for(;++r<t.length;){let i=AT(t[r])?{type:"Identifier",name:t[r]}:{type:"Literal",value:t[r]};n=n?{type:"MemberExpression",object:n,property:i,computed:!!(r&&i.type==="Literal"),optional:!1}:i}return n}function eFt(e,t){let r=["start","end","loc","range","comments"],n=-1;for(;++n<r.length;){let i=r[n];i in e&&(t[i]=e[i])}}function tkn(e){return function(t,r){ZAo(t,{filePath:r.history[0],...e})}}var M4u=xe(WLi(),1);var{stringify:o_m}=JSON;if(!String.prototype.repeat)throw new Error("String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation");if(!String.prototype.endsWith)throw new Error("String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation");var rkn={"||":2,"??":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},Dq=17,s_m={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:Dq,ClassExpression:Dq,FunctionExpression:Dq,ObjectExpression:Dq,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function Cut(e,t){let{generator:r}=e;if(e.write("("),t!=null&&t.length>0){r[t[0].type](t[0],e);let{length:n}=t;for(let i=1;i<n;i++){let o=t[i];e.write(", "),r[o.type](o,e)}}e.write(")")}function Q4u(e,t,r,n){let i=e.expressionsPrecedence[t.type];if(i===Dq)return!0;let o=e.expressionsPrecedence[r.type];return i!==o?!n&&i===15&&o===14&&r.operator==="**"||i<o:i!==13&&i!==14?!1:t.operator==="**"&&r.operator==="**"?!n:i===13&&o===13&&(t.operator==="??"||r.operator==="??")?!0:n?rkn[t.operator]<=rkn[r.operator]:rkn[t.operator]<rkn[r.operator]}function nkn(e,t,r,n){let{generator:i}=e;Q4u(e,t,r,n)?(e.write("("),i[t.type](t,e),e.write(")")):i[t.type](t,e)}function a_m(e,t,r,n){let i=t.split(`
3473
3473
  `),o=i.length-1;if(e.write(i[0].trim()),o>0){e.write(n);for(let s=1;s<o;s++)e.write(r+i[s].trim()+n);e.write(r+i[o].trim())}}function ZT(e,t,r,n){let{length:i}=t;for(let o=0;o<i;o++){let s=t[o];e.write(r),s.type[0]==="L"?e.write("// "+s.value.trim()+`