fern-api 3.39.2 → 3.39.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +4 -4
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1146,7 +1146,7 @@ ${nC_.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&Ojc(th
1146
1146
  `+d_n.default.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?d_n.default.cyan(pC_(t,this.opt.mask)):d_n.default.italic(d_n.default.dim("[hidden]")):this.opt.mask?pC_(t,this.opt.mask):d_n.default.italic(d_n.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 n7o=ce(xT(),1);var pq_=ce(t0c(),1),r7o=require("child_process"),ekn=require("fs"),t7o=ce(require("path"),1),_q_=ce(require("os"),1),hq_=require("crypto"),Q0c=ce(fq_(),1);var ZHo=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var EWa=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var kHo=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var e7o=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function i7o(e="",t,r){let i=new U0c(e,r);i.runAsync((n,a)=>{if(n)setImmediate(t,n,void 0);else try{i.cleanup(),setImmediate(t,void 0,a)}catch(o){setImmediate(t,o,void 0)}})}function dq_(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function gKM(e){let t=[],r="";for(let i=0;i<e.length;i++){let n=e.charAt(i);i>0&&n===" "&&e[i-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${n}`}return r.length>0&&t.push(r),t}var U0c=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=gKM(t).map(n=>n.replace("\\ "," ")),i=r.shift();this.editor={args:r,bin:i}}createTemporaryFile(){try{let t=this.fileOptions.dir??_q_.default.tmpdir(),r=(0,hq_.randomUUID)(),i=dq_(this.fileOptions.prefix),n=dq_(this.fileOptions.postfix),a=`${i}${r}${n}`,o=t7o.default.resolve(t,a),c=t7o.default.resolve(t)+t7o.default.sep;if(!o.startsWith(c))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=o;let d={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(d.mode=this.fileOptions.mode),(0,ekn.writeFileSync)(this.tempFile,this.text,d)}catch(t){throw new ZHo(t)}}readTemporaryFile(){try{let t=(0,ekn.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,pq_.detect)(t)??"utf8";Q0c.default.encodingExists(r)||(r="utf8"),this.text=Q0c.default.decode(t,r)}}catch(t){throw new kHo(t)}}removeTemporaryFile(){try{(0,ekn.unlinkSync)(this.tempFile)}catch(t){throw new e7o(t)}}launchEditor(){try{let t=(0,r7o.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new EWa(t)}}launchEditorAsync(t){try{(0,r7o.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",i=>{this.lastExitStatus=i,setImmediate(t)})}catch(r){throw new EWa(r)}}};var yq_=ce(Jbe(),1);var SWa=class extends KT{_run(t){this.done=t,this.editorResult=new yq_.Subject;let r=B4(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let i=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,i?this.render():this.startExternalEditor(),this}render(t){let r="",i=this.getQuestion();i+=this.status==="answered"?n7o.default.dim("Received"):n7o.default.dim("Press <enter> to launch your preferred editor."),t&&(r=n7o.default.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),i7o(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 Aq_=require("stream");var gq_=ce(require("readline"),1),Oq_=ce(vq_(),1),y_n=class{constructor(t){this.rl||=gq_.default.createInterface(AKM(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 AKM(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let n=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw n.isTtyError=!0,n}let r=new Oq_.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var MWa=class extends y_n{constructor(t={}){super(t),this.log=new Aq_.Writable({write:(r,i,n)=>{this.writeLog(r),n()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return fWa(this.rl,this.bottomBar.split(`
1147
1147
  `).length),this}updateBottomBar(t){return fWa(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+`
1148
1148
  `}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&&EHo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var WO=ce(Jbe(),1),jq_=ce(C8a(),1);var a7o=ce(Jbe(),1),mq_=ce(C8a(),1),o7o=function(e,t,r){return typeof e[t]!="function"?(0,a7o.of)(e):(0,a7o.from)((0,mq_.default)(e[t])(r).then(i=>(e[t]=i,e)))};var Pq_={set:(e,t="",r)=>{let i=e;t.split(".").forEach((n,a,o)=>{n==="__proto__"||n==="constructor"||(a===o.length-1?i[n]=r:(!(n in i)||typeof i[n]!="object")&&(i[n]={}),i=i[n])})},get:(e,t="",r)=>{let i=a=>String.prototype.split.call(t,a).filter(Boolean).reduce((o,c)=>o!=null?o[c]:o,e),n=i(/[,[\]]+?/)||i(/[,.[\]]+?/);return n===void 0||n===e?r:n}},tkn=class extends y_n{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let i;return Array.isArray(t)?i=(0,WO.from)(t):(0,WO.isObservable)(t)?i=t:Object.values(t).every(n=>typeof n=="object"&&!Array.isArray(n)&&n!=null)?i=(0,WO.from)(Object.entries(t).map(([n,a])=>({name:n,...a}))):i=(0,WO.from)([t]),this.process=i.pipe((0,WO.concatMap)(this.processQuestion.bind(this)),(0,WO.publish)()),this.process.connect(),this.process.pipe((0,WO.reduce)((n,a)=>(Pq_.set(n,a.name,a.answer),n),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,WO.defer)(()=>(0,WO.of)(t).pipe((0,WO.concatMap)(this.setDefaultType.bind(this)),(0,WO.concatMap)(this.filterIfRunnable.bind(this)),(0,WO.concatMap)(()=>o7o(t,"message",this.answers)),(0,WO.concatMap)(()=>o7o(t,"default",this.answers)),(0,WO.concatMap)(()=>o7o(t,"choices",this.answers)),(0,WO.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,WO.defer)(()=>(0,WO.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,WO.defer)(()=>(0,WO.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&Pq_.get(this.answers,t.name)!==void 0)return WO.EMPTY;if(t.when===!1)return WO.EMPTY;if(typeof t.when!="function")return(0,WO.of)(t);let{answers:r}=this;return(0,WO.defer)(()=>(0,WO.from)((0,jq_.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,WO.filter)(i=>i!=null)))}};function wq_(e){let t=function(r,i){let n;try{n=new tkn(t.prompts,e)}catch(o){return Promise.reject(o)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",pWa),this.registerPrompt("input",f_n),this.registerPrompt("number",_Wa),this.registerPrompt("confirm",hWa),this.registerPrompt("rawlist",yWa),this.registerPrompt("expand",bWa),this.registerPrompt("checkbox",vWa),this.registerPrompt("password",gWa),this.registerPrompt("editor",SWa)},t.restoreDefaultPrompts(),t}var V0c=wq_();function PKM(e,t){V0c.registerPrompt(e,t)}function jKM(){V0c.restoreDefaultPrompts()}var wKM={prompt:V0c,ui:{BottomBar:MWa,Prompt:tkn},createPromptModule:wq_,registerPrompt:PKM,restoreDefaultPrompts:jKM,Separator:a$},u7o=wKM;var rkn=require("path");function Sq_(){let e=EKM();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function EKM(e=process.argv[1]?(0,rkn.dirname)(process.argv[1]):process.cwd(),t=rkn.sep==="\\"){let r=t?Eq_(e):e;return i=>{if(!i)return;let n=t?Eq_(i):i,{dir:a,base:o,ext:c}=rkn.posix.parse(n);(c===".js"||c===".mjs"||c===".cjs")&&(o=o.slice(0,-1*c.length));let d=decodeURIComponent(o);a||(a=".");let s=a.lastIndexOf("/node_modules");if(s>-1)return`${a.slice(s+14).replace(/\//g,".")}:${d}`;if(a.startsWith(r)){let u=a.slice(r.length+1).replace(/\//g,".");return u?`${u}:${d}`:d}return d}}function Eq_(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var W0c=e=>{if("flags"in e){let t=Mq_(e.flags),r=Dq_(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([n,a])=>[n,Bq_(a)])),i=Object.fromEntries(Object.entries(t).map(([n,a])=>[n,SKM(n,a,r[n])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:i}}};function SKM(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 Mq_=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,b_n(r)]).filter(([,t])=>t!==void 0)),Dq_=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let i=t[r];return i.enabled&&i.metadata&&i.metadata.payload!==void 0}).map(r=>{let i=t[r].metadata?.payload;return[r,i?Bq_(i):void 0]}))};var b_n=e=>e===void 0?void 0:e.variant??e.enabled,Bq_=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var s7o="0123456789abcdef",c7o=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/256,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=s7o.charAt(this.bytes[r]>>>4),t+=s7o.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+=s7o.charAt(this.bytes[r]>>>4),t+=s7o.charAt(15&this.bytes[r]);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},G0c=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??MKM()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return c7o.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,c7o.ofInner(t)}},MKM=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),Iq_,RJt=()=>DKM().toString(),DKM=()=>(Iq_||(Iq_=new G0c)).generate();var BKM=["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"],Cq_=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return BKM.concat(t).some(i=>{let n=i.toLowerCase();return r.indexOf(n)!==-1})};var u$=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e})({});var CKM=Array.isArray,qq_=Object.prototype,pA9=qq_.hasOwnProperty,H0c=qq_.toString,Tq_=CKM||function(e){return H0c.call(e)==="[object Array]"};var ikn=e=>e===void 0,DWa=e=>H0c.call(e)=="[object String]",Rq_=e=>DWa(e)&&e.trim().length===0;var zq_=e=>H0c.call(e)=="[object Number]";var x0c=e=>e instanceof Error;function qKM(e,t){try{return e instanceof t}catch{return!1}}function BWa(e){return e===null||typeof e!="object"}function v_n(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Nq_(e){return v_n(e,"ErrorEvent")}function l7o(e){return!ikn(Event)&&qKM(e,Event)}function Fq_(e){return v_n(e,"Object")}function IWa(e,t,r,i,n){return t>r&&(i.warn("min cannot be greater than max."),t=r),zq_(e)?e>r?(i.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(i.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(i.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+n),IWa(n||r,t,r,i))}var TKM=864e5,f7o=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=IWa(t.bucketSize,0,100,t._logger),this._refillRate=IWa(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=IWa(t.refillInterval,0,TKM,t._logger)}_applyRefill(t,r){let i=r-t.lastAccess,n=Math.floor(i/this._refillInterval);if(n>0){let a=n*this._refillRate;t.tokens=Math.min(t.tokens+a,this._bucketSize),t.lastAccess=t.lastAccess+n*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),i=String(t),n=this._buckets[i];return n?this._applyRefill(n,r):(n={tokens:this._bucketSize,lastAccess:r},this._buckets[i]=n),n.tokens===0?!0:(n.tokens--,n.tokens===0&&this._onBucketRateLimited?.(t),n.tokens===0)}stop(){this._buckets={}}};var d7o=class{add(t){let r=RJt();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 RKM(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var Qq_=(e,t,r)=>{function i(a,...o){t(()=>{let c=r[a];c(e,...o)})}return{info:(...a)=>{i("log",...a)},warn:(...a)=>{i("warn",...a)},error:(...a)=>{i("error",...a)},critical:(...a)=>{r.error(e,...a)},createLogger:a=>Qq_(`${e} ${a}`,t,r)}},zKM=e=>e();function Uq_(e,t=zKM){return Qq_(e,t,RKM())}var akn="Mobile",_7o="iOS",nkn="Android",Lq_="Tablet",wA9=nkn+" "+Lq_;var NKM="Apple",EA9=NKM+" Watch",Vq_="Safari",h7o="BlackBerry",Wq_="Samsung",FKM=Wq_+"Browser",QKM=Wq_+" Internet",y7o="Chrome",UKM=y7o+" OS",LKM=y7o+" "+_7o,Gq_="Internet Explorer",VKM=Gq_+" "+akn,J0c="Opera",SA9=J0c+" Mini",Hq_="Edge",WKM="Microsoft "+Hq_,$0c="Firefox",GKM=$0c+" "+_7o,Y0c="Nintendo",X0c="PlayStation",p7o="Xbox",HKM=nkn+" "+akn,xKM=akn+" "+Vq_,CWa="Windows",KKM=CWa+" Phone";var xq_="Generic",MA9=xq_+" "+akn.toLowerCase(),DA9=xq_+" "+Lq_.toLowerCase(),JKM="Konqueror",AG="(\\d+(\\.\\d+)?)",K0c=new RegExp("Version/"+AG),BA9=new RegExp(p7o,"i"),IA9=new RegExp(X0c+" \\w+","i"),CA9=new RegExp(Y0c+" \\w+","i"),$KM=new RegExp(h7o+"|PlayBook|BB10","i"),YKM={"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 qA9={[VKM]:[new RegExp("rv:"+AG)],[WKM]:[new RegExp(Hq_+"?\\/"+AG)],[y7o]:[new RegExp("("+y7o+"|CrMo)\\/"+AG)],[LKM]:[new RegExp("CriOS\\/"+AG)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+AG)],[Vq_]:[K0c],[xKM]:[K0c],[J0c]:[new RegExp("("+J0c+"|OPR)\\/"+AG)],[$0c]:[new RegExp($0c+"\\/"+AG)],[GKM]:[new RegExp("FxiOS\\/"+AG)],[JKM]:[new RegExp("Konqueror[:/]?"+AG,"i")],[h7o]:[new RegExp(h7o+" "+AG),K0c],[HKM]:[new RegExp("android\\s"+AG,"i")],[QKM]:[new RegExp(FKM+"\\/"+AG)],[Gq_]:[new RegExp("(rv:|MSIE )"+AG)],Mozilla:[new RegExp("rv:"+AG)]};var TA9=[[new RegExp(p7o+"; "+p7o+" (.*?)[);]","i"),e=>[p7o,e&&e[1]||""]],[new RegExp(Y0c,"i"),[Y0c,""]],[new RegExp(X0c,"i"),[X0c,""]],[$KM,[h7o,""]],[new RegExp(CWa,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[KKM,""];if(new RegExp(akn).test(t)&&!/IEMobile\b/.test(t))return[CWa+" "+akn,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let i=r[1],n=YKM[i]||"";return/arm/i.test(t)&&(n="RT"),[CWa,n]}return[CWa,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[_7o,t.join(".")]}return[_7o,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=ikn(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+nkn+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+nkn+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[nkn,t.join(".")]}return[nkn,""]}],[/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/,[UKM,""]],[/Linux|debian/i,["Linux",""]]];var Kq_="utf8";function Jq_(e,t){if(!e||typeof e!="string"||XKM(e))throw new Error(t)}function XKM(e){return e.trim().length===0}function $q_(e){return e?.replace(/\/+$/,"")}async function Yq_(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function b7o(){return new Date().toISOString()}function g_n(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Xq_=e=>e instanceof Error;function Z0c(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var v7o=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};function Zq_(){return"CompressionStream"in globalThis}async function k0c(e,t=!0){try{let i=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(i).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var okn=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()}},qWa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function kq_(e){if(e instanceof okn){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 ewc(e){return typeof e=="object"&&(e instanceof okn||e instanceof qWa)}function e1_(e){return typeof e=="object"&&e instanceof okn&&e.status===413}var TWa=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new d7o,this._events=new v7o,this._isInitialized=!1,Jq_(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=$q_(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:ewc},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=r.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this.evaluationEnvironments=r?.evaluationEnvironments,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=Uq_("[PostHog]",this.logMsgIfDebug.bind(this)),this.disableCompression=!Zq_()||(r?.disableCompression??!1)}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(u$.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(u$.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(u$.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>this._logger.info(i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}async identifyStatelessImmediate(t,r,i){let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",n,i)}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}async captureStatelessImmediate(t,r,i,n){let a=this.buildPayload({distinct_id:t,event:r,properties:i});await this.sendImmediate("capture",a,n)}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}async aliasStatelessImmediate(t,r,i,n){let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",a,n)}groupIdentifyStateless(t,r,i,n,a,o){this.wrap(()=>{let c=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...o||{}}});this.enqueue("capture",c,n)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,i,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(n=>n.json()).catch(n=>{this._logger.error("Remote config could not be loaded",n),this._events.emit("error",n)})}async getFlags(t,r={},i={},n={},a={},o=!0){await this._initPromise;let c=o?"&config=true":"",d=`${this.host}/flags/?v=2${c}`,s={token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a};this.evaluationEnvironments&&this.evaluationEnvironments.length>0&&(s.evaluation_environments=this.evaluationEnvironments);let u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(s)};return this._logger.info("Flags URL",d),this.fetchWithRetry(d,u,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(f=>f.json()).then(f=>W0c(f)).catch(f=>{this._events.emit("error",f)})}async getFeatureFlagStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailStateless(t,r,i,n,a,o);if(c===void 0)return{response:void 0,requestId:void 0};let d=b_n(c.response);return d===void 0&&(d=!1),{response:d,requestId:c.requestId}}async getFeatureFlagDetailStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(r,i,n,a,o,[t]);return c===void 0?void 0:{response:c.flags[t],requestId:c.requestId,evaluatedAt:c.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagPayloadsStateless(r,i,n,a,o,[t]);if(!c)return;let d=c[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a,o){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)).payloads}async getFeatureFlagsStateless(t,r={},i={},n={},a,o){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(t,r,i,n,a,o);return c?{flags:c.featureFlags,payloads:c.featureFlagPayloads,requestId:c.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c={};(a??this.disableGeoip)&&(c.geoip_disable=!0),o&&(c.flag_keys_to_evaluate=o);let d=await this.getFlags(t,r,i,n,c);if(d!==void 0)return d.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),d.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:d?.requestId}):d}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},n=(await this.fetchWithRetry(t,r).then(a=>{if(a.status!==200||!a.json){let o=`Surveys API could not be loaded: ${a.status}`,c=new Error(o);this._logger.error(c),this._events.emit("error",new Error(o));return}return a.json()}).catch(a=>{this._logger.error("Surveys API could not be loaded",a),this._events.emit("error",a)}))?.surveys;return n&&this._logger.info("Surveys fetched from API: ",JSON.stringify(n)),n??[]}get props(){return this._props||(this._props=this.getPersistedProperty(u$.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(u$.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(u$.Props,this.props)})}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let n=this.prepareMessage(t,r,i),a=this.getPersistedProperty(u$.Queue)||[];a.length>=this.maxQueueSize&&(a.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),a.push({message:n}),this.setPersistedProperty(u$.Queue,a),this._events.emit(t,n),a.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=g_n(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,i){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let n={api_key:this.apiKey,batch:[this.prepareMessage(t,r,i)],sent_at:b7o()};this.historicalMigration&&(n.historical_migration=!0);let a=JSON.stringify(n),o=`${this.host}/batch/`,c=this.disableCompression?null:await k0c(a,this.isDebug),d={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||a};try{await this.fetchWithRetry(o,d)}catch(s){this._events.emit("error",s)}}prepareMessage(t,r,i){let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:b7o(),uuid:i?.uuid?i.uuid:RJt()};return(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId),n}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await kq_(t)})}async flush(){let t=Z0c([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),Z0c([t]).then(()=>{this.flushPromise===t&&(this.flushPromise=null)}),t}getCustomHeaders(){let t=this.getCustomUserAgent(),r={};return t&&t!==""&&(r["User-Agent"]=t),r}async _flush(){this.clearFlushTimer(),await this._initPromise;let t=this.getPersistedProperty(u$.Queue)||[];if(!t.length)return;let r=[],i=t.length;for(;t.length>0&&r.length<i;){let n=t.slice(0,this.maxBatchSize),a=n.map(_=>_.message),o=()=>{let h=(this.getPersistedProperty(u$.Queue)||[]).slice(n.length);this.setPersistedProperty(u$.Queue,h),t=h},c={api_key:this.apiKey,batch:a,sent_at:b7o()};this.historicalMigration&&(c.historical_migration=!0);let d=JSON.stringify(c),s=`${this.host}/batch/`,u=this.disableCompression?null:await k0c(d,this.isDebug),f={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...u!==null&&{"Content-Encoding":"gzip"}},body:u||d},p={retryCheck:_=>e1_(_)?!1:ewc(_)};try{await this.fetchWithRetry(s,f,p)}catch(_){if(e1_(_)&&a.length>1){this.maxBatchSize=Math.max(1,Math.floor(a.length/2)),this._logger.warn(`Received 413 when sending batch of size ${a.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw _ instanceof qWa||o(),this._events.emit("error",_),_}o(),r.push(...a)}this._events.emit("flush",r)}async fetchWithRetry(t,r,i,n){AbortSignal.timeout??=function(c){let d=new AbortController;return setTimeout(()=>d.abort(),c),d.signal};let a=r.body?r.body:"",o=-1;try{o=a instanceof Blob?a.size:Buffer.byteLength(a,Kq_)}catch{a instanceof Blob?o=a.size:o=new TextEncoder().encode(a).length}return await Yq_(async()=>{let c=null;try{c=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(s){throw new qWa(s)}if(!(r.mode==="no-cors")&&(c.status<200||c.status>=400))throw new okn(c,o);return c},{...this._retryOptions,...i})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let i=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(u$.Queue)||[]).length===0||(await this.flush(),r)););}catch(n){if(!ewc(n))throw n;await kq_(n)}};return Promise.race([new Promise((n,a)=>{g_n(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,a("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),i()])}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var s$={};Zt(s$,{DOMExceptionCoercer:()=>rwc,ErrorCoercer:()=>iwc,ErrorEventCoercer:()=>nwc,ErrorPropertiesBuilder:()=>twc,EventCoercer:()=>uwc,ObjectCoercer:()=>owc,PrimitiveCoercer:()=>swc,PromiseRejectionEventCoercer:()=>cwc,ReduceableCache:()=>lwc,StringCoercer:()=>awc,chromeStackLineParser:()=>i1_,createStackParser:()=>fJM,geckoStackLineParser:()=>a1_,nodeStackLineParser:()=>c1_,opera10StackLineParser:()=>o1_,opera11StackLineParser:()=>u1_,reverseAndStripFrames:()=>d1_,winjsStackLineParser:()=>n1_});var g7o,t1_,O7o;function r1_(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return O7o&&r.length===t1_||(t1_=r.length,O7o=r.reduce((i,n)=>{g7o||(g7o={});let a=g7o[n];if(a)i[a[0]]=a[1];else{let o=e(n);for(let c=o.length-1;c>=0;c--){let s=o[c]?.filename,u=t[n];if(s&&u){i[s]=u,g7o[n]=[s,u];break}}}return i},{})),O7o}var ZKM=4,twc=class{constructor(t,r,i=[]){this.coercers=t,this.stackParser=r,this.modifiers=i}buildFromUnknown(t,r={}){let n=r&&r.mechanism||{handled:!0,type:"generic"},o=this.buildCoercingContext(n,r,0).apply(t),c=this.buildParsingContext(),d=this.parseStacktrace(o,c);return{$exception_list:this.convertToExceptionList(d,n),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&Tq_(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let i;t.cause!=null&&(i=this.parseStacktrace(t.cause,r));let n;return t.stack!=""&&t.stack!=null&&(n=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?1:0),r.chunkIdMap)),{...t,cause:i,stack:n}}applyChunkIds(t,r){return t.map(i=>(i.filename&&r&&(i.chunk_id=r[i.filename]),i))}applyCoercers(t,r){for(let i of this.coercers)if(i.match(t))return i.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let i of this.modifiers)r=await i(r);return r}convertToExceptionList(t,r){let i={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(i.stacktrace={type:"raw",frames:t.stack});let n=[i];return t.cause!=null&&n.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),n}buildParsingContext(){return{chunkIdMap:r1_(this.stackParser)}}buildCoercingContext(t,r,i=0){let n=(o,c)=>{if(c<=ZKM){let d=this.buildCoercingContext(t,r,c);return this.applyCoercers(o,d)}};return{...r,syntheticException:i==0?r.syntheticException:void 0,mechanism:t,apply:o=>n(o,i),next:o=>n(o,i+1)}}};var C4="?";function zJt(e,t,r,i,n){let a={platform:e,filename:t,function:r==="<anonymous>"?C4:r,in_app:!0};return ikn(i)||(a.lineno=i),ikn(n)||(a.colno=n),a}var A7o=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,i=e.indexOf("safari-web-extension")!==-1;return r||i?[e.indexOf("@")!==-1?e.split("@")[0]:C4,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var kKM=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,eJM=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,tJM=/\((\S*)(?::(\d+))(?::(\d+))\)/,i1_=(e,t)=>{let r=kKM.exec(e);if(r){let[,n,a,o]=r;return zJt(t,n,C4,+a,+o)}let i=eJM.exec(e);if(i){if(i[2]&&i[2].indexOf("eval")===0){let c=tJM.exec(i[2]);c&&(i[2]=c[1],i[3]=c[2],i[4]=c[3])}let[a,o]=A7o(i[1]||C4,i[2]);return zJt(t,o,a,i[3]?+i[3]:void 0,i[4]?+i[4]:void 0)}};var rJM=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,n1_=(e,t)=>{let r=rJM.exec(e);return r?zJt(t,r[2],r[1]||C4,+r[3],r[4]?+r[4]:void 0):void 0};var iJM=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,nJM=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,a1_=(e,t)=>{let r=iJM.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let o=nJM.exec(r[3]);o&&(r[1]=r[1]||"eval",r[3]=o[1],r[4]=o[2],r[5]="")}let n=r[3],a=r[1]||C4;return[a,n]=A7o(a,n),zJt(t,n,a,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var aJM=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,o1_=(e,t)=>{let r=aJM.exec(e);return r?zJt(t,r[2],r[3]||C4,+r[1]):void 0},oJM=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,u1_=(e,t)=>{let r=oJM.exec(e);return r?zJt(t,r[5],r[3]||r[4]||C4,+r[1],+r[2]):void 0};var uJM=/^\s*[-]{4,}$/,sJM=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,c1_=(e,t)=>{let r=e.match(sJM);if(r){let i,n,a,o,c;if(r[1]){a=r[1];let u=a.lastIndexOf(".");if(a[u-1]==="."&&u--,u>0){i=a.slice(0,u),n=a.slice(u+1);let f=i.indexOf(".Module");f>0&&(a=a.slice(f+1),i=i.slice(0,f))}o=void 0}n&&(o=i,c=n),n==="<anonymous>"&&(c=void 0,a=void 0),a===void 0&&(c=c||C4,a=o?`${o}.${c}`:c);let d=r[2]?.startsWith("file://")?r[2].slice(7):r[2],s=r[5]==="native";return d?.match(/\/[A-Z]:/)&&(d=d.slice(1)),!d&&r[5]&&!s&&(d=r[5]),{filename:d?decodeURI(d):void 0,module:void 0,function:a,lineno:s1_(r[3]),colno:s1_(r[4]),in_app:cJM(d||"",s),platform:t}}if(e.match(uJM))return{filename:e,platform:t}};function cJM(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 s1_(e){return parseInt(e||"",10)||void 0}var l1_=/\(error: (.*)\)/,f1_=50;function d1_(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,f1_).map(r=>({...r,filename:r.filename||lJM(t).filename,function:r.function||C4}))}function lJM(e){return e[e.length-1]||{}}function fJM(e,...t){return(r,i=0)=>{let n=[],a=r.split(`
1149
- `);for(let o=i;o<a.length;o++){let c=a[o];if(c.length>1024)continue;let d=l1_.test(c)?c.replace(l1_,"$1"):c;if(!d.match(/\S*Error: /)){for(let s of t){let u=s(d,e);if(u){n.push(u);break}}if(n.length>=f1_)break}}return d1_(n)}}var rwc=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let i=DWa(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:i?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return v_n(t,"DOMException")}isDOMError(t){return v_n(t,"DOMError")}};var iwc=class{match(t){return x0c(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let i=t.message;return i.error&&typeof i.error.message=="string"?String(i.error.message):String(i)}getStack(t){return t.stacktrace||t.stack||void 0}};var nwc=class{constructor(){}match(t){return Nq_(t)&&t.error!=null}coerce(t,r){let i=r.apply(t.error);return i||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var dJM=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,awc=class{match(t){return typeof t=="string"}coerce(t,r){let[i,n]=this.getInfos(t);return{type:i??"Error",value:n??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",i=t,n=t.match(dJM);return n&&(r=n[1],i=n[2]),[r,i]}};var p1_=["fatal","error","warning","log","info","debug"];function m7o(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let i=r.length;i>0;i--){let n=r.slice(0,i).join(", ");if(!(n.length>t))return i===r.length||n.length<=t?n:`${n.slice(0,t)}...`}return""}var owc=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let i=this.getErrorPropertyFromObject(t);return i?r.apply(i):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return l7o(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let n=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(n+=` with message: '${t.message}'`),n}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),i=m7o(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${i}`}isSeverityLevel(t){return DWa(t)&&!Rq_(t)&&p1_.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(Xq_(i))return i}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var uwc=class{match(t){return l7o(t)}coerce(t,r){let i=t.constructor.name;return{type:i,value:`${i} captured as exception with keys: ${m7o(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var swc=class{match(t){return BWa(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var cwc=class{match(t){return v_n(t,"PromiseRejectionEvent")}coerce(t,r){let i=this.getUnhandledRejectionReason(t);return BWa(i)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(i)}getUnhandledRejectionReason(t){if(BWa(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 lwc=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 y1_=require("fs"),b1_=require("readline"),P7o=new s$.ReduceableCache(25),v1_=new s$.ReduceableCache(20),fwc=7,pJM=1e3,_JM=1e4;async function g1_(e){let t={};for(let n=e.length-1;n>=0;n--){let a=e[n],o=a?.filename;if(!a||typeof o!="string"||typeof a.lineno!="number"||vJM(o)||gJM(a))continue;t[o]||(t[o]=[]),t[o].push(a.lineno)}let r=Object.keys(t);if(r.length==0)return e;let i=[];for(let n of r){if(v1_.get(n))continue;let a=t[n];if(!a)continue;a.sort((d,s)=>d-s);let o=AJM(a);if(o.every(d=>OJM(n,d)))continue;let c=mJM(P7o,n,{});i.push(hJM(n,o,c))}return await Promise.all(i).catch(()=>{}),e&&e.length>0&&yJM(e,P7o),P7o.reduce(),e}function hJM(e,t,r){return new Promise(i=>{let n=(0,y1_.createReadStream)(e),a=(0,b1_.createInterface)({input:n});function o(){n.destroy(),i()}let c=0,d=0,s=t[d];if(s===void 0)return void o();let u=s[0],f=s[1];function p(){v1_.set(e,1),a.close(),a.removeAllListeners(),o()}n.on("error",p),a.on("error",p),a.on("close",o),a.on("line",_=>{if(c++,!(c<u)&&(r[c]=PJM(_,0),c>=f)){if(d===t.length-1){a.close(),a.removeAllListeners();return}d++;let h=t[d];if(h===void 0){a.close(),a.removeAllListeners();return}u=h[0],f=h[1]}})})}function yJM(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let i=t.get(r.filename);if(i===void 0)continue;bJM(r.lineno,r,i)}}function bJM(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let n=O1_(e);n<e;n++){let a=r[n];if(a===void 0)return void _1_(t);t.pre_context.push(a)}if(r[e]===void 0)return void _1_(t);t.context_line=r[e];let i=A1_(e);t.post_context=[];for(let n=e+1;n<=i;n++){let a=r[n];if(a===void 0)break;t.post_context.push(a)}}function _1_(e){delete e.pre_context,delete e.context_line,delete e.post_context}function vJM(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function gJM(e){return e.lineno!==void 0&&e.lineno>_JM||e.colno!==void 0&&e.colno>pJM}function OJM(e,t){let r=P7o.get(e);if(r===void 0)return!1;for(let i=t[0];i<=t[1];i++)if(r[i]===void 0)return!1;return!0}function AJM(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let i=h1_(r),n=[];for(;;){if(t===e.length-1){n.push(i);break}let a=e[t+1];if(typeof a!="number")break;a<=i[1]?i[1]=a+fwc:(n.push(i),i=h1_(a)),t++}return n}function h1_(e){return[O1_(e),A1_(e)]}function O1_(e){return Math.max(1,e-fwc)}function A1_(e){return e+fwc}function mJM(e,t,r){let i=e.get(t);return i===void 0?(e.set(t,r),r):i}function PJM(e,t){let r=e,i=r.length;if(i<=150)return r;t>i&&(t=i);let n=Math.max(t-60,0);n<5&&(n=0);let a=Math.min(n+140,i);return a>i-5&&(a=i),a===i&&(n=Math.max(a-140,0)),r=r.slice(n,a),n>0&&(r=`...${r}`),a<i&&(r+="..."),r}function jJM(e,t){let r=!1;return Object.assign(i=>{let a=global.process.listeners("uncaughtException").filter(o=>o.name!=="domainUncaughtExceptionClear"&&o._posthogErrorHandler!==!0).length===0;e(i,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&a&&(r=!0,t(i))},{_posthogErrorHandler:!0})}function m1_(e,t){globalThis.process?.on("uncaughtException",jJM(e,t))}function P1_(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var wJM=2e3,vFi=class e{constructor(t,r,i){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=i,this._rateLimiter=new f7o({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static async buildEventMessage(t,r,i,n){let a={...n};i||(a.$process_person_profile=!1);let o=this.errorPropertiesBuilder.buildFromUnknown(t,r);return o.$exception_list=await this.errorPropertiesBuilder.modifyFrames(o.$exception_list),{event:"$exception",distinctId:i||RJt(),properties:{...o,...a}}}startAutocaptureIfEnabled(){this.isEnabled()&&(m1_(this.onException.bind(this),this.onFatalError.bind(this)),P1_(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{let i=await e.buildEventMessage(t,r),a=i.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(a)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:a}):this.client.capture(i)})())}async onFatalError(t){console.error(t),await this.client.shutdown(wJM),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var j1_="5.17.4";async function w1_(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}var EJM=6e4,SJM=1152921504606847e3,MJM=["is_not"],ukn=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},l0=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},NJt=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},j7o=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:o,...c}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=c.fetch||fetch,this.onError=c.onError,this.customHeaders=o,this.onLoad=c.onLoad,this.cacheProvider=c.cacheProvider,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let o,c;if(!this.loadedSuccessfullyOnce)return o;if(c=this.featureFlagsByKey[t],c!==void 0)try{o=(await this.computeFlagAndPayloadLocally(c,r,i,n,a)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${o}`))}catch(d){d instanceof NJt||d instanceof l0?this.logMsgIfDebug(()=>console.debug(`${d.name} when computing flag locally: ${t}: ${d.message}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return o}async getAllFlagsAndPayloads(t,r={},i={},n={},a){await this.loadFeatureFlags();let o={},c={},d=this.featureFlags.length==0,s=a?a.map(f=>this.featureFlagsByKey[f]).filter(Boolean):this.featureFlags,u={};return await Promise.all(s.map(async f=>{try{let{value:p,payload:_}=await this.computeFlagAndPayloadLocally(f,t,r,i,n,void 0,u);o[f.key]=p,_&&(c[f.key]=_)}catch(p){p instanceof NJt||p instanceof l0?this.logMsgIfDebug(()=>console.debug(`${p.name} when computing flag locally: ${f.key}: ${p.message}`)):p instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${f.key}: ${p}`)),d=!0}})),{response:o,payloads:c,fallbackToFlags:d}}async computeFlagAndPayloadLocally(t,r,i={},n={},a={},o,c,d=!1){if(d||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=o!==void 0?o:await this.computeFlagValueLocally(t,r,i,n,a,c);let u=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:u}}async computeFlagValueLocally(t,r,i={},n={},a={},o={}){if(t.ensure_experience_continuity)throw new l0("Flag has experience continuity enabled");if(!t.active)return!1;let d=(t.filters||{}).aggregation_group_type_index;if(d==null)return await this.matchFeatureFlagProperties(t,r,n,o);{let s=this.groupTypeMapping[String(d)];if(!s)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${d} for feature flag ${t.key}`)),new l0("Flag has unknown group type index");if(!(s in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let u=a[s];return await this.matchFeatureFlagProperties(t,i[s],u,o)}}getFeatureFlagPayload(t,r){let i=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),i!=null)){if(typeof i=="object")return i;if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}return null}async evaluateFlagDependency(t,r,i,n){let a=t.key;if(!this.featureFlagsByKey)throw new l0("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new l0(`Flag dependency property for '${a}' is missing required 'dependency_chain' field`);let o=t.dependency_chain;if(!Array.isArray(o))throw new l0(`Flag dependency property for '${a}' has an invalid 'dependency_chain' (expected array, got ${typeof o})`);if(o.length===0)throw new l0(`Circular dependency detected for flag '${a}' (empty dependency chain)`);for(let d of o){if(!(d in n)){let u=this.featureFlagsByKey[d];if(u)if(u.active)try{let f=await this.matchFeatureFlagProperties(u,r,i,n);n[d]=f}catch(f){throw new l0(`Error evaluating flag dependency '${d}' for flag '${a}': ${f}`)}else n[d]=!1;else throw new l0(`Missing flag dependency '${d}' for flag '${a}'`)}if(n[d]==null)throw new l0(`Dependency '${d}' could not be evaluated`)}let c=n[a];return this.flagEvaluatesToExpectedValue(t.value,c)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,i,n={}){let a=t.filters||{},o=a.groups||[],c=!1,d;for(let s of o)try{if(await this.isConditionMatch(t,r,s,i,n)){let u=s.variant,f=a.multivariate?.variants||[];d=u&&f.some(p=>p.key===u)?u:await this.getMatchingVariant(t,r)||!0;break}}catch(u){if(u instanceof NJt)throw u;if(u instanceof l0)c=!0;else throw u}if(d!==void 0)return d;if(c)throw new l0("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,i,n,a={}){let o=i.rollout_percentage,c=d=>{this.logMsgIfDebug(()=>console.warn(d))};if((i.properties||[]).length>0){for(let d of i.properties){let s=d.type,u=!1;if(u=s==="cohort"?B1_(d,n,this.cohorts,this.debugMode):s==="flag"?await this.evaluateFlagDependency(d,r,n,a):D1_(d,n,c),!u)return!1}if(o==null)return!0}return!(o!=null&&await E1_(t.key,r)>o/100)}async getMatchingVariant(t,r){let i=await E1_(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(c=>{n=i+c.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:c.key}),i=n}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,i)=>(r[i.key]=i,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(EJM,this.pollingInterval*2**this.backOffCount):this.pollingInterval}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(i){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${i}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0;return;case 401:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let i=await r.json()??{};if(!("flags"in i))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(i)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let n={flags:i.flags??[],groupTypeMapping:i.group_type_mapping||{},cohorts:i.cohorts||{}};if(this.updateFlagState(n),this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(n)}catch(a){this.onError?.(new Error(`Failed to store in cache: ${a}`))}this.onLoad?.(this.featureFlags.length);break}default:return}}catch(t){t instanceof ukn&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let i={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(i["If-None-Match"]=r),{method:t,headers:i}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=g_n(()=>{n.abort()},this.timeout),r.signal=n.signal}try{let n=this.fetch;return n(t,r)}finally{clearTimeout(i)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((i,n)=>setTimeout(()=>n(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function E1_(e,t,r=""){let i=await w1_(`${e}.${t}${r}`);return parseInt(i.slice(0,15),16)/SJM}function D1_(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new l0("Operator is_not_set is not supported")}else throw new l0(`Property ${i} not found in propertyValues`);let o=t[i];if(o==null&&!MJM.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function c(s,u){return Array.isArray(s)?s.map(f=>String(f).toLowerCase()).includes(String(u).toLowerCase()):String(s).toLowerCase()===String(u).toLowerCase()}function d(s,u,f){if(f==="gt")return s>u;if(f==="gte")return s>=u;if(f==="lt")return s<u;if(f==="lte")return s<=u;throw new Error(`Invalid operator: ${f}`)}switch(a){case"exact":return c(n,o);case"is_not":return!c(n,o);case"is_set":return i in t;case"icontains":return String(o).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(o).toLowerCase().includes(String(n).toLowerCase());case"regex":return S1_(String(n))&&String(o).match(String(n))!==null;case"not_regex":return S1_(String(n))&&String(o).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s==null||o==null?d(String(o),String(n),a):typeof o=="string"?d(o,String(n),a):d(o,s,a)}case"is_date_after":case"is_date_before":{if(typeof n=="boolean")throw new l0("Date operations cannot be performed on boolean values");let s=BJM(String(n));if(s==null&&(s=M1_(n)),s==null)throw new l0(`Invalid date: ${n}`);let u=M1_(o);return["is_date_before"].includes(a)?u<s:u>s}default:throw new l0(`Unknown operator: ${a}`)}}function DJM(e,t){if(!(e in t))throw new NJt(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function B1_(e,t,r,i=!1){let n=String(e.value);DJM(n,r);let a=r[n];return I1_(a,t,r,i)}function I1_(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if("values"in a[0]){for(let c of a)try{let d=I1_(c,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof NJt)throw d;if(d instanceof l0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new l0("Can't match cohort without a given cohort property value");return n==="AND"}for(let c of a)try{let d;if(c.type==="cohort")d=B1_(c,t,r,i);else if(c.type==="flag"){i&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${c.key||"unknown"}'`);continue}else d=D1_(c,t);let s=c.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof NJt)throw d;if(d instanceof l0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new l0("can't match cohort without a given cohort property value");return n==="AND"}function S1_(e){try{return new RegExp(e),!0}catch{return!1}}function M1_(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 l0(`${e} is in an invalid date format`)}throw new l0(`The date provided ${e} must be a string, number, or date object`)}function BJM(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-7*n);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else{if(a!="y")return null;i.setUTCFullYear(i.getUTCFullYear()-n)}return i}}var w7o=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var IJM=100,C1_=3e4,CJM=5e4,E7o=class extends TWa{constructor(t,r={}){if(super(t,r),this._memoryStorage=new w7o,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,IJM):C1_,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 j7o({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:n=>{this._events.emit("error",n)},onLoad:n=>{this._events.emit("localEvaluationFlagsLoaded",n)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider}))}this.errorTracking=new vFi(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||CJM}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 j1_}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:i,properties:n,options:a})=>super.captureStateless(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:i,properties:n,options:a})=>super.captureStatelessImmediate(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStateless(t,u,{disableGeoip:i})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStatelessImmediate(t,u,{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=C1_){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let i=setTimeout(()=>{n(),r(!1)},t),n=this._events.on("localEvaluationFlagsLoaded",a=>{clearTimeout(i),n(),r(a>0)})})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:o,sendFeatureFlagEvents:c,personProperties:d,groupProperties:s}=i||{},u=this.addLocalPersonAndGroupProperties(r,n,d,s);d=u.allPersonProperties,s=u.allGroupProperties,o==null&&(o=!1),c==null&&(c=this.options.sendFeatureFlagEvent??!0);let f=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),p=f!==void 0,_,h,y;if(!p&&!o){let v=await super.getFeatureFlagDetailStateless(t,r,n,d,s,a);if(v===void 0)return;y=v.response,f=b_n(y),_=v?.requestId,h=v?.evaluatedAt}let b=`${t}_${f}`;return c&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(b))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(b):this.distinctIdHasSentFlagCalls[r]=[b],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:f,$feature_flag_id:y?.metadata?.id,$feature_flag_version:y?.metadata?.version,$feature_flag_reason:y?.reason?.description??y?.reason?.code,locally_evaluated:p,[`$feature/${t}`]:f,$feature_flag_request_id:_,$feature_flag_evaluated_at:h},groups:n,disableGeoip:a})),f}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:o}=n||{},{onlyEvaluateLocally:c,personProperties:d,groupProperties:s}=n||{},u=this.addLocalPersonAndGroupProperties(r,a,d,s);d=u.allPersonProperties,s=u.allGroupProperties;let f;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let h=this.featureFlagsPoller?.featureFlagsByKey[t];if(h)try{let y=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(h,r,a,d,s,i);y&&(i=y.value,f=y.payload)}catch(y){if(y instanceof NJt||y instanceof l0)this._logger?.info(`${y.name} when computing flag locally: ${h.key}: ${y.message}`);else throw y}}return c==null&&(c=!1),!(f!==void 0)&&!c&&(f=await super.getFeatureFlagPayloadStateless(t,r,a,d,s,o)),f}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let i=await r.json();if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n,flagKeys:a}=r||{},{onlyEvaluateLocally:o,personProperties:c,groupProperties:d}=r||{},s=this.addLocalPersonAndGroupProperties(t,i,c,d);c=s.allPersonProperties,d=s.allGroupProperties,o==null&&(o=!1);let u=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,c,d,a),f={},p={},_=!0;if(u&&(f=u.response,p=u.payloads,_=u.fallbackToFlags),_&&!o){let h=await super.getFeatureFlagsAndPayloadsStateless(t,i,c,d,n,a);f={...f,...h.flags||{}},p={...p,...h.payloads||{}}}return{featureFlags:f,featureFlagPayloads:p}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}withContext(t,r,i){return this.context?this.context.run(t,r,i):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},n=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let a=new AbortController;n=g_n(()=>{a.abort()},this.options.requestTimeout),i.signal=a.signal}try{return await this.fetch(r,i)}catch(a){this._events.emit("error",a);return}finally{n&&clearTimeout(n)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let i={},n={};for(let[a,o]of Object.entries(t))if(Fq_(o)&&r&&a in r){let c={};for(let[d,s]of Object.entries(o))c[String(d)]=String(s);n[String(a)]=c}else i[String(a)]=String(o);return{personProperties:i,groupProperties:n}}async getFeatureFlagsForEvent(t,r,i,n){let a=n?.personProperties||{},o=n?.groupProperties||{},c=n?.flagKeys;if(n?.onlyEvaluateLocally??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,f]of Object.entries(r||{}))s[u]=String(f);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,f]of Object.entries(r||{}))s[u]=String(f);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}return(await super.getFeatureFlagsStateless(t,r,a,o,i)).flags}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},o={};if(r)for(let c of Object.keys(r))o[c]={$group_key:r[c],...n?.[c]||{}};return{allPersonProperties:a,allGroupProperties:o}}captureException(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(vFi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.capture(a)))}async captureExceptionImmediate(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(vFi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.captureImmediate(a)))}async prepareEventMessage(t){let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s}=t,u=this.context?.get(),f=r||u?.distinctId,p={...u?.properties||{},...n||{}};f||(f=RJt(),p.$process_person_profile=!1),u?.sessionId&&!p.$session_id&&(p.$session_id=u.sessionId);let _=this._runBeforeSend({distinctId:f,event:i,properties:p,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s});if(!_)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(o){let y=typeof o=="object"?o:void 0;return await this.getFeatureFlagsForEvent(_.distinctId,a,d,y)}return _.event,{}}).then(y=>{let b={};if(y)for(let[g,A]of Object.entries(y))b[`$feature/${g}`]=A;let v=Object.keys(y||{}).filter(g=>y?.[g]!==!1).sort();return v.length>0&&(b.$active_feature_flags=v),b}).catch(()=>({})).then(y=>({...y,..._.properties||{},$groups:_.groups||a}));return _.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&Cq_(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(_.event="$bot_pageview",h.$browser_type="bot"),{distinctId:_.distinctId,event:_.event,properties:h,options:{timestamp:_.timestamp,disableGeoip:_.disableGeoip,uuid:_.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let i=Array.isArray(r)?r:[r],n=t;for(let a of i){if(n=a(n),!n)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!n.properties||Object.keys(n.properties).length===0){let o=`Event '${n.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(o)}}return n}};var q1_=require("async_hooks"),S7o=class{constructor(){this.storage=new q1_.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,i){if(i?.fresh===!0)return this.storage.run(t,r);{let a=this.get()||{},o={distinctId:t.distinctId??a.distinctId,sessionId:t.sessionId??a.sessionId,properties:{...a.properties||{},...t.properties||{}}};return this.storage.run(o,r)}}};var T1_="posthog-node";function qJM(e,{organization:t,projectId:r,prefix:i,severityAllowList:n=["error"],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(n==="*"||n.includes(o.level)))return o;o.tags||(o.tags={});let d=o.tags[dwc.POSTHOG_ID_TAG];if(d===void 0)return o;let s=e.options.host??"https://us.i.posthog.com",u=new URL(`/project/${e.apiKey}/person/${d}`,s).toString();o.tags["PostHog Person URL"]=u;let f=o.exception?.values||[],p=f.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),_={$exception_message:f[0]?.value||o.message,$exception_type:f[0]?.type,$exception_level:o.level,$exception_list:p,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:f[0]?.value||o.message,$sentry_exception_type:f[0]?.type,$sentry_tags:o.tags};return t&&r&&(_.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+o.event_id),a&&e.capture({event:"$exception",distinctId:d,properties:_}),o}}var dwc=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,i,n,a){this.name=T1_,this.name=T1_,this.setupOnce=function(o,c){let d=c()?.getClient()?.getDsn()?.projectId;o(qJM(t,{organization:r,projectId:d,prefix:i,severityAllowList:n,sendExceptionsToPostHog:a??!0}))}}};vFi.errorPropertiesBuilder=new s$.ErrorPropertiesBuilder([new s$.EventCoercer,new s$.ErrorCoercer,new s$.ObjectCoercer,new s$.StringCoercer,new s$.PrimitiveCoercer],s$.createStackParser("node:javascript",s$.nodeStackLineParser),[Sq_(),g1_]);var skn=class extends E7o{getLibraryId(){return"posthog-node"}initializeContext(){return new S7o}};var M7o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new skn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.39.2",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var RWa=class{async sendEvent(){}async identify(){}async flush(){}};var ckn=require("fs/promises"),F1_=require("os"),Q1_=require("path");var R1_=ce(require("crypto")),B7o=new Uint8Array(256),D7o=B7o.length;function pwc(){return D7o>B7o.length-16&&(R1_.default.randomFillSync(B7o),D7o=0),B7o.slice(D7o,D7o+=16)}var q4=[];for(let e=0;e<256;++e)q4.push((e+256).toString(16).slice(1));function z1_(e,t=0){return q4[e[t+0]]+q4[e[t+1]]+q4[e[t+2]]+q4[e[t+3]]+"-"+q4[e[t+4]]+q4[e[t+5]]+"-"+q4[e[t+6]]+q4[e[t+7]]+"-"+q4[e[t+8]]+q4[e[t+9]]+"-"+q4[e[t+10]]+q4[e[t+11]]+q4[e[t+12]]+q4[e[t+13]]+q4[e[t+14]]+q4[e[t+15]]}var N1_=ce(require("crypto")),_wc={randomUUID:N1_.default.randomUUID};function TJM(e,t,r){if(_wc.randomUUID&&!t&&!e)return _wc.randomUUID();e=e||{};let i=e.random||(e.rng||pwc)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return z1_(i)}var Ybe=TJM;var RJM="id",zJM=".fern",zWa=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new skn(r),this.userId=t==null?void 0:ogc(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.39.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 P4({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=It(Sr.of((0,F1_.homedir)()),Ye.of(zJM),Ye.of(RJM));await mi(t)||(await(0,ckn.mkdir)((0,Q1_.dirname)(t),{recursive:!0}),await(0,ckn.writeFile)(t,Ybe())),this.persistedDistinctId=(await(0,ckn.readFile)(t)).toString()}return this.persistedDistinctId}};var hwc;async function lkn(){return hwc==null&&(hwc=await NJM()),hwc}async function NJM(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new RWa;let r=await X8o();return r!=null?new zWa({token:r,posthogApiKey:e}):await gZn()!=null?new M7o({posthogApiKey:e}):new zWa({token:void 0,posthogApiKey:e})}catch{return new RWa}}function NWa(e,t){return function(){return e.apply(t,arguments)}}var{toString:FJM}=Object.prototype,{getPrototypeOf:bwc}=Object,{iterator:C7o,toStringTag:L1_}=Symbol,q7o=(e=>t=>{let r=FJM.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),kVt=e=>(e=e.toLowerCase(),t=>q7o(t)===e),T7o=e=>t=>typeof t===e,{isArray:dkn}=Array,fkn=T7o("undefined");function FWa(e){return e!==null&&!fkn(e)&&e.constructor!==null&&!fkn(e.constructor)&&c$(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var V1_=kVt("ArrayBuffer");function QJM(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&V1_(e.buffer),t}var UJM=T7o("string"),c$=T7o("function"),W1_=T7o("number"),QWa=e=>e!==null&&typeof e=="object",LJM=e=>e===!0||e===!1,I7o=e=>{if(q7o(e)!=="object")return!1;let t=bwc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(L1_ in e)&&!(C7o in e)},VJM=e=>{if(!QWa(e)||FWa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},WJM=kVt("Date"),GJM=kVt("File"),HJM=kVt("Blob"),xJM=kVt("FileList"),KJM=e=>QWa(e)&&c$(e.pipe),JJM=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||c$(e.append)&&((t=q7o(e))==="formdata"||t==="object"&&c$(e.toString)&&e.toString()==="[object FormData]"))},$JM=kVt("URLSearchParams"),[YJM,XJM,ZJM,kJM]=["ReadableStream","Request","Response","Headers"].map(kVt),e$M=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function UWa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),dkn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(FWa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function G1_(e,t){if(FWa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var O_n=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,H1_=e=>!fkn(e)&&e!==O_n;function ywc(){let{caseless:e,skipUndefined:t}=H1_(this)&&this||{},r={},i=(n,a)=>{let o=e&&G1_(r,a)||a;I7o(r[o])&&I7o(n)?r[o]=ywc(r[o],n):I7o(n)?r[o]=ywc({},n):dkn(n)?r[o]=n.slice():(!t||!fkn(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&UWa(arguments[n],i);return r}var t$M=(e,t,r,{allOwnKeys:i}={})=>(UWa(t,(n,a)=>{r&&c$(n)?e[a]=NWa(n,r):e[a]=n},{allOwnKeys:i}),e),r$M=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),i$M=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},n$M=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&bwc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},a$M=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},o$M=e=>{if(!e)return null;if(dkn(e))return e;let t=e.length;if(!W1_(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},u$M=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&bwc(Uint8Array)),s$M=(e,t)=>{let i=(e&&e[C7o]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},c$M=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},l$M=kVt("HTMLFormElement"),f$M=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),U1_=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),d$M=kVt("RegExp"),x1_=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};UWa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},p$M=e=>{x1_(e,(t,r)=>{if(c$(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(c$(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},_$M=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return dkn(e)?i(e):i(String(e).split(t)),r},h$M=()=>{},y$M=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function b$M(e){return!!(e&&c$(e.append)&&e[L1_]==="FormData"&&e[C7o])}var v$M=e=>{let t=new Array(10),r=(i,n)=>{if(QWa(i)){if(t.indexOf(i)>=0)return;if(FWa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=dkn(i)?[]:{};return UWa(i,(o,c)=>{let d=r(o,n+1);!fkn(d)&&(a[c]=d)}),t[n]=void 0,a}}return i};return r(e,0)},g$M=kVt("AsyncFunction"),O$M=e=>e&&(QWa(e)||c$(e))&&c$(e.then)&&c$(e.catch),K1_=((e,t)=>e?setImmediate:t?((r,i)=>(O_n.addEventListener("message",({source:n,data:a})=>{n===O_n&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),O_n.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",c$(O_n.postMessage)),A$M=typeof queueMicrotask<"u"?queueMicrotask.bind(O_n):typeof process<"u"&&process.nextTick||K1_,m$M=e=>e!=null&&c$(e[C7o]),rr={isArray:dkn,isArrayBuffer:V1_,isBuffer:FWa,isFormData:JJM,isArrayBufferView:QJM,isString:UJM,isNumber:W1_,isBoolean:LJM,isObject:QWa,isPlainObject:I7o,isEmptyObject:VJM,isReadableStream:YJM,isRequest:XJM,isResponse:ZJM,isHeaders:kJM,isUndefined:fkn,isDate:WJM,isFile:GJM,isBlob:HJM,isRegExp:d$M,isFunction:c$,isStream:KJM,isURLSearchParams:$JM,isTypedArray:u$M,isFileList:xJM,forEach:UWa,merge:ywc,extend:t$M,trim:e$M,stripBOM:r$M,inherits:i$M,toFlatObject:n$M,kindOf:q7o,kindOfTest:kVt,endsWith:a$M,toArray:o$M,forEachEntry:s$M,matchAll:c$M,isHTMLForm:l$M,hasOwnProperty:U1_,hasOwnProp:U1_,reduceDescriptors:x1_,freezeMethods:p$M,toObjectSet:_$M,toCamelCase:f$M,noop:h$M,toFiniteNumber:y$M,findKey:G1_,global:O_n,isContextDefined:H1_,isSpecCompliantForm:b$M,toJSONObject:v$M,isAsyncFn:g$M,isThenable:O$M,setImmediate:K1_,asap:A$M,isIterable:m$M};function pkn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}rr.inherits(pkn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:rr.toJSONObject(this.config),code:this.code,status:this.status}}});var J1_=pkn.prototype,$1_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$1_[e]={value:e}});Object.defineProperties(pkn,$1_);Object.defineProperty(J1_,"isAxiosError",{value:!0});pkn.from=(e,t,r,i,n,a)=>{let o=Object.create(J1_);rr.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return pkn.call(o,c,d,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var Da=pkn;var Y1_=ce(TXn(),1),R7o=Y1_.default;function vwc(e){return rr.isPlainObject(e)||rr.isArray(e)}function Z1_(e){return rr.endsWith(e,"[]")?e.slice(0,-2):e}function X1_(e,t,r){return e?e.concat(t).map(function(n,a){return n=Z1_(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function P$M(e){return rr.isArray(e)&&!e.some(vwc)}var j$M=rr.toFlatObject(rr,{},null,function(t){return/^is[A-Z]/.test(t)});function w$M(e,t,r){if(!rr.isObject(e))throw new TypeError("target must be an object");t=t||new(R7o||FormData),r=rr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!rr.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&rr.isSpecCompliantForm(t);if(!rr.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(rr.isDate(h))return h.toISOString();if(rr.isBoolean(h))return h.toString();if(!d&&rr.isBlob(h))throw new Da("Blob is not supported. Use a Buffer instead.");return rr.isArrayBuffer(h)||rr.isTypedArray(h)?d&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(rr.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(rr.isArray(h)&&P$M(h)||(rr.isFileList(h)||rr.endsWith(y,"[]"))&&(v=rr.toArray(h)))return y=Z1_(y),v.forEach(function(A,O){!(rr.isUndefined(A)||A===null)&&t.append(o===!0?X1_([y],O,a):o===null?y:y+"[]",s(A))}),!1}return vwc(h)?!0:(t.append(X1_(b,y,a),s(h)),!1)}let f=[],p=Object.assign(j$M,{defaultVisitor:u,convertValue:s,isVisitable:vwc});function _(h,y){if(!rr.isUndefined(h)){if(f.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));f.push(h),rr.forEach(h,function(v,g){(!(rr.isUndefined(v)||v===null)&&n.call(t,v,rr.isString(g)?g.trim():g,y,p))===!0&&_(v,y?y.concat(g):[g])}),f.pop()}}if(!rr.isObject(e))throw new TypeError("data must be an object");return _(e),t}var R7i=w$M;function k1_(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function eT_(e,t){this._pairs=[],e&&R7i(e,this,t)}var tT_=eT_.prototype;tT_.append=function(t,r){this._pairs.push([t,r])};tT_.toString=function(t){let r=t?function(i){return t.call(this,i,k1_)}:k1_;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var rT_=eT_;function E$M(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function A_n(e,t,r){if(!t)return e;let i=r&&r.encode||E$M;rr.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=rr.isURLSearchParams(t)?t.toString():new rT_(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var gwc=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){rr.forEach(this.handlers,function(i){i!==null&&t(i)})}},Owc=gwc;var _kn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var oT_=ce(require("crypto"),1);var iT_=ce(require("url"),1),nT_=iT_.default.URLSearchParams;var Awc="abcdefghijklmnopqrstuvwxyz",aT_="0123456789",uT_={DIGIT:aT_,ALPHA:Awc,ALPHA_DIGIT:Awc+Awc.toUpperCase()+aT_},S$M=(e=16,t=uT_.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);oT_.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},sT_={isNode:!0,classes:{URLSearchParams:nT_,FormData:R7o,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:uT_,generateString:S$M,protocols:["http","https","file","data"]};var jwc={};Zt(jwc,{hasBrowserEnv:()=>Pwc,hasStandardBrowserEnv:()=>M$M,hasStandardBrowserWebWorkerEnv:()=>D$M,navigator:()=>mwc,origin:()=>B$M});var Pwc=typeof window<"u"&&typeof document<"u",mwc=typeof navigator=="object"&&navigator||void 0,M$M=Pwc&&(!mwc||["ReactNative","NativeScript","NS"].indexOf(mwc.product)<0),D$M=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",B$M=Pwc&&window.location.href||"http://localhost";var XA={...jwc,...sT_};function wwc(e,t){return R7i(e,new XA.classes.URLSearchParams,{visitor:function(r,i,n,a){return XA.isNode&&rr.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function I$M(e){return rr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function C$M(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function q$M(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),d=a>=r.length;return o=!o&&rr.isArray(n)?n.length:o,d?(rr.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!rr.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&rr.isArray(n[o])&&(n[o]=C$M(n[o])),!c)}if(rr.isFormData(e)&&rr.isFunction(e.entries)){let r={};return rr.forEachEntry(e,(i,n)=>{t(I$M(i),n,r,0)}),r}return null}var z7o=q$M;function T$M(e,t,r){if(rr.isString(e))try{return(t||JSON.parse)(e),rr.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var Ewc={transitional:_kn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=rr.isObject(t);if(a&&rr.isHTMLForm(t)&&(t=new FormData(t)),rr.isFormData(t))return n?JSON.stringify(z7o(t)):t;if(rr.isArrayBuffer(t)||rr.isBuffer(t)||rr.isStream(t)||rr.isFile(t)||rr.isBlob(t)||rr.isReadableStream(t))return t;if(rr.isArrayBufferView(t))return t.buffer;if(rr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return wwc(t,this.formSerializer).toString();if((c=rr.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return R7i(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),T$M(t)):t}],transformResponse:[function(t){let r=this.transitional||Ewc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(rr.isResponse(t)||rr.isReadableStream(t))return t;if(t&&rr.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?Da.from(c,Da.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:XA.classes.FormData,Blob:XA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};rr.forEach(["delete","get","head","post","put","patch"],e=>{Ewc.headers[e]={}});var hkn=Ewc;var R$M=rr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),cT_=e=>{let t={},r,i,n;return e&&e.split(`
1149
+ `);for(let o=i;o<a.length;o++){let c=a[o];if(c.length>1024)continue;let d=l1_.test(c)?c.replace(l1_,"$1"):c;if(!d.match(/\S*Error: /)){for(let s of t){let u=s(d,e);if(u){n.push(u);break}}if(n.length>=f1_)break}}return d1_(n)}}var rwc=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let i=DWa(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:i?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return v_n(t,"DOMException")}isDOMError(t){return v_n(t,"DOMError")}};var iwc=class{match(t){return x0c(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let i=t.message;return i.error&&typeof i.error.message=="string"?String(i.error.message):String(i)}getStack(t){return t.stacktrace||t.stack||void 0}};var nwc=class{constructor(){}match(t){return Nq_(t)&&t.error!=null}coerce(t,r){let i=r.apply(t.error);return i||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var dJM=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,awc=class{match(t){return typeof t=="string"}coerce(t,r){let[i,n]=this.getInfos(t);return{type:i??"Error",value:n??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",i=t,n=t.match(dJM);return n&&(r=n[1],i=n[2]),[r,i]}};var p1_=["fatal","error","warning","log","info","debug"];function m7o(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let i=r.length;i>0;i--){let n=r.slice(0,i).join(", ");if(!(n.length>t))return i===r.length||n.length<=t?n:`${n.slice(0,t)}...`}return""}var owc=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let i=this.getErrorPropertyFromObject(t);return i?r.apply(i):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return l7o(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let n=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(n+=` with message: '${t.message}'`),n}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),i=m7o(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${i}`}isSeverityLevel(t){return DWa(t)&&!Rq_(t)&&p1_.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(Xq_(i))return i}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var uwc=class{match(t){return l7o(t)}coerce(t,r){let i=t.constructor.name;return{type:i,value:`${i} captured as exception with keys: ${m7o(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var swc=class{match(t){return BWa(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var cwc=class{match(t){return v_n(t,"PromiseRejectionEvent")}coerce(t,r){let i=this.getUnhandledRejectionReason(t);return BWa(i)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(i)}getUnhandledRejectionReason(t){if(BWa(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 lwc=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 y1_=require("fs"),b1_=require("readline"),P7o=new s$.ReduceableCache(25),v1_=new s$.ReduceableCache(20),fwc=7,pJM=1e3,_JM=1e4;async function g1_(e){let t={};for(let n=e.length-1;n>=0;n--){let a=e[n],o=a?.filename;if(!a||typeof o!="string"||typeof a.lineno!="number"||vJM(o)||gJM(a))continue;t[o]||(t[o]=[]),t[o].push(a.lineno)}let r=Object.keys(t);if(r.length==0)return e;let i=[];for(let n of r){if(v1_.get(n))continue;let a=t[n];if(!a)continue;a.sort((d,s)=>d-s);let o=AJM(a);if(o.every(d=>OJM(n,d)))continue;let c=mJM(P7o,n,{});i.push(hJM(n,o,c))}return await Promise.all(i).catch(()=>{}),e&&e.length>0&&yJM(e,P7o),P7o.reduce(),e}function hJM(e,t,r){return new Promise(i=>{let n=(0,y1_.createReadStream)(e),a=(0,b1_.createInterface)({input:n});function o(){n.destroy(),i()}let c=0,d=0,s=t[d];if(s===void 0)return void o();let u=s[0],f=s[1];function p(){v1_.set(e,1),a.close(),a.removeAllListeners(),o()}n.on("error",p),a.on("error",p),a.on("close",o),a.on("line",_=>{if(c++,!(c<u)&&(r[c]=PJM(_,0),c>=f)){if(d===t.length-1){a.close(),a.removeAllListeners();return}d++;let h=t[d];if(h===void 0){a.close(),a.removeAllListeners();return}u=h[0],f=h[1]}})})}function yJM(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let i=t.get(r.filename);if(i===void 0)continue;bJM(r.lineno,r,i)}}function bJM(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let n=O1_(e);n<e;n++){let a=r[n];if(a===void 0)return void _1_(t);t.pre_context.push(a)}if(r[e]===void 0)return void _1_(t);t.context_line=r[e];let i=A1_(e);t.post_context=[];for(let n=e+1;n<=i;n++){let a=r[n];if(a===void 0)break;t.post_context.push(a)}}function _1_(e){delete e.pre_context,delete e.context_line,delete e.post_context}function vJM(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function gJM(e){return e.lineno!==void 0&&e.lineno>_JM||e.colno!==void 0&&e.colno>pJM}function OJM(e,t){let r=P7o.get(e);if(r===void 0)return!1;for(let i=t[0];i<=t[1];i++)if(r[i]===void 0)return!1;return!0}function AJM(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let i=h1_(r),n=[];for(;;){if(t===e.length-1){n.push(i);break}let a=e[t+1];if(typeof a!="number")break;a<=i[1]?i[1]=a+fwc:(n.push(i),i=h1_(a)),t++}return n}function h1_(e){return[O1_(e),A1_(e)]}function O1_(e){return Math.max(1,e-fwc)}function A1_(e){return e+fwc}function mJM(e,t,r){let i=e.get(t);return i===void 0?(e.set(t,r),r):i}function PJM(e,t){let r=e,i=r.length;if(i<=150)return r;t>i&&(t=i);let n=Math.max(t-60,0);n<5&&(n=0);let a=Math.min(n+140,i);return a>i-5&&(a=i),a===i&&(n=Math.max(a-140,0)),r=r.slice(n,a),n>0&&(r=`...${r}`),a<i&&(r+="..."),r}function jJM(e,t){let r=!1;return Object.assign(i=>{let a=global.process.listeners("uncaughtException").filter(o=>o.name!=="domainUncaughtExceptionClear"&&o._posthogErrorHandler!==!0).length===0;e(i,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&a&&(r=!0,t(i))},{_posthogErrorHandler:!0})}function m1_(e,t){globalThis.process?.on("uncaughtException",jJM(e,t))}function P1_(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var wJM=2e3,vFi=class e{constructor(t,r,i){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=i,this._rateLimiter=new f7o({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static async buildEventMessage(t,r,i,n){let a={...n};i||(a.$process_person_profile=!1);let o=this.errorPropertiesBuilder.buildFromUnknown(t,r);return o.$exception_list=await this.errorPropertiesBuilder.modifyFrames(o.$exception_list),{event:"$exception",distinctId:i||RJt(),properties:{...o,...a}}}startAutocaptureIfEnabled(){this.isEnabled()&&(m1_(this.onException.bind(this),this.onFatalError.bind(this)),P1_(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{let i=await e.buildEventMessage(t,r),a=i.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(a)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:a}):this.client.capture(i)})())}async onFatalError(t){console.error(t),await this.client.shutdown(wJM),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var j1_="5.17.4";async function w1_(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}var EJM=6e4,SJM=1152921504606847e3,MJM=["is_not"],ukn=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},l0=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},NJt=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},j7o=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:o,...c}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=c.fetch||fetch,this.onError=c.onError,this.customHeaders=o,this.onLoad=c.onLoad,this.cacheProvider=c.cacheProvider,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let o,c;if(!this.loadedSuccessfullyOnce)return o;if(c=this.featureFlagsByKey[t],c!==void 0)try{o=(await this.computeFlagAndPayloadLocally(c,r,i,n,a)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${o}`))}catch(d){d instanceof NJt||d instanceof l0?this.logMsgIfDebug(()=>console.debug(`${d.name} when computing flag locally: ${t}: ${d.message}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return o}async getAllFlagsAndPayloads(t,r={},i={},n={},a){await this.loadFeatureFlags();let o={},c={},d=this.featureFlags.length==0,s=a?a.map(f=>this.featureFlagsByKey[f]).filter(Boolean):this.featureFlags,u={};return await Promise.all(s.map(async f=>{try{let{value:p,payload:_}=await this.computeFlagAndPayloadLocally(f,t,r,i,n,void 0,u);o[f.key]=p,_&&(c[f.key]=_)}catch(p){p instanceof NJt||p instanceof l0?this.logMsgIfDebug(()=>console.debug(`${p.name} when computing flag locally: ${f.key}: ${p.message}`)):p instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${f.key}: ${p}`)),d=!0}})),{response:o,payloads:c,fallbackToFlags:d}}async computeFlagAndPayloadLocally(t,r,i={},n={},a={},o,c,d=!1){if(d||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=o!==void 0?o:await this.computeFlagValueLocally(t,r,i,n,a,c);let u=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:u}}async computeFlagValueLocally(t,r,i={},n={},a={},o={}){if(t.ensure_experience_continuity)throw new l0("Flag has experience continuity enabled");if(!t.active)return!1;let d=(t.filters||{}).aggregation_group_type_index;if(d==null)return await this.matchFeatureFlagProperties(t,r,n,o);{let s=this.groupTypeMapping[String(d)];if(!s)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${d} for feature flag ${t.key}`)),new l0("Flag has unknown group type index");if(!(s in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let u=a[s];return await this.matchFeatureFlagProperties(t,i[s],u,o)}}getFeatureFlagPayload(t,r){let i=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),i!=null)){if(typeof i=="object")return i;if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}return null}async evaluateFlagDependency(t,r,i,n){let a=t.key;if(!this.featureFlagsByKey)throw new l0("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new l0(`Flag dependency property for '${a}' is missing required 'dependency_chain' field`);let o=t.dependency_chain;if(!Array.isArray(o))throw new l0(`Flag dependency property for '${a}' has an invalid 'dependency_chain' (expected array, got ${typeof o})`);if(o.length===0)throw new l0(`Circular dependency detected for flag '${a}' (empty dependency chain)`);for(let d of o){if(!(d in n)){let u=this.featureFlagsByKey[d];if(u)if(u.active)try{let f=await this.matchFeatureFlagProperties(u,r,i,n);n[d]=f}catch(f){throw new l0(`Error evaluating flag dependency '${d}' for flag '${a}': ${f}`)}else n[d]=!1;else throw new l0(`Missing flag dependency '${d}' for flag '${a}'`)}if(n[d]==null)throw new l0(`Dependency '${d}' could not be evaluated`)}let c=n[a];return this.flagEvaluatesToExpectedValue(t.value,c)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,i,n={}){let a=t.filters||{},o=a.groups||[],c=!1,d;for(let s of o)try{if(await this.isConditionMatch(t,r,s,i,n)){let u=s.variant,f=a.multivariate?.variants||[];d=u&&f.some(p=>p.key===u)?u:await this.getMatchingVariant(t,r)||!0;break}}catch(u){if(u instanceof NJt)throw u;if(u instanceof l0)c=!0;else throw u}if(d!==void 0)return d;if(c)throw new l0("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,i,n,a={}){let o=i.rollout_percentage,c=d=>{this.logMsgIfDebug(()=>console.warn(d))};if((i.properties||[]).length>0){for(let d of i.properties){let s=d.type,u=!1;if(u=s==="cohort"?B1_(d,n,this.cohorts,this.debugMode):s==="flag"?await this.evaluateFlagDependency(d,r,n,a):D1_(d,n,c),!u)return!1}if(o==null)return!0}return!(o!=null&&await E1_(t.key,r)>o/100)}async getMatchingVariant(t,r){let i=await E1_(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(c=>{n=i+c.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:c.key}),i=n}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,i)=>(r[i.key]=i,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(EJM,this.pollingInterval*2**this.backOffCount):this.pollingInterval}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(i){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${i}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0;return;case 401:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new ukn(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let i=await r.json()??{};if(!("flags"in i))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(i)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let n={flags:i.flags??[],groupTypeMapping:i.group_type_mapping||{},cohorts:i.cohorts||{}};if(this.updateFlagState(n),this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(n)}catch(a){this.onError?.(new Error(`Failed to store in cache: ${a}`))}this.onLoad?.(this.featureFlags.length);break}default:return}}catch(t){t instanceof ukn&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let i={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(i["If-None-Match"]=r),{method:t,headers:i}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=g_n(()=>{n.abort()},this.timeout),r.signal=n.signal}try{let n=this.fetch;return n(t,r)}finally{clearTimeout(i)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((i,n)=>setTimeout(()=>n(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function E1_(e,t,r=""){let i=await w1_(`${e}.${t}${r}`);return parseInt(i.slice(0,15),16)/SJM}function D1_(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new l0("Operator is_not_set is not supported")}else throw new l0(`Property ${i} not found in propertyValues`);let o=t[i];if(o==null&&!MJM.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function c(s,u){return Array.isArray(s)?s.map(f=>String(f).toLowerCase()).includes(String(u).toLowerCase()):String(s).toLowerCase()===String(u).toLowerCase()}function d(s,u,f){if(f==="gt")return s>u;if(f==="gte")return s>=u;if(f==="lt")return s<u;if(f==="lte")return s<=u;throw new Error(`Invalid operator: ${f}`)}switch(a){case"exact":return c(n,o);case"is_not":return!c(n,o);case"is_set":return i in t;case"icontains":return String(o).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(o).toLowerCase().includes(String(n).toLowerCase());case"regex":return S1_(String(n))&&String(o).match(String(n))!==null;case"not_regex":return S1_(String(n))&&String(o).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s==null||o==null?d(String(o),String(n),a):typeof o=="string"?d(o,String(n),a):d(o,s,a)}case"is_date_after":case"is_date_before":{if(typeof n=="boolean")throw new l0("Date operations cannot be performed on boolean values");let s=BJM(String(n));if(s==null&&(s=M1_(n)),s==null)throw new l0(`Invalid date: ${n}`);let u=M1_(o);return["is_date_before"].includes(a)?u<s:u>s}default:throw new l0(`Unknown operator: ${a}`)}}function DJM(e,t){if(!(e in t))throw new NJt(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function B1_(e,t,r,i=!1){let n=String(e.value);DJM(n,r);let a=r[n];return I1_(a,t,r,i)}function I1_(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if("values"in a[0]){for(let c of a)try{let d=I1_(c,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof NJt)throw d;if(d instanceof l0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new l0("Can't match cohort without a given cohort property value");return n==="AND"}for(let c of a)try{let d;if(c.type==="cohort")d=B1_(c,t,r,i);else if(c.type==="flag"){i&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${c.key||"unknown"}'`);continue}else d=D1_(c,t);let s=c.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof NJt)throw d;if(d instanceof l0)i&&console.debug(`Failed to compute property ${c} locally: ${d}`),o=!0;else throw d}if(o)throw new l0("can't match cohort without a given cohort property value");return n==="AND"}function S1_(e){try{return new RegExp(e),!0}catch{return!1}}function M1_(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 l0(`${e} is in an invalid date format`)}throw new l0(`The date provided ${e} must be a string, number, or date object`)}function BJM(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-7*n);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else{if(a!="y")return null;i.setUTCFullYear(i.getUTCFullYear()-n)}return i}}var w7o=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var IJM=100,C1_=3e4,CJM=5e4,E7o=class extends TWa{constructor(t,r={}){if(super(t,r),this._memoryStorage=new w7o,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,IJM):C1_,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 j7o({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:n=>{this._events.emit("error",n)},onLoad:n=>{this._events.emit("localEvaluationFlagsLoaded",n)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider}))}this.errorTracking=new vFi(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||CJM}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 j1_}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:i,properties:n,options:a})=>super.captureStateless(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:i,properties:n,options:a})=>super.captureStatelessImmediate(r,i,n,{timestamp:a.timestamp,disableGeoip:a.disableGeoip,uuid:a.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStateless(t,u,{disableGeoip:i})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:i}){let{$set:n,$set_once:a,$anon_distinct_id:o,...c}=r,u={$set:n||c,$set_once:a||{},$anon_distinct_id:o??void 0};super.identifyStatelessImmediate(t,u,{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=C1_){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let i=setTimeout(()=>{n(),r(!1)},t),n=this._events.on("localEvaluationFlagsLoaded",a=>{clearTimeout(i),n(),r(a>0)})})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:o,sendFeatureFlagEvents:c,personProperties:d,groupProperties:s}=i||{},u=this.addLocalPersonAndGroupProperties(r,n,d,s);d=u.allPersonProperties,s=u.allGroupProperties,o==null&&(o=!1),c==null&&(c=this.options.sendFeatureFlagEvent??!0);let f=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),p=f!==void 0,_,h,y;if(!p&&!o){let v=await super.getFeatureFlagDetailStateless(t,r,n,d,s,a);if(v===void 0)return;y=v.response,f=b_n(y),_=v?.requestId,h=v?.evaluatedAt}let b=`${t}_${f}`;return c&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(b))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(b):this.distinctIdHasSentFlagCalls[r]=[b],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:f,$feature_flag_id:y?.metadata?.id,$feature_flag_version:y?.metadata?.version,$feature_flag_reason:y?.reason?.description??y?.reason?.code,locally_evaluated:p,[`$feature/${t}`]:f,$feature_flag_request_id:_,$feature_flag_evaluated_at:h},groups:n,disableGeoip:a})),f}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:o}=n||{},{onlyEvaluateLocally:c,personProperties:d,groupProperties:s}=n||{},u=this.addLocalPersonAndGroupProperties(r,a,d,s);d=u.allPersonProperties,s=u.allGroupProperties;let f;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let h=this.featureFlagsPoller?.featureFlagsByKey[t];if(h)try{let y=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(h,r,a,d,s,i);y&&(i=y.value,f=y.payload)}catch(y){if(y instanceof NJt||y instanceof l0)this._logger?.info(`${y.name} when computing flag locally: ${h.key}: ${y.message}`);else throw y}}return c==null&&(c=!1),!(f!==void 0)&&!c&&(f=await super.getFeatureFlagPayloadStateless(t,r,a,d,s,o)),f}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let i=await r.json();if(typeof i=="string")try{return JSON.parse(i)}catch{}return i}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n,flagKeys:a}=r||{},{onlyEvaluateLocally:o,personProperties:c,groupProperties:d}=r||{},s=this.addLocalPersonAndGroupProperties(t,i,c,d);c=s.allPersonProperties,d=s.allGroupProperties,o==null&&(o=!1);let u=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,c,d,a),f={},p={},_=!0;if(u&&(f=u.response,p=u.payloads,_=u.fallbackToFlags),_&&!o){let h=await super.getFeatureFlagsAndPayloadsStateless(t,i,c,d,n,a);f={...f,...h.flags||{}},p={...p,...h.payloads||{}}}return{featureFlags:f,featureFlagPayloads:p}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}withContext(t,r,i){return this.context?this.context.run(t,r,i):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},n=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let a=new AbortController;n=g_n(()=>{a.abort()},this.options.requestTimeout),i.signal=a.signal}try{return await this.fetch(r,i)}catch(a){this._events.emit("error",a);return}finally{n&&clearTimeout(n)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let i={},n={};for(let[a,o]of Object.entries(t))if(Fq_(o)&&r&&a in r){let c={};for(let[d,s]of Object.entries(o))c[String(d)]=String(s);n[String(a)]=c}else i[String(a)]=String(o);return{personProperties:i,groupProperties:n}}async getFeatureFlagsForEvent(t,r,i,n){let a=n?.personProperties||{},o=n?.groupProperties||{},c=n?.flagKeys;if(n?.onlyEvaluateLocally??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,f]of Object.entries(r||{}))s[u]=String(f);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let s={};for(let[u,f]of Object.entries(r||{}))s[u]=String(f);return await this.getAllFlags(t,{groups:s,personProperties:a,groupProperties:o,disableGeoip:i,onlyEvaluateLocally:!0,flagKeys:c})}return(await super.getFeatureFlagsStateless(t,r,a,o,i)).flags}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},o={};if(r)for(let c of Object.keys(r))o[c]={$group_key:r[c],...n?.[c]||{}};return{allPersonProperties:a,allGroupProperties:o}}captureException(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(vFi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.capture(a)))}async captureExceptionImmediate(t,r,i){let n=new Error("PostHog syntheticException");this.addPendingPromise(vFi.buildEventMessage(t,{syntheticException:n},r,i).then(a=>this.captureImmediate(a)))}async prepareEventMessage(t){let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s}=t,u=this.context?.get(),f=r||u?.distinctId,p={...u?.properties||{},...n||{}};f||(f=RJt(),p.$process_person_profile=!1),u?.sessionId&&!p.$session_id&&(p.$session_id=u.sessionId);let _=this._runBeforeSend({distinctId:f,event:i,properties:p,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:d,uuid:s});if(!_)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(o){let y=typeof o=="object"?o:void 0;return await this.getFeatureFlagsForEvent(_.distinctId,a,d,y)}return _.event,{}}).then(y=>{let b={};if(y)for(let[g,A]of Object.entries(y))b[`$feature/${g}`]=A;let v=Object.keys(y||{}).filter(g=>y?.[g]!==!1).sort();return v.length>0&&(b.$active_feature_flags=v),b}).catch(()=>({})).then(y=>({...y,..._.properties||{},$groups:_.groups||a}));return _.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&Cq_(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(_.event="$bot_pageview",h.$browser_type="bot"),{distinctId:_.distinctId,event:_.event,properties:h,options:{timestamp:_.timestamp,disableGeoip:_.disableGeoip,uuid:_.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let i=Array.isArray(r)?r:[r],n=t;for(let a of i){if(n=a(n),!n)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!n.properties||Object.keys(n.properties).length===0){let o=`Event '${n.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(o)}}return n}};var q1_=require("async_hooks"),S7o=class{constructor(){this.storage=new q1_.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,i){if(i?.fresh===!0)return this.storage.run(t,r);{let a=this.get()||{},o={distinctId:t.distinctId??a.distinctId,sessionId:t.sessionId??a.sessionId,properties:{...a.properties||{},...t.properties||{}}};return this.storage.run(o,r)}}};var T1_="posthog-node";function qJM(e,{organization:t,projectId:r,prefix:i,severityAllowList:n=["error"],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(n==="*"||n.includes(o.level)))return o;o.tags||(o.tags={});let d=o.tags[dwc.POSTHOG_ID_TAG];if(d===void 0)return o;let s=e.options.host??"https://us.i.posthog.com",u=new URL(`/project/${e.apiKey}/person/${d}`,s).toString();o.tags["PostHog Person URL"]=u;let f=o.exception?.values||[],p=f.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),_={$exception_message:f[0]?.value||o.message,$exception_type:f[0]?.type,$exception_level:o.level,$exception_list:p,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:f[0]?.value||o.message,$sentry_exception_type:f[0]?.type,$sentry_tags:o.tags};return t&&r&&(_.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+o.event_id),a&&e.capture({event:"$exception",distinctId:d,properties:_}),o}}var dwc=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,i,n,a){this.name=T1_,this.name=T1_,this.setupOnce=function(o,c){let d=c()?.getClient()?.getDsn()?.projectId;o(qJM(t,{organization:r,projectId:d,prefix:i,severityAllowList:n,sendExceptionsToPostHog:a??!0}))}}};vFi.errorPropertiesBuilder=new s$.ErrorPropertiesBuilder([new s$.EventCoercer,new s$.ErrorCoercer,new s$.ObjectCoercer,new s$.StringCoercer,new s$.PrimitiveCoercer],s$.createStackParser("node:javascript",s$.nodeStackLineParser),[Sq_(),g1_]);var skn=class extends E7o{getLibraryId(){return"posthog-node"}initializeContext(){return new S7o}};var M7o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new skn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.39.3",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var RWa=class{async sendEvent(){}async identify(){}async flush(){}};var ckn=require("fs/promises"),F1_=require("os"),Q1_=require("path");var R1_=ce(require("crypto")),B7o=new Uint8Array(256),D7o=B7o.length;function pwc(){return D7o>B7o.length-16&&(R1_.default.randomFillSync(B7o),D7o=0),B7o.slice(D7o,D7o+=16)}var q4=[];for(let e=0;e<256;++e)q4.push((e+256).toString(16).slice(1));function z1_(e,t=0){return q4[e[t+0]]+q4[e[t+1]]+q4[e[t+2]]+q4[e[t+3]]+"-"+q4[e[t+4]]+q4[e[t+5]]+"-"+q4[e[t+6]]+q4[e[t+7]]+"-"+q4[e[t+8]]+q4[e[t+9]]+"-"+q4[e[t+10]]+q4[e[t+11]]+q4[e[t+12]]+q4[e[t+13]]+q4[e[t+14]]+q4[e[t+15]]}var N1_=ce(require("crypto")),_wc={randomUUID:N1_.default.randomUUID};function TJM(e,t,r){if(_wc.randomUUID&&!t&&!e)return _wc.randomUUID();e=e||{};let i=e.random||(e.rng||pwc)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return z1_(i)}var Ybe=TJM;var RJM="id",zJM=".fern",zWa=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new skn(r),this.userId=t==null?void 0:ogc(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.39.3",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{}}})}async flush(){await this.posthog.flush()}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await P4({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=It(Sr.of((0,F1_.homedir)()),Ye.of(zJM),Ye.of(RJM));await mi(t)||(await(0,ckn.mkdir)((0,Q1_.dirname)(t),{recursive:!0}),await(0,ckn.writeFile)(t,Ybe())),this.persistedDistinctId=(await(0,ckn.readFile)(t)).toString()}return this.persistedDistinctId}};var hwc;async function lkn(){return hwc==null&&(hwc=await NJM()),hwc}async function NJM(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new RWa;let r=await X8o();return r!=null?new zWa({token:r,posthogApiKey:e}):await gZn()!=null?new M7o({posthogApiKey:e}):new zWa({token:void 0,posthogApiKey:e})}catch{return new RWa}}function NWa(e,t){return function(){return e.apply(t,arguments)}}var{toString:FJM}=Object.prototype,{getPrototypeOf:bwc}=Object,{iterator:C7o,toStringTag:L1_}=Symbol,q7o=(e=>t=>{let r=FJM.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),kVt=e=>(e=e.toLowerCase(),t=>q7o(t)===e),T7o=e=>t=>typeof t===e,{isArray:dkn}=Array,fkn=T7o("undefined");function FWa(e){return e!==null&&!fkn(e)&&e.constructor!==null&&!fkn(e.constructor)&&c$(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var V1_=kVt("ArrayBuffer");function QJM(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&V1_(e.buffer),t}var UJM=T7o("string"),c$=T7o("function"),W1_=T7o("number"),QWa=e=>e!==null&&typeof e=="object",LJM=e=>e===!0||e===!1,I7o=e=>{if(q7o(e)!=="object")return!1;let t=bwc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(L1_ in e)&&!(C7o in e)},VJM=e=>{if(!QWa(e)||FWa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},WJM=kVt("Date"),GJM=kVt("File"),HJM=kVt("Blob"),xJM=kVt("FileList"),KJM=e=>QWa(e)&&c$(e.pipe),JJM=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||c$(e.append)&&((t=q7o(e))==="formdata"||t==="object"&&c$(e.toString)&&e.toString()==="[object FormData]"))},$JM=kVt("URLSearchParams"),[YJM,XJM,ZJM,kJM]=["ReadableStream","Request","Response","Headers"].map(kVt),e$M=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function UWa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),dkn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(FWa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function G1_(e,t){if(FWa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var O_n=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,H1_=e=>!fkn(e)&&e!==O_n;function ywc(){let{caseless:e,skipUndefined:t}=H1_(this)&&this||{},r={},i=(n,a)=>{let o=e&&G1_(r,a)||a;I7o(r[o])&&I7o(n)?r[o]=ywc(r[o],n):I7o(n)?r[o]=ywc({},n):dkn(n)?r[o]=n.slice():(!t||!fkn(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&UWa(arguments[n],i);return r}var t$M=(e,t,r,{allOwnKeys:i}={})=>(UWa(t,(n,a)=>{r&&c$(n)?e[a]=NWa(n,r):e[a]=n},{allOwnKeys:i}),e),r$M=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),i$M=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},n$M=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&bwc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},a$M=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},o$M=e=>{if(!e)return null;if(dkn(e))return e;let t=e.length;if(!W1_(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},u$M=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&bwc(Uint8Array)),s$M=(e,t)=>{let i=(e&&e[C7o]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},c$M=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},l$M=kVt("HTMLFormElement"),f$M=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),U1_=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),d$M=kVt("RegExp"),x1_=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};UWa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},p$M=e=>{x1_(e,(t,r)=>{if(c$(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(c$(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},_$M=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return dkn(e)?i(e):i(String(e).split(t)),r},h$M=()=>{},y$M=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function b$M(e){return!!(e&&c$(e.append)&&e[L1_]==="FormData"&&e[C7o])}var v$M=e=>{let t=new Array(10),r=(i,n)=>{if(QWa(i)){if(t.indexOf(i)>=0)return;if(FWa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=dkn(i)?[]:{};return UWa(i,(o,c)=>{let d=r(o,n+1);!fkn(d)&&(a[c]=d)}),t[n]=void 0,a}}return i};return r(e,0)},g$M=kVt("AsyncFunction"),O$M=e=>e&&(QWa(e)||c$(e))&&c$(e.then)&&c$(e.catch),K1_=((e,t)=>e?setImmediate:t?((r,i)=>(O_n.addEventListener("message",({source:n,data:a})=>{n===O_n&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),O_n.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",c$(O_n.postMessage)),A$M=typeof queueMicrotask<"u"?queueMicrotask.bind(O_n):typeof process<"u"&&process.nextTick||K1_,m$M=e=>e!=null&&c$(e[C7o]),rr={isArray:dkn,isArrayBuffer:V1_,isBuffer:FWa,isFormData:JJM,isArrayBufferView:QJM,isString:UJM,isNumber:W1_,isBoolean:LJM,isObject:QWa,isPlainObject:I7o,isEmptyObject:VJM,isReadableStream:YJM,isRequest:XJM,isResponse:ZJM,isHeaders:kJM,isUndefined:fkn,isDate:WJM,isFile:GJM,isBlob:HJM,isRegExp:d$M,isFunction:c$,isStream:KJM,isURLSearchParams:$JM,isTypedArray:u$M,isFileList:xJM,forEach:UWa,merge:ywc,extend:t$M,trim:e$M,stripBOM:r$M,inherits:i$M,toFlatObject:n$M,kindOf:q7o,kindOfTest:kVt,endsWith:a$M,toArray:o$M,forEachEntry:s$M,matchAll:c$M,isHTMLForm:l$M,hasOwnProperty:U1_,hasOwnProp:U1_,reduceDescriptors:x1_,freezeMethods:p$M,toObjectSet:_$M,toCamelCase:f$M,noop:h$M,toFiniteNumber:y$M,findKey:G1_,global:O_n,isContextDefined:H1_,isSpecCompliantForm:b$M,toJSONObject:v$M,isAsyncFn:g$M,isThenable:O$M,setImmediate:K1_,asap:A$M,isIterable:m$M};function pkn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}rr.inherits(pkn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:rr.toJSONObject(this.config),code:this.code,status:this.status}}});var J1_=pkn.prototype,$1_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$1_[e]={value:e}});Object.defineProperties(pkn,$1_);Object.defineProperty(J1_,"isAxiosError",{value:!0});pkn.from=(e,t,r,i,n,a)=>{let o=Object.create(J1_);rr.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return pkn.call(o,c,d,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var Da=pkn;var Y1_=ce(TXn(),1),R7o=Y1_.default;function vwc(e){return rr.isPlainObject(e)||rr.isArray(e)}function Z1_(e){return rr.endsWith(e,"[]")?e.slice(0,-2):e}function X1_(e,t,r){return e?e.concat(t).map(function(n,a){return n=Z1_(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function P$M(e){return rr.isArray(e)&&!e.some(vwc)}var j$M=rr.toFlatObject(rr,{},null,function(t){return/^is[A-Z]/.test(t)});function w$M(e,t,r){if(!rr.isObject(e))throw new TypeError("target must be an object");t=t||new(R7o||FormData),r=rr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!rr.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&rr.isSpecCompliantForm(t);if(!rr.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(rr.isDate(h))return h.toISOString();if(rr.isBoolean(h))return h.toString();if(!d&&rr.isBlob(h))throw new Da("Blob is not supported. Use a Buffer instead.");return rr.isArrayBuffer(h)||rr.isTypedArray(h)?d&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(rr.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(rr.isArray(h)&&P$M(h)||(rr.isFileList(h)||rr.endsWith(y,"[]"))&&(v=rr.toArray(h)))return y=Z1_(y),v.forEach(function(A,O){!(rr.isUndefined(A)||A===null)&&t.append(o===!0?X1_([y],O,a):o===null?y:y+"[]",s(A))}),!1}return vwc(h)?!0:(t.append(X1_(b,y,a),s(h)),!1)}let f=[],p=Object.assign(j$M,{defaultVisitor:u,convertValue:s,isVisitable:vwc});function _(h,y){if(!rr.isUndefined(h)){if(f.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));f.push(h),rr.forEach(h,function(v,g){(!(rr.isUndefined(v)||v===null)&&n.call(t,v,rr.isString(g)?g.trim():g,y,p))===!0&&_(v,y?y.concat(g):[g])}),f.pop()}}if(!rr.isObject(e))throw new TypeError("data must be an object");return _(e),t}var R7i=w$M;function k1_(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function eT_(e,t){this._pairs=[],e&&R7i(e,this,t)}var tT_=eT_.prototype;tT_.append=function(t,r){this._pairs.push([t,r])};tT_.toString=function(t){let r=t?function(i){return t.call(this,i,k1_)}:k1_;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var rT_=eT_;function E$M(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function A_n(e,t,r){if(!t)return e;let i=r&&r.encode||E$M;rr.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=rr.isURLSearchParams(t)?t.toString():new rT_(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var gwc=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){rr.forEach(this.handlers,function(i){i!==null&&t(i)})}},Owc=gwc;var _kn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var oT_=ce(require("crypto"),1);var iT_=ce(require("url"),1),nT_=iT_.default.URLSearchParams;var Awc="abcdefghijklmnopqrstuvwxyz",aT_="0123456789",uT_={DIGIT:aT_,ALPHA:Awc,ALPHA_DIGIT:Awc+Awc.toUpperCase()+aT_},S$M=(e=16,t=uT_.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);oT_.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},sT_={isNode:!0,classes:{URLSearchParams:nT_,FormData:R7o,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:uT_,generateString:S$M,protocols:["http","https","file","data"]};var jwc={};Zt(jwc,{hasBrowserEnv:()=>Pwc,hasStandardBrowserEnv:()=>M$M,hasStandardBrowserWebWorkerEnv:()=>D$M,navigator:()=>mwc,origin:()=>B$M});var Pwc=typeof window<"u"&&typeof document<"u",mwc=typeof navigator=="object"&&navigator||void 0,M$M=Pwc&&(!mwc||["ReactNative","NativeScript","NS"].indexOf(mwc.product)<0),D$M=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",B$M=Pwc&&window.location.href||"http://localhost";var XA={...jwc,...sT_};function wwc(e,t){return R7i(e,new XA.classes.URLSearchParams,{visitor:function(r,i,n,a){return XA.isNode&&rr.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function I$M(e){return rr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function C$M(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function q$M(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),d=a>=r.length;return o=!o&&rr.isArray(n)?n.length:o,d?(rr.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!rr.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&rr.isArray(n[o])&&(n[o]=C$M(n[o])),!c)}if(rr.isFormData(e)&&rr.isFunction(e.entries)){let r={};return rr.forEachEntry(e,(i,n)=>{t(I$M(i),n,r,0)}),r}return null}var z7o=q$M;function T$M(e,t,r){if(rr.isString(e))try{return(t||JSON.parse)(e),rr.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var Ewc={transitional:_kn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=rr.isObject(t);if(a&&rr.isHTMLForm(t)&&(t=new FormData(t)),rr.isFormData(t))return n?JSON.stringify(z7o(t)):t;if(rr.isArrayBuffer(t)||rr.isBuffer(t)||rr.isStream(t)||rr.isFile(t)||rr.isBlob(t)||rr.isReadableStream(t))return t;if(rr.isArrayBufferView(t))return t.buffer;if(rr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return wwc(t,this.formSerializer).toString();if((c=rr.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return R7i(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),T$M(t)):t}],transformResponse:[function(t){let r=this.transitional||Ewc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(rr.isResponse(t)||rr.isReadableStream(t))return t;if(t&&rr.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?Da.from(c,Da.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:XA.classes.FormData,Blob:XA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};rr.forEach(["delete","get","head","post","put","patch"],e=>{Ewc.headers[e]={}});var hkn=Ewc;var R$M=rr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),cT_=e=>{let t={},r,i,n;return e&&e.split(`
1150
1150
  `).forEach(function(o){n=o.indexOf(":"),r=o.substring(0,n).trim().toLowerCase(),i=o.substring(n+1).trim(),!(!r||t[r]&&R$M[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var lT_=Symbol("internals");function LWa(e){return e&&String(e).trim().toLowerCase()}function N7o(e){return e===!1||e==null?e:rr.isArray(e)?e.map(N7o):String(e)}function z$M(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var N$M=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Swc(e,t,r,i,n){if(rr.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!rr.isString(t)){if(rr.isString(i))return t.indexOf(i)!==-1;if(rr.isRegExp(i))return i.test(t)}}function F$M(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function Q$M(e,t){let r=rr.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,a,o){return this[i].call(this,t,n,a,o)},configurable:!0})})}var ykn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(c,d,s){let u=LWa(d);if(!u)throw new Error("header name must be a non-empty string");let f=rr.findKey(n,u);(!f||n[f]===void 0||s===!0||s===void 0&&n[f]!==!1)&&(n[f||d]=N7o(c))}let o=(c,d)=>rr.forEach(c,(s,u)=>a(s,u,d));if(rr.isPlainObject(t)||t instanceof this.constructor)o(t,r);else if(rr.isString(t)&&(t=t.trim())&&!N$M(t))o(cT_(t),r);else if(rr.isObject(t)&&rr.isIterable(t)){let c={},d,s;for(let u of t){if(!rr.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[s=u[0]]=(d=c[s])?rr.isArray(d)?[...d,u[1]]:[d,u[1]]:u[1]}o(c,r)}else t!=null&&a(r,t,i);return this}get(t,r){if(t=LWa(t),t){let i=rr.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return z$M(n);if(rr.isFunction(r))return r.call(this,n,i);if(rr.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=LWa(t),t){let i=rr.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||Swc(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(o){if(o=LWa(o),o){let c=rr.findKey(i,o);c&&(!r||Swc(i,i[c],c,r))&&(delete i[c],n=!0)}}return rr.isArray(t)?t.forEach(a):a(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let a=r[i];(!t||Swc(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return rr.forEach(this,(n,a)=>{let o=rr.findKey(i,a);if(o){r[o]=N7o(n),delete r[a];return}let c=t?F$M(a):String(a).trim();c!==a&&delete r[a],r[c]=N7o(n),i[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return rr.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&rr.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
1151
1151
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[lT_]=this[lT_]={accessors:{}}).accessors,n=this.prototype;function a(o){let c=LWa(o);i[c]||(Q$M(n,o),i[c]=!0)}return rr.isArray(t)?t.forEach(a):a(t),this}};ykn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);rr.reduceDescriptors(ykn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});rr.freezeMethods(ykn);var YM=ykn;function VWa(e,t){let r=this||hkn,i=t||r,n=YM.from(i.headers),a=i.data;return rr.forEach(e,function(c){a=c.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function WWa(e){return!!(e&&e.__CANCEL__)}function fT_(e,t,r){Da.call(this,e??"canceled",Da.ERR_CANCELED,t,r),this.name="CanceledError"}rr.inherits(fT_,Da,{__CANCEL__:!0});var Xbe=fT_;function FJt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new Da("Request failed with status code "+r.status,[Da.ERR_BAD_REQUEST,Da.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Mwc(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Dwc(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function m_n(e,t,r){let i=!Mwc(t);return e&&(i||r==!1)?Dwc(e,t):t}var RT_=ce(Bwc(),1),zT_=ce(require("http"),1),NT_=ce(require("https"),1),FT_=ce(require("util"),1),QT_=ce(gT_(),1),OFi=ce(require("zlib"),1);var w_n="1.12.2";function JWa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var rYM=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Wwc(e,t,r){let i=r&&r.Blob||XA.classes.Blob,n=JWa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=rYM.exec(e);if(!a)throw new Da("Invalid URL",Da.ERR_INVALID_URL);let o=a[1],c=a[2],d=a[3],s=Buffer.from(decodeURIComponent(d),c?"base64":"utf8");if(t){if(!i)throw new Da("Blob is not supported",Da.ERR_NOT_SUPPORT);return new i([s],{type:o})}return s}throw new Da("Unsupported protocol "+n,Da.ERR_NOT_SUPPORT)}var S_n=ce(require("stream"),1);var OT_=ce(require("stream"),1);var Gwc=Symbol("internals"),Hwc=class extends OT_.default.Transform{constructor(t){t=rr.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!rr.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[Gwc]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",i=>{i==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[Gwc];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[Gwc],a=n.maxRate,o=this.readableHighWaterMark,c=n.timeWindow,d=1e3/c,s=a/d,u=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,f=(_,h)=>{let y=Buffer.byteLength(_);n.bytesSeen+=y,n.bytes+=y,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(_)?process.nextTick(h):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(h)}},p=(_,h)=>{let y=Buffer.byteLength(_),b=null,v=o,g,A=0;if(a){let O=Date.now();(!n.ts||(A=O-n.ts)>=c)&&(n.ts=O,g=s-n.bytes,n.bytes=g<0?-g:0,A=0),g=s-n.bytes}if(a){if(g<=0)return setTimeout(()=>{h(null,_)},c-A);g<v&&(v=g)}v&&y>v&&y-v>u&&(b=_.subarray(v),_=_.subarray(0,v)),f(_,b?()=>{process.nextTick(h,null,b)}:h)};p(t,function _(h,y){if(h)return i(h);y?p(y,_):i(null)})}},xwc=Hwc;var UT_=require("events");var mT_=ce(require("util"),1),PT_=require("stream");var{asyncIterator:AT_}=Symbol,iYM=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[AT_]?yield*e[AT_]():yield e},F7o=iYM;var nYM=XA.ALPHABET.ALPHA_DIGIT+"-_",$Wa=typeof TextEncoder=="function"?new TextEncoder:new mT_.default.TextEncoder,E_n=`\r
1152
1152
  `,aYM=$Wa.encode(E_n),oYM=2,Kwc=class{constructor(t,r){let{escapeName:i}=this.constructor,n=rr.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${E_n}`;n?r=$Wa.encode(String(r).replace(/\r?\n|\r\n?/g,E_n)):a+=`Content-Type: ${r.type||"application/octet-stream"}${E_n}`,this.headers=$Wa.encode(a+E_n),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+oYM,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;rr.isTypedArray(t)?yield t:yield*F7o(t),yield aYM}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},uYM=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+XA.generateString(n,nYM)}=r||{};if(!rr.isFormData(e))throw TypeError("FormData instance required");if(a.length<1||a.length>70)throw Error("boundary must be 10-70 characters long");let o=$Wa.encode("--"+a+E_n),c=$Wa.encode("--"+a+"--"+E_n),d=c.byteLength,s=Array.from(e.entries()).map(([f,p])=>{let _=new Kwc(f,p);return d+=_.size,_});d+=o.byteLength*s.length,d=rr.toFiniteNumber(d);let u={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(d)&&(u["Content-Length"]=d),t&&t(u),PT_.Readable.from((async function*(){for(let f of s)yield o,yield*f.encode();yield c})())},jT_=uYM;var wT_=ce(require("stream"),1),Jwc=class extends wT_.default.Transform{__transform(t,r,i){this.push(t),i()}_transform(t,r,i){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let n=Buffer.alloc(2);n[0]=120,n[1]=156,this.push(n,r)}this.__transform(t,r,i)}},ET_=Jwc;var sYM=(e,t)=>rr.isAsyncFn(e)?function(...r){let i=r.pop();e.apply(this,r).then(n=>{try{t?i(null,...t(n)):i(null,n)}catch(a){i(a)}},i)}:e,ST_=sYM;function cYM(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,o;return t=t!==void 0?t:1e3,function(d){let s=Date.now(),u=i[a];o||(o=s),r[n]=d,i[n]=s;let f=a,p=0;for(;f!==n;)p+=r[f++],f=f%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-o<t)return;let _=u&&s-u;return _?Math.round(p*1e3/_):void 0}}var MT_=cYM;function lYM(e,t){let r=0,i=1e3/t,n,a,o=(s,u=Date.now())=>{r=u,n=null,a&&(clearTimeout(a),a=null),e(...s)};return[(...s)=>{let u=Date.now(),f=u-r;f>=i?o(s,u):(n=s,a||(a=setTimeout(()=>{a=null,o(n)},i-f)))},()=>n&&o(n)]}var DT_=lYM;var gFi=(e,t,r=3)=>{let i=0,n=MT_(50,250);return DT_(a=>{let o=a.loaded,c=a.lengthComputable?a.total:void 0,d=o-i,s=n(d),u=o<=c;i=o;let f={loaded:o,total:c,progress:c?o/c:void 0,bytes:d,rate:s||void 0,estimated:s&&c&&u?(c-o)/s:void 0,event:a,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(f)},r)},vkn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},gkn=e=>(...t)=>rr.asap(()=>e(...t));function $wc(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let r=e.slice(5,t),i=e.slice(t+1);if(/;base64/i.test(r)){let a=i.length,o=i.length;for(let p=0;p<o;p++)if(i.charCodeAt(p)===37&&p+2<o){let _=i.charCodeAt(p+1),h=i.charCodeAt(p+2);(_>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102)&&(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(a-=2,p+=2)}let c=0,d=o-1,s=p=>p>=2&&i.charCodeAt(p-2)===37&&i.charCodeAt(p-1)===51&&(i.charCodeAt(p)===68||i.charCodeAt(p)===100);d>=0&&(i.charCodeAt(d)===61?(c++,d--):s(d)&&(c++,d-=3)),c===1&&d>=0&&(i.charCodeAt(d)===61||s(d))&&c++;let f=Math.floor(a/4)*3-(c||0);return f>0?f:0}return Buffer.byteLength(i,"utf8")}var BT_={flush:OFi.default.constants.Z_SYNC_FLUSH,finishFlush:OFi.default.constants.Z_SYNC_FLUSH},fYM={flush:OFi.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:OFi.default.constants.BROTLI_OPERATION_FLUSH},IT_=rr.isFunction(OFi.default.createBrotliDecompress),{http:dYM,https:pYM}=QT_.default,_YM=/https:?/,CT_=XA.protocols.map(e=>e+":"),qT_=(e,[t,r])=>(e.on("end",r).on("error",r),t);function hYM(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function LT_(e,t,r){let i=t;if(!i&&i!==!1){let n=RT_.default.getProxyForUrl(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){LT_(a,t,a.href)}}var yYM=typeof process<"u"&&rr.kindOf(process)==="process",bYM=e=>new Promise((t,r)=>{let i,n,a=(d,s)=>{n||(n=!0,i&&i(d,s))},o=d=>{a(d),t(d)},c=d=>{a(d,!0),r(d)};e(o,c,d=>i=d).catch(c)}),vYM=({address:e,family:t})=>{if(!rr.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},TT_=(e,t)=>vYM(rr.isObject(e)?e:{address:e,family:t}),VT_=yYM&&function(t){return bYM(async function(i,n,a){let{data:o,lookup:c,family:d}=t,{responseType:s,responseEncoding:u}=t,f=t.method.toUpperCase(),p,_=!1,h;if(c){let ee=ST_(c,me=>rr.isArray(me)?me:[me]);c=(me,ve,H)=>{ee(me,ve,(G,Ee,ue)=>{if(G)return H(G);let ge=rr.isArray(Ee)?Ee.map(We=>TT_(We)):[TT_(Ee,ue)];ve.all?H(G,ge):H(G,ge[0].address,ge[0].family)})}}let y=new UT_.EventEmitter,b=()=>{t.cancelToken&&t.cancelToken.unsubscribe(v),t.signal&&t.signal.removeEventListener("abort",v),y.removeAllListeners()};a((ee,me)=>{p=!0,me&&(_=!0,b())});function v(ee){y.emit("abort",!ee||ee.type?new Xbe(null,t,h):ee)}y.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(v),t.signal&&(t.signal.aborted?v():t.signal.addEventListener("abort",v)));let g=m_n(t.baseURL,t.url,t.allowAbsoluteUrls),A=new URL(g,XA.hasBrowserEnv?XA.origin:void 0),O=A.protocol||CT_[0];if(O==="data:"){if(t.maxContentLength>-1){let me=String(t.url||g||"");if($wc(me)>t.maxContentLength)return n(new Da("maxContentLength size of "+t.maxContentLength+" exceeded",Da.ERR_BAD_RESPONSE,t))}let ee;if(f!=="GET")return FJt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{ee=Wwc(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(me){throw Da.from(me,Da.ERR_BAD_REQUEST,t)}return s==="text"?(ee=ee.toString(u),(!u||u==="utf8")&&(ee=rr.stripBOM(ee))):s==="stream"&&(ee=S_n.default.Readable.from(ee)),FJt(i,n,{data:ee,status:200,statusText:"OK",headers:new YM,config:t})}if(CT_.indexOf(O)===-1)return n(new Da("Unsupported protocol "+O,Da.ERR_BAD_REQUEST,t));let m=YM.from(t.headers).normalize();m.set("User-Agent","axios/"+w_n,!1);let{onUploadProgress:j,onDownloadProgress:S}=t,w=t.maxRate,D,B;if(rr.isSpecCompliantForm(o)){let ee=m.getContentType(/boundary=([-_\w\d]{10,70})/i);o=jT_(o,me=>{m.set(me)},{tag:`axios-${w_n}-boundary`,boundary:ee&&ee[1]||void 0})}else if(rr.isFormData(o)&&rr.isFunction(o.getHeaders)){if(m.set(o.getHeaders()),!m.hasContentLength())try{let ee=await FT_.default.promisify(o.getLength).call(o);Number.isFinite(ee)&&ee>=0&&m.setContentLength(ee)}catch{}}else if(rr.isBlob(o)||rr.isFile(o))o.size&&m.setContentType(o.type||"application/octet-stream"),m.setContentLength(o.size||0),o=S_n.default.Readable.from(F7o(o));else if(o&&!rr.isStream(o)){if(!Buffer.isBuffer(o))if(rr.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(rr.isString(o))o=Buffer.from(o,"utf-8");else return n(new Da("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Da.ERR_BAD_REQUEST,t));if(m.setContentLength(o.length,!1),t.maxBodyLength>-1&&o.length>t.maxBodyLength)return n(new Da("Request body larger than maxBodyLength limit",Da.ERR_BAD_REQUEST,t))}let q=rr.toFiniteNumber(m.getContentLength());rr.isArray(w)?(D=w[0],B=w[1]):D=B=w,o&&(j||D)&&(rr.isStream(o)||(o=S_n.default.Readable.from(o,{objectMode:!1})),o=S_n.default.pipeline([o,new xwc({maxRate:rr.toFiniteNumber(D)})],rr.noop),j&&o.on("progress",qT_(o,vkn(q,gFi(gkn(j),!1,3)))));let Q;if(t.auth){let ee=t.auth.username||"",me=t.auth.password||"";Q=ee+":"+me}if(!Q&&A.username){let ee=A.username,me=A.password;Q=ee+":"+me}Q&&m.delete("authorization");let T;try{T=A_n(A.pathname+A.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(ee){let me=new Error(ee.message);return me.config=t,me.url=t.url,me.exists=!0,n(me)}m.set("Accept-Encoding","gzip, compress, deflate"+(IT_?", br":""),!1);let N={path:T,method:f,headers:m.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:Q,protocol:O,family:d,beforeRedirect:hYM,beforeRedirects:{}};!rr.isUndefined(c)&&(N.lookup=c),t.socketPath?N.socketPath=t.socketPath:(N.hostname=A.hostname.startsWith("[")?A.hostname.slice(1,-1):A.hostname,N.port=A.port,LT_(N,t.proxy,O+"//"+A.hostname+(A.port?":"+A.port:"")+N.path));let F,x=_YM.test(N.protocol);if(N.agent=x?t.httpsAgent:t.httpAgent,t.transport?F=t.transport:t.maxRedirects===0?F=x?NT_.default:zT_.default:(t.maxRedirects&&(N.maxRedirects=t.maxRedirects),t.beforeRedirect&&(N.beforeRedirects.config=t.beforeRedirect),F=x?pYM:dYM),t.maxBodyLength>-1?N.maxBodyLength=t.maxBodyLength:N.maxBodyLength=1/0,t.insecureHTTPParser&&(N.insecureHTTPParser=t.insecureHTTPParser),h=F.request(N,function(me){if(h.destroyed)return;let ve=[me],H=+me.headers["content-length"];if(S||B){let We=new xwc({maxRate:rr.toFiniteNumber(B)});S&&We.on("progress",qT_(We,vkn(H,gFi(gkn(S),!0,3)))),ve.push(We)}let G=me,Ee=me.req||h;if(t.decompress!==!1&&me.headers["content-encoding"])switch((f==="HEAD"||me.statusCode===204)&&delete me.headers["content-encoding"],(me.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":ve.push(OFi.default.createUnzip(BT_)),delete me.headers["content-encoding"];break;case"deflate":ve.push(new ET_),ve.push(OFi.default.createUnzip(BT_)),delete me.headers["content-encoding"];break;case"br":IT_&&(ve.push(OFi.default.createBrotliDecompress(fYM)),delete me.headers["content-encoding"])}G=ve.length>1?S_n.default.pipeline(ve,rr.noop):ve[0];let ue=S_n.default.finished(G,()=>{ue(),b()}),ge={status:me.statusCode,statusText:me.statusMessage,headers:new YM(me.headers),config:t,request:Ee};if(s==="stream")ge.data=G,FJt(i,n,ge);else{let We=[],se=0;G.on("data",function(Fe){We.push(Fe),se+=Fe.length,t.maxContentLength>-1&&se>t.maxContentLength&&(_=!0,G.destroy(),n(new Da("maxContentLength size of "+t.maxContentLength+" exceeded",Da.ERR_BAD_RESPONSE,t,Ee)))}),G.on("aborted",function(){if(_)return;let Fe=new Da("stream has been aborted",Da.ERR_BAD_RESPONSE,t,Ee);G.destroy(Fe),n(Fe)}),G.on("error",function(Fe){h.destroyed||n(Da.from(Fe,null,t,Ee))}),G.on("end",function(){try{let Fe=We.length===1?We[0]:Buffer.concat(We);s!=="arraybuffer"&&(Fe=Fe.toString(u),(!u||u==="utf8")&&(Fe=rr.stripBOM(Fe))),ge.data=Fe}catch(Fe){return n(Da.from(Fe,null,t,ge.request,ge))}FJt(i,n,ge)})}y.once("abort",We=>{G.destroyed||(G.emit("error",We),G.destroy())})}),y.once("abort",ee=>{n(ee),h.destroy(ee)}),h.on("error",function(me){n(Da.from(me,null,t,h))}),h.on("socket",function(me){me.setKeepAlive(!0,1e3*60)}),t.timeout){let ee=parseInt(t.timeout,10);if(Number.isNaN(ee)){n(new Da("error trying to parse `config.timeout` to int",Da.ERR_BAD_OPTION_VALUE,t,h));return}h.setTimeout(ee,function(){if(p)return;let ve=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",H=t.transitional||_kn;t.timeoutErrorMessage&&(ve=t.timeoutErrorMessage),n(new Da(ve,H.clarifyTimeoutError?Da.ETIMEDOUT:Da.ECONNABORTED,t,h)),v()})}if(rr.isStream(o)){let ee=!1,me=!1;o.on("end",()=>{ee=!0}),o.once("error",ve=>{me=!0,h.destroy(ve)}),o.on("close",()=>{!ee&&!me&&v(new Xbe("Request stream has been aborted",t,h))}),o.pipe(h)}else h.end(o)})};var WT_=XA.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,XA.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(XA.origin),XA.navigator&&/(msie|trident)/i.test(XA.navigator.userAgent)):()=>!0;var GT_=XA.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let o=[e+"="+encodeURIComponent(t)];rr.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),rr.isString(i)&&o.push("path="+i),rr.isString(n)&&o.push("domain="+n),a===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var HT_=e=>e instanceof YM?{...e}:e;function e3t(e,t){t=t||{};let r={};function i(s,u,f,p){return rr.isPlainObject(s)&&rr.isPlainObject(u)?rr.merge.call({caseless:p},s,u):rr.isPlainObject(u)?rr.merge({},u):rr.isArray(u)?u.slice():u}function n(s,u,f,p){if(rr.isUndefined(u)){if(!rr.isUndefined(s))return i(void 0,s,f,p)}else return i(s,u,f,p)}function a(s,u){if(!rr.isUndefined(u))return i(void 0,u)}function o(s,u){if(rr.isUndefined(u)){if(!rr.isUndefined(s))return i(void 0,s)}else return i(void 0,u)}function c(s,u,f){if(f in t)return i(s,u);if(f in e)return i(void 0,s)}let d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(s,u,f)=>n(HT_(s),HT_(u),f,!0)};return rr.forEach(Object.keys({...e,...t}),function(u){let f=d[u]||n,p=f(e[u],t[u],u);rr.isUndefined(p)&&f!==c||(r[u]=p)}),r}var Q7o=e=>{let t=e3t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:o,auth:c}=t;if(t.headers=o=YM.from(o),t.url=A_n(m_n(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),rr.isFormData(r)){if(XA.hasStandardBrowserEnv||XA.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(rr.isFunction(r.getHeaders)){let d=r.getHeaders(),s=["content-type","content-length"];Object.entries(d).forEach(([u,f])=>{s.includes(u.toLowerCase())&&o.set(u,f)})}}if(XA.hasStandardBrowserEnv&&(i&&rr.isFunction(i)&&(i=i(t)),i||i!==!1&&WT_(t.url))){let d=n&&a&&GT_.read(a);d&&o.set(n,d)}return t};var gYM=typeof XMLHttpRequest<"u",xT_=gYM&&function(e){return new Promise(function(r,i){let n=Q7o(e),a=n.data,o=YM.from(n.headers).normalize(),{responseType:c,onUploadProgress:d,onDownloadProgress:s}=n,u,f,p,_,h;function y(){_&&_(),h&&h(),n.cancelToken&&n.cancelToken.unsubscribe(u),n.signal&&n.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(n.method.toUpperCase(),n.url,!0),b.timeout=n.timeout;function v(){if(!b)return;let A=YM.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),m={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:A,config:e,request:b};FJt(function(S){r(S),y()},function(S){i(S),y()},m),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(i(new Da("Request aborted",Da.ECONNABORTED,e,b)),b=null)},b.onerror=function(O){let m=O&&O.message?O.message:"Network Error",j=new Da(m,Da.ERR_NETWORK,e,b);j.event=O||null,i(j),b=null},b.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",m=n.transitional||_kn;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),i(new Da(O,m.clarifyTimeoutError?Da.ETIMEDOUT:Da.ECONNABORTED,e,b)),b=null},a===void 0&&o.setContentType(null),"setRequestHeader"in b&&rr.forEach(o.toJSON(),function(O,m){b.setRequestHeader(m,O)}),rr.isUndefined(n.withCredentials)||(b.withCredentials=!!n.withCredentials),c&&c!=="json"&&(b.responseType=n.responseType),s&&([p,h]=gFi(s,!0),b.addEventListener("progress",p)),d&&b.upload&&([f,_]=gFi(d),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",_)),(n.cancelToken||n.signal)&&(u=A=>{b&&(i(!A||A.type?new Xbe(null,e,b):A),b.abort(),b=null)},n.cancelToken&&n.cancelToken.subscribe(u),n.signal&&(n.signal.aborted?u():n.signal.addEventListener("abort",u)));let g=JWa(n.url);if(g&&XA.protocols.indexOf(g)===-1){i(new Da("Unsupported protocol "+g+":",Da.ERR_BAD_REQUEST,e));return}b.send(a||null)})};var OYM=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,a=function(s){if(!n){n=!0,c();let u=s instanceof Error?s:this.reason;i.abort(u instanceof Da?u:new Xbe(u instanceof Error?u.message:u))}},o=t&&setTimeout(()=>{o=null,a(new Da(`timeout ${t} of ms exceeded`,Da.ETIMEDOUT))},t),c=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:d}=i;return d.unsubscribe=()=>rr.asap(c),d}},KT_=OYM;var AYM=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},mYM=async function*(e,t){for await(let r of PYM(e))yield*AYM(r,t)},PYM=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},Ywc=(e,t,r,i)=>{let n=mYM(e,t),a=0,o,c=d=>{o||(o=!0,i&&i(d))};return new ReadableStream({async pull(d){try{let{done:s,value:u}=await n.next();if(s){c(),d.close();return}let f=u.byteLength;if(r){let p=a+=f;r(p)}d.enqueue(new Uint8Array(u))}catch(s){throw c(s),s}},cancel(d){return c(d),n.return()}},{highWaterMark:2})};var JT_=64*1024,{isFunction:U7o}=rr,jYM=(({Request:e,Response:t})=>({Request:e,Response:t}))(rr.global),{ReadableStream:$T_,TextEncoder:YT_}=rr.global,XT_=(e,...t)=>{try{return!!e(...t)}catch{return!1}},wYM=e=>{e=rr.merge.call({skipUndefined:!0},jYM,e);let{fetch:t,Request:r,Response:i}=e,n=t?U7o(t):typeof fetch=="function",a=U7o(r),o=U7o(i);if(!n)return!1;let c=n&&U7o($T_),d=n&&(typeof YT_=="function"?(h=>y=>h.encode(y))(new YT_):async h=>new Uint8Array(await new r(h).arrayBuffer())),s=a&&c&&XT_(()=>{let h=!1,y=new r(XA.origin,{body:new $T_,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!y}),u=o&&c&&XT_(()=>rr.isReadableStream(new i("").body)),f={stream:u&&(h=>h.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!f[h]&&(f[h]=(y,b)=>{let v=y&&y[h];if(v)return v.call(y);throw new Da(`Response type '${h}' is not supported`,Da.ERR_NOT_SUPPORT,b)})});let p=async h=>{if(h==null)return 0;if(rr.isBlob(h))return h.size;if(rr.isSpecCompliantForm(h))return(await new r(XA.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(rr.isArrayBufferView(h)||rr.isArrayBuffer(h))return h.byteLength;if(rr.isURLSearchParams(h)&&(h=h+""),rr.isString(h))return(await d(h)).byteLength},_=async(h,y)=>{let b=rr.toFiniteNumber(h.getContentLength());return b??p(y)};return async h=>{let{url:y,method:b,data:v,signal:g,cancelToken:A,timeout:O,onDownloadProgress:m,onUploadProgress:j,responseType:S,headers:w,withCredentials:D="same-origin",fetchOptions:B}=Q7o(h),q=t||fetch;S=S?(S+"").toLowerCase():"text";let Q=KT_([g,A&&A.toAbortSignal()],O),T=null,N=Q&&Q.unsubscribe&&(()=>{Q.unsubscribe()}),F;try{if(j&&s&&b!=="get"&&b!=="head"&&(F=await _(w,v))!==0){let G=new r(y,{method:"POST",body:v,duplex:"half"}),Ee;if(rr.isFormData(v)&&(Ee=G.headers.get("content-type"))&&w.setContentType(Ee),G.body){let[ue,ge]=vkn(F,gFi(gkn(j)));v=Ywc(G.body,JT_,ue,ge)}}rr.isString(D)||(D=D?"include":"omit");let x=a&&"credentials"in r.prototype,ee={...B,signal:Q,method:b.toUpperCase(),headers:w.normalize().toJSON(),body:v,duplex:"half",credentials:x?D:void 0};T=a&&new r(y,ee);let me=await(a?q(T,B):q(y,ee)),ve=u&&(S==="stream"||S==="response");if(u&&(m||ve&&N)){let G={};["status","statusText","headers"].forEach(We=>{G[We]=me[We]});let Ee=rr.toFiniteNumber(me.headers.get("content-length")),[ue,ge]=m&&vkn(Ee,gFi(gkn(m),!0))||[];me=new i(Ywc(me.body,JT_,ue,()=>{ge&&ge(),N&&N()}),G)}S=S||"text";let H=await f[rr.findKey(f,S)||"text"](me,h);return!ve&&N&&N(),await new Promise((G,Ee)=>{FJt(G,Ee,{data:H,headers:YM.from(me.headers),status:me.status,statusText:me.statusText,config:h,request:T})})}catch(x){throw N&&N(),x&&x.name==="TypeError"&&/Load failed|fetch/i.test(x.message)?Object.assign(new Da("Network Error",Da.ERR_NETWORK,h,T),{cause:x.cause||x}):Da.from(x,x&&x.code,h,T)}}},EYM=new Map,Xwc=e=>{let t=e?e.env:{},{fetch:r,Request:i,Response:n}=t,a=[i,n,r],o=a.length,c=o,d,s,u=EYM;for(;c--;)d=a[c],s=u.get(d),s===void 0&&u.set(d,s=c?new Map:wYM(t)),u=s;return s},pE9=Xwc();var Zwc={http:VT_,xhr:xT_,fetch:{get:Xwc}};rr.forEach(Zwc,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var ZT_=e=>`- ${e}`,MYM=e=>rr.isFunction(e)||e===null||e===!1,L7o={getAdapter:(e,t)=>{e=rr.isArray(e)?e:[e];let{length:r}=e,i,n,a={};for(let o=0;o<r;o++){i=e[o];let c;if(n=i,!MYM(i)&&(n=Zwc[(c=String(i)).toLowerCase()],n===void 0))throw new Da(`Unknown adapter '${c}'`);if(n&&(rr.isFunction(n)||(n=n.get(t))))break;a[c||"#"+o]=n}if(!n){let o=Object.entries(a).map(([d,s])=>`adapter ${d} `+(s===!1?"is not supported by the environment":"is not available in the build")),c=r?o.length>1?`since :
@@ -1392,7 +1392,7 @@ ${O}${g}${m}${lna}`});function Isu({message:e,error:t,logger:r,logLevel:i=oc.Err
1392
1392
  Run ${Ct.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
1393
1393
  Run ${Ct.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),F7i(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function q4c({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!Gth(e))return;let n=t??"",a=e.filter(c=>c.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let o=a.sort((c,d)=>c.generatorName.localeCompare(d.generatorName)||c.currentVersion.localeCompare(d.currentVersion));for(let c of o)n+=`
1394
1394
  ${await bID(c.generatorName)} (${c.apiName!=null?"API: "+c.apiName+", ":""}Group: ${c.generatorGroup}) `+Ct.dim(c.currentVersion)+Ct.reset(" \u2192 ")+Ct.green(c.latestVersion);return n+=`
1395
- `,i?F7i(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function bID(e){let r=await new Wth.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 vID({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,u,f)=>{c.versions[s]==null&&(c.versions[s]={});let p=QGi(u.name,f),_=await MVt({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:f});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,d,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][d]==null&&(o.versions[c][d]={});let f=QGi(s.name,u),p=await MVt({generatorName:f,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][d][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await Hbe({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(c==null||c.groups==null)return;let d=i!=null?uN(i):void 0;for(let s of c.groups)if(!(n!=null&&s.groupName!==n))for(let u of s.generators)d!=null&&u.name!==d||await r(a.workspaceName,s.groupName,u,o)})}))}function Kth(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let d=q$(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function Rsu({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await vID({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[d,s]of Object.entries(c.versions))o.push(...Kth(s,d,t.logger));else o.push(...Kth(c.versions,void 0,t.logger))}return o}var cHa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var _na=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var T4c=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),Jth=typeof globalThis.AbortController=="function",$th=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",Yth=typeof globalThis.ReadableStream=="function",Xth=typeof globalThis.FormData=="function",zsu=["get","post","put","patch","head","delete"],gID=()=>{};gID();var Zth={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},Nsu=2147483647,kth=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,Fsu=Symbol("stop"),erh={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},trh={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var OID=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=kth,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},rrh=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},irh=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(rrh(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},nrh=(e,t,r)=>{if(!e.body)return e;let i=OID(r??e.body);return new Request(e,{duplex:"half",body:rrh(e.body,i,t)})};var hna=e=>e!==null&&typeof e=="object";var lHa=(...e)=>{for(let t of e)if((!hna(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return N4c({},...e)},R4c=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function Qsu(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:N4c(e[r]??[],t[r]??[])}var z4c=(e={},t={})=>({beforeRequest:Qsu(e,t,"beforeRequest"),beforeRetry:Qsu(e,t,"beforeRetry"),afterResponse:Qsu(e,t,"afterResponse"),beforeError:Qsu(e,t,"beforeError")}),N4c=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(hna(n)){for(let[a,o]of Object.entries(n))hna(o)&&a in t&&(o=N4c(t[a],o)),t={...t,[a]:o};hna(n.hooks)&&(i=z4c(i,n.hooks),t.hooks=i),hna(n.headers)&&(r=R4c(r,n.headers),t.headers=r)}return t};var orh=e=>zsu.includes(e)?e.toUpperCase():e,AID=["get","put","head","delete","options","trace"],mID=[408,413,429,500,502,503,504],PID=[413,429,503],arh={limit:2,methods:AID,statusCodes:mID,afterStatusCodes:PID,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},urh=(e={})=>{if(typeof e=="number")return{...arh,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...arh,...e}};async function F4c(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new _na(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function Q4c(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var srh=(e,t)=>{let r={};for(let i in t)!(i in trh)&&!(i in erh)&&!(i in e)&&(r[i]=t[i]);return r},crh=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var fHa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>Nsu)throw new RangeError(`The \`timeout\` option cannot be greater than ${Nsu}`);await Promise.resolve();let c=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let d=new cHa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Yth)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return irh(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,d=[];c&&!c.bodyUsed&&d.push(c.body?.cancel()),i.request.bodyUsed||d.push(i.request.body?.cancel()),await Promise.all(d)});for(let[c,d]of Object.entries(Zth))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:R4c(this._input.headers,r.headers),hooks:z4c({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:orh(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:urh(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Jth&&$th){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(T4c&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),crh(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(Xth&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!T4c)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=nrh(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof _na)throw t;if(t instanceof cHa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),Nsu);if(this._retryCount<1)throw r;await Q4c(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===Fsu)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=srh(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):F4c(this._originalRequest,t,this.abortController,this._options)}};var U4c=e=>{let t=(r,i)=>fHa.create(r,lHa(e,i));for(let r of zsu)t[r]=(i,n)=>fHa.create(i,lHa(e,n,{method:r}));return t.create=r=>U4c(lHa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),U4c(lHa(e,r))),t.stop=Fsu,t},jID=U4c(),lrh=jID;var qrh=ce(Crh(),1);function H4c(e){let t=(0,qrh.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Sih=ce(Eih(),1),Mih=ce(YK(),1),nLc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},aLc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function oLc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??H4c(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,Sih.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,c&&(d.authorization=`${c.type} ${c.token}`);let s;try{s=await lrh(o,{headers:d,keepalive:!0}).json()}catch(f){throw f?.response?.status===404?new nLc(e):f}if(t.allVersions)return s;let u=new aLc(e,r);if(s["dist-tags"][r]){let{time:f}=s;s=s.versions[s["dist-tags"][r]],s.time=f}else if(r){let f=!!s.versions[r];if(i&&!f)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!f){let _=Object.keys(s.versions);if(r=Mih.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function bHa(e,t){let{version:r}=await oLc(e.toLowerCase(),t);return r}async function IKi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:bHa(e.packageName,{version:t?"prerelease":"latest"})}var Dih=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Xsu=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=oc.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new Tsu(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.39.2"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ct.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new VS}failWithoutThrowing(t,r){this.didSucceed=!1,Isu({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await lkn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await Hth({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1395
+ `,i?F7i(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function bID(e){let r=await new Wth.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 vID({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,u,f)=>{c.versions[s]==null&&(c.versions[s]={});let p=QGi(u.name,f),_=await MVt({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:f});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,d,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][d]==null&&(o.versions[c][d]={});let f=QGi(s.name,u),p=await MVt({generatorName:f,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][d][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function xth({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await Hbe({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(c==null||c.groups==null)return;let d=i!=null?uN(i):void 0;for(let s of c.groups)if(!(n!=null&&s.groupName!==n))for(let u of s.generators)d!=null&&u.name!==d||await r(a.workspaceName,s.groupName,u,o)})}))}function Kth(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let d=q$(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function Rsu({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await vID({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[d,s]of Object.entries(c.versions))o.push(...Kth(s,d,t.logger));else o.push(...Kth(c.versions,void 0,t.logger))}return o}var cHa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var _na=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var T4c=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),Jth=typeof globalThis.AbortController=="function",$th=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",Yth=typeof globalThis.ReadableStream=="function",Xth=typeof globalThis.FormData=="function",zsu=["get","post","put","patch","head","delete"],gID=()=>{};gID();var Zth={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},Nsu=2147483647,kth=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,Fsu=Symbol("stop"),erh={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},trh={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var OID=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=kth,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},rrh=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},irh=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(rrh(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},nrh=(e,t,r)=>{if(!e.body)return e;let i=OID(r??e.body);return new Request(e,{duplex:"half",body:rrh(e.body,i,t)})};var hna=e=>e!==null&&typeof e=="object";var lHa=(...e)=>{for(let t of e)if((!hna(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return N4c({},...e)},R4c=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function Qsu(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:N4c(e[r]??[],t[r]??[])}var z4c=(e={},t={})=>({beforeRequest:Qsu(e,t,"beforeRequest"),beforeRetry:Qsu(e,t,"beforeRetry"),afterResponse:Qsu(e,t,"afterResponse"),beforeError:Qsu(e,t,"beforeError")}),N4c=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(hna(n)){for(let[a,o]of Object.entries(n))hna(o)&&a in t&&(o=N4c(t[a],o)),t={...t,[a]:o};hna(n.hooks)&&(i=z4c(i,n.hooks),t.hooks=i),hna(n.headers)&&(r=R4c(r,n.headers),t.headers=r)}return t};var orh=e=>zsu.includes(e)?e.toUpperCase():e,AID=["get","put","head","delete","options","trace"],mID=[408,413,429,500,502,503,504],PID=[413,429,503],arh={limit:2,methods:AID,statusCodes:mID,afterStatusCodes:PID,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},urh=(e={})=>{if(typeof e=="number")return{...arh,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...arh,...e}};async function F4c(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new _na(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function Q4c(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var srh=(e,t)=>{let r={};for(let i in t)!(i in trh)&&!(i in erh)&&!(i in e)&&(r[i]=t[i]);return r},crh=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var fHa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>Nsu)throw new RangeError(`The \`timeout\` option cannot be greater than ${Nsu}`);await Promise.resolve();let c=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let d=new cHa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Yth)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return irh(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,d=[];c&&!c.bodyUsed&&d.push(c.body?.cancel()),i.request.bodyUsed||d.push(i.request.body?.cancel()),await Promise.all(d)});for(let[c,d]of Object.entries(Zth))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:R4c(this._input.headers,r.headers),hooks:z4c({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:orh(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:urh(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Jth&&$th){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(T4c&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),crh(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(Xth&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!T4c)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=nrh(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof _na)throw t;if(t instanceof cHa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),Nsu);if(this._retryCount<1)throw r;await Q4c(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===Fsu)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=srh(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):F4c(this._originalRequest,t,this.abortController,this._options)}};var U4c=e=>{let t=(r,i)=>fHa.create(r,lHa(e,i));for(let r of zsu)t[r]=(i,n)=>fHa.create(i,lHa(e,n,{method:r}));return t.create=r=>U4c(lHa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),U4c(lHa(e,r))),t.stop=Fsu,t},jID=U4c(),lrh=jID;var qrh=ce(Crh(),1);function H4c(e){let t=(0,qrh.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var Sih=ce(Eih(),1),Mih=ce(YK(),1),nLc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},aLc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function oLc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??H4c(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,Sih.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,c&&(d.authorization=`${c.type} ${c.token}`);let s;try{s=await lrh(o,{headers:d,keepalive:!0}).json()}catch(f){throw f?.response?.status===404?new nLc(e):f}if(t.allVersions)return s;let u=new aLc(e,r);if(s["dist-tags"][r]){let{time:f}=s;s=s.versions[s["dist-tags"][r]],s.time=f}else if(r){let f=!!s.versions[r];if(i&&!f)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!f){let _=Object.keys(s.versions);if(r=Mih.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function bHa(e,t){let{version:r}=await oLc(e.toLowerCase(),t);return r}async function IKi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:bHa(e.packageName,{version:t?"prerelease":"latest"})}var Dih=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Xsu=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=oc.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new Tsu(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.39.3"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ct.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new VS}failWithoutThrowing(t,r){this.didSucceed=!1,Isu({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await lkn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await Hth({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1396
1396
  `)||(r+=`
1397
1397
  `),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=s2s(t.map(i=>i.type==="docs"?"docs":i.workspaceName??"api"),i=>i.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new iHa(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let i=this.addTaskWithInit(t).start(),n;try{n=await r(i)}catch(a){throw a.message.includes("globalThis")?(i.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),i.failWithoutThrowing()):i.failWithoutThrowing(void 0,a),new VS}finally{i.finish()}return n}async instrumentPostHogEvent(t){this.isLocal||(await lkn()).sendEvent(t)}logger=EHt((t,...r)=>this.log(t,...r));stderr=EHt((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=Bih(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?Bih(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=Dih[this.numTasks++%Dih.length],o=Ct.hex(a)(n);return{...this.constructTaskInit(),logPrefix:o}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===yw.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let i=t.filter(n=>uGi.indexOf(n.level)>=uGi.indexOf(this.logLevel));this.ttyAwareLogger.log(i,{includeDebugInfo:this.logLevel===oc.Debug,stderr:r})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await IKi({cliEnvironment:this.environment,includePreReleases:t}),i=q$(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await Rsu({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await A4c({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:Ct.yellow("?"),style:{answer:n=>Ct.cyan(n),message:n=>Ct.bold(n),highlight:n=>Ct.cyan(n)}}})}catch(i){throw i?.name==="ExitPromptError"?(this.logger.info(`
1398
1398
  Cancelled by user.`),new VS):i}}async getInput(t){return await b4c({message:t.message,default:t.default})}};function Bih(e){return`[${e}]:`}var I3t=class{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;constructor({generatorsConfiguration:t,workspaceName:r,cliVersion:i,absoluteFilePath:n,changelog:a}){this.generatorsConfiguration=t,this.workspaceName=r,this.cliVersion=i,this.absoluteFilePath=n,this.changelog=a}};function Zsu(e,t,r,i){if(typeof r!="function")throw new Error("method for before hook must be a function");return i||(i={}),Array.isArray(t)?t.reverse().reduce((n,a)=>Zsu.bind(null,e,a,n,i),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((n,a)=>a.hook.bind(null,n,i),r)():r(i))}function Iih(e,t,r,i){let n=i;e.registry[r]||(e.registry[r]=[]),t==="before"&&(i=(a,o)=>Promise.resolve().then(n.bind(null,o)).then(a.bind(null,o))),t==="after"&&(i=(a,o)=>{let c;return Promise.resolve().then(a.bind(null,o)).then(d=>(c=d,n(c,o))).then(()=>c)}),t==="error"&&(i=(a,o)=>Promise.resolve().then(a.bind(null,o)).catch(c=>n(c,o))),e.registry[r].push({hook:i,orig:n})}function Cih(e,t,r){if(!e.registry[t])return;let i=e.registry[t].map(n=>n.orig).indexOf(r);i!==-1&&e.registry[t].splice(i,1)}var qih=Function.bind,Tih=qih.bind(qih);function Rih(e,t,r){let i=Tih(Cih,null).apply(null,r?[t,r]:[t]);e.api={remove:i},e.remove=i,["before","error","after","wrap"].forEach(n=>{let a=r?[t,n,r]:[t,n];e[n]=e.api[n]=Tih(Iih,null).apply(null,a)})}function BCD(){let e=Symbol("Singular"),t={registry:{}},r=Zsu.bind(null,t,e);return Rih(r,t,e),r}function ICD(){let e={registry:{}},t=Zsu.bind(null,e);return Rih(t,e),t}var zih={Singular:BCD,Collection:ICD};var CCD="0.0.0-development",qCD=`octokit-endpoint.js/${CCD} ${dN()}`,TCD={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":qCD},mediaType:{format:""}};function RCD(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function zCD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function Qih(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(i=>{zCD(t[i])?i in e?r[i]=Qih(e[i],t[i]):Object.assign(r,{[i]:t[i]}):Object.assign(r,{[i]:t[i]})}),r}function Nih(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function sLc(e,t,r){if(typeof t=="string"){let[n,a]=t.split(" ");r=Object.assign(a?{method:n,url:a}:{url:n},r)}else r=Object.assign({},t);r.headers=RCD(r.headers),Nih(r),Nih(r.headers);let i=Qih(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(i.mediaType.previews=e.mediaType.previews.filter(n=>!i.mediaType.previews.includes(n)).concat(i.mediaType.previews)),i.mediaType.previews=(i.mediaType.previews||[]).map(n=>n.replace(/-preview/,""))),i}function NCD(e,t){let r=/\?/.test(e)?"&":"?",i=Object.keys(t);return i.length===0?e:e+r+i.map(n=>n==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${n}=${encodeURIComponent(t[n])}`).join("&")}var FCD=/\{[^{}}]+\}/g;function QCD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function UCD(e){let t=e.match(FCD);return t?t.map(QCD).reduce((r,i)=>r.concat(i),[]):[]}function Fih(e,t){let r={__proto__:null};for(let i of Object.keys(e))t.indexOf(i)===-1&&(r[i]=e[i]);return r}function Uih(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function Pna(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function vHa(e,t,r){return t=e==="+"||e==="#"?Uih(t):Pna(t),r?Pna(r)+"="+t:t}function mna(e){return e!=null}function uLc(e){return e===";"||e==="&"||e==="?"}function LCD(e,t,r,i){var n=e[r],a=[];if(mna(n)&&n!=="")if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")n=n.toString(),i&&i!=="*"&&(n=n.substring(0,parseInt(i,10))),a.push(vHa(t,n,uLc(t)?r:""));else if(i==="*")Array.isArray(n)?n.filter(mna).forEach(function(o){a.push(vHa(t,o,uLc(t)?r:""))}):Object.keys(n).forEach(function(o){mna(n[o])&&a.push(vHa(t,n[o],o))});else{let o=[];Array.isArray(n)?n.filter(mna).forEach(function(c){o.push(vHa(t,c))}):Object.keys(n).forEach(function(c){mna(n[c])&&(o.push(Pna(c)),o.push(vHa(t,n[c].toString())))}),uLc(t)?a.push(Pna(r)+"="+o.join(",")):o.length!==0&&a.push(o.join(","))}else t===";"?mna(n)&&a.push(Pna(r)):n===""&&(t==="&"||t==="?")?a.push(Pna(r)+"="):n===""&&a.push("");return a}function VCD(e){return{expand:WCD.bind(null,e)}}function WCD(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(i,n,a){if(n){let c="",d=[];if(r.indexOf(n.charAt(0))!==-1&&(c=n.charAt(0),n=n.substr(1)),n.split(/,/g).forEach(function(s){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(s);d.push(LCD(t,c,u[1],u[2]||u[3]))}),c&&c!=="+"){var o=",";return c==="?"?o="&":c!=="#"&&(o=c),(d.length!==0?c:"")+d.join(o)}else return d.join(",")}else return Uih(a)}),e==="/"?e:e.replace(/\/$/,"")}function Lih(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),i=Object.assign({},e.headers),n,a=Fih(e,["method","baseUrl","url","headers","request","mediaType"]),o=UCD(r);r=VCD(r).expand(a),/^http/.test(r)||(r=e.baseUrl+r);let c=Object.keys(e).filter(u=>o.includes(u)).concat("baseUrl"),d=Fih(a,c);if(!/application\/octet-stream/i.test(i.accept)&&(e.mediaType.format&&(i.accept=i.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=i.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];i.accept=u.concat(e.mediaType.previews).map(f=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${f}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=NCD(r,d):"data"in d?n=d.data:Object.keys(d).length&&(n=d),!i["content-type"]&&typeof n<"u"&&(i["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof n>"u"&&(n=""),Object.assign({method:t,url:r,headers:i},typeof n<"u"?{body:n}:null,e.request?{request:e.request}:null)}function GCD(e,t,r){return Lih(sLc(e,t,r))}function Vih(e,t){let r=sLc(e,t),i=GCD.bind(null,r);return Object.assign(i,{DEFAULTS:r,defaults:Vih.bind(null,r),merge:sLc.bind(null,r),parse:Lih})}var Wih=Vih(null,TCD);var $ih=ce(Kih(),1);var C3t=class extends Error{name;status;request;response;constructor(t,r,i){super(t),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0),"response"in i&&(this.response=i.response);let n=Object.assign({},i.request);i.request.headers.authorization&&(n.headers=Object.assign({},i.request.headers,{authorization:i.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),n.url=n.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=n}};var HCD="10.0.6",xCD={headers:{"user-agent":`octokit-request.js/${HCD} ${dN()}`}};function KCD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function Jih(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,i=e.request?.parseSuccessResponseBody!==!1,n=KCD(e.body)||Array.isArray(e.body)?JSON.stringify(e.body):e.body,a=Object.fromEntries(Object.entries(e.headers).map(([f,p])=>[f,String(p)])),o;try{o=await t(e.url,{method:e.method,body:n,redirect:e.request?.redirect,headers:a,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(f){let p="Unknown Error";if(f instanceof Error){if(f.name==="AbortError")throw f.status=500,f;p=f.message,f.name==="TypeError"&&"cause"in f&&(f.cause instanceof Error?p=f.cause.message:typeof f.cause=="string"&&(p=f.cause))}let _=new C3t(p,500,{request:e});throw _.cause=f,_}let c=o.status,d=o.url,s={};for(let[f,p]of o.headers)s[f]=p;let u={url:d,status:c,headers:s,data:""};if("deprecation"in s){let f=s.link&&s.link.match(/<([^<>]+)>; rel="deprecation"/),p=f&&f.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${s.sunset}${p?`. See ${p}`:""}`)}if(c===204||c===205)return u;if(e.method==="HEAD"){if(c<400)return u;throw new C3t(o.statusText,c,{response:u,request:e})}if(c===304)throw u.data=await cLc(o),new C3t("Not modified",c,{response:u,request:e});if(c>=400)throw u.data=await cLc(o),new C3t($CD(u.data),c,{response:u,request:e});return u.data=i?await cLc(o):o.body,u}async function cLc(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(()=>"");let r=(0,$ih.safeParse)(t);if(JCD(r)){let i="";try{return i=await e.text(),JSON.parse(i)}catch{return i}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"?e.text().catch(()=>""):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function JCD(e){return e.type==="application/json"||e.type==="application/scim+json"}function $CD(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if("message"in e){let t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(r=>JSON.stringify(r)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function lLc(e,t){let r=e.defaults(t);return Object.assign(function(n,a){let o=r.merge(n,a);if(!o.request||!o.request.hook)return Jih(r.parse(o));let c=(d,s)=>Jih(r.parse(r.merge(d,s)));return Object.assign(c,{endpoint:r,defaults:lLc.bind(null,r)}),o.request.hook(c,o)},{endpoint:r,defaults:lLc.bind(null,r)})}var gA=lLc(Wih,xCD);var YCD="0.0.0-development";function XCD(e){return`Request failed due to following response errors:
@@ -1440,7 +1440,7 @@ plugins:
1440
1440
  }
1441
1441
  `,Fjh=`#!/usr/bin/env bash
1442
1442
  fern protoc-gen-fern "$@"
1443
- `;var Ivu=class{context;constructor({context:t}){this.context=t}async generate({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,local:i,deps:n}){return i?this.generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,deps:n}):this.generateRemote()}async generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,deps:i}){let n=await this.setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r});return this.doGenerateLocal({cwd:n,deps:i})}async setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r}){let i=Sr.of((await EHc.default.dir()).path);return r!==void 0?await this.exportProtobufFilesForTarget({protobufGeneratorConfigPath:i,absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r}):await this.copyProtobufFilesFromRoot({protobufGeneratorConfigPath:i,absoluteFilepathToProtobufRoot:t}),await this.setupRemainingProtobufConfig({protobufGeneratorConfigPath:i}),i}async exportProtobufFilesForTarget({protobufGeneratorConfigPath:t,absoluteFilepathToProtobufRoot:r,absoluteFilepathToProtobufTarget:i}){let n=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await n(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}for(let a of["v1","v2"]){this.context.logger.info(`Using buf export with version: ${a}`);let o=await EHc.default.file({postfix:".yaml"}),c=a==="v1"?Tjh:Rjh;await(0,kG.writeFile)(o.path,c,"utf8");try{let d=await XJi(this.context.logger,"buf",["export","--path",i,"--config",Sr.of(o.path),"--output",t],{cwd:r,stdio:"pipe"});d.exitCode!==0&&this.context.failAndThrow(d.stderr),await o.cleanup();return}catch(d){if(await o.cleanup(),a==="v2")throw d}}}async copyProtobufFilesFromRoot({protobufGeneratorConfigPath:t,absoluteFilepathToProtobufRoot:r}){await(0,kG.cp)(r,t,{recursive:!0,filter:i=>{let n=Qjh.default.basename(i);return n!=="buf.yaml"&&!(n.startsWith("buf.gen.")&&n.endsWith(".yaml"))}})}async setupRemainingProtobufConfig({protobufGeneratorConfigPath:t}){await(0,kG.writeFile)(It(t,Ye.of("package.json")),Njh),await XJi(void 0,"npm",["install"],{cwd:t,stdout:"ignore",stderr:"pipe"}),await XJi(void 0,"npm",["install","-g","fern-api"],{cwd:t,stdout:"ignore",stderr:"pipe"}),await(0,kG.writeFile)(It(t,Ye.of(Ijh)),zjh);let r=It(t,Ye.of(qjh));await(0,kG.writeFile)(r,Fjh),await(0,kG.chmod)(r,493)}async doGenerateLocal({cwd:t,deps:r}){let i=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await i(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}let n=It(t,Ye.of("buf.yaml")),a=Bvu(r),o=ZJi("buf",{cwd:t,logger:void 0,stdout:"ignore",stderr:"pipe"}),c=It(t,Ye.of("buf.lock"));try{if(await(0,kG.writeFile)(n,a),r.length>0){let s=!1;this.context.logger.debug(`Checking for buf.lock at: ${c}`);try{await(0,kG.access)(c),s=!0,this.context.logger.debug("Found pre-cached buf.lock file")}catch(f){s=!1,this.context.logger.debug(`No buf.lock found: ${f}`)}let u=await o(["dep","update"]);if(u.exitCode!==0){let f=u.stderr.includes("server hosted at that remote is unavailable")||u.stderr.includes("failed to connect")||u.stderr.includes("network")||u.stderr.includes("ENOTFOUND")||u.stderr.includes("ETIMEDOUT");this.context.logger.debug(`buf dep update failed. isNetworkError=${f}, bufLockExists=${s}, stderr=${u.stderr.substring(0,200)}`),f&&s?this.context.logger.debug("buf dep update failed due to network error, but buf.lock exists. Continuing in air-gapped mode."):this.context.failAndThrow(u.stderr)}}let d=await o(["generate"]);d.exitCode!==0&&this.context.failAndThrow(d.stderr),await(0,kG.unlink)(n)}catch(d){throw await(0,kG.unlink)(n),d}return It(t,Ye.of(Cjh))}async generateRemote(){this.context.failAndThrow("Remote Protobuf generation is unimplemented.")}};var gW=require("fs/promises"),Ujh=ce(r8(),1);var poB="buf.gen.yaml",Ljh="output",_oB=`${Ljh}/openapi.yaml`,Cvu=class{context;constructor({context:t}){this.context=t}async generate({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,local:n,deps:a,existingBufLockContents:o}){return n?this.generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,deps:a,existingBufLockContents:o}):this.generateRemote()}async generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,deps:n,existingBufLockContents:a}){let o=await this.setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,relativeFilepathToProtobufRoot:i}),c=M_(t,r);return this.doGenerateLocal({cwd:o,target:c,deps:n,existingBufLockContents:a})}async setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,relativeFilepathToProtobufRoot:r}){let i=Sr.of((await Ujh.default.dir()).path);return await(0,gW.cp)(t,i,{recursive:!0}),await(0,gW.writeFile)(It(i,Ye.of(poB)),hoB({relativeFilepathToProtobufRoot:r})),i}async doGenerateLocal({cwd:t,target:r,deps:i,existingBufLockContents:n}){let a=n,o=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await o(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}try{await o(["protoc-gen-openapi"])}catch{this.context.failAndThrow("Missing required dependency; please install 'protoc-gen-openapi' to continue (e.g. 'brew install go && go install github.com/fern-api/protoc-gen-openapi/cmd/protoc-gen-openapi@latest').")}let c=It(t,Ye.of("buf.yaml")),d=It(t,Ye.of("buf.lock")),s=!1,u=Bvu(i),f=ZJi("buf",{cwd:t,logger:this.context.logger,stdout:"ignore",stderr:"pipe"});try{if(await(0,gW.writeFile)(c,u),n!=null)await(0,gW.writeFile)(d,n),s=!0;else if(i.length>0){let _=!1;this.context.logger.debug(`Checking for buf.lock at: ${d}`);try{await(0,gW.access)(d),_=!0,a=await(0,gW.readFile)(d,"utf-8"),this.context.logger.debug(`Found pre-cached buf.lock file (${a.length} bytes)`)}catch(y){_=!1,this.context.logger.debug(`No buf.lock found: ${y}`)}let h=await f(["dep","update"]);if(h.exitCode!==0){let y=h.stderr.includes("server hosted at that remote is unavailable")||h.stderr.includes("failed to connect")||h.stderr.includes("network")||h.stderr.includes("ENOTFOUND")||h.stderr.includes("ETIMEDOUT");this.context.logger.debug(`buf dep update failed. isNetworkError=${y}, bufLockExists=${_}, stderr=${h.stderr.substring(0,200)}`),y&&_?this.context.logger.debug("buf dep update failed due to network error, but buf.lock exists. Continuing in air-gapped mode."):this.context.failAndThrow(h.stderr)}else try{a=await(0,gW.readFile)(d,"utf-8")}catch{a=void 0}}let p=await f(["generate",r.toString()]);p.exitCode!==0&&this.context.failAndThrow(p.stderr),s&&await(0,gW.unlink)(d),await(0,gW.unlink)(c)}catch(p){throw s&&await(0,gW.unlink)(d),await(0,gW.unlink)(c),p}return{absoluteFilepath:It(t,Ye.of(_oB)),bufLockContents:a}}async generateRemote(){this.context.failAndThrow("Remote Protobuf generation is unimplemented.")}};function hoB({relativeFilepathToProtobufRoot:e}){return`
1443
+ `;var Ivu=class{context;constructor({context:t}){this.context=t}async generate({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,local:i,deps:n}){return i?this.generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,deps:n}):this.generateRemote()}async generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,deps:i}){let n=await this.setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r});return this.doGenerateLocal({cwd:n,deps:i})}async setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r}){let i=Sr.of((await EHc.default.dir()).path);return r!==void 0?await this.exportProtobufFilesForTarget({protobufGeneratorConfigPath:i,absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r}):await this.copyProtobufFilesFromRoot({protobufGeneratorConfigPath:i,absoluteFilepathToProtobufRoot:t}),await this.setupRemainingProtobufConfig({protobufGeneratorConfigPath:i}),i}async exportProtobufFilesForTarget({protobufGeneratorConfigPath:t,absoluteFilepathToProtobufRoot:r,absoluteFilepathToProtobufTarget:i}){let n=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await n(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}for(let a of["v1","v2"]){this.context.logger.info(`Using buf export with version: ${a}`);let o=await EHc.default.file({postfix:".yaml"}),c=a==="v1"?Tjh:Rjh;await(0,kG.writeFile)(o.path,c,"utf8");try{let d=await XJi(this.context.logger,"buf",["export","--path",i,"--config",Sr.of(o.path),"--output",t],{cwd:r,stdio:"pipe"});d.exitCode!==0&&this.context.failAndThrow(d.stderr),await o.cleanup();return}catch(d){if(await o.cleanup(),a==="v2")throw d}}}async copyProtobufFilesFromRoot({protobufGeneratorConfigPath:t,absoluteFilepathToProtobufRoot:r}){await(0,kG.cp)(r,t,{recursive:!0,filter:i=>{let n=Qjh.default.basename(i);return n!=="buf.yaml"&&!(n.startsWith("buf.gen.")&&n.endsWith(".yaml"))}})}async setupRemainingProtobufConfig({protobufGeneratorConfigPath:t}){await(0,kG.writeFile)(It(t,Ye.of("package.json")),Njh),await XJi(void 0,"npm",["install"],{cwd:t,stdout:"ignore",stderr:"pipe"}),await XJi(void 0,"npm",["install","-g","fern-api"],{cwd:t,stdout:"ignore",stderr:"pipe"}),await(0,kG.writeFile)(It(t,Ye.of(Ijh)),zjh);let r=It(t,Ye.of(qjh));await(0,kG.writeFile)(r,Fjh),await(0,kG.chmod)(r,493)}async doGenerateLocal({cwd:t,deps:r}){let i=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await i(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}let n=It(t,Ye.of("buf.yaml")),a=Bvu(r),o=ZJi("buf",{cwd:t,logger:void 0,stdout:"ignore",stderr:"pipe"}),c=It(t,Ye.of("buf.lock"));try{if(await(0,kG.writeFile)(n,a),r.length>0){let s=!1;this.context.logger.debug(`Checking for buf.lock at: ${c}`);try{await(0,kG.access)(c),s=!0,this.context.logger.debug("Found pre-cached buf.lock file")}catch(u){s=!1,this.context.logger.debug(`No buf.lock found: ${u}`)}try{await o(["dep","update"])}catch(u){let f=u instanceof Error?u.message:String(u),p=f.includes("server hosted at that remote is unavailable")||f.includes("failed to connect")||f.includes("network")||f.includes("ENOTFOUND")||f.includes("ETIMEDOUT");this.context.logger.debug(`buf dep update failed. isNetworkError=${p}, bufLockExists=${s}, error=${f.substring(0,200)}`),p&&s?this.context.logger.debug("buf dep update failed due to network error, but buf.lock exists. Continuing in air-gapped mode."):this.context.failAndThrow(f)}}let d=await o(["generate"]);d.exitCode!==0&&this.context.failAndThrow(d.stderr),await(0,kG.unlink)(n)}catch(d){throw await(0,kG.unlink)(n),d}return It(t,Ye.of(Cjh))}async generateRemote(){this.context.failAndThrow("Remote Protobuf generation is unimplemented.")}};var gW=require("fs/promises"),Ujh=ce(r8(),1);var poB="buf.gen.yaml",Ljh="output",_oB=`${Ljh}/openapi.yaml`,Cvu=class{context;constructor({context:t}){this.context=t}async generate({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,local:n,deps:a,existingBufLockContents:o}){return n?this.generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,deps:a,existingBufLockContents:o}):this.generateRemote()}async generateLocal({absoluteFilepathToProtobufRoot:t,absoluteFilepathToProtobufTarget:r,relativeFilepathToProtobufRoot:i,deps:n,existingBufLockContents:a}){let o=await this.setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,relativeFilepathToProtobufRoot:i}),c=M_(t,r);return this.doGenerateLocal({cwd:o,target:c,deps:n,existingBufLockContents:a})}async setupProtobufGeneratorConfig({absoluteFilepathToProtobufRoot:t,relativeFilepathToProtobufRoot:r}){let i=Sr.of((await Ujh.default.dir()).path);return await(0,gW.cp)(t,i,{recursive:!0}),await(0,gW.writeFile)(It(i,Ye.of(poB)),hoB({relativeFilepathToProtobufRoot:r})),i}async doGenerateLocal({cwd:t,target:r,deps:i,existingBufLockContents:n}){let a=n,o=ZJi("which",{cwd:t,logger:void 0,doNotPipeOutput:!0});try{await o(["buf"])}catch{this.context.failAndThrow("Missing required dependency; please install 'buf' to continue (e.g. 'brew install buf').")}try{await o(["protoc-gen-openapi"])}catch{this.context.failAndThrow("Missing required dependency; please install 'protoc-gen-openapi' to continue (e.g. 'brew install go && go install github.com/fern-api/protoc-gen-openapi/cmd/protoc-gen-openapi@latest').")}let c=It(t,Ye.of("buf.yaml")),d=It(t,Ye.of("buf.lock")),s=!1,u=Bvu(i),f=ZJi("buf",{cwd:t,logger:this.context.logger,stdout:"ignore",stderr:"pipe"});try{if(await(0,gW.writeFile)(c,u),n!=null)await(0,gW.writeFile)(d,n),s=!0;else if(i.length>0){let _=!1;this.context.logger.debug(`Checking for buf.lock at: ${d}`);try{await(0,gW.access)(d),_=!0,a=await(0,gW.readFile)(d,"utf-8"),this.context.logger.debug(`Found pre-cached buf.lock file (${a.length} bytes)`)}catch(h){_=!1,this.context.logger.debug(`No buf.lock found: ${h}`)}try{await f(["dep","update"]);try{a=await(0,gW.readFile)(d,"utf-8")}catch{a=void 0}}catch(h){let y=h instanceof Error?h.message:String(h),b=y.includes("server hosted at that remote is unavailable")||y.includes("failed to connect")||y.includes("network")||y.includes("ENOTFOUND")||y.includes("ETIMEDOUT");this.context.logger.debug(`buf dep update failed. isNetworkError=${b}, bufLockExists=${_}, error=${y.substring(0,200)}`),b&&_?this.context.logger.debug("buf dep update failed due to network error, but buf.lock exists. Continuing in air-gapped mode."):this.context.failAndThrow(y)}}let p=await f(["generate",r.toString()]);p.exitCode!==0&&this.context.failAndThrow(p.stderr),s&&await(0,gW.unlink)(d),await(0,gW.unlink)(c)}catch(p){throw s&&await(0,gW.unlink)(d),await(0,gW.unlink)(c),p}return{absoluteFilepath:It(t,Ye.of(_oB)),bufLockContents:a}}async generateRemote(){this.context.failAndThrow("Remote Protobuf generation is unimplemented.")}};function hoB({relativeFilepathToProtobufRoot:e}){return`
1444
1444
  version: v1
1445
1445
  plugins:
1446
1446
  - plugin: openapi
@@ -1803,7 +1803,7 @@ A valid API configuration was not found at the path: fern/apis/${t.apiName}.
1803
1803
  Learn more about project structure:
1804
1804
  https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`:`Failed to load API Definition referenced in docs.
1805
1805
  Learn more about project structure:
1806
- https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`;throw new Error(r)}async toRootNode(){let t=Rt.V1.SlugGenerator.init(Rt.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),i=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:i,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(n=>Rt.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return wln(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 i=Rt.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??QE(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(i),title:t.title,slug:n.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:i}){let n=this.#e.get("unversioned"),a=t!=null?this.toLandingPageNode(t,i):void 0,o=r.type==="tabbed"?await this.convertTabbedNavigation(n,r.items,i):await this.toSidebarRootNode(n,r.items,i);return{type:"unversioned",id:n,landingPage:a,child:o}}async toVersionedNode(t,r){let i=this.#e.get("versioned"),n=t.versions[0];if(n?.hidden===!0)throw new Error(`The default version "${n.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.`);return{id:i,type:"versioned",children:await Promise.all(t.versions.map((a,o)=>this.toVersionNode(a,r,o===0)))}}async toProductGroupNode({productGroup:t,landingPageConfig:r,parentSlug:i}){let n=this.#e.get("productgroup"),a=r!=null?this.toLandingPageNode(r,i):void 0;return{id:n,type:"productgroup",landingPage:a,children:await Promise.all(t.products.map(o=>this.toProductNode(o,i)))}}async toProductNode(t,r){if(t.type==="internal"){let i=r.setProductSlug(t.slug??QE(t.product)),n;switch(t.navigation.type){case"tabbed":n={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.convertTabbedNavigation(this.#e.get(t.product),t.navigation.items,i)};break;case"untabbed":n={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.toSidebarRootNode(this.#e.get(t.product),t.navigation.items,i)};break;case"versioned":n=await this.toVersionedNode(t.navigation,i);break;default:vt(t.navigation)}return{type:"product",id:this.#e.get(t.product),productId:Rt.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",slug:i.get(),child:n,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:Rt.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",href:oG.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,i){let n=this.#e.get(t.version),a=r.setVersionSlug(t.slug??QE(t.version)),o=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(n,t.navigation.items,a):await this.toSidebarRootNode(n,t.navigation.items,a);return{type:"version",id:n,versionId:Rt.VersionId(t.version),title:t.version,slug:a.get(),child:o,default:i,availability:t.availability!=null?xfB(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,a):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,i){let n=this.#e.get(`${t}/root`),a=await Promise.all(r.map(c=>this.toNavigationChild({prefix:n,item:c,parentSlug:i}))),o=[];return a.forEach(c=>{if(c.type==="apiReference"){o.push(c);return}if(c.type==="section"&&!c.collapsed){o.push(c);return}let d=o.length>0?o[o.length-1]:void 0,s;d?.type==="sidebarGroup"?s=d:(s={id:this.#e.get(`${n}/group`),type:"sidebarGroup",children:[]},o.push(s)),s.children.push(c)}),{type:"sidebarRoot",id:n,children:o}}async toSidebarRootNodeWithVariants(t,r,i){let n=this.#e.get(`${t}/root`);return{type:"sidebarRoot",id:n,children:[{type:"varianted",id:n,children:await Promise.all(r.map(a=>this.toVariantNode(a,n,i)))}]}}async toVariantNode(t,r,i){let n=this.#e.get(`${r}/variant/${t.slug??QE(t.title)}`),a=i.apply({urlSlug:t.slug??QE(t.title),skipUrlSlug:t.skipUrlSlug}),o=await Promise.all(t.layout.map(c=>this.toVariantChild(c,n,a)));return{type:"variant",id:n,variantId:Rt.V1.VariantId(t.title),subtitle:t.subtitle??"",default:t.default??!1,image:void 0,children:o,title:t.title,slug:a.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,i){return wln(t)._visit({page:async n=>this.toPageNode({item:n,parentSlug:i}),apiSection:async n=>this.toApiSectionNode({item:n,parentSlug:i}),section:async n=>this.toSectionNode({prefix:r,item:n,parentSlug:i}),link:async n=>this.toLinkNode(n),changelog:async n=>this.toChangelogNode(n,i)})}async toNavigationChild({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){return wln(r)._visit({page:async o=>this.toPageNode({item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),apiSection:async o=>this.toApiSectionNode({item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),section:async o=>this.toSectionNode({prefix:t,item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),link:async o=>this.toLinkNode(o),changelog:async o=>this.toChangelogNode(o,i,n)})}async toApiSectionNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=hMh(t.snippetsConfiguration),o,c=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0}),d=this.parsedDocsConfig.experimental?.openapiParserV3,s=d==null||d;if(s)try{o=await this.getOpenApiWorkspaceForApiSection(t).getIntermediateRepresentation({context:this.taskContext,audiences:t.audiences,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1})}catch{}let u;if(t.tagDescriptionPages&&s)try{let b=await this.getOpenApiWorkspaceForApiSection(t).getOpenAPIIr({context:this.taskContext});b.tags.tagsById&&(u=Object.fromEntries(Object.entries(b.tags.tagsById).filter(([v,g])=>g.description&&g.description.trim().length>0).map(([v,g])=>[v,{id:String(g.id),description:g.description}])))}catch(y){this.taskContext.logger.warn("Failed to extract OpenAPI tags for tag description pages",String(y))}o==null&&(o=rS({workspace:c,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 tS(this.taskContext,c)})),this.docsWorkspace.config.settings?.substituteEnvVars&&(o=BT(o,{onError:y=>this.taskContext.failAndThrow(`Error substituting environment variables in API spec: ${y}`)},{substituteAsEmpty:!1}));let f=await this.registerApi({ir:o,snippetsConfig:a,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName,workspace:c}),p=IKa({ir:o,apiDefinitionId:f,playgroundConfig:{oauth:t.playground?.oauth},context:this.taskContext}),_=new Vgu(t,p,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.#e,this.collectedFileIds,c,i,n??t.availability,u),h=_.getTagDescriptionContent();for(let[y,b]of h.entries()){let v=y.split("/").pop()||y,g=Ye.of(v),A=b;this.docsWorkspace.config.settings?.substituteEnvVars&&(A=BT(b,{onError:O=>this.taskContext.logger.error(`Error in tag description environment variable substitution: ${O}`)},{substituteAsEmpty:!1})),this.rawMarkdownFiles[g]=A,this.parsedDocsConfig.pages[g]=A}return _.get()}async toChangelogNode(t,r,i){return new gvn(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:i||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:Rt.V1.Url(t.url),icon:this.resolveIconFileId(t.icon),target:t.target}}async toPageNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=Rt.PageId(this.toRelativeFilepath(t.absolutePath)),o=r.apply({urlSlug:t.slug??QE(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(a),type:"page",slug:o.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:i||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:a,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:t.availability??n}}async toSectionNode({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){let o=this.toRelativeFilepath(r.overviewAbsolutePath),c=o?Rt.PageId(o):void 0,d=this.#e.get(c??`${t}/section`),s=i.apply({urlSlug:r.slug??QE(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),u=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,f=n||r.hidden;return{id:d,type:"section",overviewPageId:c,slug:s.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:f,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(p=>this.toNavigationChild({prefix:d,item:p,parentSlug:s,hideChildren:f,parentAvailability:r.availability??a}))),authed:void 0,pointsTo:void 0,noindex:u,featureFlags:r.featureFlags,availability:r.availability??a}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return wln(r.child)._visit({link:({href:n,target:a})=>this.toTabLinkNode(r,n,a),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i),variants:({variants:n})=>this.toTabNodeWithVariants(t,r,n,i)})}async toTabChangelogNode(t,r,i){return new gvn(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,i){return{type:"link",id:this.#e.get(r),title:t.title,url:Rt.V1.Url(r),target:i,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??QE(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(a,i,o),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??QE(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(a,i,o),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):oG.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(ds),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:oG.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return wln(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:oG.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function HfB(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${aH(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function xfB(e){switch(e){case"beta":return Rt.V1.NavigationV1Availability.Beta;case"deprecated":return Rt.V1.NavigationV1Availability.Deprecated;case"ga":return Rt.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Rt.V1.NavigationV1Availability.Stable;default:vt(e)}}async function aL(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof eS?t:null))).filter(ds)}async function cxc(e,t,r){if(e instanceof IEe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof eS))return;let i=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return nH({ir:i,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Ys={};Zt(Ys,{AlgoliaSearchIndex:()=>RMh,ApiDefinitionId:()=>rDh,ApiId:()=>oDh,Availability:()=>ADh,DocsConfigId:()=>uDh,EndpointId:()=>cDh,EndpointPathLiteral:()=>gDh,EnvironmentId:()=>sDh,FileId:()=>_Dh,HttpMethod:()=>ODh,IndexSegmentId:()=>zMh,JqString:()=>yDh,OrgId:()=>nDh,PageId:()=>pDh,PayloadLocation:()=>JDh,PropertyKey:()=>bDh,PullRequestState:()=>WDh,RoleId:()=>vDh,TokenId:()=>aDh,TypeId:()=>dDh,Url:()=>hDh,VersionId:()=>iDh,WebSocketId:()=>lDh,WebhookId:()=>fDh,algolia:()=>lxc,api:()=>Oxc,commons:()=>Axc,diff:()=>mDh,docs:()=>Bxc,generators:()=>Cxc,git:()=>qxc,navigation:()=>zxc,sdks:()=>Fxc,snippets:()=>xDh,snippetsFactory:()=>KDh,templates:()=>Qxc,tokens:()=>$Dh});var lxc={};Zt(lxc,{AlgoliaSearchIndex:()=>RMh,IndexSegmentId:()=>zMh});function RMh(e){return e}function zMh(e){return e}var Oxc={};Zt(Oxc,{latest:()=>pxc,v1:()=>gxc});var pxc={};Zt(pxc,{AuthSchemeId:()=>NMh,WebhookHttpMethod:()=>LMh,auth:()=>fxc,commons:()=>FMh,endpoint:()=>QMh,type_:()=>UMh,webhook:()=>dxc,websocket:()=>VMh});var fxc={};Zt(fxc,{AuthSchemeId:()=>NMh});function NMh(e){return e}var FMh={};var QMh={};var UMh={};var dxc={};Zt(dxc,{WebhookHttpMethod:()=>LMh});var LMh={Get:"GET",Post:"POST"};var VMh={};var gxc={};Zt(gxc,{SubpackageId:()=>ZMh,WebSocketMessageId:()=>kMh,WebSocketMessageOrigin:()=>eDh,WebhookHttpMethod:()=>tDh,commons:()=>vxc,db:()=>_xc,read:()=>yxc,register:()=>bxc});var _xc={};Zt(_xc,{endpoint:()=>WMh});var WMh={};var yxc={};Zt(yxc,{SupportedLanguage:()=>GMh,endpoint:()=>hxc,type_:()=>HMh,webhook:()=>xMh,websocket:()=>KMh});var hxc={};Zt(hxc,{SupportedLanguage:()=>GMh});var GMh={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var HMh={};var xMh={};var KMh={};var bxc={};Zt(bxc,{SourceId:()=>KfB,endpoint:()=>JMh,type_:()=>$Mh,webhook:()=>YMh,websocket:()=>XMh});var JMh={};var $Mh={};var YMh={};var XMh={};function KfB(e){return e}var vxc={};Zt(vxc,{SubpackageId:()=>ZMh,WebSocketMessageId:()=>kMh,WebSocketMessageOrigin:()=>eDh,WebhookHttpMethod:()=>tDh});function ZMh(e){return e}function kMh(e){return e}var eDh={Client:"client",Server:"server"};var tDh={Get:"GET",Post:"POST"};var Axc={};Zt(Axc,{ApiDefinitionId:()=>rDh,ApiId:()=>oDh,Availability:()=>ADh,DocsConfigId:()=>uDh,EndpointId:()=>cDh,EndpointPathLiteral:()=>gDh,EnvironmentId:()=>sDh,FileId:()=>_Dh,HttpMethod:()=>ODh,JqString:()=>yDh,OrgId:()=>nDh,PageId:()=>pDh,PropertyKey:()=>bDh,RoleId:()=>vDh,TokenId:()=>aDh,TypeId:()=>dDh,Url:()=>hDh,VersionId:()=>iDh,WebSocketId:()=>lDh,WebhookId:()=>fDh});function rDh(e){return e}function iDh(e){return e}function nDh(e){return e}function aDh(e){return e}function oDh(e){return e}function uDh(e){return e}function sDh(e){return e}function cDh(e){return e}function lDh(e){return e}function fDh(e){return e}function dDh(e){return e}function pDh(e){return e}function _Dh(e){return e}function hDh(e){return e}function yDh(e){return e}function bDh(e){return e}function vDh(e){return e}function gDh(e){return e}var ODh={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var ADh={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var mDh={};var Bxc={};Zt(Bxc,{latest:()=>jxc,v1:()=>Mxc,v2:()=>Dxc});var jxc={};Zt(jxc,{Layout:()=>jDh,MdxEngine:()=>JfB,TwitterCardSetting:()=>wDh,commons:()=>PDh,frontmatter:()=>mxc,seo:()=>Pxc});var JfB={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var PDh={};var mxc={};Zt(mxc,{Layout:()=>jDh});var jDh={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var Pxc={};Zt(Pxc,{TwitterCardSetting:()=>wDh});var wDh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Mxc={};Zt(Mxc,{commons:()=>Sxc,db:()=>EDh,read:()=>SDh,write:()=>wxc});var EDh={};var SDh={};var wxc={};Zt(wxc,{DocsRegistrationId:()=>YfB,FilePath:()=>$fB});function $fB(e){return e}function YfB(e){return e}var Sxc={};Zt(Sxc,{ContentAlignment:()=>IDh,FontDisplay:()=>zDh,FontStyle:()=>RDh,HeaderPosition:()=>CDh,JsScriptStrategy:()=>TDh,ProgrammingLanguage:()=>MDh,SearchbarPlacement:()=>DDh,TabsPlacement:()=>BDh,TwitterCardSetting:()=>qDh,commons:()=>Exc});var Exc={};Zt(Exc,{ContentAlignment:()=>IDh,FontDisplay:()=>zDh,FontStyle:()=>RDh,HeaderPosition:()=>CDh,JsScriptStrategy:()=>TDh,ProgrammingLanguage:()=>MDh,SearchbarPlacement:()=>DDh,TabsPlacement:()=>BDh,TwitterCardSetting:()=>qDh});var MDh={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 DDh={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var BDh={Header:"HEADER",Sidebar:"SIDEBAR"};var IDh={Center:"CENTER",Left:"LEFT"};var CDh={Fixed:"FIXED",Absolute:"ABSOLUTE"};var qDh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var TDh={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var RDh={Normal:"normal",Italic:"italic"};var zDh={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Dxc={};Zt(Dxc,{read:()=>NDh,write:()=>FDh});var NDh={};var FDh={};var Cxc={};Zt(Cxc,{ChangelogEntryType:()=>UDh,GeneratorId:()=>XfB,GeneratorLanguage:()=>ZfB,ReleaseType:()=>LDh,cli:()=>QDh,commons:()=>Ixc,versions:()=>VDh});var QDh={};var Ixc={};Zt(Ixc,{ChangelogEntryType:()=>UDh,ReleaseType:()=>LDh});var UDh={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var LDh={Ga:"GA",Rc:"RC"};var VDh={};function XfB(e){return e}var ZfB={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var qxc={};Zt(qxc,{PullRequestState:()=>WDh});var WDh={Open:"open",Closed:"closed",Merged:"merged"};var zxc={};Zt(zxc,{latest:()=>Txc,v1:()=>Rxc});var Txc={};Zt(Txc,{NodeId:()=>tdB,ProductId:()=>rdB,Slug:()=>kfB,TabId:()=>edB});function kfB(e){return e}function edB(e){return e}function tdB(e){return e}function rdB(e){return e}var Rxc={};Zt(Rxc,{NavigationV1Availability:()=>udB,NodeId:()=>adB,ProductId:()=>odB,Slug:()=>idB,TabId:()=>ndB});function idB(e){return e}function ndB(e){return e}function adB(e){return e}function odB(e){return e}var udB={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Fxc={};Zt(Fxc,{Language:()=>GDh,VersionBump:()=>HDh,versions:()=>Nxc});var Nxc={};Zt(Nxc,{Language:()=>GDh,VersionBump:()=>HDh});var GDh={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var HDh={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var xDh={};var KDh={};var Qxc={};Zt(Qxc,{PayloadLocation:()=>JDh});var JDh={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var $Dh={};var Xgu=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function No(e){return e!=null}var XDh=ce(VFa(),1);var YDh=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function BYt(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,XDh.default)(e,{special:YDh}).replace(/V\s(\d)/g,"V$1")}function ZDh({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(i=>{let n=[];i.namespace?.forEach(a=>{let o=[...n,a],c=Ys.api.v1.SubpackageId(o.join("."));r[c]={id:c,name:a,displayName:BYt(a)},n.push(a)})}),r}var Zgu=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 kDh(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var po=class extends Zgu{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){if(super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,n!=null){let a=Array.isArray(this.pathId)?this.pathId:[this.pathId];a.every((o,c)=>o===this.accessPath[this.accessPath.length-a.length+c])||this.accessPath.push(...a)}r.logger.debug(`Processing ${kDh(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})}}},aC=class extends po{},k$=class extends aC{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var eBh="x-fern-base-path",tBh="x-fern-availability",kgu="x-fern-sdk-group-name",rBh="x-fern-global-headers",iBh="x-fern-sdk-method-name";var nBh="x-fern-webhook",aBh="x-fern-access-token-locator",oBh="x-fern-basic",uBh="x-fern-username-variable-name",sBh="x-fern-password-variable-name",cBh="x-fern-bearer",lBh="x-fern-token-variable-name",fBh="x-fern-header",dBh="x-fern-header-variable-name",pBh="x-fern-server-name",_Bh="x-fern-examples";var eOu=class extends po{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[pBh]}convert(){if(this.serverName!=null)return this.serverName}};var tOu=class extends po{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,i])=>t.replace(`{${r}}`,i.default),this.input.url)??this.input.url,this.serverName=new eOu({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:Ys.EnvironmentId(t),baseUrl:this.url}}};function l$i(e,t,r,i){let n=e??[],a=new Set(n.map(c=>c.url)),o=(t??[]).filter(c=>!a.has(c.url)).map((c,d)=>new tOu({input:c,context:r,accessPath:i,pathId:["servers",`${d}`]}));return[...n,...o]}function zv(e){return typeof e=="object"&&No(e)&&"$ref"in e&&typeof e.$ref=="string"}function oL(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(zv(n)&&(n=oL(n,t,r)),n)}function rOu(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return zv(r)?oL(r,t,void 0):r}var aIh=ce(GS());var iOu=class extends po{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[oBh];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var nOu=class extends po{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[sBh]}convert(){return this.passwordVariableName}};var aOu=class extends po{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[uBh]}convert(){return this.usernameVariableName}};var oOu=class extends po{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[cBh];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var uOu=class extends po{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[lBh]}convert(){return this.tokenVariableName}};function hBh(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var yBh="x-bearer-format",bBh="x-code-samples",vBh="x-codeSamples";var sOu=class extends po{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[yBh]}convert(){return this.bearerFormat}};var cOu=class extends po{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[fBh];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var lOu=class extends po{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[dBh]}convert(){return this.headerVariableName}};function gBh(e){return e.type==="apiKey"}var Bua=class extends po{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){gBh(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new cOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new lOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new sOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function fOu(e){return e}function dOu(e){return e==="__proto__"}function pOu(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Iua(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function CKa(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(CKa).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function _Ou(e){if(Array.isArray(e))return e.map(Iua);if(typeof e=="symbol")return[e];e=CKa(e);let t=[],r=e.length;if(r===0)return t;let i=0,n="",a="",o=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<r;){let c=e[i];a?c==="\\"&&i+1<r?(i++,n+=e[i]):c===a?a="":n+=c:o?c==='"'||c==="'"?a=c:c==="]"?(o=!1,t.push(n),n=""):n+=c:c==="["?(o=!0,n&&(t.push(n),n="")):c==="."?n&&(t.push(n),n=""):n+=c,i++}return n&&t.push(n),t}function qKa(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(dOu(t))return r;let i=e[t];return i===void 0?pOu(t)?qKa(e,_Ou(t),r):r:i}case"number":case"symbol":{typeof t=="number"&&(t=Iua(t));let i=e[t];return i===void 0?r:i}default:{if(Array.isArray(t))return sdB(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),dOu(t))return r;let i=e[t];return i===void 0?r:i}}}function sdB(e,t,r){if(t.length===0)return r;let i=e;for(let n=0;n<t.length;n++){if(i==null||dOu(t[n]))return r;i=i[t[n]]}return i===void 0?r:i}function OBh(e){return function(t){return qKa(t,e)}}function ABh(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function hOu(e){return e==null||typeof e!="object"&&typeof e!="function"}function Uxc(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Vxc(e,t,r){return typeof r!="function"?Vxc(e,t,()=>{}):Lxc(e,t,function i(n,a,o,c,d,s){let u=r(n,a,o,c,d,s);return u!==void 0?!!u:Lxc(n,a,i,s)},new Map)}function Lxc(e,t,r,i){if(t===e)return!0;switch(typeof t){case"object":return cdB(e,t,r,i);case"function":return Object.keys(t).length>0?Lxc(e,{...t},r,i):Uxc(e,t);default:return ABh(e)?typeof t=="string"?t==="":!0:Uxc(e,t)}}function cdB(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return mBh(e,t,r,i);if(t instanceof Map)return ldB(e,t,r,i);if(t instanceof Set)return fdB(e,t,r,i);let n=Object.keys(t);if(e==null)return n.length===0;if(n.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let a=0;a<n.length;a++){let o=n[a];if(!hOu(e)&&!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!r(e[o],t[o],o,e,t,i))return!1}return!0}finally{i?.delete(t)}}function ldB(e,t,r,i){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[n,a]of t.entries()){let o=e.get(n);if(r(o,a,n,e,t,i)===!1)return!1}return!0}function mBh(e,t,r,i){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let n=new Set;for(let a=0;a<t.length;a++){let o=t[a],c=!1;for(let d=0;d<e.length;d++){if(n.has(d))continue;let s=e[d],u=!1;if(r(s,o,a,e,t,i)&&(u=!0),u){n.add(d),c=!0;break}}if(!c)return!1}return!0}function fdB(e,t,r,i){return t.size===0?!0:e instanceof Set?mBh([...e],[...t],r,i):!1}function yOu(e,t){return Vxc(e,t,()=>{})}function PBh(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function bOu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var jBh="[object RegExp]",vOu="[object String]",gOu="[object Number]",OOu="[object Boolean]",AOu="[object Arguments]",wBh="[object Symbol]",EBh="[object Date]",SBh="[object Map]",MBh="[object Set]",DBh="[object Array]";var BBh="[object ArrayBuffer]",IBh="[object Object]";var CBh="[object DataView]",qBh="[object Uint8Array]",TBh="[object Uint8ClampedArray]",RBh="[object Uint16Array]",zBh="[object Uint32Array]";var NBh="[object Int8Array]",FBh="[object Int16Array]",QBh="[object Int32Array]";var UBh="[object Float32Array]",LBh="[object Float64Array]";function VBh(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function WBh(e,t){return f$i(e,void 0,e,new Map,t)}function f$i(e,t,r,i=new Map,n=void 0){let a=n?.(e,t,r,i);if(a!==void 0)return a;if(hOu(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let o=new Array(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=f$i(e[c],c,r,i,n);return Object.hasOwn(e,"index")&&(o.index=e.index),Object.hasOwn(e,"input")&&(o.input=e.input),o}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let o=new RegExp(e.source,e.flags);return o.lastIndex=e.lastIndex,o}if(e instanceof Map){let o=new Map;i.set(e,o);for(let[c,d]of e)o.set(c,f$i(d,c,r,i,n));return o}if(e instanceof Set){let o=new Set;i.set(e,o);for(let c of e)o.add(f$i(c,void 0,r,i,n));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(VBh(e)){let o=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=f$i(e[c],c,r,i,n);return o}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let o=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof File<"u"&&e instanceof File){let o=new File([e],e.name,{type:e.type});return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof Blob<"u"&&e instanceof Blob){let o=new Blob([e],{type:e.type});return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof Error){let o=new e.constructor;return i.set(e,o),o.message=e.message,o.name=e.name,o.stack=e.stack,o.cause=e.cause,s8t(o,e,r,i,n),o}if(e instanceof Boolean){let o=new Boolean(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof Number){let o=new Number(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof String){let o=new String(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof e=="object"&&ddB(e)){let o=Object.create(Object.getPrototypeOf(e));return i.set(e,o),s8t(o,e,r,i,n),o}return e}function s8t(e,t,r=e,i,n){let a=[...Object.keys(t),...PBh(t)];for(let o=0;o<a.length;o++){let c=a[o],d=Object.getOwnPropertyDescriptor(e,c);(d==null||d.writable)&&(e[c]=f$i(t[c],c,r,i,n))}}function ddB(e){switch(bOu(e)){case AOu:case DBh:case BBh:case CBh:case OOu:case EBh:case UBh:case LBh:case NBh:case FBh:case QBh:case SBh:case gOu:case IBh:case jBh:case MBh:case vOu:case wBh:case qBh:case TBh:case RBh:case zBh:return!0;default:return!1}}function GBh(e){return f$i(e,void 0,e,new Map,void 0)}function HBh(e){return e=GBh(e),t=>yOu(t,e)}function xBh(e,t){return WBh(e,(r,i,n,a)=>{let o=t?.(r,i,n,a);if(o!==void 0)return o;if(typeof e=="object")switch(Object.prototype.toString.call(e)){case gOu:case vOu:case OOu:{let c=new e.constructor(e?.valueOf());return s8t(c,e),c}case AOu:{let c={};return s8t(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}})}function KBh(e){return xBh(e)}var pdB=/^(?:0|[1-9]\d*)$/;function JBh(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 pdB.test(e)}}function $Bh(e){return e!==null&&typeof e=="object"&&bOu(e)==="[object Arguments]"}function YBh(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&pOu(t)&&e?.[t]==null?r=_Ou(t):r=[t],r.length===0)return!1;let i=e;for(let n=0;n<r.length;n++){let a=r[n];if((i==null||!Object.hasOwn(i,a))&&!((Array.isArray(i)||$Bh(i))&&JBh(a)&&a<i.length))return!1;i=i[a]}return!0}function XBh(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Iua(e);break}}return t=KBh(t),function(r){let i=qKa(r,e);return i===void 0?YBh(r,e):t===void 0?i===void 0:yOu(i,t)}}function ZBh(e){if(e==null)return fOu;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?XBh(e[0],e[1]):HBh(e);case"string":case"symbol":case"number":return OBh(e)}}function kBh(e,t){let r={},i=Object.keys(e);for(let n=0;n<i.length;n++){let a=i[n],o=e[a];r[a]=t(o,a,e)}return r}function mOu(e,t=fOu){return e==null?{}:kBh(e,ZBh(t))}function eIh(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}var _dB=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function tIh(e){return Array.from(e.match(_dB)??[])}function rIh(e){let t=tIh(e);if(t.length===0)return"";let[r,...i]=t;return`${r.toLowerCase()}${i.map(n=>eIh(n)).join("")}`}function iIh(e){return typeof e!="string"&&(e=CKa(e)),e.replace(/['\u2019]/g,"")}function c8t(e){return rIh(iIh(e))}function zP(e){if(e!=null)return Array.isArray(e)?e:[e]}function POu({namespace:e,path:t,method:r,sdkMethodName:i,operationId:n,displayName:a,isWebhook:o}){if(t==null)return;let c=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(i==null&&n==null&&a==null&&c==null))return`${hdB(o)}${ydB(e)}.${bdB(i,n,a,c)}`}function hdB(e){return e?"webhook_":"endpoint_"}function ydB(e){return e!=null?zP(e)?.map(t=>c8t(t)).join("/"):""}function bdB(e,t,r,i){return e||t||c8t(r??"")||c8t(i??"")}function nIh(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jOu=class extends po{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[aBh],this.accessTokenLocator!=null&&(nIh(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 wOu=class extends po{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 Bua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jOu({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=POu({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:Ys.EndpointId(r),accessTokenLocator:Ys.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var Cua=class extends po{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 iOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new aOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new nOu({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 oOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new uOu({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":{hBh(this.input)?(this.authScheme="header",this.headerAuthNode=new Bua({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 wOu({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 aIh.UnreachableCaseError(this.authScheme);return}}};var qua=class extends po{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=rOu(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new Cua({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(No))}};var EOu=class extends po{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[eBh],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 oIh(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function uIh(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function Tua(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>zP(n.convert())?.map(o=>((t!=null&&!t.includes(i)||t==null&&!oIh(n))&&(o=uIh(o,o.type==="enum"?o.default:void 0)),{key:Ys.PropertyKey(i),valueShape:o,description:n.description,availability:n.availability?.convert()})).filter(No)).filter(No).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]])}function SOu(e,t){return zv(e)?oL(e,t,void 0):e}function d$i(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function sIh(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function cIh(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var lIh=ce(GS());var Wxc=["decimal","decimal128","double-int","double","float","sf-decimal"],Gxc=["int16","int32","int64","int8","sf-integer","uint8"],Hxc=["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"],xxc=["beta","pre-release","in-development","generally-available","deprecated"];function oC(e,t){return zv(e)?oL(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var VEe=class extends po{availability;constructor(t){super(t),this.safeParse()}parse(){if(oC(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[tBh];r!=null&&(xxc.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${xxc.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Ys.Availability.Beta;case"in-development":return Ys.Availability.InDevelopment;case"generally-available":return Ys.Availability.GenerallyAvailable;case"deprecated":return Ys.Availability.Deprecated;case void 0:return;default:new lIh.UnreachableCaseError(this.availability);return}}};var DOu=ce(GS());function fIh(e){return typeof e=="object"&&e!=null&&"language"in e}function dIh(e){return typeof e=="object"&&e!=null&&"sdk"in e}function pIh(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function _Ih(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function MOu(e){return typeof e=="object"&&e!=null&&"event"in e}function Kxc(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(MOu)}function p$i(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function hIh(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var BOu=class extends po{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[_Bh]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let o=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return p$i(o)?[n,{type:"filenameWithData",filename:o.filename,data:Ys.FileId(o.data)}]:o!=null?[n,{type:"filename",value:o}]:void 0;case"files":{if(Array.isArray(o)){if(o.every(c=>p$i(c)))return[n,{type:"filenamesWithData",value:o.map(c=>({filename:c.filename,data:Ys.FileId(c.data)}))}];if(o.every(c=>typeof c=="string"))return[n,{type:"filenames",value:o}]}return}case"property":return[n,{type:"json",value:o}];case void 0:return;default:new DOu.UnreachableCaseError(a.multipartType);return}}).filter(No))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=hIh(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":a=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new DOu.UnreachableCaseError(n.contentType);break}let o;switch(i.contentType){case"application/json":{pIh(r.response)&&(o={type:"json",value:r.response.body});break}case"text/event-stream":{Kxc(r.response)&&(o={type:"sse",value:r.response.stream.map(f=>({event:f.event,data:f.data}))});break}case"application/octet-stream":!Kxc(r.response)&&_Ih(r.response)&&(o={type:"stream",value:r.response.stream});break;case void 0:break;default:new DOu.UnreachableCaseError(i.contentType);break}let c={};r["code-samples"]?.forEach(f=>{fIh(f)?f.language!=null&&(c[f.language]??=[],c[f.language]?.push({name:f.name,language:f.language,install:f.install,code:f.code,generated:!1,description:f.docs})):dIh(f)&&f.sdk!=null&&(c[f.sdk]??=[],c[f.sdk]?.push({name:f.name,language:f.sdk,install:void 0,code:f.code,generated:!1,description:f.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([f,p])=>[Ys.PropertyKey(f),p])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([f,p])=>[Ys.PropertyKey(f),p])),u=Object.fromEntries(Object.entries(r.headers??{}).map(([f,p])=>[Ys.PropertyKey(f),p]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(u).length>0?u:void 0,requestBody:a,responseBody:o,snippets:c}}))}};var TKa=class extends po{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[kgu]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Ys.api.v1.SubpackageId(c8t(r)))}};var IOu=class extends po{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[iBh]}convert(){return this.sdkMethodName}};var COu=class extends po{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[nBh]}convert(){return this.isWebhook}};var qOu=class extends po{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[bBh]??[],...this.input[vBh]??[]],this.codeSamples.forEach(t=>{[...Object.values(Ys.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 Ovn=ce(GS());function Jxc(e,t){return zv(e)?oL(e,t,void 0):e}function yIh(e,t){return e.replace(/{(\w+)}/g,(r,i)=>t[i]!=null&&typeof t[i]=="string"||typeof t[i]=="number"||typeof t[i]=="boolean"?`${t[i]}`:r)}var sF="",IYt=class extends po{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(p$i(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>p$i(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new Ovn.UnreachableCaseError(i.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=Jxc(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=Jxc(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 Ovn.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(MOu)){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 Ovn.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return p$i(n)?[r,{type:"filenameWithData",filename:n.filename,data:Ys.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>p$i(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:Ys.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new Ovn.UnreachableCaseError(i.multipartType);return}}).filter(No))};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 Ovn.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 Ovn.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([o,c])=>[o,c.example({includeOptionals:!1,override:o})]));i=Object.keys(i).length>0?i:void 0;let n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(No));n=Object.keys(n).length>0?n:void 0;let a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(No));if(a=Object.keys(a).length>0?a:void 0,!(this.path==null&&t==null&&r==null&&a==null&&n==null&&i==null))return{path:yIh(this.path,i??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?BYt(this.name):this.summary!=null?BYt(this.summary):void 0,description:this.convertDescription(),pathParameters:i,queryParameters:n,headers:a,requestBody:t,responseBody:r,snippets:void 0}}};function bIh(e,t){return zv(e)?oL(e,t,void 0):e}var BIh=ce(GS());var vIh="#/components/schemas/";function Rua(e){if(e.$ref.startsWith(vIh))return e.$ref.replace(vIh,"")}function mUi(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function _$i(e){return typeof e.type=="string"&&e.type==="array"}function gIh(e){return e.type==="boolean"}function OIh(e){return e.type==="integer"}function h$i(e){return!Array.isArray(e.type)&&!_$i(e)}function AIh(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||h$i(t)||_$i(t))}function mIh(e){return"nullable"in e&&typeof e.nullable=="boolean"}function PIh(e){return e.type==="null"}function jIh(e){return e.type==="number"}function $xc(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function wIh(e){return e.type==="string"}var TOu=class extends k${item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new x0({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 zP(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 ROu=class extends aC{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 VEe({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 zOu=class extends k${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 x0({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(No)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>zP(n.convert())?.map(o=>({displayName:n.name,shape:o,description:n.description,availability:n.availability?.convert()}))).filter(No).reduce((n,a)=>n.flatMap(o=>a.length>0?a.map(c=>[...o,c]):[[...o]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(mUi).filter(No):i}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function NOu(e){return e!=null&&e.length>0?e:[void 0]}var zua=class extends k${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 x0({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 x0({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(zv(t))return Rua(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([i,n])=>[i,new x0({input:n,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",i],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(No))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return Tua(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}}}]:zP(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(No)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>NOu(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:n}:{type:"object",extends:this.extends.map(a=>Ys.TypeId(a)),properties:i,extraProperties:n}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(i=>{let n=oC(i,this.context.document);n!=null&&(r={...r,...Object.fromEntries(Object.entries(n.properties??{}).map(([a,o])=>[a,new x0({input:o,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((i,n)=>{let a=r?.[n];return i[n]=a?.example({includeOptionals:t,override:n}),i},{}):Object.entries(r).reduce((i,[n,a])=>(i[n]=a?.example({includeOptionals:t,override:n}),i),{}))}};var FOu=class extends k${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=>oC(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>oC(t,this.context.document)?.type!=="null"?new x0({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(No);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=oC({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new x0({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let n=this.undiscriminatedMapping?.flatMap(a=>a.convert()).filter(No);return this.isNullable&&n!=null?n.map(mUi).filter(No):n}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Ys.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([n,a])=>zP(a.convert())?.map(c=>{if(!(c==null||c.type!=="object"))return{discriminantValue:n,displayName:a.name??BYt(n),availability:a.availability?.convert(),description:a.description,...c}}).filter(No)).filter(No)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(n=>zP(n.convert())?.map(o=>{if(o==null)return;t+=1;let c=o.type==="object"?BYt(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:n.name??(o.type==="alias"&&o.value.type==="id"?BYt(o.value.id):c),shape:o,description:n.description,availability:n.availability?.convert()}}).filter(No)).filter(No)}:void 0,i=this.isNullable?mUi(r):r;return i!=null?[i]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var QOu=class extends aC{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 y$i=class extends aC{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(zv(r)){let n=oC(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(No),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 EIh=ce(GS());function vdB(e){return Gxc.includes(e)}var UOu=class extends aC{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&&(vdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Gxc.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 EIh.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 LOu=class extends aC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return mUi({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var SIh=ce(GS());function gdB(e){return Wxc.includes(e)}var VOu=class extends aC{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&&(gdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Wxc.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 SIh.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 MIh=ce(GS());function OdB(e){return Hxc.includes(e)}var WOu=class extends aC{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 MIh.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&&(OdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Hxc.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new y$i({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 DIh=ce(GS());var GOu=class extends aC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,DIh.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var Avn=class extends k${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=Rua(this.input);let t=oC(this.input,this.context.document);t?.enum!=null&&h$i(t)&&(this.maybeEnumConverterNode=new y$i({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:Ys.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=oC(this.input,this.context.document);if(r!=null)return new x0({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var x0=class e extends k${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 VEe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),h$i(this.input)&&mIh(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),zv(this.input)){let t=Rua(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 Avn({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 ROu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(AIh(this.input))this.typeShapeNode=new zOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(h$i(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new FOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if($xc(this.input)&&this.input.allOf!=null)this.typeShapeNode=new zua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(h$i(this.input)&&this.input.enum!=null)this.typeShapeNode=new y$i({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":$xc(this.input)&&(this.typeShapeNode=new zua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":_$i(this.input)&&(this.typeShapeNode=new TOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":gIh(this.input)&&(this.typeShapeNode=new QOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":OIh(this.input)&&(this.typeShapeNode=new UOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":jIh(this.input)&&(this.typeShapeNode=new VOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":wIh(this.input)&&(this.typeShapeNode=new WOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":PIh(this.input)&&(this.typeShapeNode=new LOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new BIh.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 zua({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 GOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!zv(this.input)&&(!_$i(this.input)&&this.input==null||_$i(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=zP(t)?.map(i=>this.nullable?mUi(i):i).filter(No);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function b$i(e){if(e!=null)return Tua(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(No))}var CYt=class extends aC{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;zv(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 VEe({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new x0({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let i=bIh(this.input,this.context.document);this.inputExample=i?.example??Object.values(i?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function IIh(e,t){return zv(e)?oL(e,t,void 0):e}var Yxc=ce(GS());function HOu(e){let{uniqueId:t,type:r,contextTypes:i,description:n,availability:a}=e;i[Ys.TypeId(t)]={name:t,shape:r,description:n,availability:a}}var CIh=ce(b2s(),1),Nua=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,o){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=o}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=CIh.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 AdB(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var xOu=class extends po{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 x0({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),AdB(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],i)=>{let n;if(zv(r)?n=rOu(r.$ref,this.context.document):n=r,n!=null)return[t,new Cua({input:n,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${i}`]})]}).filter(No)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[Ys.api.latest.AuthSchemeId(t),i]}).filter(No)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=zP(r.convert());return n==null?[t,void 0]:[Ys.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>No(r))):void 0}}};var KOu=class extends x0{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=oC(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${zv(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=oC(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 JOu=class extends po{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let i=oC(this.input.schema,this.context.document);this.availability=new VEe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=zv(this.input.schema)?new Avn({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let n=Nua.parse(t);n?.containsJSON()?(this.contentType="json",this.schema=this.schema??new x0({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):n?.isOctetStream()?(this.contentType="bytes",this.isOptional=i?.required==null):n?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=i?.required,this.fields=Object.fromEntries(Object.entries(i?.properties??{}).map(([a,o])=>{if(o!=null)return[a,new KOu({input:o,context:this.context,accessPath:this.accessPath,pathId:`schema.${a}`,seenSchemas:new Set,nullable:void 0,schemaName:a})]}).filter(No))):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?{[sF]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[sF]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:zP(t)?.map(i=>{let n=i.type;switch(n){case"object":case"alias":return i;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let a=c8t([this.method,this.path,this.contentType,"request"].join("_"));return HOu({uniqueId:a,type:i,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Ys.TypeId(a),default:i.type==="enum"&&i.default!=null?{type:"enum",value:i.default}:void 0}}}case void 0:return;default:new Yxc.UnreachableCaseError(n);return}}).filter(No)}convert(){if(this.schema instanceof Avn)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:Ys.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:Ys.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=zP(n.convert()),o=n.multipartType;return a?.map(c=>({type:o,key:Ys.PropertyKey(i),contentType:n.contentType,exploded:void 0,valueShape:c,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Yxc.UnreachableCaseError(n.multipartType),[]}}).filter(No).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var $Ou=class extends po{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let i=IIh(this.input,this.context.document);if(i==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(i.content).forEach(([n,a])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[n]=new JOu({input:a,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:n,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>zP(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(No)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>zP(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(No)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var qIh={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 TIh(e,t){if(zv(e)){let r=oL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var YOu=ce(GS());var RIh="application/json";var zIh="application/octet-stream";function NIh(e,t){return e===t||t===sF||e===sF}var RKa=class extends po{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,i,n,a,o,c,d){super(t),this.streamingFormat=i,this.path=n,this.method=a,this.statusCode=o,this.requests=c,this.shapes=d,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,i){for(let n of t)for(let[a,o]of Object.entries(n?.examples??{}))for(let[c,d]of Object.entries(r))for(let s of d)NIh(c,a)&&(i.add(c),this.examples?.push(new IYt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,d$i(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let i=0;for(let n of t){let a=0;for(let[o,c]of r){if(a===i){let[d,s,u]=n??[void 0,void 0,void 0];this.examples?.push(...c.map(f=>new IYt({input:{requestExample:u,responseExample:f},context:this.context,accessPath:this.accessPath,pathId:s!=null&&s!==""?["examples",s]:"examples"},this.path,this.statusCode,d$i(s,o),{requestBody:d,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}a++}i++}if(t.length>r.length)for(let n of t.slice(r.length)){let[a,o]=r[r.length-1]??[void 0,void 0],[c,d,s]=n??[void 0,void 0,void 0];this.examples?.push(...(o??[void 0]).map(u=>new IYt({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:d!=null&&d!==""?["examples",d]:"examples"},this.path,this.statusCode,d$i(d,a),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[n,a,o]=t[t.length-1]??[void 0,void 0,void 0];for(let[c,d]of r.slice(t.length))this.examples?.push(...d.map(s=>new IYt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,d$i(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,i,n){let a=t[sF];if(a!=null)for(let o of a)this.examples?.push(new IYt({input:{requestExample:n,responseExample:o},context:this.context,accessPath:this.accessPath,pathId:i!=null&&i!==""?["examples",i]:"examples"},this.path,this.statusCode,d$i(i,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let i of t)if(Object.keys(i.examples??{}).length===0)this.pushResponseExample(r,i,void 0,void 0);else for(let[n,a]of Object.entries(i.examples??{}))this.pushResponseExample(r,i,n,a)}parse(t){if(t==="empty")this.empty=!0;else{let c=Nua.parse(t);if(c?.isJSON()||c?.isEventStream())this.contentType=RIh,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 x0({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(c?.isOctetStream())this.contentType=zIh,this.contentSubtype=oC(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 x0({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=mOu(this.input.examples,c=>[c])),this.input.example!=null&&Object.keys(r).length===0&&(r[sF]??=[],r[sF]=[{value:this.input.example}]);let i=oC(this.input.schema,this.context.document);if(i!=null&&(i.examples!=null&&Object.keys(r).length===0&&(r=mOu(i.examples,c=>[c])),i.example!=null&&Object.keys(r).length===0&&(r[sF]??=[],r[sF]?.push({value:i.example}))),Object.keys(r).length===0){let c=this.schema?.example({includeOptionals:!0,override:void 0});r[sF]??=[],r[sF]?.push(c!=null?{value:c}:void 0)}this.examples??=[];let n=new Set;this.matchRequestResponseExamplesByName(this.requests,r,n);let a=[];for(let c of this.requests)a.push(...Object.entries(c.examples??{}).filter(([d])=>!n.has(d)&&d!==sF).map(([d,s])=>[c,d,s]));let o=Object.entries(r).filter(([c,d])=>!n.has(c)&&No(d)&&c!==sF);Object.keys(r).every(c=>c===sF)||this.matchExamplesByIndex(a,o),!n.has(sF)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return zP(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new YOu.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return zP(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let n=c8t([this.method,this.path,this.statusCode,"response"].join("_"));return HOu({uniqueId:n,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Ys.TypeId(n),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new YOu.UnreachableCaseError(i);return}}).filter(No)}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 YOu.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var zKa=class extends po{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a,o){super(t),this.path=r,this.method=i,this.statusCode=n,this.requests=a,this.shapes=o,this.safeParse()}parse(t){this.description=this.input.description;let r=TIh(this.input,this.context.document);if(r==null){this.context.errors.error({message:zv(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new CYt({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:i})}),r.content==null?(this.responses??=[],this.responses.push(new RKa({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new RKa({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(No)}};var XOu=class extends po{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n,a){super(t),this.path=r,this.method=i,this.requests=n,this.shapes=a,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new zKa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new zKa({input:i,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return NOu(b$i(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(o=>(o.examples??[]).map(c=>c.convert()).filter(No))})))}).filter(No)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=zP(n?.convert());if(n!=null)return a?.map(o=>({statusCode:parseInt(t),shape:o,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??qIh[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(c=>{let d=c.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(No)})).filter(No)})).filter(No)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var v$i=class extends po{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,i){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new IYt({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,d$i(i,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new VEe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=l$i(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new COu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(zv(i)){let a=SOu(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new qOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new $Ou({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 XOu({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let i=this.requests?.requestBodiesByContentType;i==null||Object.keys(i).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(i).forEach(n=>{if(Object.keys(n.examples??{}).length===0){let a=n.schema?.example({includeOptionals:!1,override:void 0});a!=null&&this.pushEmptyResponseExample({value:a},n,void 0)}else Object.entries(n.examples??{}).forEach(([a,o])=>{this.pushEmptyResponseExample(o,n,a)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new qua({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new TKa({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(i=>i.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((i,n)=>new TKa({input:{[kgu]:i},context:this.context,accessPath:this.accessPath,pathId:["tags",`${n}`]})));let r=new IOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(i=>POu({namespace:zP(i?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(No),this.xFernExamplesNode=new BOu({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(No)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:Ys.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=this.emptyResponseExamples?.map(u=>u.convert()).filter(No),n=cIh(this.xFernExamplesNode?.convert(),[...i??[],...t?.flatMap(u=>u.examples)??[]])?.map(u=>({...u,snippets:sIh(u.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((u,f)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Ys.WebhookId(u),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[f]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(p=>p.value.toString())??[],queryParameters:b$i(this.queryParameters)?.flat(),headers:b$i(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(No)}}).filter(No);let a=this.servers?.map(u=>u.convert()).filter(No),o=this.convertPathToPathParts();if(o==null)return;let c,d=this.auth?.convert();d!=null&&(c=Object.keys(d));let s=t?.flatMap(u=>u.headers).filter(No);return this.endpointIds.map((u,f)=>({id:Ys.EndpointId(u),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[f]?.convert()?.map(p=>Ys.api.v1.SubpackageId(p)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:o,auth:c?.map(p=>Ys.api.latest.AuthSchemeId(p)),defaultEnvironment:a?.[0]?.id,environments:a,pathParameters:b$i(this.pathParameters)?.flat(),queryParameters:b$i(this.queryParameters)?.flat(),requestHeaders:b$i(this.requestHeaders)?.flat(),responseHeaders:s!=null&&s.length>0?s:void 0,requests:this.requests?.convert(),responses:t?.map(p=>p.response),errors:r,examples:n,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var Fua=class extends po{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i,isWebhook:n}){this.description=this.input.description;let a=l$i(t,this.input.servers,this.context,this.accessPath),o=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new v$i({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:a,globalAuth:r,path:o,method:"GET",basePath:i,isWebhook:n})),this.input.post!=null&&(this.post=new v$i({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:a,globalAuth:r,path:o,method:"POST",basePath:i,isWebhook:n})),this.input.put!=null&&(this.put=new v$i({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:a,globalAuth:r,path:o,method:"PUT",basePath:i,isWebhook:!1})),this.input.patch!=null&&(this.patch=new v$i({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:a,globalAuth:r,path:o,method:"PATCH",basePath:i,isWebhook:!1})),this.input.delete!=null&&(this.delete=new v$i({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:a,globalAuth:r,path:o,method:"DELETE",basePath:i,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(No)}};function ZOu(e){return"payloads"in e}var kOu=class extends po{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.paths=Object.entries(this.input).map(([n,a])=>{if(a!=null)return new Fua({input:a,context:this.context,accessPath:this.accessPath,pathId:n,servers:l$i(t,a.servers,this.context,this.accessPath),globalAuth:r,basePath:i,isWebhook:void 0})}).filter(No)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{ZOu(a)?r[Ys.WebhookId(a.id)]=a:t[Ys.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var eAu=class extends po{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[rBh]?.map(r=>{let{header:i,...n}=r;return(n.optional!=null&&!n.optional||SOu(n,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(i)),[i,new CYt({input:n,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:i})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return Tua(this.globalHeaders,this.requiredProperties)?.flat()}};function FIh(e,t){if(zv(e)){let r=oL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var tAu=class extends po{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.webhooks=Object.entries(this.input??{}).map(([n,a])=>{let o=FIh(a,this.context.document);if(o!=null)return new Fua({input:o,context:this.context,accessPath:this.accessPath,pathId:n,servers:t,globalAuth:r,basePath:i,isWebhook:!0})}).filter(No)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(i=>{ZOu(i)&&(t[Ys.WebhookId(i.id)]=i)}),t),{})}};var rAu=class extends po{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=l$i(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new qua({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new EOu({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 kOu({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 tAu({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 xOu({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new eAu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Ybe(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n={...this.webhooks?.convert()??{},...r??{}},a=ZDh({endpoints:i,webhookEndpoints:n}),{types:o,auths:c}=this.components?.convert()??{};return{id:Ys.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:n,types:{...o,...this.context.generatedTypes},subpackages:a,auths:{...c,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Xxc(e,t){if(e instanceof IEe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof eS))return;let r=new X3t(e.absoluteFilePath),i=await qEe({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i}),a;for(let o of n){if(o.type!=="openapi")continue;let c={document:o.value,logger:t.logger,errors:new Xgu,generatedTypes:{}},d=new rAu({input:o.value,context:c,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=jKn(a,d.convert())}return a}var rLh=ce(eKc(),1),iLh=ce(GAu(),1),_Pu=require("fs/promises"),nLh=ce(require("http"),1),aLh=ce(require("path"),1);var VRh=require("events"),$Au=ce(require("fs"),1),Ivn=ce(require("path"),1);var jRh=ce(require("os"),1),wRh=300,w$i=20,aJa=1e7,ERh=jRh.default.platform();var WgB=ERh==="darwin",OJc=ERh==="win32",E$i=WgB||OJc,SRh=3e3,MRh=2e4,AJc=1250;var zYt;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(zYt||(zYt={}));var Bvn;(function(e){e.CHANGE="change",e.RENAME="rename"})(Bvn||(Bvn={}));var oJa;(function(e){e.CHANGE="change",e.ERROR="error"})(oJa||(oJa={}));var Hl;(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"})(Hl||(Hl={}));var sH;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(sH||(sH={}));var GgB=(e,t=1,r)=>{t=Math.max(1,t);let i=r?.leading??!1,n=r?.trailing??!0,a=Math.max(r?.maxWait??1/0,t),o,c,d=0,s=0,u=()=>{let O=Date.now(),m=O-d,j=O-s,S=m>=t||j>=a;return[O,S]},f=O=>{if(s=O,!o)return;let m=o;o=void 0,e.apply(void 0,m)},p=()=>{g(0)},_=()=>{c&&(p(),f(Date.now()))},h=O=>{if(s=O,i)return f(O)},y=O=>{if(n&&o)return f(O);o=void 0},b=()=>{c=void 0;let[O,m]=u();return m?y(O):v(O)},v=O=>{let m=O-d,j=O-s,S=t-m,w=a-j,D=Math.min(S,w);return g(D)},g=O=>{c&&clearTimeout(c),!(O<=0)&&(c=setTimeout(b,O))},A=(...O)=>{let[m,j]=u(),S=!!c;if(o=O,d=m,(j||!c)&&g(t),j)return S?f(m):h(m)};return A.cancel=p,A.flush=_,A},HAu=GgB;var wJc=ce(require("fs"),1),KAu=ce(require("path"),1);var KO=ce(require("fs"),1),uL=require("util");var jUi=(e,t)=>function(...i){return e.apply(void 0,i).catch(t)},NYt=(e,t)=>function(...i){try{return e.apply(void 0,i)}catch(n){return t(n)}};var mJc=ce(require("process"),1),DRh=mJc.default.getuid?!mJc.default.getuid():!1,BRh=1e4,iY=()=>{};var uJa={isChangeErrorOk:e=>{if(!uJa.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!DRh&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!uJa.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(!uJa.isNodeError(e))throw e;if(!uJa.isChangeErrorOk(e))throw e}},uC=uJa;var PJc=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=BRh,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(i),i=()=>t(r);this.add(i)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},IRh=new PJc;var wUi=(e,t)=>function(i){return function n(...a){return IRh.schedule().then(o=>{let c=s=>(o(),s),d=s=>{if(o(),Date.now()>=i)throw s;if(t(s)){let u=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,u)).then(()=>n.apply(void 0,a))}throw s};return e.apply(void 0,a).then(c,d)})}},EUi=(e,t)=>function(i){return function n(...a){try{return e.apply(void 0,a)}catch(o){if(Date.now()>i)throw o;if(t(o))return n.apply(void 0,a);throw o}}};var HgB={attempt:{chmod:jUi((0,uL.promisify)(KO.default.chmod),uC.onChangeError),chown:jUi((0,uL.promisify)(KO.default.chown),uC.onChangeError),close:jUi((0,uL.promisify)(KO.default.close),iY),fsync:jUi((0,uL.promisify)(KO.default.fsync),iY),mkdir:jUi((0,uL.promisify)(KO.default.mkdir),iY),realpath:jUi((0,uL.promisify)(KO.default.realpath),iY),stat:jUi((0,uL.promisify)(KO.default.stat),iY),unlink:jUi((0,uL.promisify)(KO.default.unlink),iY),chmodSync:NYt(KO.default.chmodSync,uC.onChangeError),chownSync:NYt(KO.default.chownSync,uC.onChangeError),closeSync:NYt(KO.default.closeSync,iY),existsSync:NYt(KO.default.existsSync,iY),fsyncSync:NYt(KO.default.fsync,iY),mkdirSync:NYt(KO.default.mkdirSync,iY),realpathSync:NYt(KO.default.realpathSync,iY),statSync:NYt(KO.default.statSync,iY),unlinkSync:NYt(KO.default.unlinkSync,iY)},retry:{close:wUi((0,uL.promisify)(KO.default.close),uC.isRetriableError),fsync:wUi((0,uL.promisify)(KO.default.fsync),uC.isRetriableError),open:wUi((0,uL.promisify)(KO.default.open),uC.isRetriableError),readFile:wUi((0,uL.promisify)(KO.default.readFile),uC.isRetriableError),rename:wUi((0,uL.promisify)(KO.default.rename),uC.isRetriableError),stat:wUi((0,uL.promisify)(KO.default.stat),uC.isRetriableError),write:wUi((0,uL.promisify)(KO.default.write),uC.isRetriableError),writeFile:wUi((0,uL.promisify)(KO.default.writeFile),uC.isRetriableError),closeSync:EUi(KO.default.closeSync,uC.isRetriableError),fsyncSync:EUi(KO.default.fsyncSync,uC.isRetriableError),openSync:EUi(KO.default.openSync,uC.isRetriableError),readFileSync:EUi(KO.default.readFileSync,uC.isRetriableError),renameSync:EUi(KO.default.renameSync,uC.isRetriableError),statSync:EUi(KO.default.statSync,uC.isRetriableError),writeSync:EUi(KO.default.writeSync,uC.isRetriableError),writeFileSync:EUi(KO.default.writeFileSync,uC.isRetriableError)}},CRh=HgB;var xAu=ce(require("fs"),1),sJa=ce(require("path"),1);var jJc=()=>{};var xgB=()=>{let e=jJc,t=jJc,r=!1,i=!1;return{promise:new Promise((d,s)=>{e=u=>(r=!0,d(u)),t=u=>(i=!0,s(u))}),resolve:e,reject:t,isPending:()=>!r&&!i,isResolved:()=>r,isRejected:()=>i}},qRh=xgB;var KgB=()=>{let{promise:e,resolve:t,isPending:r}=qRh(),i=0,n=()=>{i+=1},a=()=>{i-=1,!i&&t()};return(()=>{n(),queueMicrotask(a)})(),{promise:e,isPending:r,increment:n,decrement:a}},TRh=KgB;var RRh={then:e=>{e()}};var zRh=e=>Array.isArray(e)?e:[e],NRh=e=>typeof e=="function";var JgB=(e,t)=>{let r=t?.followSymlinks??!1,i=t?.depth??1/0,n=t?.limit??1/0,a=t?.ignore??[],o=zRh(a).map(H=>NRh(H)?H:G=>H.test(G)),c=H=>o.some(G=>G(H)),d=t?.signal??{aborted:!1},s=t?.onDirents||(()=>{}),u=[],f=new Set,p={},_=[],h=new Set,y={},b=[],v=new Set,g={},A={},O=new Set,m={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},j={directories:u,directoriesNames:f,directoriesNamesToPaths:p,files:_,filesNames:h,filesNamesToPaths:y,symlinks:b,symlinksNames:v,symlinksNamesToPaths:g,map:A},{promise:S,increment:w,decrement:D}=TRh(),B=0,q=(H,G,Ee,ue)=>{O.has(G)||B>=n||(B+=1,H.directories.push(G),H.directoriesNames.add(Ee),u.push(G),f.add(Ee),p.propertyIsEnumerable(Ee)||(p[Ee]=[]),p[Ee].push(G),O.add(G),!(ue>=i)&&(B>=n||ee(G,ue+1)))},Q=(H,G,Ee)=>{O.has(G)||B>=n||(B+=1,H.files.push(G),H.filesNames.add(Ee),_.push(G),h.add(Ee),y.propertyIsEnumerable(Ee)||(y[Ee]=[]),y[Ee].push(G),O.add(G))},T=(H,G,Ee,ue)=>{O.has(G)||B>=n||(B+=1,H.symlinks.push(G),H.symlinksNames.add(Ee),b.push(G),v.add(Ee),g.propertyIsEnumerable(Ee)||(g[Ee]=[]),g[Ee].push(G),O.add(G),r&&(ue>=i||B>=n||me(G,ue+1)))},N=(H,G,Ee,ue,ge)=>{d.aborted||c(G)||(ue.isDirectory()?q(H,G,Ee,ge):ue.isFile()?Q(H,G,Ee):ue.isSymbolicLink()&&T(H,G,Ee,ge))},F=(H,G,Ee,ue)=>{if(d.aborted)return;let ge=G===sJa.default.sep?"":sJa.default.sep,We=Ee.name,se=`${G}${ge}${We}`;c(se)||(Ee.isDirectory()?q(H,se,We,ue):Ee.isFile()?Q(H,se,We):Ee.isSymbolicLink()&&T(H,se,We,ue))},x=(H,G,Ee,ue)=>{for(let ge=0,We=Ee.length;ge<We;ge++)F(H,G,Ee[ge],ue)},ee=(H,G)=>{d.aborted||G>i||B>=n||(w(),xAu.default.readdir(H,{withFileTypes:!0},(Ee,ue)=>{if(Ee||d.aborted||!ue.length)return D();(s(ue)||RRh).then(()=>{let We=A[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};x(We,H,ue,G),D()})}))},me=(H,G)=>{w(),xAu.default.realpath(H,(Ee,ue)=>{if(Ee||d.aborted)return D();xAu.default.stat(ue,(ge,We)=>{if(ge||d.aborted)return D();let se=sJa.default.basename(ue),ne=A[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};N(ne,ue,se,We,G),D()})})};return(async(H,G=1)=>(H=sJa.default.normalize(H),O.add(H),ee(H,G),await S,d.aborted?m:j))(e)},FRh=JgB;var FYt={lang:{debounce:HAu,attempt:e=>{try{return e()}catch(t){return FYt.lang.castError(t)}},castArray:e=>FYt.lang.isArray(e)?e:[e],castError:e=>FYt.lang.isError(e)?e:FYt.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(FYt.lang.isNaN(e))return FYt.lang.isNaN(t);if(FYt.lang.isPrimitive(e)||FYt.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(KAu.default.sep).length-1),getRealPath:(e,t)=>{try{return t?wJc.default.realpathSync.native(e):wJc.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===KAu.default.sep&&t.length-e.length>KAu.default.sep.length,poll:(e,t=MRh)=>CRh.retry.stat(t)(e,{bigint:!0}).catch(FYt.lang.noop),readdir:async(e,t,r=1/0,i=1/0,n,a)=>{if(a&&r===1&&e in a){let o=a[e];return[o.directories,o.files]}else{let o=await FRh(e,{depth:r,limit:i,ignore:t,signal:n});return[o.directories,o.files]}}}},Dp=FYt;var JAu=ce(require("path"),1);var EJc=class{constructor(t,r,i){this.base=i,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Dp.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=wRh){return(()=>{let r=this.watcher._readyWait,i=[],n=new Set,a=async(c,d)=>{let s=this.options.ignoreInitial?[]:c,u=await this.eventsPopulate([...d]),f=this.eventsDeduplicate([...s,...u]);this.onTargetEvents(f)},o=Dp.lang.debounce(()=>{this.watcher.isClosed()||(r=a(i,n),i=[],n=new Set)},t);return async(c,d="",s=!1)=>{s?await this.eventsPopulate([d],i,!0):n.add(d),r.then(o)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((i,n)=>{let[a,o]=n,c=r[o];return a===c||a===Hl.CHANGE&&c===Hl.ADD||(r[o]=a,i.push(n)),i},[])}async eventsPopulate(t,r=[],i=!1){return await Promise.all(t.map(async n=>{let a=await this.watcher._poller.update(n,this.options.pollingTimeout);await Promise.all(a.map(async o=>{r.push([o,n]),o===Hl.ADD_DIR?await this.eventsPopulateAddDir(t,n,r,i):o===Hl.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,n,r,i)}))})),r}async eventsPopulateAddDir(t,r,i=[],n=!1){if(n)return i;let a=this.options.recursive?this.options.depth??w$i:Math.min(1,this.options.depth??w$i),o=this.options.limit??aJa,[c,d]=await Dp.fs.readdir(r,this.options.ignore,a,o,this.watcher._closeSignal),s=[...c,...d];return await Promise.all(s.map(u=>{if(!this.watcher.isIgnored(u,this.options.ignore)&&!t.includes(u))return this.eventsPopulate([u],i,!0)})),i}async eventsPopulateUnlinkDir(t,r,i=[],n=!1){if(n)return i;for(let a of this.watcher._poller.stats.keys())Dp.fs.isSubPath(r,a)&&(t.includes(a)||await this.eventsPopulate([a],i,!0));return i}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Hl.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!E$i&&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(Hl.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Hl.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(JAu.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Hl.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(JAu.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(Hl.UNLINK_DIR,t))}onTargetEvent(t){let[r,i]=t;r===Hl.ADD?this.onTargetAdd(i):r===Hl.ADD_DIR?this.onTargetAddDir(i):r===Hl.CHANGE?this.onTargetChange(i):r===Hl.UNLINK?this.onTargetUnlink(i):r===Hl.UNLINK_DIR&&this.onTargetUnlinkDir(i)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,i=!1){return this.handlerBatched(t,r,i)}onWatcherChange(t=Bvn.CHANGE,r){if(this.watcher.isClosed())return;let i=JAu.default.resolve(this.folderPath,r||"");this.filePath&&i!==this.folderPath&&i!==this.filePath||this.watcher.isIgnored(i,this.options.ignore)||this.onWatcherEvent(t,i)}onWatcherError(t){OJc&&t.code==="EPERM"?this.onWatcherChange(Bvn.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(oJa.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(oJa.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(Bvn.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&E$i&&this.options.native!==!1?this.options.depth??w$i:Math.min(1,this.options.depth??w$i),i=this.options.limit??aJa,[n,a]=await Dp.fs.readdir(this.folderPath,this.options.ignore,r,i,this.watcher._closeSignal,this.options.readdirMap),o=[this.folderPath,...n,...a];await Promise.all(o.map(c=>{if(!this.watcher._poller.stats.has(c)&&!this.watcher.isIgnored(c,this.options.ignore))return this.onWatcherEvent(Bvn.CHANGE,c,t)}))}}},QRh=EJc;var cH={interval:100,intervalId:void 0,fns:new Map,init:()=>{cH.intervalId||(cH.intervalId=setInterval(cH.resolve,cH.interval))},reset:()=>{cH.intervalId&&(clearInterval(cH.intervalId),delete cH.intervalId)},add:(e,t)=>{cH.fns.set(e,Date.now()+t),cH.init()},remove:e=>{cH.fns.delete(e)},resolve:()=>{if(!cH.fns.size)return cH.reset();let e=Date.now();for(let[t,r]of cH.fns)r>=e||(cH.remove(t),t())}},cJa=cH;var lJa=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=AJc){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{let f=this._watcher._poller.paths.find(i||-1,p=>p!==n);if(f&&f!==n){if(Dp.fs.getRealPath(n,!0)===f)return;this._watcher.event(a.rename,f,n)}else this._watcher.event(a.add,n)};if(!i)return c();let d=()=>{o.add.delete(i),cJa.remove(s)},s=()=>{d(),c()};cJa.add(s,r);let u=()=>{let f=o.unlink.get(i);if(!f)return;d();let p=f();n===p?a.change&&this._watcher._poller.stats.has(n)&&this._watcher.event(a.change,n):this._watcher.event(a.rename,p,n)};o.add.set(i,u),u()}getLockUnlink(t,r=AJc){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{this._watcher.event(a.unlink,n)};if(!i)return c();let d=()=>{o.unlink.delete(i),cJa.remove(s)},s=()=>{d(),c()};cJa.add(s,r);let u=()=>(d(),n);o.unlink.set(i,u),o.add.get(i)?.()}getLockTargetAdd(t,r){let i=this._watcher._poller.getIno(t,Hl.ADD,zYt.FILE);return this.getLockAdd({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let i=this._watcher._poller.getIno(t,Hl.ADD_DIR,zYt.DIR);return this.getLockAdd({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let i=this._watcher._poller.getIno(t,Hl.UNLINK,zYt.FILE);return this.getLockUnlink({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let i=this._watcher._poller.getIno(t,Hl.UNLINK_DIR,zYt.DIR);return this.getLockUnlink({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};lJa.DIR_EVENTS={add:Hl.ADD_DIR,rename:Hl.RENAME_DIR,unlink:Hl.UNLINK_DIR};lJa.FILE_EVENTS={add:Hl.ADD,change:Hl.CHANGE,rename:Hl.RENAME,unlink:Hl.UNLINK};var URh=lJa;var SJc=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Dp.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let i=this.map.get(t);if(Dp.lang.isSet(i)){let n=i.delete(r);return i.size||this.map.delete(t),n}else if(i===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let i=this.map.get(t);if(Dp.lang.isSet(i))return Array.from(i).find(r);if(r(i))return i}}get(t){return this.map.get(t)}has(t,r){if(Dp.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let i=this.map.get(t);return Dp.lang.isSet(i)?i.has(r):i===r}return!1}set(t,r){if(this.map.has(t)){let i=this.map.get(t);Dp.lang.isSet(i)?i.add(r):i!==r&&this.map.set(t,new Set([i,r]))}else this.map.set(t,r);return this}},MJc=SJc;var DJc=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}},LRh=DJc;var BJc=class{constructor(){this.inos={},this.paths=new MJc,this.stats=new Map}getIno(t,r,i){let n=this.inos[r];if(!n)return;let a=n[t];if(a&&!(i&&a[1]!==i))return a[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let i=await Dp.fs.poll(t,r);if(!(!i||!(i.isFile()||i.isDirectory())))return new LRh(i)}reset(){this.inos={},this.paths=new MJc,this.stats=new Map}async update(t,r){let i=this.getStats(t),n=await this.poll(t,r);if(this.updateStats(t,n),!i&&n){if(n.isFile())return this.updateIno(t,Hl.ADD,n),[Hl.ADD];if(n.isDirectory())return this.updateIno(t,Hl.ADD_DIR,n),[Hl.ADD_DIR]}else if(i&&!n){if(i.isFile())return this.updateIno(t,Hl.UNLINK,i),[Hl.UNLINK];if(i.isDirectory())return this.updateIno(t,Hl.UNLINK_DIR,i),[Hl.UNLINK_DIR]}else if(i&&n){if(i.isFile()){if(n.isFile())return i.ino===n.ino&&!i.size&&!n.size?[]:(this.updateIno(t,Hl.CHANGE,n),[Hl.CHANGE]);if(n.isDirectory())return this.updateIno(t,Hl.UNLINK,i),this.updateIno(t,Hl.ADD_DIR,n),[Hl.UNLINK,Hl.ADD_DIR]}else if(i.isDirectory()){if(n.isFile())return this.updateIno(t,Hl.UNLINK_DIR,i),this.updateIno(t,Hl.ADD,n),[Hl.UNLINK_DIR,Hl.ADD];if(n.isDirectory())return i.ino===n.ino?[]:(this.updateIno(t,Hl.UNLINK_DIR,i),this.updateIno(t,Hl.ADD_DIR,n),[Hl.UNLINK_DIR,Hl.ADD_DIR])}}return[]}updateIno(t,r,i){let n=this.inos[r]=this.inos[r]||(this.inos[r]={}),a=i.isFile()?zYt.FILE:zYt.DIR;n[t]=[i.ino,a]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let i=this.stats.get(t)?.ino||-1;this.paths.delete(i,t),this.stats.delete(t)}}},IJc=BJc;var CJc=class e extends VRh.EventEmitter{constructor(t,r,i){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(sH.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(n=>this.on(sH.CLOSE,n)),this._readyWait=new Promise(n=>this.on(sH.READY,n)),this._locker=new URh(this),this._roots=new Set,this._poller=new IJc,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,i)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Dp.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(sH.CLOSE))}error(t){if(this.isClosed())return!1;let r=Dp.lang.castError(t);return this.emit(sH.ERROR,r)}event(t,r,i){return this.isClosed()?!1:(this.emit(sH.ALL,t,r,i),this.emit(t,r,i))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(sH.READY))}pollerExists(t,r){for(let i of this._pollers)if(i.targetPath===t&&Dp.lang.isShallowEqual(i.options,r))return!0;return!1}subwatcherExists(t,r){for(let i of this._subwatchers)if(i.targetPath===t&&Dp.lang.isShallowEqual(i.options,r))return!0;return!1}watchersClose(t,r,i=!0){if(t){let n=this._watchers[t];if(n)for(let a of[...n])r&&a.filePath!==r||this.watcherClose(a);if(i)for(let a in this._watchers)Dp.fs.isSubPath(t,a)&&this.watchersClose(a,r,!1)}else for(let n in this._watchers)this.watchersClose(n,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,i]of t)this.watchPath(r,i.options,i.handler)}async watcherAdd(t,r){let{folderPath:i}=t;(this._watchers[i]=this._watchers[i]||[]).push(t);let a=new QRh(this,t,r);return await a.init(),a}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let a=r.indexOf(t);r.splice(a,1),r.length||delete this._watchers[t.folderPath]}let i=t.filePath||t.folderPath;this._roots.has(i)&&(this._watchersRestorable[i]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Dp.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,i,n){if(this._watchers[t]?.find(c=>c.handler===i&&(!c.filePath||c.filePath===n)&&c.options.ignore===r.ignore&&!!c.options.native==!!r.native&&(!r.recursive||c.options.recursive)))return!0;let o=Ivn.default.dirname(t);for(let c=1;c<1/0;c++){if(this._watchers[o]?.find(u=>(c===1||u.options.recursive&&c<=(u.options.depth??w$i))&&u.handler===i&&(!u.filePath||u.filePath===n)&&u.options.ignore===r.ignore&&!!u.options.native==!!r.native&&(!r.recursive||u.options.recursive&&E$i&&u.options.native!==!1)))return!0;if(!E$i)break;let s=Ivn.default.dirname(t);if(o===s)break;o=s}return!1}async watchDirectories(t,r,i,n,a){if(this.isClosed())return;t=Dp.lang.uniq(t).sort();let o;for(let c of t)if(!this.isIgnored(c,r.ignore)&&!this.watcherExists(c,r,i,n))try{let d=!r.recursive||E$i&&r.native!==!1?r:{...r,recursive:!1},u={watcher:$Au.default.watch(c,d),handler:i,options:r,folderPath:c,filePath:n},f=o=await this.watcherAdd(u,a);if(this._roots.has(n||c)){let _={...r,ignoreInitial:!0,recursive:!1},h=Ivn.default.dirname(c),y=c;await this.watchDirectories([h],_,i,y,f)}}catch(d){this.error(d)}return o}async watchDirectory(t,r,i,n,a){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||E$i&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,i,n,a));{r={...r,recursive:!0};let o=r.depth??w$i,c=r.limit??aJa,[d]=await Dp.fs.readdir(t,r.ignore,o,c,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let s=await this.watchDirectories([t],r,i,n,a);if(d.length){let u=Dp.fs.getDepth(t);for(let f of d){let p=Dp.fs.getDepth(f),_=Math.max(0,o-(p-u)),h={...r,depth:_};await this.watchDirectories([f],h,i,n,a||s)}}})}}}async watchFileOnce(t,r,i){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let n={targetPath:t,options:r},a=(s,u)=>{u===t&&(d(),i())},o=new e(a),c=()=>{this._subwatchers.add(n),this.on(sH.CLOSE,d),o.watchFile(t,r,a)},d=()=>{this._subwatchers.delete(n),this.removeListener(sH.CLOSE,d),o.close()};return c()}async watchFile(t,r,i){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let n=Ivn.default.dirname(t);return this.watchDirectory(n,r,i,t)}async watchPollingOnce(t,r,i){if(this.isClosed())return;let n=!1,a=new IJc,o=await this.watchPolling(t,r,async()=>{n||!(await a.update(t,r.pollingTimeout)).length||n||(n=!0,o(),i())})}async watchPolling(t,r,i){if(this.isClosed())return Dp.lang.noop;if(this.pollerExists(t,r))return Dp.lang.noop;let n={...r,interval:r.pollingInterval??SRh},a={targetPath:t,options:r},o=()=>{this._pollers.add(a),this.on(sH.CLOSE,c),$Au.default.watchFile(t,n,i)},c=()=>{this._pollers.delete(a),this.removeListener(sH.CLOSE,c),$Au.default.unwatchFile(t,i)};return Dp.lang.attempt(o),()=>Dp.lang.attempt(c)}async watchUnknownChild(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchFileOnce(t,r,n)}async watchUnknownTarget(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchPollingOnce(t,r,n)}async watchPaths(t,r,i){if(this.isClosed())return;if(t=Dp.lang.uniq(t).sort(),t.every((a,o)=>t.every((c,d)=>d===o||!Dp.fs.isSubPath(a,c))))await Promise.all(t.map(a=>this.watchPath(a,r,i)));else for(let a of t)await this.watchPath(a,r,i)}async watchPath(t,r,i){if(this.isClosed()||(t=Ivn.default.resolve(t),this.isIgnored(t,r.ignore)))return;let n=await Dp.fs.poll(t,r.pollingTimeout);if(n){if(n.isFile())return this.watchFile(t,r,i);if(n.isDirectory())return this.watchDirectory(t,r,i);this.error(`"${t}" is not supported`)}else{let a=Ivn.default.dirname(t);return(await Dp.fs.poll(a,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,i):this.watchUnknownTarget(t,r,i)}}async watch(t,r,i=Dp.lang.noop){if(Dp.lang.isFunction(t))return this.watch([],{},t);if(Dp.lang.isUndefined(t))return this.watch([],r,i);if(Dp.lang.isFunction(r))return this.watch(t,{},r);if(Dp.lang.isUndefined(r))return this.watch(t,{},i);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let n=Dp.lang.castArray(t);n.forEach(a=>this._roots.add(a)),await this.watchPaths(n,r,i),!this.isClosed()&&(i!==Dp.lang.noop&&this.on(sH.ALL,i),r.readdirMap=void 0,this.ready())}},YAu=CJc;MXo();var esa=require("fs/promises"),WRh=require("os"),GRh=ce(require("path"),1),$gB=".fern",YgB="logs";function XgB(){return"cli@3.39.2"}var fJa=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=It(Sr.of((0,WRh.homedir)()),Ye.of($gB)),r=It(t,Ye.of(YgB));await mi(r)||await(0,esa.mkdir)(r,{recursive:!0});let n=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=It(r,Ye.of(n));let a=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${GRh.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1806
+ https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`;throw new Error(r)}async toRootNode(){let t=Rt.V1.SlugGenerator.init(Rt.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),i=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:i,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(n=>Rt.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return wln(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 i=Rt.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??QE(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(i),title:t.title,slug:n.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:i}){let n=this.#e.get("unversioned"),a=t!=null?this.toLandingPageNode(t,i):void 0,o=r.type==="tabbed"?await this.convertTabbedNavigation(n,r.items,i):await this.toSidebarRootNode(n,r.items,i);return{type:"unversioned",id:n,landingPage:a,child:o}}async toVersionedNode(t,r){let i=this.#e.get("versioned"),n=t.versions[0];if(n?.hidden===!0)throw new Error(`The default version "${n.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.`);return{id:i,type:"versioned",children:await Promise.all(t.versions.map((a,o)=>this.toVersionNode(a,r,o===0)))}}async toProductGroupNode({productGroup:t,landingPageConfig:r,parentSlug:i}){let n=this.#e.get("productgroup"),a=r!=null?this.toLandingPageNode(r,i):void 0;return{id:n,type:"productgroup",landingPage:a,children:await Promise.all(t.products.map(o=>this.toProductNode(o,i)))}}async toProductNode(t,r){if(t.type==="internal"){let i=r.setProductSlug(t.slug??QE(t.product)),n;switch(t.navigation.type){case"tabbed":n={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.convertTabbedNavigation(this.#e.get(t.product),t.navigation.items,i)};break;case"untabbed":n={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.toSidebarRootNode(this.#e.get(t.product),t.navigation.items,i)};break;case"versioned":n=await this.toVersionedNode(t.navigation,i);break;default:vt(t.navigation)}return{type:"product",id:this.#e.get(t.product),productId:Rt.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",slug:i.get(),child:n,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:Rt.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",href:oG.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,i){let n=this.#e.get(t.version),a=r.setVersionSlug(t.slug??QE(t.version)),o=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(n,t.navigation.items,a):await this.toSidebarRootNode(n,t.navigation.items,a);return{type:"version",id:n,versionId:Rt.VersionId(t.version),title:t.version,slug:a.get(),child:o,default:i,availability:t.availability!=null?xfB(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,a):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,i){let n=this.#e.get(`${t}/root`),a=await Promise.all(r.map(c=>this.toNavigationChild({prefix:n,item:c,parentSlug:i}))),o=[];return a.forEach(c=>{if(c.type==="apiReference"){o.push(c);return}if(c.type==="section"&&!c.collapsed){o.push(c);return}let d=o.length>0?o[o.length-1]:void 0,s;d?.type==="sidebarGroup"?s=d:(s={id:this.#e.get(`${n}/group`),type:"sidebarGroup",children:[]},o.push(s)),s.children.push(c)}),{type:"sidebarRoot",id:n,children:o}}async toSidebarRootNodeWithVariants(t,r,i){let n=this.#e.get(`${t}/root`);return{type:"sidebarRoot",id:n,children:[{type:"varianted",id:n,children:await Promise.all(r.map(a=>this.toVariantNode(a,n,i)))}]}}async toVariantNode(t,r,i){let n=this.#e.get(`${r}/variant/${t.slug??QE(t.title)}`),a=i.apply({urlSlug:t.slug??QE(t.title),skipUrlSlug:t.skipUrlSlug}),o=await Promise.all(t.layout.map(c=>this.toVariantChild(c,n,a)));return{type:"variant",id:n,variantId:Rt.V1.VariantId(t.title),subtitle:t.subtitle??"",default:t.default??!1,image:void 0,children:o,title:t.title,slug:a.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,i){return wln(t)._visit({page:async n=>this.toPageNode({item:n,parentSlug:i}),apiSection:async n=>this.toApiSectionNode({item:n,parentSlug:i}),section:async n=>this.toSectionNode({prefix:r,item:n,parentSlug:i}),link:async n=>this.toLinkNode(n),changelog:async n=>this.toChangelogNode(n,i)})}async toNavigationChild({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){return wln(r)._visit({page:async o=>this.toPageNode({item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),apiSection:async o=>this.toApiSectionNode({item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),section:async o=>this.toSectionNode({prefix:t,item:o,parentSlug:i,hideChildren:n,parentAvailability:a}),link:async o=>this.toLinkNode(o),changelog:async o=>this.toChangelogNode(o,i,n)})}async toApiSectionNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=hMh(t.snippetsConfiguration),o,c=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0}),d=this.parsedDocsConfig.experimental?.openapiParserV3,s=d==null||d;if(s)try{o=await this.getOpenApiWorkspaceForApiSection(t).getIntermediateRepresentation({context:this.taskContext,audiences:t.audiences,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1})}catch{}let u;if(t.tagDescriptionPages&&s)try{let b=await this.getOpenApiWorkspaceForApiSection(t).getOpenAPIIr({context:this.taskContext});b.tags.tagsById&&(u=Object.fromEntries(Object.entries(b.tags.tagsById).filter(([v,g])=>g.description&&g.description.trim().length>0).map(([v,g])=>[v,{id:String(g.id),description:g.description}])))}catch(y){this.taskContext.logger.warn("Failed to extract OpenAPI tags for tag description pages",String(y))}o==null&&(o=rS({workspace:c,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 tS(this.taskContext,c)})),this.docsWorkspace.config.settings?.substituteEnvVars&&(o=BT(o,{onError:y=>this.taskContext.failAndThrow(`Error substituting environment variables in API spec: ${y}`)},{substituteAsEmpty:!1}));let f=await this.registerApi({ir:o,snippetsConfig:a,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName,workspace:c}),p=IKa({ir:o,apiDefinitionId:f,playgroundConfig:{oauth:t.playground?.oauth},context:this.taskContext}),_=new Vgu(t,p,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.#e,this.collectedFileIds,c,i,n??t.availability,u),h=_.getTagDescriptionContent();for(let[y,b]of h.entries()){let v=y.split("/").pop()||y,g=Ye.of(v),A=b;this.docsWorkspace.config.settings?.substituteEnvVars&&(A=BT(b,{onError:O=>this.taskContext.logger.error(`Error in tag description environment variable substitution: ${O}`)},{substituteAsEmpty:!1})),this.rawMarkdownFiles[g]=A,this.parsedDocsConfig.pages[g]=A}return _.get()}async toChangelogNode(t,r,i){return new gvn(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:i||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:Rt.V1.Url(t.url),icon:this.resolveIconFileId(t.icon),target:t.target}}async toPageNode({item:t,parentSlug:r,hideChildren:i,parentAvailability:n}){let a=Rt.PageId(this.toRelativeFilepath(t.absolutePath)),o=r.apply({urlSlug:t.slug??QE(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(a),type:"page",slug:o.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:i||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:a,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:t.availability??n}}async toSectionNode({prefix:t,item:r,parentSlug:i,hideChildren:n,parentAvailability:a}){let o=this.toRelativeFilepath(r.overviewAbsolutePath),c=o?Rt.PageId(o):void 0,d=this.#e.get(c??`${t}/section`),s=i.apply({urlSlug:r.slug??QE(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),u=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,f=n||r.hidden;return{id:d,type:"section",overviewPageId:c,slug:s.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:f,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(p=>this.toNavigationChild({prefix:d,item:p,parentSlug:s,hideChildren:f,parentAvailability:r.availability??a}))),authed:void 0,pointsTo:void 0,noindex:u,featureFlags:r.featureFlags,availability:r.availability??a}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return wln(r.child)._visit({link:({href:n,target:a})=>this.toTabLinkNode(r,n,a),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i),variants:({variants:n})=>this.toTabNodeWithVariants(t,r,n,i)})}async toTabChangelogNode(t,r,i){return new gvn(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,i){return{type:"link",id:this.#e.get(r),title:t.title,url:Rt.V1.Url(r),target:i,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??QE(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(a,i,o),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,i,n){let a=this.#e.get(`${t}/tab`),o=n.apply({urlSlug:r.slug??QE(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:o.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(a,i,o),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):oG.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(ds),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:oG.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return wln(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:oG.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function HfB(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${aH(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function xfB(e){switch(e){case"beta":return Rt.V1.NavigationV1Availability.Beta;case"deprecated":return Rt.V1.NavigationV1Availability.Deprecated;case"ga":return Rt.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return Rt.V1.NavigationV1Availability.Stable;default:vt(e)}}async function aL(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof eS?t:null))).filter(ds)}async function cxc(e,t,r){if(e instanceof IEe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof eS))return;let i=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return nH({ir:i,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Ys={};Zt(Ys,{AlgoliaSearchIndex:()=>RMh,ApiDefinitionId:()=>rDh,ApiId:()=>oDh,Availability:()=>ADh,DocsConfigId:()=>uDh,EndpointId:()=>cDh,EndpointPathLiteral:()=>gDh,EnvironmentId:()=>sDh,FileId:()=>_Dh,HttpMethod:()=>ODh,IndexSegmentId:()=>zMh,JqString:()=>yDh,OrgId:()=>nDh,PageId:()=>pDh,PayloadLocation:()=>JDh,PropertyKey:()=>bDh,PullRequestState:()=>WDh,RoleId:()=>vDh,TokenId:()=>aDh,TypeId:()=>dDh,Url:()=>hDh,VersionId:()=>iDh,WebSocketId:()=>lDh,WebhookId:()=>fDh,algolia:()=>lxc,api:()=>Oxc,commons:()=>Axc,diff:()=>mDh,docs:()=>Bxc,generators:()=>Cxc,git:()=>qxc,navigation:()=>zxc,sdks:()=>Fxc,snippets:()=>xDh,snippetsFactory:()=>KDh,templates:()=>Qxc,tokens:()=>$Dh});var lxc={};Zt(lxc,{AlgoliaSearchIndex:()=>RMh,IndexSegmentId:()=>zMh});function RMh(e){return e}function zMh(e){return e}var Oxc={};Zt(Oxc,{latest:()=>pxc,v1:()=>gxc});var pxc={};Zt(pxc,{AuthSchemeId:()=>NMh,WebhookHttpMethod:()=>LMh,auth:()=>fxc,commons:()=>FMh,endpoint:()=>QMh,type_:()=>UMh,webhook:()=>dxc,websocket:()=>VMh});var fxc={};Zt(fxc,{AuthSchemeId:()=>NMh});function NMh(e){return e}var FMh={};var QMh={};var UMh={};var dxc={};Zt(dxc,{WebhookHttpMethod:()=>LMh});var LMh={Get:"GET",Post:"POST"};var VMh={};var gxc={};Zt(gxc,{SubpackageId:()=>ZMh,WebSocketMessageId:()=>kMh,WebSocketMessageOrigin:()=>eDh,WebhookHttpMethod:()=>tDh,commons:()=>vxc,db:()=>_xc,read:()=>yxc,register:()=>bxc});var _xc={};Zt(_xc,{endpoint:()=>WMh});var WMh={};var yxc={};Zt(yxc,{SupportedLanguage:()=>GMh,endpoint:()=>hxc,type_:()=>HMh,webhook:()=>xMh,websocket:()=>KMh});var hxc={};Zt(hxc,{SupportedLanguage:()=>GMh});var GMh={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var HMh={};var xMh={};var KMh={};var bxc={};Zt(bxc,{SourceId:()=>KfB,endpoint:()=>JMh,type_:()=>$Mh,webhook:()=>YMh,websocket:()=>XMh});var JMh={};var $Mh={};var YMh={};var XMh={};function KfB(e){return e}var vxc={};Zt(vxc,{SubpackageId:()=>ZMh,WebSocketMessageId:()=>kMh,WebSocketMessageOrigin:()=>eDh,WebhookHttpMethod:()=>tDh});function ZMh(e){return e}function kMh(e){return e}var eDh={Client:"client",Server:"server"};var tDh={Get:"GET",Post:"POST"};var Axc={};Zt(Axc,{ApiDefinitionId:()=>rDh,ApiId:()=>oDh,Availability:()=>ADh,DocsConfigId:()=>uDh,EndpointId:()=>cDh,EndpointPathLiteral:()=>gDh,EnvironmentId:()=>sDh,FileId:()=>_Dh,HttpMethod:()=>ODh,JqString:()=>yDh,OrgId:()=>nDh,PageId:()=>pDh,PropertyKey:()=>bDh,RoleId:()=>vDh,TokenId:()=>aDh,TypeId:()=>dDh,Url:()=>hDh,VersionId:()=>iDh,WebSocketId:()=>lDh,WebhookId:()=>fDh});function rDh(e){return e}function iDh(e){return e}function nDh(e){return e}function aDh(e){return e}function oDh(e){return e}function uDh(e){return e}function sDh(e){return e}function cDh(e){return e}function lDh(e){return e}function fDh(e){return e}function dDh(e){return e}function pDh(e){return e}function _Dh(e){return e}function hDh(e){return e}function yDh(e){return e}function bDh(e){return e}function vDh(e){return e}function gDh(e){return e}var ODh={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var ADh={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var mDh={};var Bxc={};Zt(Bxc,{latest:()=>jxc,v1:()=>Mxc,v2:()=>Dxc});var jxc={};Zt(jxc,{Layout:()=>jDh,MdxEngine:()=>JfB,TwitterCardSetting:()=>wDh,commons:()=>PDh,frontmatter:()=>mxc,seo:()=>Pxc});var JfB={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var PDh={};var mxc={};Zt(mxc,{Layout:()=>jDh});var jDh={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var Pxc={};Zt(Pxc,{TwitterCardSetting:()=>wDh});var wDh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Mxc={};Zt(Mxc,{commons:()=>Sxc,db:()=>EDh,read:()=>SDh,write:()=>wxc});var EDh={};var SDh={};var wxc={};Zt(wxc,{DocsRegistrationId:()=>YfB,FilePath:()=>$fB});function $fB(e){return e}function YfB(e){return e}var Sxc={};Zt(Sxc,{ContentAlignment:()=>IDh,FontDisplay:()=>zDh,FontStyle:()=>RDh,HeaderPosition:()=>CDh,JsScriptStrategy:()=>TDh,ProgrammingLanguage:()=>MDh,SearchbarPlacement:()=>DDh,TabsPlacement:()=>BDh,TwitterCardSetting:()=>qDh,commons:()=>Exc});var Exc={};Zt(Exc,{ContentAlignment:()=>IDh,FontDisplay:()=>zDh,FontStyle:()=>RDh,HeaderPosition:()=>CDh,JsScriptStrategy:()=>TDh,ProgrammingLanguage:()=>MDh,SearchbarPlacement:()=>DDh,TabsPlacement:()=>BDh,TwitterCardSetting:()=>qDh});var MDh={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 DDh={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var BDh={Header:"HEADER",Sidebar:"SIDEBAR"};var IDh={Center:"CENTER",Left:"LEFT"};var CDh={Fixed:"FIXED",Absolute:"ABSOLUTE"};var qDh={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var TDh={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var RDh={Normal:"normal",Italic:"italic"};var zDh={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Dxc={};Zt(Dxc,{read:()=>NDh,write:()=>FDh});var NDh={};var FDh={};var Cxc={};Zt(Cxc,{ChangelogEntryType:()=>UDh,GeneratorId:()=>XfB,GeneratorLanguage:()=>ZfB,ReleaseType:()=>LDh,cli:()=>QDh,commons:()=>Ixc,versions:()=>VDh});var QDh={};var Ixc={};Zt(Ixc,{ChangelogEntryType:()=>UDh,ReleaseType:()=>LDh});var UDh={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var LDh={Ga:"GA",Rc:"RC"};var VDh={};function XfB(e){return e}var ZfB={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var qxc={};Zt(qxc,{PullRequestState:()=>WDh});var WDh={Open:"open",Closed:"closed",Merged:"merged"};var zxc={};Zt(zxc,{latest:()=>Txc,v1:()=>Rxc});var Txc={};Zt(Txc,{NodeId:()=>tdB,ProductId:()=>rdB,Slug:()=>kfB,TabId:()=>edB});function kfB(e){return e}function edB(e){return e}function tdB(e){return e}function rdB(e){return e}var Rxc={};Zt(Rxc,{NavigationV1Availability:()=>udB,NodeId:()=>adB,ProductId:()=>odB,Slug:()=>idB,TabId:()=>ndB});function idB(e){return e}function ndB(e){return e}function adB(e){return e}function odB(e){return e}var udB={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Fxc={};Zt(Fxc,{Language:()=>GDh,VersionBump:()=>HDh,versions:()=>Nxc});var Nxc={};Zt(Nxc,{Language:()=>GDh,VersionBump:()=>HDh});var GDh={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var HDh={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var xDh={};var KDh={};var Qxc={};Zt(Qxc,{PayloadLocation:()=>JDh});var JDh={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var $Dh={};var Xgu=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function No(e){return e!=null}var XDh=ce(VFa(),1);var YDh=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function BYt(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,XDh.default)(e,{special:YDh}).replace(/V\s(\d)/g,"V$1")}function ZDh({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(i=>{let n=[];i.namespace?.forEach(a=>{let o=[...n,a],c=Ys.api.v1.SubpackageId(o.join("."));r[c]={id:c,name:a,displayName:BYt(a)},n.push(a)})}),r}var Zgu=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 kDh(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var po=class extends Zgu{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){if(super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,n!=null){let a=Array.isArray(this.pathId)?this.pathId:[this.pathId];a.every((o,c)=>o===this.accessPath[this.accessPath.length-a.length+c])||this.accessPath.push(...a)}r.logger.debug(`Processing ${kDh(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})}}},aC=class extends po{},k$=class extends aC{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var eBh="x-fern-base-path",tBh="x-fern-availability",kgu="x-fern-sdk-group-name",rBh="x-fern-global-headers",iBh="x-fern-sdk-method-name";var nBh="x-fern-webhook",aBh="x-fern-access-token-locator",oBh="x-fern-basic",uBh="x-fern-username-variable-name",sBh="x-fern-password-variable-name",cBh="x-fern-bearer",lBh="x-fern-token-variable-name",fBh="x-fern-header",dBh="x-fern-header-variable-name",pBh="x-fern-server-name",_Bh="x-fern-examples";var eOu=class extends po{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[pBh]}convert(){if(this.serverName!=null)return this.serverName}};var tOu=class extends po{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,i])=>t.replace(`{${r}}`,i.default),this.input.url)??this.input.url,this.serverName=new eOu({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:Ys.EnvironmentId(t),baseUrl:this.url}}};function l$i(e,t,r,i){let n=e??[],a=new Set(n.map(c=>c.url)),o=(t??[]).filter(c=>!a.has(c.url)).map((c,d)=>new tOu({input:c,context:r,accessPath:i,pathId:["servers",`${d}`]}));return[...n,...o]}function zv(e){return typeof e=="object"&&No(e)&&"$ref"in e&&typeof e.$ref=="string"}function oL(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(zv(n)&&(n=oL(n,t,r)),n)}function rOu(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return zv(r)?oL(r,t,void 0):r}var aIh=ce(GS());var iOu=class extends po{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[oBh];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var nOu=class extends po{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[sBh]}convert(){return this.passwordVariableName}};var aOu=class extends po{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[uBh]}convert(){return this.usernameVariableName}};var oOu=class extends po{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[cBh];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var uOu=class extends po{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[lBh]}convert(){return this.tokenVariableName}};function hBh(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var yBh="x-bearer-format",bBh="x-code-samples",vBh="x-codeSamples";var sOu=class extends po{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[yBh]}convert(){return this.bearerFormat}};var cOu=class extends po{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[fBh];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var lOu=class extends po{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[dBh]}convert(){return this.headerVariableName}};function gBh(e){return e.type==="apiKey"}var Bua=class extends po{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){gBh(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new cOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new lOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new sOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function fOu(e){return e}function dOu(e){return e==="__proto__"}function pOu(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Iua(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function CKa(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(CKa).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function _Ou(e){if(Array.isArray(e))return e.map(Iua);if(typeof e=="symbol")return[e];e=CKa(e);let t=[],r=e.length;if(r===0)return t;let i=0,n="",a="",o=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<r;){let c=e[i];a?c==="\\"&&i+1<r?(i++,n+=e[i]):c===a?a="":n+=c:o?c==='"'||c==="'"?a=c:c==="]"?(o=!1,t.push(n),n=""):n+=c:c==="["?(o=!0,n&&(t.push(n),n="")):c==="."?n&&(t.push(n),n=""):n+=c,i++}return n&&t.push(n),t}function qKa(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(dOu(t))return r;let i=e[t];return i===void 0?pOu(t)?qKa(e,_Ou(t),r):r:i}case"number":case"symbol":{typeof t=="number"&&(t=Iua(t));let i=e[t];return i===void 0?r:i}default:{if(Array.isArray(t))return sdB(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),dOu(t))return r;let i=e[t];return i===void 0?r:i}}}function sdB(e,t,r){if(t.length===0)return r;let i=e;for(let n=0;n<t.length;n++){if(i==null||dOu(t[n]))return r;i=i[t[n]]}return i===void 0?r:i}function OBh(e){return function(t){return qKa(t,e)}}function ABh(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function hOu(e){return e==null||typeof e!="object"&&typeof e!="function"}function Uxc(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Vxc(e,t,r){return typeof r!="function"?Vxc(e,t,()=>{}):Lxc(e,t,function i(n,a,o,c,d,s){let u=r(n,a,o,c,d,s);return u!==void 0?!!u:Lxc(n,a,i,s)},new Map)}function Lxc(e,t,r,i){if(t===e)return!0;switch(typeof t){case"object":return cdB(e,t,r,i);case"function":return Object.keys(t).length>0?Lxc(e,{...t},r,i):Uxc(e,t);default:return ABh(e)?typeof t=="string"?t==="":!0:Uxc(e,t)}}function cdB(e,t,r,i){if(t==null)return!0;if(Array.isArray(t))return mBh(e,t,r,i);if(t instanceof Map)return ldB(e,t,r,i);if(t instanceof Set)return fdB(e,t,r,i);let n=Object.keys(t);if(e==null)return n.length===0;if(n.length===0)return!0;if(i?.has(t))return i.get(t)===e;i?.set(t,e);try{for(let a=0;a<n.length;a++){let o=n[a];if(!hOu(e)&&!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!r(e[o],t[o],o,e,t,i))return!1}return!0}finally{i?.delete(t)}}function ldB(e,t,r,i){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[n,a]of t.entries()){let o=e.get(n);if(r(o,a,n,e,t,i)===!1)return!1}return!0}function mBh(e,t,r,i){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let n=new Set;for(let a=0;a<t.length;a++){let o=t[a],c=!1;for(let d=0;d<e.length;d++){if(n.has(d))continue;let s=e[d],u=!1;if(r(s,o,a,e,t,i)&&(u=!0),u){n.add(d),c=!0;break}}if(!c)return!1}return!0}function fdB(e,t,r,i){return t.size===0?!0:e instanceof Set?mBh([...e],[...t],r,i):!1}function yOu(e,t){return Vxc(e,t,()=>{})}function PBh(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function bOu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var jBh="[object RegExp]",vOu="[object String]",gOu="[object Number]",OOu="[object Boolean]",AOu="[object Arguments]",wBh="[object Symbol]",EBh="[object Date]",SBh="[object Map]",MBh="[object Set]",DBh="[object Array]";var BBh="[object ArrayBuffer]",IBh="[object Object]";var CBh="[object DataView]",qBh="[object Uint8Array]",TBh="[object Uint8ClampedArray]",RBh="[object Uint16Array]",zBh="[object Uint32Array]";var NBh="[object Int8Array]",FBh="[object Int16Array]",QBh="[object Int32Array]";var UBh="[object Float32Array]",LBh="[object Float64Array]";function VBh(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function WBh(e,t){return f$i(e,void 0,e,new Map,t)}function f$i(e,t,r,i=new Map,n=void 0){let a=n?.(e,t,r,i);if(a!==void 0)return a;if(hOu(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let o=new Array(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=f$i(e[c],c,r,i,n);return Object.hasOwn(e,"index")&&(o.index=e.index),Object.hasOwn(e,"input")&&(o.input=e.input),o}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let o=new RegExp(e.source,e.flags);return o.lastIndex=e.lastIndex,o}if(e instanceof Map){let o=new Map;i.set(e,o);for(let[c,d]of e)o.set(c,f$i(d,c,r,i,n));return o}if(e instanceof Set){let o=new Set;i.set(e,o);for(let c of e)o.add(f$i(c,void 0,r,i,n));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(VBh(e)){let o=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,o);for(let c=0;c<e.length;c++)o[c]=f$i(e[c],c,r,i,n);return o}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let o=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof File<"u"&&e instanceof File){let o=new File([e],e.name,{type:e.type});return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof Blob<"u"&&e instanceof Blob){let o=new Blob([e],{type:e.type});return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof Error){let o=new e.constructor;return i.set(e,o),o.message=e.message,o.name=e.name,o.stack=e.stack,o.cause=e.cause,s8t(o,e,r,i,n),o}if(e instanceof Boolean){let o=new Boolean(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof Number){let o=new Number(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(e instanceof String){let o=new String(e.valueOf());return i.set(e,o),s8t(o,e,r,i,n),o}if(typeof e=="object"&&ddB(e)){let o=Object.create(Object.getPrototypeOf(e));return i.set(e,o),s8t(o,e,r,i,n),o}return e}function s8t(e,t,r=e,i,n){let a=[...Object.keys(t),...PBh(t)];for(let o=0;o<a.length;o++){let c=a[o],d=Object.getOwnPropertyDescriptor(e,c);(d==null||d.writable)&&(e[c]=f$i(t[c],c,r,i,n))}}function ddB(e){switch(bOu(e)){case AOu:case DBh:case BBh:case CBh:case OOu:case EBh:case UBh:case LBh:case NBh:case FBh:case QBh:case SBh:case gOu:case IBh:case jBh:case MBh:case vOu:case wBh:case qBh:case TBh:case RBh:case zBh:return!0;default:return!1}}function GBh(e){return f$i(e,void 0,e,new Map,void 0)}function HBh(e){return e=GBh(e),t=>yOu(t,e)}function xBh(e,t){return WBh(e,(r,i,n,a)=>{let o=t?.(r,i,n,a);if(o!==void 0)return o;if(typeof e=="object")switch(Object.prototype.toString.call(e)){case gOu:case vOu:case OOu:{let c=new e.constructor(e?.valueOf());return s8t(c,e),c}case AOu:{let c={};return s8t(c,e),c.length=e.length,c[Symbol.iterator]=e[Symbol.iterator],c}default:return}})}function KBh(e){return xBh(e)}var pdB=/^(?:0|[1-9]\d*)$/;function JBh(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 pdB.test(e)}}function $Bh(e){return e!==null&&typeof e=="object"&&bOu(e)==="[object Arguments]"}function YBh(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&pOu(t)&&e?.[t]==null?r=_Ou(t):r=[t],r.length===0)return!1;let i=e;for(let n=0;n<r.length;n++){let a=r[n];if((i==null||!Object.hasOwn(i,a))&&!((Array.isArray(i)||$Bh(i))&&JBh(a)&&a<i.length))return!1;i=i[a]}return!0}function XBh(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=Iua(e);break}}return t=KBh(t),function(r){let i=qKa(r,e);return i===void 0?YBh(r,e):t===void 0?i===void 0:yOu(i,t)}}function ZBh(e){if(e==null)return fOu;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?XBh(e[0],e[1]):HBh(e);case"string":case"symbol":case"number":return OBh(e)}}function kBh(e,t){let r={},i=Object.keys(e);for(let n=0;n<i.length;n++){let a=i[n],o=e[a];r[a]=t(o,a,e)}return r}function mOu(e,t=fOu){return e==null?{}:kBh(e,ZBh(t))}function eIh(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}var _dB=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function tIh(e){return Array.from(e.match(_dB)??[])}function rIh(e){let t=tIh(e);if(t.length===0)return"";let[r,...i]=t;return`${r.toLowerCase()}${i.map(n=>eIh(n)).join("")}`}function iIh(e){return typeof e!="string"&&(e=CKa(e)),e.replace(/['\u2019]/g,"")}function c8t(e){return rIh(iIh(e))}function zP(e){if(e!=null)return Array.isArray(e)?e:[e]}function POu({namespace:e,path:t,method:r,sdkMethodName:i,operationId:n,displayName:a,isWebhook:o}){if(t==null)return;let c=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(i==null&&n==null&&a==null&&c==null))return`${hdB(o)}${ydB(e)}.${bdB(i,n,a,c)}`}function hdB(e){return e?"webhook_":"endpoint_"}function ydB(e){return e!=null?zP(e)?.map(t=>c8t(t)).join("/"):""}function bdB(e,t,r,i){return e||t||c8t(r??"")||c8t(i??"")}function nIh(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jOu=class extends po{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[aBh],this.accessTokenLocator!=null&&(nIh(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 wOu=class extends po{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 Bua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jOu({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=POu({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:Ys.EndpointId(r),accessTokenLocator:Ys.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var Cua=class extends po{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 iOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new aOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new nOu({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 oOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new uOu({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":{hBh(this.input)?(this.authScheme="header",this.headerAuthNode=new Bua({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 wOu({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 aIh.UnreachableCaseError(this.authScheme);return}}};var qua=class extends po{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=rOu(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new Cua({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(No))}};var EOu=class extends po{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[eBh],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 oIh(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function uIh(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function Tua(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>zP(n.convert())?.map(o=>((t!=null&&!t.includes(i)||t==null&&!oIh(n))&&(o=uIh(o,o.type==="enum"?o.default:void 0)),{key:Ys.PropertyKey(i),valueShape:o,description:n.description,availability:n.availability?.convert()})).filter(No)).filter(No).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]])}function SOu(e,t){return zv(e)?oL(e,t,void 0):e}function d$i(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function sIh(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function cIh(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var lIh=ce(GS());var Wxc=["decimal","decimal128","double-int","double","float","sf-decimal"],Gxc=["int16","int32","int64","int8","sf-integer","uint8"],Hxc=["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"],xxc=["beta","pre-release","in-development","generally-available","deprecated"];function oC(e,t){return zv(e)?oL(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var VEe=class extends po{availability;constructor(t){super(t),this.safeParse()}parse(){if(oC(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[tBh];r!=null&&(xxc.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${xxc.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Ys.Availability.Beta;case"in-development":return Ys.Availability.InDevelopment;case"generally-available":return Ys.Availability.GenerallyAvailable;case"deprecated":return Ys.Availability.Deprecated;case void 0:return;default:new lIh.UnreachableCaseError(this.availability);return}}};var DOu=ce(GS());function fIh(e){return typeof e=="object"&&e!=null&&"language"in e}function dIh(e){return typeof e=="object"&&e!=null&&"sdk"in e}function pIh(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function _Ih(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function MOu(e){return typeof e=="object"&&e!=null&&"event"in e}function Kxc(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(MOu)}function p$i(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function hIh(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var BOu=class extends po{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[_Bh]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let o=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return p$i(o)?[n,{type:"filenameWithData",filename:o.filename,data:Ys.FileId(o.data)}]:o!=null?[n,{type:"filename",value:o}]:void 0;case"files":{if(Array.isArray(o)){if(o.every(c=>p$i(c)))return[n,{type:"filenamesWithData",value:o.map(c=>({filename:c.filename,data:Ys.FileId(c.data)}))}];if(o.every(c=>typeof c=="string"))return[n,{type:"filenames",value:o}]}return}case"property":return[n,{type:"json",value:o}];case void 0:return;default:new DOu.UnreachableCaseError(a.multipartType);return}}).filter(No))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=hIh(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":a=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new DOu.UnreachableCaseError(n.contentType);break}let o;switch(i.contentType){case"application/json":{pIh(r.response)&&(o={type:"json",value:r.response.body});break}case"text/event-stream":{Kxc(r.response)&&(o={type:"sse",value:r.response.stream.map(f=>({event:f.event,data:f.data}))});break}case"application/octet-stream":!Kxc(r.response)&&_Ih(r.response)&&(o={type:"stream",value:r.response.stream});break;case void 0:break;default:new DOu.UnreachableCaseError(i.contentType);break}let c={};r["code-samples"]?.forEach(f=>{fIh(f)?f.language!=null&&(c[f.language]??=[],c[f.language]?.push({name:f.name,language:f.language,install:f.install,code:f.code,generated:!1,description:f.docs})):dIh(f)&&f.sdk!=null&&(c[f.sdk]??=[],c[f.sdk]?.push({name:f.name,language:f.sdk,install:void 0,code:f.code,generated:!1,description:f.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([f,p])=>[Ys.PropertyKey(f),p])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([f,p])=>[Ys.PropertyKey(f),p])),u=Object.fromEntries(Object.entries(r.headers??{}).map(([f,p])=>[Ys.PropertyKey(f),p]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(u).length>0?u:void 0,requestBody:a,responseBody:o,snippets:c}}))}};var TKa=class extends po{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[kgu]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Ys.api.v1.SubpackageId(c8t(r)))}};var IOu=class extends po{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[iBh]}convert(){return this.sdkMethodName}};var COu=class extends po{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[nBh]}convert(){return this.isWebhook}};var qOu=class extends po{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[bBh]??[],...this.input[vBh]??[]],this.codeSamples.forEach(t=>{[...Object.values(Ys.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 Ovn=ce(GS());function Jxc(e,t){return zv(e)?oL(e,t,void 0):e}function yIh(e,t){return e.replace(/{(\w+)}/g,(r,i)=>t[i]!=null&&typeof t[i]=="string"||typeof t[i]=="number"||typeof t[i]=="boolean"?`${t[i]}`:r)}var sF="",IYt=class extends po{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(p$i(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>p$i(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new Ovn.UnreachableCaseError(i.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=Jxc(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=Jxc(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 Ovn.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(MOu)){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 Ovn.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return p$i(n)?[r,{type:"filenameWithData",filename:n.filename,data:Ys.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>p$i(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:Ys.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new Ovn.UnreachableCaseError(i.multipartType);return}}).filter(No))};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 Ovn.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 Ovn.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([o,c])=>[o,c.example({includeOptionals:!1,override:o})]));i=Object.keys(i).length>0?i:void 0;let n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(No));n=Object.keys(n).length>0?n:void 0;let a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([o,c])=>c.required||c.inputExample!=null?[o,c.example({includeOptionals:!1,override:o})]:void 0).filter(No));if(a=Object.keys(a).length>0?a:void 0,!(this.path==null&&t==null&&r==null&&a==null&&n==null&&i==null))return{path:yIh(this.path,i??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?BYt(this.name):this.summary!=null?BYt(this.summary):void 0,description:this.convertDescription(),pathParameters:i,queryParameters:n,headers:a,requestBody:t,responseBody:r,snippets:void 0}}};function bIh(e,t){return zv(e)?oL(e,t,void 0):e}var BIh=ce(GS());var vIh="#/components/schemas/";function Rua(e){if(e.$ref.startsWith(vIh))return e.$ref.replace(vIh,"")}function mUi(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function _$i(e){return typeof e.type=="string"&&e.type==="array"}function gIh(e){return e.type==="boolean"}function OIh(e){return e.type==="integer"}function h$i(e){return!Array.isArray(e.type)&&!_$i(e)}function AIh(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||h$i(t)||_$i(t))}function mIh(e){return"nullable"in e&&typeof e.nullable=="boolean"}function PIh(e){return e.type==="null"}function jIh(e){return e.type==="number"}function $xc(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function wIh(e){return e.type==="string"}var TOu=class extends k${item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new x0({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 zP(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 ROu=class extends aC{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 VEe({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 zOu=class extends k${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 x0({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(No)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>zP(n.convert())?.map(o=>({displayName:n.name,shape:o,description:n.description,availability:n.availability?.convert()}))).filter(No).reduce((n,a)=>n.flatMap(o=>a.length>0?a.map(c=>[...o,c]):[[...o]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(mUi).filter(No):i}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function NOu(e){return e!=null&&e.length>0?e:[void 0]}var zua=class extends k${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 x0({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 x0({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(zv(t))return Rua(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([i,n])=>[i,new x0({input:n,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",i],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(No))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return Tua(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}}}]:zP(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(No)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>NOu(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:n}:{type:"object",extends:this.extends.map(a=>Ys.TypeId(a)),properties:i,extraProperties:n}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(i=>{let n=oC(i,this.context.document);n!=null&&(r={...r,...Object.fromEntries(Object.entries(n.properties??{}).map(([a,o])=>[a,new x0({input:o,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((i,n)=>{let a=r?.[n];return i[n]=a?.example({includeOptionals:t,override:n}),i},{}):Object.entries(r).reduce((i,[n,a])=>(i[n]=a?.example({includeOptionals:t,override:n}),i),{}))}};var FOu=class extends k${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=>oC(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>oC(t,this.context.document)?.type!=="null"?new x0({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(No);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=oC({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new x0({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let n=this.undiscriminatedMapping?.flatMap(a=>a.convert()).filter(No);return this.isNullable&&n!=null?n.map(mUi).filter(No):n}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Ys.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([n,a])=>zP(a.convert())?.map(c=>{if(!(c==null||c.type!=="object"))return{discriminantValue:n,displayName:a.name??BYt(n),availability:a.availability?.convert(),description:a.description,...c}}).filter(No)).filter(No)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(n=>zP(n.convert())?.map(o=>{if(o==null)return;t+=1;let c=o.type==="object"?BYt(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:n.name??(o.type==="alias"&&o.value.type==="id"?BYt(o.value.id):c),shape:o,description:n.description,availability:n.availability?.convert()}}).filter(No)).filter(No)}:void 0,i=this.isNullable?mUi(r):r;return i!=null?[i]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var QOu=class extends aC{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 y$i=class extends aC{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(zv(r)){let n=oC(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(No),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 EIh=ce(GS());function vdB(e){return Gxc.includes(e)}var UOu=class extends aC{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&&(vdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Gxc.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 EIh.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 LOu=class extends aC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return mUi({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var SIh=ce(GS());function gdB(e){return Wxc.includes(e)}var VOu=class extends aC{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&&(gdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Wxc.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 SIh.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 MIh=ce(GS());function OdB(e){return Hxc.includes(e)}var WOu=class extends aC{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 MIh.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&&(OdB(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Hxc.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new y$i({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 DIh=ce(GS());var GOu=class extends aC{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,DIh.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var Avn=class extends k${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=Rua(this.input);let t=oC(this.input,this.context.document);t?.enum!=null&&h$i(t)&&(this.maybeEnumConverterNode=new y$i({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:Ys.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=oC(this.input,this.context.document);if(r!=null)return new x0({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var x0=class e extends k${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 VEe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),h$i(this.input)&&mIh(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),zv(this.input)){let t=Rua(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 Avn({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 ROu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(AIh(this.input))this.typeShapeNode=new zOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(h$i(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new FOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if($xc(this.input)&&this.input.allOf!=null)this.typeShapeNode=new zua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(h$i(this.input)&&this.input.enum!=null)this.typeShapeNode=new y$i({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":$xc(this.input)&&(this.typeShapeNode=new zua({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":_$i(this.input)&&(this.typeShapeNode=new TOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":gIh(this.input)&&(this.typeShapeNode=new QOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":OIh(this.input)&&(this.typeShapeNode=new UOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":jIh(this.input)&&(this.typeShapeNode=new VOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":wIh(this.input)&&(this.typeShapeNode=new WOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":PIh(this.input)&&(this.typeShapeNode=new LOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new BIh.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 zua({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 GOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!zv(this.input)&&(!_$i(this.input)&&this.input==null||_$i(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=zP(t)?.map(i=>this.nullable?mUi(i):i).filter(No);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function b$i(e){if(e!=null)return Tua(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(No))}var CYt=class extends aC{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;zv(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 VEe({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new x0({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let i=bIh(this.input,this.context.document);this.inputExample=i?.example??Object.values(i?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function IIh(e,t){return zv(e)?oL(e,t,void 0):e}var Yxc=ce(GS());function HOu(e){let{uniqueId:t,type:r,contextTypes:i,description:n,availability:a}=e;i[Ys.TypeId(t)]={name:t,shape:r,description:n,availability:a}}var CIh=ce(b2s(),1),Nua=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,o){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=o}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=CIh.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 AdB(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var xOu=class extends po{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 x0({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),AdB(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],i)=>{let n;if(zv(r)?n=rOu(r.$ref,this.context.document):n=r,n!=null)return[t,new Cua({input:n,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${i}`]})]}).filter(No)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[Ys.api.latest.AuthSchemeId(t),i]}).filter(No)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=zP(r.convert());return n==null?[t,void 0]:[Ys.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>No(r))):void 0}}};var KOu=class extends x0{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=oC(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${zv(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=oC(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 JOu=class extends po{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let i=oC(this.input.schema,this.context.document);this.availability=new VEe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=zv(this.input.schema)?new Avn({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let n=Nua.parse(t);n?.containsJSON()?(this.contentType="json",this.schema=this.schema??new x0({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):n?.isOctetStream()?(this.contentType="bytes",this.isOptional=i?.required==null):n?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=i?.required,this.fields=Object.fromEntries(Object.entries(i?.properties??{}).map(([a,o])=>{if(o!=null)return[a,new KOu({input:o,context:this.context,accessPath:this.accessPath,pathId:`schema.${a}`,seenSchemas:new Set,nullable:void 0,schemaName:a})]}).filter(No))):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?{[sF]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[sF]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:zP(t)?.map(i=>{let n=i.type;switch(n){case"object":case"alias":return i;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let a=c8t([this.method,this.path,this.contentType,"request"].join("_"));return HOu({uniqueId:a,type:i,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Ys.TypeId(a),default:i.type==="enum"&&i.default!=null?{type:"enum",value:i.default}:void 0}}}case void 0:return;default:new Yxc.UnreachableCaseError(n);return}}).filter(No)}convert(){if(this.schema instanceof Avn)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:Ys.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:Ys.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=zP(n.convert()),o=n.multipartType;return a?.map(c=>({type:o,key:Ys.PropertyKey(i),contentType:n.contentType,exploded:void 0,valueShape:c,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Yxc.UnreachableCaseError(n.multipartType),[]}}).filter(No).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(o=>[...a,o]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var $Ou=class extends po{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let i=IIh(this.input,this.context.document);if(i==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(i.content).forEach(([n,a])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[n]=new JOu({input:a,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:n,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>zP(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(No)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>zP(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(No)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var qIh={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 TIh(e,t){if(zv(e)){let r=oL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var YOu=ce(GS());var RIh="application/json";var zIh="application/octet-stream";function NIh(e,t){return e===t||t===sF||e===sF}var RKa=class extends po{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,i,n,a,o,c,d){super(t),this.streamingFormat=i,this.path=n,this.method=a,this.statusCode=o,this.requests=c,this.shapes=d,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,i){for(let n of t)for(let[a,o]of Object.entries(n?.examples??{}))for(let[c,d]of Object.entries(r))for(let s of d)NIh(c,a)&&(i.add(c),this.examples?.push(new IYt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,d$i(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let i=0;for(let n of t){let a=0;for(let[o,c]of r){if(a===i){let[d,s,u]=n??[void 0,void 0,void 0];this.examples?.push(...c.map(f=>new IYt({input:{requestExample:u,responseExample:f},context:this.context,accessPath:this.accessPath,pathId:s!=null&&s!==""?["examples",s]:"examples"},this.path,this.statusCode,d$i(s,o),{requestBody:d,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}a++}i++}if(t.length>r.length)for(let n of t.slice(r.length)){let[a,o]=r[r.length-1]??[void 0,void 0],[c,d,s]=n??[void 0,void 0,void 0];this.examples?.push(...(o??[void 0]).map(u=>new IYt({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:d!=null&&d!==""?["examples",d]:"examples"},this.path,this.statusCode,d$i(d,a),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[n,a,o]=t[t.length-1]??[void 0,void 0,void 0];for(let[c,d]of r.slice(t.length))this.examples?.push(...d.map(s=>new IYt({input:{requestExample:o,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,d$i(a,c),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,i,n){let a=t[sF];if(a!=null)for(let o of a)this.examples?.push(new IYt({input:{requestExample:n,responseExample:o},context:this.context,accessPath:this.accessPath,pathId:i!=null&&i!==""?["examples",i]:"examples"},this.path,this.statusCode,d$i(i,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let i of t)if(Object.keys(i.examples??{}).length===0)this.pushResponseExample(r,i,void 0,void 0);else for(let[n,a]of Object.entries(i.examples??{}))this.pushResponseExample(r,i,n,a)}parse(t){if(t==="empty")this.empty=!0;else{let c=Nua.parse(t);if(c?.isJSON()||c?.isEventStream())this.contentType=RIh,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 x0({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(c?.isOctetStream())this.contentType=zIh,this.contentSubtype=oC(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 x0({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=mOu(this.input.examples,c=>[c])),this.input.example!=null&&Object.keys(r).length===0&&(r[sF]??=[],r[sF]=[{value:this.input.example}]);let i=oC(this.input.schema,this.context.document);if(i!=null&&(i.examples!=null&&Object.keys(r).length===0&&(r=mOu(i.examples,c=>[c])),i.example!=null&&Object.keys(r).length===0&&(r[sF]??=[],r[sF]?.push({value:i.example}))),Object.keys(r).length===0){let c=this.schema?.example({includeOptionals:!0,override:void 0});r[sF]??=[],r[sF]?.push(c!=null?{value:c}:void 0)}this.examples??=[];let n=new Set;this.matchRequestResponseExamplesByName(this.requests,r,n);let a=[];for(let c of this.requests)a.push(...Object.entries(c.examples??{}).filter(([d])=>!n.has(d)&&d!==sF).map(([d,s])=>[c,d,s]));let o=Object.entries(r).filter(([c,d])=>!n.has(c)&&No(d)&&c!==sF);Object.keys(r).every(c=>c===sF)||this.matchExamplesByIndex(a,o),!n.has(sF)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return zP(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new YOu.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return zP(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let n=c8t([this.method,this.path,this.statusCode,"response"].join("_"));return HOu({uniqueId:n,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Ys.TypeId(n),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new YOu.UnreachableCaseError(i);return}}).filter(No)}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 YOu.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var zKa=class extends po{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a,o){super(t),this.path=r,this.method=i,this.statusCode=n,this.requests=a,this.shapes=o,this.safeParse()}parse(t){this.description=this.input.description;let r=TIh(this.input,this.context.document);if(r==null){this.context.errors.error({message:zv(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new CYt({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:i})}),r.content==null?(this.responses??=[],this.responses.push(new RKa({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new RKa({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(No)}};var XOu=class extends po{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n,a){super(t),this.path=r,this.method=i,this.requests=n,this.shapes=a,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new zKa({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new zKa({input:i,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return NOu(b$i(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(o=>(o.examples??[]).map(c=>c.convert()).filter(No))})))}).filter(No)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=zP(n?.convert());if(n!=null)return a?.map(o=>({statusCode:parseInt(t),shape:o,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??qIh[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(c=>{let d=c.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(No)})).filter(No)})).filter(No)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var v$i=class extends po{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,i){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new IYt({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,d$i(i,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new VEe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=l$i(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new COu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(zv(i)){let a=SOu(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new CYt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new qOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new $Ou({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 XOu({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let i=this.requests?.requestBodiesByContentType;i==null||Object.keys(i).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(i).forEach(n=>{if(Object.keys(n.examples??{}).length===0){let a=n.schema?.example({includeOptionals:!1,override:void 0});a!=null&&this.pushEmptyResponseExample({value:a},n,void 0)}else Object.entries(n.examples??{}).forEach(([a,o])=>{this.pushEmptyResponseExample(o,n,a)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new qua({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new TKa({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(i=>i.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((i,n)=>new TKa({input:{[kgu]:i},context:this.context,accessPath:this.accessPath,pathId:["tags",`${n}`]})));let r=new IOu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(i=>POu({namespace:zP(i?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(No),this.xFernExamplesNode=new BOu({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(No)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:Ys.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=this.emptyResponseExamples?.map(u=>u.convert()).filter(No),n=cIh(this.xFernExamplesNode?.convert(),[...i??[],...t?.flatMap(u=>u.examples)??[]])?.map(u=>({...u,snippets:sIh(u.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((u,f)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Ys.WebhookId(u),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[f]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(p=>p.value.toString())??[],queryParameters:b$i(this.queryParameters)?.flat(),headers:b$i(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(No)}}).filter(No);let a=this.servers?.map(u=>u.convert()).filter(No),o=this.convertPathToPathParts();if(o==null)return;let c,d=this.auth?.convert();d!=null&&(c=Object.keys(d));let s=t?.flatMap(u=>u.headers).filter(No);return this.endpointIds.map((u,f)=>({id:Ys.EndpointId(u),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[f]?.convert()?.map(p=>Ys.api.v1.SubpackageId(p)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:o,auth:c?.map(p=>Ys.api.latest.AuthSchemeId(p)),defaultEnvironment:a?.[0]?.id,environments:a,pathParameters:b$i(this.pathParameters)?.flat(),queryParameters:b$i(this.queryParameters)?.flat(),requestHeaders:b$i(this.requestHeaders)?.flat(),responseHeaders:s!=null&&s.length>0?s:void 0,requests:this.requests?.convert(),responses:t?.map(p=>p.response),errors:r,examples:n,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var Fua=class extends po{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i,isWebhook:n}){this.description=this.input.description;let a=l$i(t,this.input.servers,this.context,this.accessPath),o=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new v$i({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:a,globalAuth:r,path:o,method:"GET",basePath:i,isWebhook:n})),this.input.post!=null&&(this.post=new v$i({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:a,globalAuth:r,path:o,method:"POST",basePath:i,isWebhook:n})),this.input.put!=null&&(this.put=new v$i({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:a,globalAuth:r,path:o,method:"PUT",basePath:i,isWebhook:!1})),this.input.patch!=null&&(this.patch=new v$i({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:a,globalAuth:r,path:o,method:"PATCH",basePath:i,isWebhook:!1})),this.input.delete!=null&&(this.delete=new v$i({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:a,globalAuth:r,path:o,method:"DELETE",basePath:i,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(No)}};function ZOu(e){return"payloads"in e}var kOu=class extends po{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.paths=Object.entries(this.input).map(([n,a])=>{if(a!=null)return new Fua({input:a,context:this.context,accessPath:this.accessPath,pathId:n,servers:l$i(t,a.servers,this.context,this.accessPath),globalAuth:r,basePath:i,isWebhook:void 0})}).filter(No)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{ZOu(a)?r[Ys.WebhookId(a.id)]=a:t[Ys.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var eAu=class extends po{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[rBh]?.map(r=>{let{header:i,...n}=r;return(n.optional!=null&&!n.optional||SOu(n,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(i)),[i,new CYt({input:n,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:i})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return Tua(this.globalHeaders,this.requiredProperties)?.flat()}};function FIh(e,t){if(zv(e)){let r=oL(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var tAu=class extends po{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.webhooks=Object.entries(this.input??{}).map(([n,a])=>{let o=FIh(a,this.context.document);if(o!=null)return new Fua({input:o,context:this.context,accessPath:this.accessPath,pathId:n,servers:t,globalAuth:r,basePath:i,isWebhook:!0})}).filter(No)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(i=>{ZOu(i)&&(t[Ys.WebhookId(i.id)]=i)}),t),{})}};var rAu=class extends po{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=l$i(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new qua({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new EOu({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 kOu({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 tAu({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 xOu({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new eAu({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=Ybe(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n={...this.webhooks?.convert()??{},...r??{}},a=ZDh({endpoints:i,webhookEndpoints:n}),{types:o,auths:c}=this.components?.convert()??{};return{id:Ys.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:n,types:{...o,...this.context.generatedTypes},subpackages:a,auths:{...c,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Xxc(e,t){if(e instanceof IEe){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof eS))return;let r=new X3t(e.absoluteFilePath),i=await qEe({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i}),a;for(let o of n){if(o.type!=="openapi")continue;let c={document:o.value,logger:t.logger,errors:new Xgu,generatedTypes:{}},d=new rAu({input:o.value,context:c,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=jKn(a,d.convert())}return a}var rLh=ce(eKc(),1),iLh=ce(GAu(),1),_Pu=require("fs/promises"),nLh=ce(require("http"),1),aLh=ce(require("path"),1);var VRh=require("events"),$Au=ce(require("fs"),1),Ivn=ce(require("path"),1);var jRh=ce(require("os"),1),wRh=300,w$i=20,aJa=1e7,ERh=jRh.default.platform();var WgB=ERh==="darwin",OJc=ERh==="win32",E$i=WgB||OJc,SRh=3e3,MRh=2e4,AJc=1250;var zYt;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(zYt||(zYt={}));var Bvn;(function(e){e.CHANGE="change",e.RENAME="rename"})(Bvn||(Bvn={}));var oJa;(function(e){e.CHANGE="change",e.ERROR="error"})(oJa||(oJa={}));var Hl;(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"})(Hl||(Hl={}));var sH;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(sH||(sH={}));var GgB=(e,t=1,r)=>{t=Math.max(1,t);let i=r?.leading??!1,n=r?.trailing??!0,a=Math.max(r?.maxWait??1/0,t),o,c,d=0,s=0,u=()=>{let O=Date.now(),m=O-d,j=O-s,S=m>=t||j>=a;return[O,S]},f=O=>{if(s=O,!o)return;let m=o;o=void 0,e.apply(void 0,m)},p=()=>{g(0)},_=()=>{c&&(p(),f(Date.now()))},h=O=>{if(s=O,i)return f(O)},y=O=>{if(n&&o)return f(O);o=void 0},b=()=>{c=void 0;let[O,m]=u();return m?y(O):v(O)},v=O=>{let m=O-d,j=O-s,S=t-m,w=a-j,D=Math.min(S,w);return g(D)},g=O=>{c&&clearTimeout(c),!(O<=0)&&(c=setTimeout(b,O))},A=(...O)=>{let[m,j]=u(),S=!!c;if(o=O,d=m,(j||!c)&&g(t),j)return S?f(m):h(m)};return A.cancel=p,A.flush=_,A},HAu=GgB;var wJc=ce(require("fs"),1),KAu=ce(require("path"),1);var KO=ce(require("fs"),1),uL=require("util");var jUi=(e,t)=>function(...i){return e.apply(void 0,i).catch(t)},NYt=(e,t)=>function(...i){try{return e.apply(void 0,i)}catch(n){return t(n)}};var mJc=ce(require("process"),1),DRh=mJc.default.getuid?!mJc.default.getuid():!1,BRh=1e4,iY=()=>{};var uJa={isChangeErrorOk:e=>{if(!uJa.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!DRh&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!uJa.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(!uJa.isNodeError(e))throw e;if(!uJa.isChangeErrorOk(e))throw e}},uC=uJa;var PJc=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=BRh,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(i),i=()=>t(r);this.add(i)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},IRh=new PJc;var wUi=(e,t)=>function(i){return function n(...a){return IRh.schedule().then(o=>{let c=s=>(o(),s),d=s=>{if(o(),Date.now()>=i)throw s;if(t(s)){let u=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,u)).then(()=>n.apply(void 0,a))}throw s};return e.apply(void 0,a).then(c,d)})}},EUi=(e,t)=>function(i){return function n(...a){try{return e.apply(void 0,a)}catch(o){if(Date.now()>i)throw o;if(t(o))return n.apply(void 0,a);throw o}}};var HgB={attempt:{chmod:jUi((0,uL.promisify)(KO.default.chmod),uC.onChangeError),chown:jUi((0,uL.promisify)(KO.default.chown),uC.onChangeError),close:jUi((0,uL.promisify)(KO.default.close),iY),fsync:jUi((0,uL.promisify)(KO.default.fsync),iY),mkdir:jUi((0,uL.promisify)(KO.default.mkdir),iY),realpath:jUi((0,uL.promisify)(KO.default.realpath),iY),stat:jUi((0,uL.promisify)(KO.default.stat),iY),unlink:jUi((0,uL.promisify)(KO.default.unlink),iY),chmodSync:NYt(KO.default.chmodSync,uC.onChangeError),chownSync:NYt(KO.default.chownSync,uC.onChangeError),closeSync:NYt(KO.default.closeSync,iY),existsSync:NYt(KO.default.existsSync,iY),fsyncSync:NYt(KO.default.fsync,iY),mkdirSync:NYt(KO.default.mkdirSync,iY),realpathSync:NYt(KO.default.realpathSync,iY),statSync:NYt(KO.default.statSync,iY),unlinkSync:NYt(KO.default.unlinkSync,iY)},retry:{close:wUi((0,uL.promisify)(KO.default.close),uC.isRetriableError),fsync:wUi((0,uL.promisify)(KO.default.fsync),uC.isRetriableError),open:wUi((0,uL.promisify)(KO.default.open),uC.isRetriableError),readFile:wUi((0,uL.promisify)(KO.default.readFile),uC.isRetriableError),rename:wUi((0,uL.promisify)(KO.default.rename),uC.isRetriableError),stat:wUi((0,uL.promisify)(KO.default.stat),uC.isRetriableError),write:wUi((0,uL.promisify)(KO.default.write),uC.isRetriableError),writeFile:wUi((0,uL.promisify)(KO.default.writeFile),uC.isRetriableError),closeSync:EUi(KO.default.closeSync,uC.isRetriableError),fsyncSync:EUi(KO.default.fsyncSync,uC.isRetriableError),openSync:EUi(KO.default.openSync,uC.isRetriableError),readFileSync:EUi(KO.default.readFileSync,uC.isRetriableError),renameSync:EUi(KO.default.renameSync,uC.isRetriableError),statSync:EUi(KO.default.statSync,uC.isRetriableError),writeSync:EUi(KO.default.writeSync,uC.isRetriableError),writeFileSync:EUi(KO.default.writeFileSync,uC.isRetriableError)}},CRh=HgB;var xAu=ce(require("fs"),1),sJa=ce(require("path"),1);var jJc=()=>{};var xgB=()=>{let e=jJc,t=jJc,r=!1,i=!1;return{promise:new Promise((d,s)=>{e=u=>(r=!0,d(u)),t=u=>(i=!0,s(u))}),resolve:e,reject:t,isPending:()=>!r&&!i,isResolved:()=>r,isRejected:()=>i}},qRh=xgB;var KgB=()=>{let{promise:e,resolve:t,isPending:r}=qRh(),i=0,n=()=>{i+=1},a=()=>{i-=1,!i&&t()};return(()=>{n(),queueMicrotask(a)})(),{promise:e,isPending:r,increment:n,decrement:a}},TRh=KgB;var RRh={then:e=>{e()}};var zRh=e=>Array.isArray(e)?e:[e],NRh=e=>typeof e=="function";var JgB=(e,t)=>{let r=t?.followSymlinks??!1,i=t?.depth??1/0,n=t?.limit??1/0,a=t?.ignore??[],o=zRh(a).map(H=>NRh(H)?H:G=>H.test(G)),c=H=>o.some(G=>G(H)),d=t?.signal??{aborted:!1},s=t?.onDirents||(()=>{}),u=[],f=new Set,p={},_=[],h=new Set,y={},b=[],v=new Set,g={},A={},O=new Set,m={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},j={directories:u,directoriesNames:f,directoriesNamesToPaths:p,files:_,filesNames:h,filesNamesToPaths:y,symlinks:b,symlinksNames:v,symlinksNamesToPaths:g,map:A},{promise:S,increment:w,decrement:D}=TRh(),B=0,q=(H,G,Ee,ue)=>{O.has(G)||B>=n||(B+=1,H.directories.push(G),H.directoriesNames.add(Ee),u.push(G),f.add(Ee),p.propertyIsEnumerable(Ee)||(p[Ee]=[]),p[Ee].push(G),O.add(G),!(ue>=i)&&(B>=n||ee(G,ue+1)))},Q=(H,G,Ee)=>{O.has(G)||B>=n||(B+=1,H.files.push(G),H.filesNames.add(Ee),_.push(G),h.add(Ee),y.propertyIsEnumerable(Ee)||(y[Ee]=[]),y[Ee].push(G),O.add(G))},T=(H,G,Ee,ue)=>{O.has(G)||B>=n||(B+=1,H.symlinks.push(G),H.symlinksNames.add(Ee),b.push(G),v.add(Ee),g.propertyIsEnumerable(Ee)||(g[Ee]=[]),g[Ee].push(G),O.add(G),r&&(ue>=i||B>=n||me(G,ue+1)))},N=(H,G,Ee,ue,ge)=>{d.aborted||c(G)||(ue.isDirectory()?q(H,G,Ee,ge):ue.isFile()?Q(H,G,Ee):ue.isSymbolicLink()&&T(H,G,Ee,ge))},F=(H,G,Ee,ue)=>{if(d.aborted)return;let ge=G===sJa.default.sep?"":sJa.default.sep,We=Ee.name,se=`${G}${ge}${We}`;c(se)||(Ee.isDirectory()?q(H,se,We,ue):Ee.isFile()?Q(H,se,We):Ee.isSymbolicLink()&&T(H,se,We,ue))},x=(H,G,Ee,ue)=>{for(let ge=0,We=Ee.length;ge<We;ge++)F(H,G,Ee[ge],ue)},ee=(H,G)=>{d.aborted||G>i||B>=n||(w(),xAu.default.readdir(H,{withFileTypes:!0},(Ee,ue)=>{if(Ee||d.aborted||!ue.length)return D();(s(ue)||RRh).then(()=>{let We=A[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};x(We,H,ue,G),D()})}))},me=(H,G)=>{w(),xAu.default.realpath(H,(Ee,ue)=>{if(Ee||d.aborted)return D();xAu.default.stat(ue,(ge,We)=>{if(ge||d.aborted)return D();let se=sJa.default.basename(ue),ne=A[H]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};N(ne,ue,se,We,G),D()})})};return(async(H,G=1)=>(H=sJa.default.normalize(H),O.add(H),ee(H,G),await S,d.aborted?m:j))(e)},FRh=JgB;var FYt={lang:{debounce:HAu,attempt:e=>{try{return e()}catch(t){return FYt.lang.castError(t)}},castArray:e=>FYt.lang.isArray(e)?e:[e],castError:e=>FYt.lang.isError(e)?e:FYt.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(FYt.lang.isNaN(e))return FYt.lang.isNaN(t);if(FYt.lang.isPrimitive(e)||FYt.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(KAu.default.sep).length-1),getRealPath:(e,t)=>{try{return t?wJc.default.realpathSync.native(e):wJc.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===KAu.default.sep&&t.length-e.length>KAu.default.sep.length,poll:(e,t=MRh)=>CRh.retry.stat(t)(e,{bigint:!0}).catch(FYt.lang.noop),readdir:async(e,t,r=1/0,i=1/0,n,a)=>{if(a&&r===1&&e in a){let o=a[e];return[o.directories,o.files]}else{let o=await FRh(e,{depth:r,limit:i,ignore:t,signal:n});return[o.directories,o.files]}}}},Dp=FYt;var JAu=ce(require("path"),1);var EJc=class{constructor(t,r,i){this.base=i,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Dp.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=wRh){return(()=>{let r=this.watcher._readyWait,i=[],n=new Set,a=async(c,d)=>{let s=this.options.ignoreInitial?[]:c,u=await this.eventsPopulate([...d]),f=this.eventsDeduplicate([...s,...u]);this.onTargetEvents(f)},o=Dp.lang.debounce(()=>{this.watcher.isClosed()||(r=a(i,n),i=[],n=new Set)},t);return async(c,d="",s=!1)=>{s?await this.eventsPopulate([d],i,!0):n.add(d),r.then(o)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((i,n)=>{let[a,o]=n,c=r[o];return a===c||a===Hl.CHANGE&&c===Hl.ADD||(r[o]=a,i.push(n)),i},[])}async eventsPopulate(t,r=[],i=!1){return await Promise.all(t.map(async n=>{let a=await this.watcher._poller.update(n,this.options.pollingTimeout);await Promise.all(a.map(async o=>{r.push([o,n]),o===Hl.ADD_DIR?await this.eventsPopulateAddDir(t,n,r,i):o===Hl.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,n,r,i)}))})),r}async eventsPopulateAddDir(t,r,i=[],n=!1){if(n)return i;let a=this.options.recursive?this.options.depth??w$i:Math.min(1,this.options.depth??w$i),o=this.options.limit??aJa,[c,d]=await Dp.fs.readdir(r,this.options.ignore,a,o,this.watcher._closeSignal),s=[...c,...d];return await Promise.all(s.map(u=>{if(!this.watcher.isIgnored(u,this.options.ignore)&&!t.includes(u))return this.eventsPopulate([u],i,!0)})),i}async eventsPopulateUnlinkDir(t,r,i=[],n=!1){if(n)return i;for(let a of this.watcher._poller.stats.keys())Dp.fs.isSubPath(r,a)&&(t.includes(a)||await this.eventsPopulate([a],i,!0));return i}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Hl.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!E$i&&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(Hl.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Hl.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(JAu.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Hl.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(JAu.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(Hl.UNLINK_DIR,t))}onTargetEvent(t){let[r,i]=t;r===Hl.ADD?this.onTargetAdd(i):r===Hl.ADD_DIR?this.onTargetAddDir(i):r===Hl.CHANGE?this.onTargetChange(i):r===Hl.UNLINK?this.onTargetUnlink(i):r===Hl.UNLINK_DIR&&this.onTargetUnlinkDir(i)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,i=!1){return this.handlerBatched(t,r,i)}onWatcherChange(t=Bvn.CHANGE,r){if(this.watcher.isClosed())return;let i=JAu.default.resolve(this.folderPath,r||"");this.filePath&&i!==this.folderPath&&i!==this.filePath||this.watcher.isIgnored(i,this.options.ignore)||this.onWatcherEvent(t,i)}onWatcherError(t){OJc&&t.code==="EPERM"?this.onWatcherChange(Bvn.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(oJa.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(oJa.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(Bvn.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&E$i&&this.options.native!==!1?this.options.depth??w$i:Math.min(1,this.options.depth??w$i),i=this.options.limit??aJa,[n,a]=await Dp.fs.readdir(this.folderPath,this.options.ignore,r,i,this.watcher._closeSignal,this.options.readdirMap),o=[this.folderPath,...n,...a];await Promise.all(o.map(c=>{if(!this.watcher._poller.stats.has(c)&&!this.watcher.isIgnored(c,this.options.ignore))return this.onWatcherEvent(Bvn.CHANGE,c,t)}))}}},QRh=EJc;var cH={interval:100,intervalId:void 0,fns:new Map,init:()=>{cH.intervalId||(cH.intervalId=setInterval(cH.resolve,cH.interval))},reset:()=>{cH.intervalId&&(clearInterval(cH.intervalId),delete cH.intervalId)},add:(e,t)=>{cH.fns.set(e,Date.now()+t),cH.init()},remove:e=>{cH.fns.delete(e)},resolve:()=>{if(!cH.fns.size)return cH.reset();let e=Date.now();for(let[t,r]of cH.fns)r>=e||(cH.remove(t),t())}},cJa=cH;var lJa=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=AJc){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{let f=this._watcher._poller.paths.find(i||-1,p=>p!==n);if(f&&f!==n){if(Dp.fs.getRealPath(n,!0)===f)return;this._watcher.event(a.rename,f,n)}else this._watcher.event(a.add,n)};if(!i)return c();let d=()=>{o.add.delete(i),cJa.remove(s)},s=()=>{d(),c()};cJa.add(s,r);let u=()=>{let f=o.unlink.get(i);if(!f)return;d();let p=f();n===p?a.change&&this._watcher._poller.stats.has(n)&&this._watcher.event(a.change,n):this._watcher.event(a.rename,p,n)};o.add.set(i,u),u()}getLockUnlink(t,r=AJc){let{ino:i,targetPath:n,events:a,locks:o}=t,c=()=>{this._watcher.event(a.unlink,n)};if(!i)return c();let d=()=>{o.unlink.delete(i),cJa.remove(s)},s=()=>{d(),c()};cJa.add(s,r);let u=()=>(d(),n);o.unlink.set(i,u),o.add.get(i)?.()}getLockTargetAdd(t,r){let i=this._watcher._poller.getIno(t,Hl.ADD,zYt.FILE);return this.getLockAdd({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let i=this._watcher._poller.getIno(t,Hl.ADD_DIR,zYt.DIR);return this.getLockAdd({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let i=this._watcher._poller.getIno(t,Hl.UNLINK,zYt.FILE);return this.getLockUnlink({ino:i,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let i=this._watcher._poller.getIno(t,Hl.UNLINK_DIR,zYt.DIR);return this.getLockUnlink({ino:i,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};lJa.DIR_EVENTS={add:Hl.ADD_DIR,rename:Hl.RENAME_DIR,unlink:Hl.UNLINK_DIR};lJa.FILE_EVENTS={add:Hl.ADD,change:Hl.CHANGE,rename:Hl.RENAME,unlink:Hl.UNLINK};var URh=lJa;var SJc=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Dp.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let i=this.map.get(t);if(Dp.lang.isSet(i)){let n=i.delete(r);return i.size||this.map.delete(t),n}else if(i===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let i=this.map.get(t);if(Dp.lang.isSet(i))return Array.from(i).find(r);if(r(i))return i}}get(t){return this.map.get(t)}has(t,r){if(Dp.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let i=this.map.get(t);return Dp.lang.isSet(i)?i.has(r):i===r}return!1}set(t,r){if(this.map.has(t)){let i=this.map.get(t);Dp.lang.isSet(i)?i.add(r):i!==r&&this.map.set(t,new Set([i,r]))}else this.map.set(t,r);return this}},MJc=SJc;var DJc=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}},LRh=DJc;var BJc=class{constructor(){this.inos={},this.paths=new MJc,this.stats=new Map}getIno(t,r,i){let n=this.inos[r];if(!n)return;let a=n[t];if(a&&!(i&&a[1]!==i))return a[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let i=await Dp.fs.poll(t,r);if(!(!i||!(i.isFile()||i.isDirectory())))return new LRh(i)}reset(){this.inos={},this.paths=new MJc,this.stats=new Map}async update(t,r){let i=this.getStats(t),n=await this.poll(t,r);if(this.updateStats(t,n),!i&&n){if(n.isFile())return this.updateIno(t,Hl.ADD,n),[Hl.ADD];if(n.isDirectory())return this.updateIno(t,Hl.ADD_DIR,n),[Hl.ADD_DIR]}else if(i&&!n){if(i.isFile())return this.updateIno(t,Hl.UNLINK,i),[Hl.UNLINK];if(i.isDirectory())return this.updateIno(t,Hl.UNLINK_DIR,i),[Hl.UNLINK_DIR]}else if(i&&n){if(i.isFile()){if(n.isFile())return i.ino===n.ino&&!i.size&&!n.size?[]:(this.updateIno(t,Hl.CHANGE,n),[Hl.CHANGE]);if(n.isDirectory())return this.updateIno(t,Hl.UNLINK,i),this.updateIno(t,Hl.ADD_DIR,n),[Hl.UNLINK,Hl.ADD_DIR]}else if(i.isDirectory()){if(n.isFile())return this.updateIno(t,Hl.UNLINK_DIR,i),this.updateIno(t,Hl.ADD,n),[Hl.UNLINK_DIR,Hl.ADD];if(n.isDirectory())return i.ino===n.ino?[]:(this.updateIno(t,Hl.UNLINK_DIR,i),this.updateIno(t,Hl.ADD_DIR,n),[Hl.UNLINK_DIR,Hl.ADD_DIR])}}return[]}updateIno(t,r,i){let n=this.inos[r]=this.inos[r]||(this.inos[r]={}),a=i.isFile()?zYt.FILE:zYt.DIR;n[t]=[i.ino,a]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let i=this.stats.get(t)?.ino||-1;this.paths.delete(i,t),this.stats.delete(t)}}},IJc=BJc;var CJc=class e extends VRh.EventEmitter{constructor(t,r,i){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(sH.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(n=>this.on(sH.CLOSE,n)),this._readyWait=new Promise(n=>this.on(sH.READY,n)),this._locker=new URh(this),this._roots=new Set,this._poller=new IJc,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,i)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Dp.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(sH.CLOSE))}error(t){if(this.isClosed())return!1;let r=Dp.lang.castError(t);return this.emit(sH.ERROR,r)}event(t,r,i){return this.isClosed()?!1:(this.emit(sH.ALL,t,r,i),this.emit(t,r,i))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(sH.READY))}pollerExists(t,r){for(let i of this._pollers)if(i.targetPath===t&&Dp.lang.isShallowEqual(i.options,r))return!0;return!1}subwatcherExists(t,r){for(let i of this._subwatchers)if(i.targetPath===t&&Dp.lang.isShallowEqual(i.options,r))return!0;return!1}watchersClose(t,r,i=!0){if(t){let n=this._watchers[t];if(n)for(let a of[...n])r&&a.filePath!==r||this.watcherClose(a);if(i)for(let a in this._watchers)Dp.fs.isSubPath(t,a)&&this.watchersClose(a,r,!1)}else for(let n in this._watchers)this.watchersClose(n,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,i]of t)this.watchPath(r,i.options,i.handler)}async watcherAdd(t,r){let{folderPath:i}=t;(this._watchers[i]=this._watchers[i]||[]).push(t);let a=new QRh(this,t,r);return await a.init(),a}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let a=r.indexOf(t);r.splice(a,1),r.length||delete this._watchers[t.folderPath]}let i=t.filePath||t.folderPath;this._roots.has(i)&&(this._watchersRestorable[i]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Dp.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,i,n){if(this._watchers[t]?.find(c=>c.handler===i&&(!c.filePath||c.filePath===n)&&c.options.ignore===r.ignore&&!!c.options.native==!!r.native&&(!r.recursive||c.options.recursive)))return!0;let o=Ivn.default.dirname(t);for(let c=1;c<1/0;c++){if(this._watchers[o]?.find(u=>(c===1||u.options.recursive&&c<=(u.options.depth??w$i))&&u.handler===i&&(!u.filePath||u.filePath===n)&&u.options.ignore===r.ignore&&!!u.options.native==!!r.native&&(!r.recursive||u.options.recursive&&E$i&&u.options.native!==!1)))return!0;if(!E$i)break;let s=Ivn.default.dirname(t);if(o===s)break;o=s}return!1}async watchDirectories(t,r,i,n,a){if(this.isClosed())return;t=Dp.lang.uniq(t).sort();let o;for(let c of t)if(!this.isIgnored(c,r.ignore)&&!this.watcherExists(c,r,i,n))try{let d=!r.recursive||E$i&&r.native!==!1?r:{...r,recursive:!1},u={watcher:$Au.default.watch(c,d),handler:i,options:r,folderPath:c,filePath:n},f=o=await this.watcherAdd(u,a);if(this._roots.has(n||c)){let _={...r,ignoreInitial:!0,recursive:!1},h=Ivn.default.dirname(c),y=c;await this.watchDirectories([h],_,i,y,f)}}catch(d){this.error(d)}return o}async watchDirectory(t,r,i,n,a){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||E$i&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,i,n,a));{r={...r,recursive:!0};let o=r.depth??w$i,c=r.limit??aJa,[d]=await Dp.fs.readdir(t,r.ignore,o,c,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let s=await this.watchDirectories([t],r,i,n,a);if(d.length){let u=Dp.fs.getDepth(t);for(let f of d){let p=Dp.fs.getDepth(f),_=Math.max(0,o-(p-u)),h={...r,depth:_};await this.watchDirectories([f],h,i,n,a||s)}}})}}}async watchFileOnce(t,r,i){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let n={targetPath:t,options:r},a=(s,u)=>{u===t&&(d(),i())},o=new e(a),c=()=>{this._subwatchers.add(n),this.on(sH.CLOSE,d),o.watchFile(t,r,a)},d=()=>{this._subwatchers.delete(n),this.removeListener(sH.CLOSE,d),o.close()};return c()}async watchFile(t,r,i){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let n=Ivn.default.dirname(t);return this.watchDirectory(n,r,i,t)}async watchPollingOnce(t,r,i){if(this.isClosed())return;let n=!1,a=new IJc,o=await this.watchPolling(t,r,async()=>{n||!(await a.update(t,r.pollingTimeout)).length||n||(n=!0,o(),i())})}async watchPolling(t,r,i){if(this.isClosed())return Dp.lang.noop;if(this.pollerExists(t,r))return Dp.lang.noop;let n={...r,interval:r.pollingInterval??SRh},a={targetPath:t,options:r},o=()=>{this._pollers.add(a),this.on(sH.CLOSE,c),$Au.default.watchFile(t,n,i)},c=()=>{this._pollers.delete(a),this.removeListener(sH.CLOSE,c),$Au.default.unwatchFile(t,i)};return Dp.lang.attempt(o),()=>Dp.lang.attempt(c)}async watchUnknownChild(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchFileOnce(t,r,n)}async watchUnknownTarget(t,r,i){if(this.isClosed())return;let n=()=>this.watchPath(t,r,i);return this.watchPollingOnce(t,r,n)}async watchPaths(t,r,i){if(this.isClosed())return;if(t=Dp.lang.uniq(t).sort(),t.every((a,o)=>t.every((c,d)=>d===o||!Dp.fs.isSubPath(a,c))))await Promise.all(t.map(a=>this.watchPath(a,r,i)));else for(let a of t)await this.watchPath(a,r,i)}async watchPath(t,r,i){if(this.isClosed()||(t=Ivn.default.resolve(t),this.isIgnored(t,r.ignore)))return;let n=await Dp.fs.poll(t,r.pollingTimeout);if(n){if(n.isFile())return this.watchFile(t,r,i);if(n.isDirectory())return this.watchDirectory(t,r,i);this.error(`"${t}" is not supported`)}else{let a=Ivn.default.dirname(t);return(await Dp.fs.poll(a,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,i):this.watchUnknownTarget(t,r,i)}}async watch(t,r,i=Dp.lang.noop){if(Dp.lang.isFunction(t))return this.watch([],{},t);if(Dp.lang.isUndefined(t))return this.watch([],r,i);if(Dp.lang.isFunction(r))return this.watch(t,{},r);if(Dp.lang.isUndefined(r))return this.watch(t,{},i);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let n=Dp.lang.castArray(t);n.forEach(a=>this._roots.add(a)),await this.watchPaths(n,r,i),!this.isClosed()&&(i!==Dp.lang.noop&&this.on(sH.ALL,i),r.readdirMap=void 0,this.ready())}},YAu=CJc;MXo();var esa=require("fs/promises"),WRh=require("os"),GRh=ce(require("path"),1),$gB=".fern",YgB="logs";function XgB(){return"cli@3.39.3"}var fJa=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=It(Sr.of((0,WRh.homedir)()),Ye.of($gB)),r=It(t,Ye.of(YgB));await mi(r)||await(0,esa.mkdir)(r,{recursive:!0});let n=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=It(r,Ye.of(n));let a=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${GRh.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
1807
1807
  `);await(0,esa.writeFile)(this.logFilePath,a,"utf-8"),this.initialized=!0}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
1808
1808
  `;try{await(0,esa.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let i={timestamp:t.timestamp,source:XgB(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(i)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let i={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(i)}async logCliDocsGeneration(t,r){let i={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(i)}async logCliValidation(t,r){let i={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(i)}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var aYc=ce(LJc(),1),z4h=ce(Lmu(),1),nY=require("fs/promises"),N4h=require("os"),F4h=ce(r8(),1),Q4h=ce(T4h(),1),nPu=process.platform==="win32",nYc=Ct.cyan("[docs]:"),bjB="etag",vjB=23,R4h=e=>e.padEnd(vjB," "),gjB="preview",OjB="app-preview",AjB="bundle",mjB=".next",PjB="standalone",jjB=".fern",wjB="packages/fern-docs/bundle/.next/server/instrumentation.js",EjB=".npmrc",SjB=".pnpmfile.cjs",MjB="pnpm-workspace.yaml",DjB='Cannot find matching keyid: {"signatures":';function BjB(){return It(Sr.of((0,N4h.homedir)()),Ye.of(jjB))}function bsa({app:e=!1}){return It(BjB(),Ye.of(e?OjB:gjB))}function R$i({app:e=!1}){return It(bsa({app:e}),Ye.of(e?mjB:AjB))}function RJa({app:e=!1}){return It(R$i({app:e}),Ye.of(PjB))}function IjB({app:e=!1}){return It(RJa({app:e}),Ye.of(wjB))}function CjB({app:e=!1}){return It(RJa({app:e}),Ye.of(MjB))}function qjB({app:e=!1}){return It(RJa({app:e}),Ye.of(SjB))}function TjB({app:e=!1}){return It(RJa({app:e}),Ye.of(EjB))}function Fvn(e){return new Error(`${e}. Please reach out to support@buildwithfern.com.`)}function RjB({app:e=!1}){return It(bsa({app:e}),Ye.of(bjB))}var zjB=`module.exports = {
1809
1809
  hooks: {