fern-api 3.85.2 → 3.85.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +6 -10
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -1286,7 +1286,7 @@ ${$du.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&Kys(th
|
|
|
1286
1286
|
`+Yyt.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Yyt.default.cyan(nhu(t,this.opt.mask)):Yyt.default.italic(Yyt.default.dim("[hidden]")):this.opt.mask?nhu(t,this.opt.mask):Yyt.default.italic(Yyt.default.dim("[input is hidden] "))}getSpinningValue(t){return this.getMaskedValue(t)}filterInput(t){return t||(this.opt.default==null?"":this.opt.default)}onEnd(t){this.status="answered",this.answer=t.value,this.render(),this.screen.done(),this.done(t.value)}onError(t){this.render(t.isValid)}onKeypress(){this.opt.default&&=void 0,this.render()}};var dZr=He(t1(),1);var ryu=He(jgs(),1),fZr=require("child_process"),FFt=require("fs"),pZr=He(require("path"),1),nyu=He(require("os"),1),iyu=require("crypto"),dAs=He(eyu(),1);var cZr=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var tEr=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var uZr=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var lZr=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function mZr(e="",t,r){let n=new hAs(e,r);n.runAsync((i,o)=>{if(i)setImmediate(t,i,void 0);else try{n.cleanup(),setImmediate(t,void 0,o)}catch(s){setImmediate(t,s,void 0)}})}function tyu(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function l1y(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e.charAt(n);n>0&&i===" "&&e[n-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${i}`}return r.length>0&&t.push(r),t}var hAs=class{text="";tempFile;editor;lastExitStatus=0;fileOptions={};get temp_file(){return console.log("DEPRECATED: temp_file. Use tempFile moving forward."),this.tempFile}get last_exit_status(){return console.log("DEPRECATED: last_exit_status. Use lastExitStatus moving forward."),this.lastExitStatus}constructor(t="",r){this.text=t,r&&(this.fileOptions=r),this.determineEditor(),this.createTemporaryFile()}run(){return this.launchEditor(),this.readTemporaryFile(),this.text}runAsync(t){try{this.launchEditorAsync(()=>{try{this.readTemporaryFile(),setImmediate(t,void 0,this.text)}catch(r){setImmediate(t,r,void 0)}})}catch(r){setImmediate(t,r,void 0)}}cleanup(){this.removeTemporaryFile()}determineEditor(){let t=process.env.VISUAL?process.env.VISUAL:process.env.EDITOR?process.env.EDITOR:process.platform.startsWith("win")?"notepad":"vim",r=l1y(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??nyu.default.tmpdir(),r=(0,iyu.randomUUID)(),n=tyu(this.fileOptions.prefix),i=tyu(this.fileOptions.postfix),o=`${n}${r}${i}`,s=pZr.default.resolve(t,o),a=pZr.default.resolve(t)+pZr.default.sep;if(!s.startsWith(a))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=s;let c={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(c.mode=this.fileOptions.mode),(0,FFt.writeFileSync)(this.tempFile,this.text,c)}catch(t){throw new cZr(t)}}readTemporaryFile(){try{let t=(0,FFt.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,ryu.detect)(t)??"utf8";dAs.default.encodingExists(r)||(r="utf8"),this.text=dAs.default.decode(t,r)}}catch(t){throw new uZr(t)}}removeTemporaryFile(){try{(0,FFt.unlinkSync)(this.tempFile)}catch(t){throw new lZr(t)}}launchEditor(){try{let t=(0,fZr.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new tEr(t)}}launchEditorAsync(t){try{(0,fZr.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new tEr(r)}}};var oyu=He(y9(),1);var rEr=class extends r1{_run(t){this.done=t,this.editorResult=new oyu.Subject;let r=Ek(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?dZr.default.dim("Received"):dZr.default.dim("Press <enter> to launch your preferred editor."),t&&(r=dZr.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),mZr(this.currentText,this.endExternalEditor.bind(this),{postfix:this.opt.postfix??".txt"})}endExternalEditor(t,r){this.rl.resume(),t?this.editorResult.error(t):this.editorResult.next(r)}onEnd(t){this.editorResult.unsubscribe(),this.lineSubscription.unsubscribe(),this.answer=t.value,this.status="answered",this.render(),this.screen.done(),this.done(this.answer)}onError(t){this.render(t.isValid)}};var lyu=require("stream");var cyu=He(require("readline"),1),uyu=He(ayu(),1),tgt=class{constructor(t){this.rl||=cyu.default.createInterface(f1y(t)),this.rl.resume(),this.onForceClose=this.onForceClose.bind(this),process.on("exit",this.onForceClose),this.rl.on("SIGINT",this.onForceClose)}onForceClose(){this.close(),process.kill(process.pid,"SIGINT"),console.log("")}close(){this.rl.removeListener("SIGINT",this.onForceClose),process.removeListener("exit",this.onForceClose),this.rl.output.unmute(),this.activePrompt&&typeof this.activePrompt.close=="function"&&this.activePrompt.close(),this.rl.output.end(),this.rl.pause(),this.rl.close()}};function f1y(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new uyu.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var nEr=class extends tgt{constructor(t={}){super(t),this.log=new lyu.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return M0r(this.rl,this.bottomBar.split(`
|
|
1287
1287
|
`).length),this}updateBottomBar(t){return M0r(this.rl,1),this.rl.output.unmute(),this.clean(),this.bottomBar=t,this.render(),this.rl.output.mute(),this}writeLog(t){return this.rl.output.unmute(),this.clean(),this.rl.output.write(this.enforceLF(t.toString())),this.render(),this.rl.output.mute(),this}enforceLF(t){return/[\n\r]$/.test(t)?t:t+`
|
|
1288
1288
|
`}write(t){let r=t.split(/\n/);this.height=r.length,this.rl.setPrompt(r.at(-1)),this.rl.output.rows===0&&this.rl.output.columns===0&&NXr(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var JA=He(y9(),1),myu=He(a0r(),1);var hZr=He(y9(),1),pyu=He(a0r(),1),yZr=function(e,t,r){return typeof e[t]!="function"?(0,hZr.of)(e):(0,hZr.from)((0,pyu.default)(e[t])(r).then(n=>(e[t]=n,e)))};var fyu={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,o,s)=>{i==="__proto__"||i==="constructor"||(o===s.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=o=>String.prototype.split.call(t,o).filter(Boolean).reduce((s,a)=>s!=null?s[a]:s,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},NFt=class extends tgt{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,JA.from)(t):(0,JA.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,JA.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,JA.from)([t]),this.process=n.pipe((0,JA.concatMap)(this.processQuestion.bind(this)),(0,JA.publish)()),this.process.connect(),this.process.pipe((0,JA.reduce)((i,o)=>(fyu.set(i,o.name,o.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,JA.defer)(()=>(0,JA.of)(t).pipe((0,JA.concatMap)(this.setDefaultType.bind(this)),(0,JA.concatMap)(this.filterIfRunnable.bind(this)),(0,JA.concatMap)(()=>yZr(t,"message",this.answers)),(0,JA.concatMap)(()=>yZr(t,"default",this.answers)),(0,JA.concatMap)(()=>yZr(t,"choices",this.answers)),(0,JA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,JA.defer)(()=>(0,JA.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,JA.defer)(()=>(0,JA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&fyu.get(this.answers,t.name)!==void 0)return JA.EMPTY;if(t.when===!1)return JA.EMPTY;if(typeof t.when!="function")return(0,JA.of)(t);let{answers:r}=this;return(0,JA.defer)(()=>(0,JA.from)((0,myu.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,JA.filter)(n=>n!=null)))}};function dyu(e){let t=function(r,n){let i;try{i=new NFt(t.prompts,e)}catch(s){return Promise.reject(s)}let o=i.run(r,n);return o.ui=i,o};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",U0r),this.registerPrompt("input",Jyt),this.registerPrompt("number",L0r),this.registerPrompt("confirm",q0r),this.registerPrompt("rawlist",W0r),this.registerPrompt("expand",G0r),this.registerPrompt("checkbox",H0r),this.registerPrompt("password",$0r),this.registerPrompt("editor",rEr)},t.restoreDefaultPrompts(),t}var gAs=dyu();function d1y(e,t){gAs.registerPrompt(e,t)}function h1y(){gAs.restoreDefaultPrompts()}var y1y={prompt:gAs,ui:{BottomBar:nEr,Prompt:NFt},createPromptModule:dyu,registerPrompt:d1y,restoreDefaultPrompts:h1y,Separator:C3},Z_=y1y;var kFt=require("path");function yyu(){let e=g1y();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function g1y(e=process.argv[1]?(0,kFt.dirname)(process.argv[1]):process.cwd(),t=kFt.sep==="\\"){let r=t?hyu(e):e;return n=>{if(!n)return;let i=t?hyu(n):n,{dir:o,base:s,ext:a}=kFt.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,-1*a.length));let c=decodeURIComponent(s);o||(o=".");let u=o.lastIndexOf("/node_modules");if(u>-1)return`${o.slice(u+14).replace(/\//g,".")}:${c}`;if(o.startsWith(r)){let l=o.slice(r.length+1).replace(/\//g,".");return l?`${l}:${c}`:c}return c}}function hyu(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var AAs=e=>{if("flags"in e){let t=gyu(e.flags),r=Ayu(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,byu(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,A1y(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function A1y(e,t,r){return{key:e,enabled:typeof t=="string"?!0:t,variant:typeof t=="string"?t:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:r?JSON.stringify(r):void 0,description:void 0}}}var gyu=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,iEr(r)]).filter(([,t])=>t!==void 0)),Ayu=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let n=t[r];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(r=>{let n=t[r].metadata?.payload;return[r,n?byu(n):void 0]}))};var iEr=e=>e===void 0?void 0:e.variant??e.enabled,byu=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var gZr="0123456789abcdef",AZr=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,n,i){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(i)||t<0||r<0||n<0||i<0||t>0xffffffffffff||r>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=t/2**40,o[1]=t/2**32,o[2]=t/2**24,o[3]=t/2**16,o[4]=t/256,o[5]=t,o[6]=112|r>>>8,o[7]=r,o[8]=128|n>>>24,o[9]=n>>>16,o[10]=n>>>8,o[11]=n,o[12]=i>>>24,o[13]=i>>>16,o[14]=i>>>8,o[15]=i,new e(o)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let n=new Uint8Array(16);for(let i=0;i<16;i+=4){let o=parseInt(r.substring(2*i,2*i+8),16);n[i+0]=o>>>24,n[i+1]=o>>>16,n[i+2]=o>>>8,n[i+3]=o}return new e(n)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=gZr.charAt(this.bytes[r]>>>4),t+=gZr.charAt(15&this.bytes[r]),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=gZr.charAt(this.bytes[r]>>>4),t+=gZr.charAt(15&this.bytes[r]);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let n=this.bytes[r]-t.bytes[r];if(n!==0)return Math.sign(n)}return 0}},bAs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??b1y()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let n=this.generateOrAbortCore(t,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(t,r)),n}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return AZr.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let t=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return t[6]=64|t[6]>>>4,t[8]=128|t[8]>>>2,AZr.ofInner(t)}},b1y=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),_yu,EAe=()=>_1y().toString(),_1y=()=>(_yu||(_yu=new bAs)).generate();var v1y=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],vyu=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return v1y.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var j3=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e})({});var O1y=Array.isArray,Eyu=Object.prototype,HVx=Eyu.hasOwnProperty,_As=Eyu.toString,vAs=O1y||function(e){return _As.call(e)==="[object Array]"};var Oyu=e=>e===Object(e)&&!vAs(e);var zFt=e=>e===void 0,oEr=e=>_As.call(e)=="[object String]",wyu=e=>oEr(e)&&e.trim().length===0;var xyu=e=>_As.call(e)=="[object Number]"&&e===e;var EAs=e=>e instanceof Error;function sEr(e){return e===null||typeof e!="object"}function rgt(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Pyu(e){return rgt(e,"ErrorEvent")}function bZr(e){return!zFt(Event)&&w1y(e,Event)}function Iyu(e){return rgt(e,"Object")}function w1y(e,t){try{return e instanceof t}catch{return!1}}function aEr(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),xyu(e)?e>r?(n.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(n.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(n.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+i),aEr(i||r,t,r,n))}var x1y=864e5,_Zr=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=aEr(t.bucketSize,0,100,t._logger),this._refillRate=aEr(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=aEr(t.refillInterval,0,x1y,t._logger)}_applyRefill(t,r){let n=r-t.lastAccess,i=Math.floor(n/this._refillInterval);if(i>0){let o=i*this._refillRate;t.tokens=Math.min(t.tokens+o,this._bucketSize),t.lastAccess=t.lastAccess+i*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),n=String(t),i=this._buckets[n];return i?this._applyRefill(i,r):(i={tokens:this._bucketSize,lastAccess:r},this._buckets[n]=i),i.tokens===0?!0:(i.tokens--,i.tokens===0&&this._onBucketRateLimited?.(t),i.tokens===0)}stop(){this._buckets={}}};var vZr=class{add(t){let r=EAe();return this.promiseByIds[r]=t,t.catch(()=>{}).finally(()=>{delete this.promiseByIds[r]}),t}async join(){let t=Object.values(this.promiseByIds),r=t.length;for(;r>0;)await Promise.all(t),t=Object.values(this.promiseByIds),r=t.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function P1y(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var Cyu=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>Cyu(`${e} ${o}`,t,r)}},I1y=e=>e();function Syu(e,t=I1y){return Cyu(e,t,P1y())}var MFt="Mobile",OZr="iOS",QFt="Android",jyu="Tablet",oUx=QFt+" "+jyu;var C1y="Apple",sUx=C1y+" Watch",Byu="Safari",wZr="BlackBerry",Tyu="Samsung",S1y=Tyu+"Browser",j1y=Tyu+" Internet",xZr="Chrome",B1y=xZr+" OS",T1y=xZr+" "+OZr,Dyu="Internet Explorer",D1y=Dyu+" "+MFt,wAs="Opera",aUx=wAs+" Mini",Ryu="Edge",R1y="Microsoft "+Ryu,xAs="Firefox",F1y=xAs+" "+OZr,PAs="Nintendo",IAs="PlayStation",EZr="Xbox",N1y=QFt+" "+MFt,k1y=MFt+" "+Byu,cEr="Windows",z1y=cEr+" Phone";var Fyu="Generic",cUx=Fyu+" "+MFt.toLowerCase(),uUx=Fyu+" "+jyu.toLowerCase(),Q1y="Konqueror",aV="(\\d+(\\.\\d+)?)",OAs=new RegExp("Version/"+aV),lUx=new RegExp(EZr,"i"),pUx=new RegExp(IAs+" \\w+","i"),fUx=new RegExp(PAs+" \\w+","i"),M1y=new RegExp(wZr+"|PlayBook|BB10","i"),V1y={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"};var mUx={[D1y]:[new RegExp("rv:"+aV)],[R1y]:[new RegExp(Ryu+"?\\/"+aV)],[xZr]:[new RegExp("("+xZr+"|CrMo)\\/"+aV)],[T1y]:[new RegExp("CriOS\\/"+aV)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+aV)],[Byu]:[OAs],[k1y]:[OAs],[wAs]:[new RegExp("("+wAs+"|OPR)\\/"+aV)],[xAs]:[new RegExp(xAs+"\\/"+aV)],[F1y]:[new RegExp("FxiOS\\/"+aV)],[Q1y]:[new RegExp("Konqueror[:/]?"+aV,"i")],[wZr]:[new RegExp(wZr+" "+aV),OAs],[N1y]:[new RegExp("android\\s"+aV,"i")],[j1y]:[new RegExp(S1y+"\\/"+aV)],[Dyu]:[new RegExp("(rv:|MSIE )"+aV)],Mozilla:[new RegExp("rv:"+aV)]};var dUx=[[new RegExp(EZr+"; "+EZr+" (.*?)[);]","i"),e=>[EZr,e&&e[1]||""]],[new RegExp(PAs,"i"),[PAs,""]],[new RegExp(IAs,"i"),[IAs,""]],[M1y,[wZr,""]],[new RegExp(cEr,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[z1y,""];if(new RegExp(MFt).test(t)&&!/IEMobile\b/.test(t))return[cEr+" "+MFt,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=V1y[n]||"";return/arm/i.test(t)&&(i="RT"),[cEr,i]}return[cEr,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[OZr,t.join(".")]}return[OZr,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=zFt(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+QFt+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+QFt+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[QFt,t.join(".")]}return[QFt,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{let t=["Mac OS X",""];if(e&&e[1]){let r=[e[1],e[2],e[3]||"0"];t[1]=r.join(".")}return t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[B1y,""]],[/Linux|debian/i,["Linux",""]]];var Nyu="utf8";function kyu(e,t){if(!e||typeof e!="string"||U1y(e))throw new Error(t)}function U1y(e){return e.trim().length===0}function zyu(e){return e?.replace(/\/+$/,"")}async function Qyu(e,t){let r=null;for(let n=0;n<t.retryCount+1;n++){n>0&&await new Promise(i=>setTimeout(i,t.retryDelay));try{return await e()}catch(i){if(r=i,!t.retryCheck(i))throw i}}throw r}function PZr(){return new Date().toISOString()}function ngt(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Myu=e=>e instanceof Error;function CAs(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var IZr=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(n=>n!==r)}}emit(t,r){for(let n of this.events[t]||[])n(r);for(let n of this.events["*"]||[])n(t,r)}};function Vyu(){return"CompressionStream"in globalThis}async function SAs(e,t=!0){try{let n=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(n).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var igt=class extends Error{constructor(t,r){super("HTTP error while fetching PostHog: status="+t.status+", reqByteLength="+r),this.response=t,this.reqByteLength=r,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}},VFt=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function Uyu(e){if(e instanceof igt){let t="";try{t=await e.text}catch{}console.error(`Error while flushing PostHog: message=${e.message}, response body=${t}`,e)}else console.error("Error while flushing PostHog",e);return Promise.resolve()}function jAs(e){return typeof e=="object"&&(e instanceof igt||e instanceof VFt)}function Lyu(e){return typeof e=="object"&&e instanceof igt&&e.status===413}var uEr=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new vZr,this._events=new IZr,this._isInitialized=!1,kyu(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=zyu(r.host||"https://us.i.posthog.com"),this.flushAt=r.flushAt?Math.max(r.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r.maxQueueSize??1e3),this.flushInterval=r.flushInterval??1e4,this.preloadFeatureFlags=r.preloadFeatureFlags??!0,this.defaultOptIn=r.defaultOptIn??!0,this.disableSurveys=r.disableSurveys??!1,this._retryOptions={retryCount:r.fetchRetryCount??3,retryDelay:r.fetchRetryDelay??3e3,retryCheck:jAs},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=r.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=Syu("[PostHog]",this.logMsgIfDebug.bind(this)),this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!Vyu()||(r?.disableCompression??!1)}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(j3.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(j3.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(j3.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(n,i)=>this._logger.info(n,i));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,n){this.wrap(()=>{let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",i,n)})}async identifyStatelessImmediate(t,r,n){let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",i,n)}captureStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({distinct_id:t,event:r,properties:n});this.enqueue("capture",o,i)})}async captureStatelessImmediate(t,r,n,i){let o=this.buildPayload({distinct_id:t,event:r,properties:n});await this.sendImmediate("capture",o,i)}aliasStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});this.enqueue("alias",o,i)})}async aliasStatelessImmediate(t,r,n,i){let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",o,i)}groupIdentifyStateless(t,r,n,i,o,s){this.wrap(()=>{let a=this.buildPayload({distinct_id:o||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:n||{},...s||{}}});this.enqueue("capture",a,i)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(i=>i.json()).catch(i=>{this._logger.error("Remote config could not be loaded",i),this._events.emit("error",i)})}async getFlags(t,r={},n={},i={},o={},s=!0){await this._initPromise;let a=s?"&config=true":"",c=`${this.host}/flags/?v=2${a}`,u={token:this.apiKey,distinct_id:t,groups:r,person_properties:n,group_properties:i,...o};this.evaluationContexts&&this.evaluationContexts.length>0&&(u.evaluation_contexts=this.evaluationContexts);let l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(u)};return this._logger.info("Flags URL",c),this.fetchWithRetry(c,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(p=>p.json()).then(p=>({success:!0,response:AAs(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof igt)return{type:"api_error",statusCode:t.status};if(t instanceof VFt){let r=t.error;return r instanceof Error&&(r.name==="AbortError"||r.name==="TimeoutError")?{type:"timeout"}:{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailStateless(t,r,n,i,o,s);if(a===void 0)return{response:void 0,requestId:void 0};let c=iEr(a.response);return c===void 0&&(c=!1),{response:c,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let c=a[t];return c===void 0?null:c}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let c=await this.getFlags(t,r,n,i,a);if(!c.success)return;let u=c.response;return u.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),u.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:u?.requestId,quotaLimited:u.quotaLimited}):u}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(j3.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(j3.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(j3.Props,this.props)})}processBeforeEnqueue(t){return t}enqueue(t,r,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o=this.getPersistedProperty(j3.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(j3.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=ngt(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,n){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o={api_key:this.apiKey,batch:[i],sent_at:PZr()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,c=this.disableCompression?null:await SAs(s,this.isDebug),u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||s};try{await this.fetchWithRetry(a,u)}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:PZr(),uuid:n?.uuid?n.uuid:EAe()};return(n?.disableGeoip??this.disableGeoip)&&(i.properties||(i.properties={}),i.properties.$geoip_disable=!0),i.distinctId&&(i.distinct_id=i.distinctId,delete i.distinctId),i}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await Uyu(t)})}async flush(){let t=CAs([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),CAs([t]).then(()=>{this.flushPromise===t&&(this.flushPromise=null)}),t}getCustomHeaders(){let t=this.getCustomUserAgent(),r={};return t&&t!==""&&(r["User-Agent"]=t),r}async _flush(){this.clearFlushTimer(),await this._initPromise;let t=this.getPersistedProperty(j3.Queue)||[];if(!t.length)return;let r=[],n=t.length;for(;t.length>0&&r.length<n;){let i=t.slice(0,this.maxBatchSize),o=i.map(f=>f.message),s=()=>{let h=(this.getPersistedProperty(j3.Queue)||[]).slice(i.length);this.setPersistedProperty(j3.Queue,h),t=h},a={api_key:this.apiKey,batch:o,sent_at:PZr()};this.historicalMigration&&(a.historical_migration=!0);let c=JSON.stringify(a),u=`${this.host}/batch/`,l=this.disableCompression?null:await SAs(c,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||c},m={retryCheck:f=>Lyu(f)?!1:jAs(f)};try{await this.fetchWithRetry(u,p,m)}catch(f){if(Lyu(f)&&o.length>1){this.maxBatchSize=Math.max(1,Math.floor(o.length/2)),this._logger.warn(`Received 413 when sending batch of size ${o.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw f instanceof VFt||s(),this._events.emit("error",f),f}s(),r.push(...o)}this._events.emit("flush",r)}async fetchWithRetry(t,r,n,i){AbortSignal.timeout??=function(a){let c=new AbortController;return setTimeout(()=>c.abort(),a),c.signal};let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,Nyu)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await Qyu(async()=>{let a=null;try{a=await this.fetch(t,{signal:AbortSignal.timeout(i??this.requestTimeout),...r})}catch(u){throw new VFt(u)}if(!(r.mode==="no-cors")&&(a.status<200||a.status>=400))throw new igt(a,s);return a},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(j3.Queue)||[]).length===0||(await this.flush(),r)););}catch(i){if(!jAs(i))throw i;await Uyu(i)}};return Promise.race([new Promise((i,o)=>{ngt(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,o("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),n()])}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var B3={};D(B3,{DOMExceptionCoercer:()=>RAs,ErrorCoercer:()=>FAs,ErrorEventCoercer:()=>NAs,ErrorPropertiesBuilder:()=>BAs,EventCoercer:()=>QAs,ObjectCoercer:()=>zAs,PrimitiveCoercer:()=>MAs,PromiseRejectionEventCoercer:()=>VAs,ReduceableCache:()=>UAs,StringCoercer:()=>kAs,chromeStackLineParser:()=>TAs,createDefaultStackParser:()=>nDy,createStackParser:()=>egu,geckoStackLineParser:()=>DAs,nodeStackLineParser:()=>Jyu,opera10StackLineParser:()=>Hyu,opera11StackLineParser:()=>$yu,reverseAndStripFrames:()=>Zyu,winjsStackLineParser:()=>Gyu});var CZr,qyu,SZr;function Wyu(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return SZr&&r.length===qyu||(qyu=r.length,SZr=r.reduce((n,i)=>{CZr||(CZr={});let o=CZr[i];if(o)n[o[0]]=o[1];else{let s=e(i);for(let a=s.length-1;a>=0;a--){let u=s[a]?.filename,l=t[i];if(u&&l){n[u]=l,CZr[i]=[u,l];break}}}return n},{})),SZr}var q1y=4,BAs=class{constructor(t,r,n=[]){this.coercers=t,this.stackParser=r,this.modifiers=n}buildFromUnknown(t,r={}){let i=r&&r.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,r,0).apply(t),a=this.buildParsingContext(),c=this.parseStacktrace(s,a);return{$exception_list:this.convertToExceptionList(c,i),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&vAs(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let n;t.cause!=null&&(n=this.parseStacktrace(t.cause,r));let i;return t.stack!=""&&t.stack!=null&&(i=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?1:0),r.chunkIdMap)),{...t,cause:n,stack:i}}applyChunkIds(t,r){return t.map(n=>(n.filename&&r&&(n.chunk_id=r[n.filename]),n))}applyCoercers(t,r){for(let n of this.coercers)if(n.match(t))return n.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let n of this.modifiers)r=await n(r);return r}convertToExceptionList(t,r){let n={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(n.stacktrace={type:"raw",frames:t.stack});let i=[n];return t.cause!=null&&i.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),i}buildParsingContext(){return{chunkIdMap:Wyu(this.stackParser)}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=q1y){let c=this.buildCoercingContext(t,r,a);return this.applyCoercers(s,c)}};return{...r,syntheticException:n==0?r.syntheticException:void 0,mechanism:t,apply:s=>i(s,n),next:s=>i(s,n+1)}}};var wk="?";function OAe(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?wk:r,in_app:!0};return zFt(n)||(o.lineno=n),zFt(i)||(o.colno=i),o}var jZr=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:wk,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var W1y=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,G1y=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,H1y=/\((\S*)(?::(\d+))(?::(\d+))\)/,TAs=(e,t)=>{let r=W1y.exec(e);if(r){let[,i,o,s]=r;return OAe(t,i,wk,+o,+s)}let n=G1y.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=H1y.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=jZr(n[1]||wk,n[2]);return OAe(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var $1y=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,K1y=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,DAs=(e,t)=>{let r=$1y.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=K1y.exec(r[3]);s&&(r[1]=r[1]||"eval",r[3]=s[1],r[4]=s[2],r[5]="")}let i=r[3],o=r[1]||wk;return[o,i]=jZr(o,i),OAe(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var J1y=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,Gyu=(e,t)=>{let r=J1y.exec(e);return r?OAe(t,r[2],r[1]||wk,+r[3],r[4]?+r[4]:void 0):void 0};var Y1y=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,Hyu=(e,t)=>{let r=Y1y.exec(e);return r?OAe(t,r[2],r[3]||wk,+r[1]):void 0},X1y=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,$yu=(e,t)=>{let r=X1y.exec(e);return r?OAe(t,r[5],r[3]||r[4]||wk,+r[1],+r[2]):void 0};var Z1y=/^\s*[-]{4,}$/,eDy=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,Jyu=(e,t)=>{let r=e.match(eDy);if(r){let n,i,o,s,a;if(r[1]){o=r[1];let l=o.lastIndexOf(".");if(o[l-1]==="."&&l--,l>0){n=o.slice(0,l),i=o.slice(l+1);let p=n.indexOf(".Module");p>0&&(o=o.slice(p+1),n=n.slice(0,p))}s=void 0}i&&(s=n,a=i),i==="<anonymous>"&&(a=void 0,o=void 0),o===void 0&&(a=a||wk,o=s?`${s}.${a}`:a);let c=r[2]?.startsWith("file://")?r[2].slice(7):r[2],u=r[5]==="native";return c?.match(/\/[A-Z]:/)&&(c=c.slice(1)),!c&&r[5]&&!u&&(c=r[5]),{filename:c?decodeURI(c):void 0,module:void 0,function:o,lineno:Kyu(r[3]),colno:Kyu(r[4]),in_app:tDy(c||"",u),platform:t}}if(e.match(Z1y))return{filename:e,platform:t}};function tDy(e,t=!1){return!(t||e&&!e.startsWith("/")&&!e.match(/^[A-Z]:/)&&!e.startsWith(".")&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes("node_modules/")}function Kyu(e){return parseInt(e||"",10)||void 0}var Yyu=/\(error: (.*)\)/,Xyu=50;function Zyu(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,Xyu).map(r=>({...r,filename:r.filename||rDy(t).filename,function:r.function||wk}))}function rDy(e){return e[e.length-1]||{}}function nDy(){return egu("web:javascript",TAs,DAs)}function egu(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
|
|
1289
|
-
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=Yyu.test(a)?a.replace(Yyu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=Xyu)break}}return Zyu(i)}}var RAs=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=oEr(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rgt(t,"DOMException")}isDOMError(t){return rgt(t,"DOMError")}};var FAs=class{match(t){return EAs(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var NAs=class{constructor(){}match(t){return Pyu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var iDy=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,kAs=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(iDy);return i&&(r=i[1],n=i[2]),[r,n]}};var tgu=["fatal","error","warning","log","info","debug"];function BZr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var zAs=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return bZr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=BZr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return oEr(t)&&!wyu(t)&&tgu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(Myu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var QAs=class{match(t){return bZr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${BZr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var MAs=class{match(t){return sEr(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var VAs=class{match(t){return rgt(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return sEr(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(sEr(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var UAs=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var igu=require("fs"),ogu=require("readline"),TZr=new B3.ReduceableCache(25),sgu=new B3.ReduceableCache(20),LAs=7,oDy=1e3,sDy=1e4;async function agu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||lDy(s)||pDy(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(sgu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=mDy(o);if(s.every(c=>fDy(i,c)))continue;let a=dDy(TZr,i,{});n.push(aDy(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&cDy(e,TZr),TZr.reduce(),e}function aDy(e,t,r){return new Promise(n=>{let i=(0,igu.createReadStream)(e),o=(0,ogu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function m(){sgu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",m),o.on("error",m),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=hDy(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let h=t[c];if(h===void 0){o.close(),o.removeAllListeners();return}l=h[0],p=h[1]}})})}function cDy(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;uDy(r.lineno,r,n)}}function uDy(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=cgu(e);i<e;i++){let o=r[i];if(o===void 0)return void rgu(t);t.pre_context.push(o)}if(r[e]===void 0)return void rgu(t);t.context_line=r[e];let n=ugu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function rgu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function lDy(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function pDy(e){return e.lineno!==void 0&&e.lineno>sDy||e.colno!==void 0&&e.colno>oDy}function fDy(e,t){let r=TZr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function mDy(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=ngu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+LAs:(i.push(n),n=ngu(o)),t++}return i}function ngu(e){return[cgu(e),ugu(e)]}function cgu(e){return Math.max(1,e-LAs)}function ugu(e){return e+LAs}function dDy(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function hDy(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function yDy(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function lgu(e,t){globalThis.process?.on("uncaughtException",yDy(e,t))}function pgu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var gDy=2e3,Kae=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new _Zr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return Oyu(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||EAe(),properties:{...s,...o}}}startAutocaptureIfEnabled(){this.isEnabled()&&(lgu(this.onException.bind(this),this.onFatalError.bind(this)),pgu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(gDy),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var fgu="5.24.7";var lEr={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function mgu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var ADy=6e4,bDy=1152921504606847e3,_Dy=["is_not"],UFt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},TO=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wAe=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},DZr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0)try{s=(await this.computeFlagAndPayloadLocally(a,r,n,i,o)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof wAe||c instanceof TO?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}return s}async getAllFlagsAndPayloads(t,r={},n={},i={},o){await this.loadFeatureFlags();let s={},a={},c=this.featureFlags.length==0,u=o?o.map(p=>this.featureFlagsByKey[p]).filter(Boolean):this.featureFlags,l={};return await Promise.all(u.map(async p=>{try{let{value:m,payload:f}=await this.computeFlagAndPayloadLocally(p,t,r,n,i,void 0,l);s[p.key]=m,f&&(a[p.key]=f)}catch(m){m instanceof wAe||m instanceof TO?this.logMsgIfDebug(()=>console.debug(`${m.name} when computing flag locally: ${p.key}: ${m.message}`)):m instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${p.key}: ${m}`)),c=!0}})),{response:s,payloads:a,fallbackToFlags:c}}async computeFlagAndPayloadLocally(t,r,n={},i={},o={},s,a,c=!1){if(c||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let u;u=s!==void 0?s:await this.computeFlagValueLocally(t,r,n,i,o,a);let l=this.getFeatureFlagPayload(t.key,u);return{value:u,payload:l}}async computeFlagValueLocally(t,r,n={},i={},o={},s={}){if(t.ensure_experience_continuity)throw new TO("Flag has experience continuity enabled");if(!t.active)return!1;let c=(t.filters||{}).aggregation_group_type_index;if(c==null)return await this.matchFeatureFlagProperties(t,r,i,s);{let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new TO("Flag has unknown group type index");if(!(u in n))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let l=o[u];return await this.matchFeatureFlagProperties(t,n[u],l,s)}}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n,i){let o=t.key;if(!this.featureFlagsByKey)throw new TO("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new TO(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new TO(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new TO(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.matchFeatureFlagProperties(l,r,n,i);i[c]=p}catch(p){throw new TO(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new TO(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new TO(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i={}){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(m=>m.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof wAe)throw l;if(l instanceof TO)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new TO("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o={}){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?Agu(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,r,i,o):ggu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await dgu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await dgu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(ADy,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new UFt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new UFt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new UFt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof UFt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=ngt(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dgu(e,t,r=""){let n=await mgu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/bDy}function ggu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new TO("Operator is_not_set is not supported")}else throw new TO(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_Dy.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return hgu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return hgu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new TO("Date operations cannot be performed on boolean values");let u=EDy(String(i));if(u==null&&(u=ygu(i)),u==null)throw new TO(`Invalid date: ${i}`);let l=ygu(s);return["is_date_before"].includes(o)?l<u:l>u}default:throw new TO(`Unknown operator: ${o}`)}}function vDy(e,t){if(!(e in t))throw new wAe(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function Agu(e,t,r,n=!1){let i=String(e.value);vDy(i,r);let o=r[i];return bgu(o,t,r,n)}function bgu(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=bgu(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=Agu(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=ggu(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("can't match cohort without a given cohort property value");return i==="AND"}function hgu(e){try{return new RegExp(e),!0}catch{return!1}}function ygu(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new TO(`${e} is in an invalid date format`)}throw new TO(`The date provided ${e} must be a string, number, or date object`)}function EDy(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var RZr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var ODy=100,_gu=3e4,wDy=5e4,FZr=class extends uEr{constructor(t,r={}){if(super(t,r),this._memoryStorage=new RZr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,ODy):_gu,r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new DZr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new Kae(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wDy}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return fgu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=_gu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let E=this._flagOverrides[t];if(E===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:E!==!1,variant:typeof E=="string"?E:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties,c==null&&(c=this.options.strictLocalEvaluation??!1);let m,f=!1,h,y,g,A,b,v;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let E=this.featureFlagsPoller?.featureFlagsByKey[t];if(E)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(E,r,s,u,l,i);if(O){f=!0;let P=O.value;A=E.id,v="Evaluated locally",m={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof wAe||O instanceof TO)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!f&&!c){let E=await super.getFeatureFlagDetailsStateless(r,s,u,l,a,[t]);if(E===void 0)g=lEr.UNKNOWN_ERROR;else{h=E.requestId,y=E.evaluatedAt;let O=[];E.errorsWhileComputingFlags&&O.push(lEr.ERRORS_WHILE_COMPUTING),E.quotaLimited?.includes("feature_flags")&&O.push(lEr.QUOTA_LIMITED);let P=E.flags[t];if(P===void 0)O.push(lEr.FLAG_MISSING);else{A=P.metadata?.id,b=P.metadata?.version,v=P.reason?.description??P.reason?.code;let x;if(P.metadata?.payload!==void 0)try{x=JSON.parse(P.metadata.payload)}catch{x=P.metadata.payload}m={key:t,enabled:P.enabled,variant:P.variant,payload:x}}O.length>0&&(g=O.join(","))}}if(o){let E=m===void 0?void 0:m.enabled===!1?!1:m.variant??!0,O=`${t}_${E}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let P={$feature_flag:t,$feature_flag_response:E,$feature_flag_id:A,$feature_flag_version:b,$feature_flag_reason:v,locally_evaluated:f,[`$feature/${t}`]:E,$feature_flag_request_id:h,$feature_flag_evaluated_at:y};g&&(P.$feature_flag_error=g),this.capture({distinctId:r,event:"$feature_flag_called",properties:P,groups:s,disableGeoip:a})}}return m!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(m={...m,payload:this._payloadOverrides[t]}),m}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){return this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:n,disableGeoip:i,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:a,groupProperties:c}=r||{},u=this.addLocalPersonAndGroupProperties(t,n,a,c);a=u.allPersonProperties,c=u.allGroupProperties,s==null&&(s=this.options.strictLocalEvaluation??!1);let l=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,n,a,c,o),p={},m={},f=!0;if(l&&(p=l.response,m=l.payloads,f=l.fallbackToFlags),f&&!s){let h=await super.getFeatureFlagsAndPayloadsStateless(t,n,a,c,i,o);p={...p,...h.flags||{}},m={...m,...h.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=ngt(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(Iyu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}captureException(t,r,n,i){if(!Kae.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!Kae.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,m={...l?.properties||{},...i||{}};p||(p=EAe(),m.$process_person_profile=!1),l?.sessionId&&!m.$session_id&&(m.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:m,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(s){let y=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,y)}return f.event,{}}).then(y=>{let g={};if(y)for(let[b,v]of Object.entries(y))g[`$feature/${b}`]=v;let A=Object.keys(y||{}).filter(b=>y?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(y=>({...y,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vyu(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",h.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:h,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var vgu=require("async_hooks"),NZr=class{constructor(){this.storage=new vgu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){if(n?.fresh===!0)return this.storage.run(t,r);{let o=this.get()||{},s={distinctId:t.distinctId??o.distinctId,sessionId:t.sessionId??o.sessionId,properties:{...o.properties||{},...t.properties||{}}};return this.storage.run(s,r)}}};var Egu="posthog-node";function xDy(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[qAs.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],m=p.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:m,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var qAs=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=Egu,this.name=Egu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(xDy(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};Kae.errorPropertiesBuilder=new B3.ErrorPropertiesBuilder([new B3.EventCoercer,new B3.ErrorCoercer,new B3.ObjectCoercer,new B3.StringCoercer,new B3.PrimitiveCoercer],B3.createStackParser("node:javascript",B3.nodeStackLineParser),[yyu(),agu]);var LFt=class extends FZr{getLibraryId(){return"posthog-node"}initializeContext(){return new NZr}};var kZr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new LFt(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.85.2",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var pEr=class{async sendEvent(){}async identify(){}async flush(){}};var qFt=require("fs/promises"),Igu=require("os"),Cgu=require("path");var Ogu=He(require("crypto")),QZr=new Uint8Array(256),zZr=QZr.length;function WAs(){return zZr>QZr.length-16&&(Ogu.default.randomFillSync(QZr),zZr=0),QZr.slice(zZr,zZr+=16)}var wgu=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PDy(e){return typeof e=="string"&&wgu.test(e)}var GAs=PDy;var xk=[];for(let e=0;e<256;++e)xk.push((e+256).toString(16).slice(1));function xgu(e,t=0){return xk[e[t+0]]+xk[e[t+1]]+xk[e[t+2]]+xk[e[t+3]]+"-"+xk[e[t+4]]+xk[e[t+5]]+"-"+xk[e[t+6]]+xk[e[t+7]]+"-"+xk[e[t+8]]+xk[e[t+9]]+"-"+xk[e[t+10]]+xk[e[t+11]]+xk[e[t+12]]+xk[e[t+13]]+xk[e[t+14]]+xk[e[t+15]]}var Pgu=He(require("crypto")),HAs={randomUUID:Pgu.default.randomUUID};function IDy(e,t,r){if(HAs.randomUUID&&!t&&!e)return HAs.randomUUID();e=e||{};let n=e.random||(e.rng||WAs)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return xgu(n)}var wD=IDy;var CDy="id",SDy=".fern",fEr=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new LFt(r),this.userId=t==null?void 0:Sps(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.85.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 PI({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Pt(Ar.of((0,Igu.homedir)()),Ke.of(SDy),Ke.of(CDy));await qr(t)||(await(0,qFt.mkdir)((0,Cgu.dirname)(t),{recursive:!0}),await(0,qFt.writeFile)(t,wD())),this.persistedDistinctId=(await(0,qFt.readFile)(t)).toString()}return this.persistedDistinctId}};var $As;async function WFt(){return $As==null&&($As=await jDy()),$As}async function jDy(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new pEr;let r=await rHr();return r!=null?new fEr({token:r,posthogApiKey:e}):await nAe()!=null?new kZr({posthogApiKey:e}):new fEr({token:void 0,posthogApiKey:e})}catch{return new pEr}}function mEr(e,t){return function(){return e.apply(t,arguments)}}var{toString:BDy}=Object.prototype,{getPrototypeOf:JAs}=Object,{iterator:VZr,toStringTag:jgu}=Symbol,UZr=(e=>t=>{let r=BDy.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Jae=e=>(e=e.toLowerCase(),t=>UZr(t)===e),LZr=e=>t=>typeof t===e,{isArray:HFt}=Array,GFt=LZr("undefined");function dEr(e){return e!==null&&!GFt(e)&&e.constructor!==null&&!GFt(e.constructor)&&T3(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Bgu=Jae("ArrayBuffer");function TDy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Bgu(e.buffer),t}var DDy=LZr("string"),T3=LZr("function"),Tgu=LZr("number"),hEr=e=>e!==null&&typeof e=="object",RDy=e=>e===!0||e===!1,MZr=e=>{if(UZr(e)!=="object")return!1;let t=JAs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(jgu in e)&&!(VZr in e)},FDy=e=>{if(!hEr(e)||dEr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},NDy=Jae("Date"),kDy=Jae("File"),zDy=Jae("Blob"),QDy=Jae("FileList"),MDy=e=>hEr(e)&&T3(e.pipe),VDy=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T3(e.append)&&((t=UZr(e))==="formdata"||t==="object"&&T3(e.toString)&&e.toString()==="[object FormData]"))},UDy=Jae("URLSearchParams"),[LDy,qDy,WDy,GDy]=["ReadableStream","Request","Response","Headers"].map(Jae),HDy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yEr(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),HFt(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{if(dEr(e))return;let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function Dgu(e,t){if(dEr(e))return null;t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var ogt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rgu=e=>!GFt(e)&&e!==ogt;function KAs(){let{caseless:e,skipUndefined:t}=Rgu(this)&&this||{},r={},n=(i,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;let s=e&&Dgu(r,o)||o;MZr(r[s])&&MZr(i)?r[s]=KAs(r[s],i):MZr(i)?r[s]=KAs({},i):HFt(i)?r[s]=i.slice():(!t||!GFt(i))&&(r[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&yEr(arguments[i],n);return r}var $Dy=(e,t,r,{allOwnKeys:n}={})=>(yEr(t,(i,o)=>{r&&T3(i)?Object.defineProperty(e,o,{value:mEr(i,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),KDy=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JDy=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},YDy=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&JAs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},XDy=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ZDy=e=>{if(!e)return null;if(HFt(e))return e;let t=e.length;if(!Tgu(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},eRy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&JAs(Uint8Array)),tRy=(e,t)=>{let n=(e&&e[VZr]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},rRy=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},nRy=Jae("HTMLFormElement"),iRy=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),Sgu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),oRy=Jae("RegExp"),Fgu=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};yEr(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},sRy=e=>{Fgu(e,(t,r)=>{if(T3(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(T3(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aRy=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return HFt(e)?n(e):n(String(e).split(t)),r},cRy=()=>{},uRy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function lRy(e){return!!(e&&T3(e.append)&&e[jgu]==="FormData"&&e[VZr])}var pRy=e=>{let t=new Array(10),r=(n,i)=>{if(hEr(n)){if(t.indexOf(n)>=0)return;if(dEr(n))return n;if(!("toJSON"in n)){t[i]=n;let o=HFt(n)?[]:{};return yEr(n,(s,a)=>{let c=r(s,i+1);!GFt(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},fRy=Jae("AsyncFunction"),mRy=e=>e&&(hEr(e)||T3(e))&&T3(e.then)&&T3(e.catch),Ngu=((e,t)=>e?setImmediate:t?((r,n)=>(ogt.addEventListener("message",({source:i,data:o})=>{i===ogt&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),ogt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",T3(ogt.postMessage)),dRy=typeof queueMicrotask<"u"?queueMicrotask.bind(ogt):typeof process<"u"&&process.nextTick||Ngu,hRy=e=>e!=null&&T3(e[VZr]),vr={isArray:HFt,isArrayBuffer:Bgu,isBuffer:dEr,isFormData:VDy,isArrayBufferView:TDy,isString:DDy,isNumber:Tgu,isBoolean:RDy,isObject:hEr,isPlainObject:MZr,isEmptyObject:FDy,isReadableStream:LDy,isRequest:qDy,isResponse:WDy,isHeaders:GDy,isUndefined:GFt,isDate:NDy,isFile:kDy,isBlob:zDy,isRegExp:oRy,isFunction:T3,isStream:MDy,isURLSearchParams:UDy,isTypedArray:eRy,isFileList:QDy,forEach:yEr,merge:KAs,extend:$Dy,trim:HDy,stripBOM:KDy,inherits:JDy,toFlatObject:YDy,kindOf:UZr,kindOfTest:Jae,endsWith:XDy,toArray:ZDy,forEachEntry:tRy,matchAll:rRy,isHTMLForm:nRy,hasOwnProperty:Sgu,hasOwnProp:Sgu,reduceDescriptors:Fgu,freezeMethods:sRy,toObjectSet:aRy,toCamelCase:iRy,noop:cRy,toFiniteNumber:uRy,findKey:Dgu,global:ogt,isContextDefined:Rgu,isSpecCompliantForm:lRy,toJSONObject:pRy,isAsyncFn:fRy,isThenable:mRy,setImmediate:Ngu,asap:dRy,isIterable:hRy};var cV=class e extends Error{static from(t,r,n,i,o,s){let a=new e(t.message,r||t.code,n,i,o);return a.cause=t,a.name=t.name,s&&Object.assign(a,s),a}constructor(t,r,n,i,o){super(t),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),i&&(this.request=i),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:vr.toJSONObject(this.config),code:this.code,status:this.status}}};cV.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";cV.ERR_BAD_OPTION="ERR_BAD_OPTION";cV.ECONNABORTED="ECONNABORTED";cV.ETIMEDOUT="ETIMEDOUT";cV.ERR_NETWORK="ERR_NETWORK";cV.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";cV.ERR_DEPRECATED="ERR_DEPRECATED";cV.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";cV.ERR_BAD_REQUEST="ERR_BAD_REQUEST";cV.ERR_CANCELED="ERR_CANCELED";cV.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";cV.ERR_INVALID_URL="ERR_INVALID_URL";var ps=cV;var kgu=He(yht(),1),qZr=kgu.default;function YAs(e){return vr.isPlainObject(e)||vr.isArray(e)}function Qgu(e){return vr.endsWith(e,"[]")?e.slice(0,-2):e}function zgu(e,t,r){return e?e.concat(t).map(function(i,o){return i=Qgu(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function yRy(e){return vr.isArray(e)&&!e.some(YAs)}var gRy=vr.toFlatObject(vr,{},null,function(t){return/^is[A-Z]/.test(t)});function ARy(e,t,r){if(!vr.isObject(e))throw new TypeError("target must be an object");t=t||new(qZr||FormData),r=vr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,g){return!vr.isUndefined(g[y])});let n=r.metaTokens,i=r.visitor||l,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&vr.isSpecCompliantForm(t);if(!vr.isFunction(i))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(vr.isDate(h))return h.toISOString();if(vr.isBoolean(h))return h.toString();if(!c&&vr.isBlob(h))throw new ps("Blob is not supported. Use a Buffer instead.");return vr.isArrayBuffer(h)||vr.isTypedArray(h)?c&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function l(h,y,g){let A=h;if(h&&!g&&typeof h=="object"){if(vr.endsWith(y,"{}"))y=n?y:y.slice(0,-2),h=JSON.stringify(h);else if(vr.isArray(h)&&yRy(h)||(vr.isFileList(h)||vr.endsWith(y,"[]"))&&(A=vr.toArray(h)))return y=Qgu(y),A.forEach(function(v,_){!(vr.isUndefined(v)||v===null)&&t.append(s===!0?zgu([y],_,o):s===null?y:y+"[]",u(v))}),!1}return YAs(h)?!0:(t.append(zgu(g,y,o),u(h)),!1)}let p=[],m=Object.assign(gRy,{defaultVisitor:l,convertValue:u,isVisitable:YAs});function f(h,y){if(!vr.isUndefined(h)){if(p.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(h),vr.forEach(h,function(A,b){(!(vr.isUndefined(A)||A===null)&&i.call(t,A,vr.isString(b)?b.trim():b,y,m))===!0&&f(A,y?y.concat(b):[b])}),p.pop()}}if(!vr.isObject(e))throw new TypeError("data must be an object");return f(e),t}var n8e=ARy;function Mgu(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Vgu(e,t){this._pairs=[],e&&n8e(e,this,t)}var Ugu=Vgu.prototype;Ugu.append=function(t,r){this._pairs.push([t,r])};Ugu.toString=function(t){let r=t?function(n){return t.call(this,n,Mgu)}:Mgu;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var Lgu=Vgu;function bRy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sgt(e,t,r){if(!t)return e;let n=r&&r.encode||bRy,i=vr.isFunction(r)?{serialize:r}:r,o=i&&i.serialize,s;if(o?s=o(t,i):s=vr.isURLSearchParams(t)?t.toString():new Lgu(t,i).toString(n),s){let a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}var XAs=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){vr.forEach(this.handlers,function(n){n!==null&&t(n)})}},ZAs=XAs;var i8e={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var Hgu=He(require("crypto"),1);var qgu=He(require("url"),1),Wgu=qgu.default.URLSearchParams;var ebs="abcdefghijklmnopqrstuvwxyz",Ggu="0123456789",$gu={DIGIT:Ggu,ALPHA:ebs,ALPHA_DIGIT:ebs+ebs.toUpperCase()+Ggu},_Ry=(e=16,t=$gu.ALPHA_DIGIT)=>{let r="",{length:n}=t,i=new Uint32Array(e);Hgu.default.randomFillSync(i);for(let o=0;o<e;o++)r+=t[i[o]%n];return r},Kgu={isNode:!0,classes:{URLSearchParams:Wgu,FormData:qZr,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:$gu,generateString:_Ry,protocols:["http","https","file","data"]};var nbs={};D(nbs,{hasBrowserEnv:()=>rbs,hasStandardBrowserEnv:()=>vRy,hasStandardBrowserWebWorkerEnv:()=>ERy,navigator:()=>tbs,origin:()=>ORy});var rbs=typeof window<"u"&&typeof document<"u",tbs=typeof navigator=="object"&&navigator||void 0,vRy=rbs&&(!tbs||["ReactNative","NativeScript","NS"].indexOf(tbs.product)<0),ERy=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ORy=rbs&&window.location.href||"http://localhost";var ev={...nbs,...Kgu};function ibs(e,t){return n8e(e,new ev.classes.URLSearchParams,{visitor:function(r,n,i,o){return ev.isNode&&vr.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function wRy(e){return vr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function xRy(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function PRy(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&vr.isArray(i)?i.length:s,c?(vr.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!vr.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&vr.isArray(i[s])&&(i[s]=xRy(i[s])),!a)}if(vr.isFormData(e)&&vr.isFunction(e.entries)){let r={};return vr.forEachEntry(e,(n,i)=>{t(wRy(n),i,r,0)}),r}return null}var WZr=PRy;function IRy(e,t,r){if(vr.isString(e))try{return(t||JSON.parse)(e),vr.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var obs={transitional:i8e,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=vr.isObject(t);if(o&&vr.isHTMLForm(t)&&(t=new FormData(t)),vr.isFormData(t))return i?JSON.stringify(WZr(t)):t;if(vr.isArrayBuffer(t)||vr.isBuffer(t)||vr.isStream(t)||vr.isFile(t)||vr.isBlob(t)||vr.isReadableStream(t))return t;if(vr.isArrayBufferView(t))return t.buffer;if(vr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ibs(t,this.formSerializer).toString();if((a=vr.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return n8e(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),IRy(t)):t}],transformResponse:[function(t){let r=this.transitional||obs.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(vr.isResponse(t)||vr.isReadableStream(t))return t;if(t&&vr.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?ps.from(a,ps.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ev.classes.FormData,Blob:ev.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};vr.forEach(["delete","get","head","post","put","patch"],e=>{obs.headers[e]={}});var $Ft=obs;var CRy=vr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Jgu=e=>{let t={},r,n,i;return e&&e.split(`
|
|
1289
|
+
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=Yyu.test(a)?a.replace(Yyu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=Xyu)break}}return Zyu(i)}}var RAs=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=oEr(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rgt(t,"DOMException")}isDOMError(t){return rgt(t,"DOMError")}};var FAs=class{match(t){return EAs(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var NAs=class{constructor(){}match(t){return Pyu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var iDy=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,kAs=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(iDy);return i&&(r=i[1],n=i[2]),[r,n]}};var tgu=["fatal","error","warning","log","info","debug"];function BZr(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var zAs=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return bZr(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=BZr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return oEr(t)&&!wyu(t)&&tgu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(Myu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var QAs=class{match(t){return bZr(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${BZr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var MAs=class{match(t){return sEr(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var VAs=class{match(t){return rgt(t,"PromiseRejectionEvent")}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return sEr(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){if(sEr(t))return t;try{if("reason"in t)return t.reason;if("detail"in t&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var UAs=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var igu=require("fs"),ogu=require("readline"),TZr=new B3.ReduceableCache(25),sgu=new B3.ReduceableCache(20),LAs=7,oDy=1e3,sDy=1e4;async function agu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||lDy(s)||pDy(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(sgu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=mDy(o);if(s.every(c=>fDy(i,c)))continue;let a=dDy(TZr,i,{});n.push(aDy(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&cDy(e,TZr),TZr.reduce(),e}function aDy(e,t,r){return new Promise(n=>{let i=(0,igu.createReadStream)(e),o=(0,ogu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function m(){sgu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",m),o.on("error",m),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=hDy(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let h=t[c];if(h===void 0){o.close(),o.removeAllListeners();return}l=h[0],p=h[1]}})})}function cDy(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;uDy(r.lineno,r,n)}}function uDy(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=cgu(e);i<e;i++){let o=r[i];if(o===void 0)return void rgu(t);t.pre_context.push(o)}if(r[e]===void 0)return void rgu(t);t.context_line=r[e];let n=ugu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function rgu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function lDy(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function pDy(e){return e.lineno!==void 0&&e.lineno>sDy||e.colno!==void 0&&e.colno>oDy}function fDy(e,t){let r=TZr.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function mDy(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=ngu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+LAs:(i.push(n),n=ngu(o)),t++}return i}function ngu(e){return[cgu(e),ugu(e)]}function cgu(e){return Math.max(1,e-LAs)}function ugu(e){return e+LAs}function dDy(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function hDy(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function yDy(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function lgu(e,t){globalThis.process?.on("uncaughtException",yDy(e,t))}function pgu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var gDy=2e3,Kae=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new _Zr({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return Oyu(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i};n||(o.$process_person_profile=!1);let s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n||EAe(),properties:{...s,...o}}}startAutocaptureIfEnabled(){this.isEnabled()&&(lgu(this.onException.bind(this),this.onFatalError.bind(this)),pgu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(gDy),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var fgu="5.24.7";var lEr={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function mgu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var ADy=6e4,bDy=1152921504606847e3,_Dy=["is_not"],UFt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},TO=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wAe=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},DZr=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0)try{s=(await this.computeFlagAndPayloadLocally(a,r,n,i,o)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(c){c instanceof wAe||c instanceof TO?this.logMsgIfDebug(()=>console.debug(`${c.name} when computing flag locally: ${t}: ${c.message}`)):c instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${c}`))}return s}async getAllFlagsAndPayloads(t,r={},n={},i={},o){await this.loadFeatureFlags();let s={},a={},c=this.featureFlags.length==0,u=o?o.map(p=>this.featureFlagsByKey[p]).filter(Boolean):this.featureFlags,l={};return await Promise.all(u.map(async p=>{try{let{value:m,payload:f}=await this.computeFlagAndPayloadLocally(p,t,r,n,i,void 0,l);s[p.key]=m,f&&(a[p.key]=f)}catch(m){m instanceof wAe||m instanceof TO?this.logMsgIfDebug(()=>console.debug(`${m.name} when computing flag locally: ${p.key}: ${m.message}`)):m instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${p.key}: ${m}`)),c=!0}})),{response:s,payloads:a,fallbackToFlags:c}}async computeFlagAndPayloadLocally(t,r,n={},i={},o={},s,a,c=!1){if(c||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let u;u=s!==void 0?s:await this.computeFlagValueLocally(t,r,n,i,o,a);let l=this.getFeatureFlagPayload(t.key,u);return{value:u,payload:l}}async computeFlagValueLocally(t,r,n={},i={},o={},s={}){if(t.ensure_experience_continuity)throw new TO("Flag has experience continuity enabled");if(!t.active)return!1;let c=(t.filters||{}).aggregation_group_type_index;if(c==null)return await this.matchFeatureFlagProperties(t,r,i,s);{let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new TO("Flag has unknown group type index");if(!(u in n))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let l=o[u];return await this.matchFeatureFlagProperties(t,n[u],l,s)}}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n,i){let o=t.key;if(!this.featureFlagsByKey)throw new TO("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new TO(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new TO(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new TO(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.matchFeatureFlagProperties(l,r,n,i);i[c]=p}catch(p){throw new TO(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new TO(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new TO(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i={}){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(m=>m.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof wAe)throw l;if(l instanceof TO)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new TO("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o={}){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?Agu(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,r,i,o):ggu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await dgu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await dgu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(ADy,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new UFt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new UFt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new UFt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof UFt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=ngt(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function dgu(e,t,r=""){let n=await mgu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/bDy}function ggu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new TO("Operator is_not_set is not supported")}else throw new TO(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!_Dy.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return hgu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return hgu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new TO("Date operations cannot be performed on boolean values");let u=EDy(String(i));if(u==null&&(u=ygu(i)),u==null)throw new TO(`Invalid date: ${i}`);let l=ygu(s);return["is_date_before"].includes(o)?l<u:l>u}default:throw new TO(`Unknown operator: ${o}`)}}function vDy(e,t){if(!(e in t))throw new wAe(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function Agu(e,t,r,n=!1){let i=String(e.value);vDy(i,r);let o=r[i];return bgu(o,t,r,n)}function bgu(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=bgu(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=Agu(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=ggu(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof wAe)throw c;if(c instanceof TO)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new TO("can't match cohort without a given cohort property value");return i==="AND"}function hgu(e){try{return new RegExp(e),!0}catch{return!1}}function ygu(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new TO(`${e} is in an invalid date format`)}throw new TO(`The date provided ${e} must be a string, number, or date object`)}function EDy(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var RZr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var ODy=100,_gu=3e4,wDy=5e4,FZr=class extends uEr{constructor(t,r={}){if(super(t,r),this._memoryStorage=new RZr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,ODy):_gu,r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new DZr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new Kae(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wDy}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return fgu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=_gu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let E=this._flagOverrides[t];if(E===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:E!==!1,variant:typeof E=="string"?E:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties,c==null&&(c=this.options.strictLocalEvaluation??!1);let m,f=!1,h,y,g,A,b,v;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let E=this.featureFlagsPoller?.featureFlagsByKey[t];if(E)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(E,r,s,u,l,i);if(O){f=!0;let P=O.value;A=E.id,v="Evaluated locally",m={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof wAe||O instanceof TO)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!f&&!c){let E=await super.getFeatureFlagDetailsStateless(r,s,u,l,a,[t]);if(E===void 0)g=lEr.UNKNOWN_ERROR;else{h=E.requestId,y=E.evaluatedAt;let O=[];E.errorsWhileComputingFlags&&O.push(lEr.ERRORS_WHILE_COMPUTING),E.quotaLimited?.includes("feature_flags")&&O.push(lEr.QUOTA_LIMITED);let P=E.flags[t];if(P===void 0)O.push(lEr.FLAG_MISSING);else{A=P.metadata?.id,b=P.metadata?.version,v=P.reason?.description??P.reason?.code;let x;if(P.metadata?.payload!==void 0)try{x=JSON.parse(P.metadata.payload)}catch{x=P.metadata.payload}m={key:t,enabled:P.enabled,variant:P.variant,payload:x}}O.length>0&&(g=O.join(","))}}if(o){let E=m===void 0?void 0:m.enabled===!1?!1:m.variant??!0,O=`${t}_${E}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let P={$feature_flag:t,$feature_flag_response:E,$feature_flag_id:A,$feature_flag_version:b,$feature_flag_reason:v,locally_evaluated:f,[`$feature/${t}`]:E,$feature_flag_request_id:h,$feature_flag_evaluated_at:y};g&&(P.$feature_flag_error=g),this.capture({distinctId:r,event:"$feature_flag_called",properties:P,groups:s,disableGeoip:a})}}return m!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(m={...m,payload:this._payloadOverrides[t]}),m}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){return this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0})}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:n,disableGeoip:i,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:a,groupProperties:c}=r||{},u=this.addLocalPersonAndGroupProperties(t,n,a,c);a=u.allPersonProperties,c=u.allGroupProperties,s==null&&(s=this.options.strictLocalEvaluation??!1);let l=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,n,a,c,o),p={},m={},f=!0;if(l&&(p=l.response,m=l.payloads,f=l.fallbackToFlags),f&&!s){let h=await super.getFeatureFlagsAndPayloadsStateless(t,n,a,c,i,o);p={...p,...h.flags||{}},m={...m,...h.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown(),super._shutdown(t)}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=ngt(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(Iyu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}captureException(t,r,n,i){if(!Kae.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!Kae.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");this.addPendingPromise(Kae.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,m={...l?.properties||{},...i||{}};p||(p=EAe(),m.$process_person_profile=!1),l?.sessionId&&!m.$session_id&&(m.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:m,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let h=await Promise.resolve().then(async()=>{if(s){let y=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,y)}return f.event,{}}).then(y=>{let g={};if(y)for(let[b,v]of Object.entries(y))g[`$feature/${b}`]=v;let A=Object.keys(y||{}).filter(b=>y?.[b]!==!1).sort();return A.length>0&&(g.$active_feature_flags=A),g}).catch(()=>({})).then(y=>({...y,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof h.$raw_user_agent=="string"&&vyu(h.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",h.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:h,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var vgu=require("async_hooks"),NZr=class{constructor(){this.storage=new vgu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){if(n?.fresh===!0)return this.storage.run(t,r);{let o=this.get()||{},s={distinctId:t.distinctId??o.distinctId,sessionId:t.sessionId??o.sessionId,properties:{...o.properties||{},...t.properties||{}}};return this.storage.run(s,r)}}};var Egu="posthog-node";function xDy(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[qAs.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],m=p.map(h=>({...h,stacktrace:h.stacktrace?{...h.stacktrace,type:"raw",frames:(h.stacktrace.frames||[]).map(y=>({...y,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:m,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var qAs=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=Egu,this.name=Egu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(xDy(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};Kae.errorPropertiesBuilder=new B3.ErrorPropertiesBuilder([new B3.EventCoercer,new B3.ErrorCoercer,new B3.ObjectCoercer,new B3.StringCoercer,new B3.PrimitiveCoercer],B3.createStackParser("node:javascript",B3.nodeStackLineParser),[yyu(),agu]);var LFt=class extends FZr{getLibraryId(){return"posthog-node"}initializeContext(){return new NZr}};var kZr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new LFt(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.85.4",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var pEr=class{async sendEvent(){}async identify(){}async flush(){}};var qFt=require("fs/promises"),Igu=require("os"),Cgu=require("path");var Ogu=He(require("crypto")),QZr=new Uint8Array(256),zZr=QZr.length;function WAs(){return zZr>QZr.length-16&&(Ogu.default.randomFillSync(QZr),zZr=0),QZr.slice(zZr,zZr+=16)}var wgu=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PDy(e){return typeof e=="string"&&wgu.test(e)}var GAs=PDy;var xk=[];for(let e=0;e<256;++e)xk.push((e+256).toString(16).slice(1));function xgu(e,t=0){return xk[e[t+0]]+xk[e[t+1]]+xk[e[t+2]]+xk[e[t+3]]+"-"+xk[e[t+4]]+xk[e[t+5]]+"-"+xk[e[t+6]]+xk[e[t+7]]+"-"+xk[e[t+8]]+xk[e[t+9]]+"-"+xk[e[t+10]]+xk[e[t+11]]+xk[e[t+12]]+xk[e[t+13]]+xk[e[t+14]]+xk[e[t+15]]}var Pgu=He(require("crypto")),HAs={randomUUID:Pgu.default.randomUUID};function IDy(e,t,r){if(HAs.randomUUID&&!t&&!e)return HAs.randomUUID();e=e||{};let n=e.random||(e.rng||WAs)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return xgu(n)}var wD=IDy;var CDy="id",SDy=".fern",fEr=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new LFt(r),this.userId=t==null?void 0:Sps(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.85.4",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{}}})}async flush(){await this.posthog.flush()}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await PI({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Pt(Ar.of((0,Igu.homedir)()),Ke.of(SDy),Ke.of(CDy));await qr(t)||(await(0,qFt.mkdir)((0,Cgu.dirname)(t),{recursive:!0}),await(0,qFt.writeFile)(t,wD())),this.persistedDistinctId=(await(0,qFt.readFile)(t)).toString()}return this.persistedDistinctId}};var $As;async function WFt(){return $As==null&&($As=await jDy()),$As}async function jDy(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new pEr;let r=await rHr();return r!=null?new fEr({token:r,posthogApiKey:e}):await nAe()!=null?new kZr({posthogApiKey:e}):new fEr({token:void 0,posthogApiKey:e})}catch{return new pEr}}function mEr(e,t){return function(){return e.apply(t,arguments)}}var{toString:BDy}=Object.prototype,{getPrototypeOf:JAs}=Object,{iterator:VZr,toStringTag:jgu}=Symbol,UZr=(e=>t=>{let r=BDy.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Jae=e=>(e=e.toLowerCase(),t=>UZr(t)===e),LZr=e=>t=>typeof t===e,{isArray:HFt}=Array,GFt=LZr("undefined");function dEr(e){return e!==null&&!GFt(e)&&e.constructor!==null&&!GFt(e.constructor)&&T3(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Bgu=Jae("ArrayBuffer");function TDy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Bgu(e.buffer),t}var DDy=LZr("string"),T3=LZr("function"),Tgu=LZr("number"),hEr=e=>e!==null&&typeof e=="object",RDy=e=>e===!0||e===!1,MZr=e=>{if(UZr(e)!=="object")return!1;let t=JAs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(jgu in e)&&!(VZr in e)},FDy=e=>{if(!hEr(e)||dEr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},NDy=Jae("Date"),kDy=Jae("File"),zDy=Jae("Blob"),QDy=Jae("FileList"),MDy=e=>hEr(e)&&T3(e.pipe),VDy=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T3(e.append)&&((t=UZr(e))==="formdata"||t==="object"&&T3(e.toString)&&e.toString()==="[object FormData]"))},UDy=Jae("URLSearchParams"),[LDy,qDy,WDy,GDy]=["ReadableStream","Request","Response","Headers"].map(Jae),HDy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yEr(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),HFt(e))for(n=0,i=e.length;n<i;n++)t.call(null,e[n],n,e);else{if(dEr(e))return;let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function Dgu(e,t){if(dEr(e))return null;t=t.toLowerCase();let r=Object.keys(e),n=r.length,i;for(;n-- >0;)if(i=r[n],t===i.toLowerCase())return i;return null}var ogt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Rgu=e=>!GFt(e)&&e!==ogt;function KAs(){let{caseless:e,skipUndefined:t}=Rgu(this)&&this||{},r={},n=(i,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;let s=e&&Dgu(r,o)||o;MZr(r[s])&&MZr(i)?r[s]=KAs(r[s],i):MZr(i)?r[s]=KAs({},i):HFt(i)?r[s]=i.slice():(!t||!GFt(i))&&(r[s]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&yEr(arguments[i],n);return r}var $Dy=(e,t,r,{allOwnKeys:n}={})=>(yEr(t,(i,o)=>{r&&T3(i)?Object.defineProperty(e,o,{value:mEr(i,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),KDy=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JDy=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},YDy=(e,t,r,n)=>{let i,o,s,a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&JAs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},XDy=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ZDy=e=>{if(!e)return null;if(HFt(e))return e;let t=e.length;if(!Tgu(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},eRy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&JAs(Uint8Array)),tRy=(e,t)=>{let n=(e&&e[VZr]).call(e),i;for(;(i=n.next())&&!i.done;){let o=i.value;t.call(e,o[0],o[1])}},rRy=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},nRy=Jae("HTMLFormElement"),iRy=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),Sgu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),oRy=Jae("RegExp"),Fgu=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};yEr(r,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(n[o]=s||i)}),Object.defineProperties(e,n)},sRy=e=>{Fgu(e,(t,r)=>{if(T3(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(T3(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aRy=(e,t)=>{let r={},n=i=>{i.forEach(o=>{r[o]=!0})};return HFt(e)?n(e):n(String(e).split(t)),r},cRy=()=>{},uRy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function lRy(e){return!!(e&&T3(e.append)&&e[jgu]==="FormData"&&e[VZr])}var pRy=e=>{let t=new Array(10),r=(n,i)=>{if(hEr(n)){if(t.indexOf(n)>=0)return;if(dEr(n))return n;if(!("toJSON"in n)){t[i]=n;let o=HFt(n)?[]:{};return yEr(n,(s,a)=>{let c=r(s,i+1);!GFt(c)&&(o[a]=c)}),t[i]=void 0,o}}return n};return r(e,0)},fRy=Jae("AsyncFunction"),mRy=e=>e&&(hEr(e)||T3(e))&&T3(e.then)&&T3(e.catch),Ngu=((e,t)=>e?setImmediate:t?((r,n)=>(ogt.addEventListener("message",({source:i,data:o})=>{i===ogt&&o===r&&n.length&&n.shift()()},!1),i=>{n.push(i),ogt.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",T3(ogt.postMessage)),dRy=typeof queueMicrotask<"u"?queueMicrotask.bind(ogt):typeof process<"u"&&process.nextTick||Ngu,hRy=e=>e!=null&&T3(e[VZr]),vr={isArray:HFt,isArrayBuffer:Bgu,isBuffer:dEr,isFormData:VDy,isArrayBufferView:TDy,isString:DDy,isNumber:Tgu,isBoolean:RDy,isObject:hEr,isPlainObject:MZr,isEmptyObject:FDy,isReadableStream:LDy,isRequest:qDy,isResponse:WDy,isHeaders:GDy,isUndefined:GFt,isDate:NDy,isFile:kDy,isBlob:zDy,isRegExp:oRy,isFunction:T3,isStream:MDy,isURLSearchParams:UDy,isTypedArray:eRy,isFileList:QDy,forEach:yEr,merge:KAs,extend:$Dy,trim:HDy,stripBOM:KDy,inherits:JDy,toFlatObject:YDy,kindOf:UZr,kindOfTest:Jae,endsWith:XDy,toArray:ZDy,forEachEntry:tRy,matchAll:rRy,isHTMLForm:nRy,hasOwnProperty:Sgu,hasOwnProp:Sgu,reduceDescriptors:Fgu,freezeMethods:sRy,toObjectSet:aRy,toCamelCase:iRy,noop:cRy,toFiniteNumber:uRy,findKey:Dgu,global:ogt,isContextDefined:Rgu,isSpecCompliantForm:lRy,toJSONObject:pRy,isAsyncFn:fRy,isThenable:mRy,setImmediate:Ngu,asap:dRy,isIterable:hRy};var cV=class e extends Error{static from(t,r,n,i,o,s){let a=new e(t.message,r||t.code,n,i,o);return a.cause=t,a.name=t.name,s&&Object.assign(a,s),a}constructor(t,r,n,i,o){super(t),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),i&&(this.request=i),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:vr.toJSONObject(this.config),code:this.code,status:this.status}}};cV.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";cV.ERR_BAD_OPTION="ERR_BAD_OPTION";cV.ECONNABORTED="ECONNABORTED";cV.ETIMEDOUT="ETIMEDOUT";cV.ERR_NETWORK="ERR_NETWORK";cV.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";cV.ERR_DEPRECATED="ERR_DEPRECATED";cV.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";cV.ERR_BAD_REQUEST="ERR_BAD_REQUEST";cV.ERR_CANCELED="ERR_CANCELED";cV.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";cV.ERR_INVALID_URL="ERR_INVALID_URL";var ps=cV;var kgu=He(yht(),1),qZr=kgu.default;function YAs(e){return vr.isPlainObject(e)||vr.isArray(e)}function Qgu(e){return vr.endsWith(e,"[]")?e.slice(0,-2):e}function zgu(e,t,r){return e?e.concat(t).map(function(i,o){return i=Qgu(i),!r&&o?"["+i+"]":i}).join(r?".":""):t}function yRy(e){return vr.isArray(e)&&!e.some(YAs)}var gRy=vr.toFlatObject(vr,{},null,function(t){return/^is[A-Z]/.test(t)});function ARy(e,t,r){if(!vr.isObject(e))throw new TypeError("target must be an object");t=t||new(qZr||FormData),r=vr.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,g){return!vr.isUndefined(g[y])});let n=r.metaTokens,i=r.visitor||l,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&vr.isSpecCompliantForm(t);if(!vr.isFunction(i))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(vr.isDate(h))return h.toISOString();if(vr.isBoolean(h))return h.toString();if(!c&&vr.isBlob(h))throw new ps("Blob is not supported. Use a Buffer instead.");return vr.isArrayBuffer(h)||vr.isTypedArray(h)?c&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function l(h,y,g){let A=h;if(h&&!g&&typeof h=="object"){if(vr.endsWith(y,"{}"))y=n?y:y.slice(0,-2),h=JSON.stringify(h);else if(vr.isArray(h)&&yRy(h)||(vr.isFileList(h)||vr.endsWith(y,"[]"))&&(A=vr.toArray(h)))return y=Qgu(y),A.forEach(function(v,_){!(vr.isUndefined(v)||v===null)&&t.append(s===!0?zgu([y],_,o):s===null?y:y+"[]",u(v))}),!1}return YAs(h)?!0:(t.append(zgu(g,y,o),u(h)),!1)}let p=[],m=Object.assign(gRy,{defaultVisitor:l,convertValue:u,isVisitable:YAs});function f(h,y){if(!vr.isUndefined(h)){if(p.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(h),vr.forEach(h,function(A,b){(!(vr.isUndefined(A)||A===null)&&i.call(t,A,vr.isString(b)?b.trim():b,y,m))===!0&&f(A,y?y.concat(b):[b])}),p.pop()}}if(!vr.isObject(e))throw new TypeError("data must be an object");return f(e),t}var n8e=ARy;function Mgu(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Vgu(e,t){this._pairs=[],e&&n8e(e,this,t)}var Ugu=Vgu.prototype;Ugu.append=function(t,r){this._pairs.push([t,r])};Ugu.toString=function(t){let r=t?function(n){return t.call(this,n,Mgu)}:Mgu;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var Lgu=Vgu;function bRy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sgt(e,t,r){if(!t)return e;let n=r&&r.encode||bRy,i=vr.isFunction(r)?{serialize:r}:r,o=i&&i.serialize,s;if(o?s=o(t,i):s=vr.isURLSearchParams(t)?t.toString():new Lgu(t,i).toString(n),s){let a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}var XAs=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){vr.forEach(this.handlers,function(n){n!==null&&t(n)})}},ZAs=XAs;var i8e={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0};var Hgu=He(require("crypto"),1);var qgu=He(require("url"),1),Wgu=qgu.default.URLSearchParams;var ebs="abcdefghijklmnopqrstuvwxyz",Ggu="0123456789",$gu={DIGIT:Ggu,ALPHA:ebs,ALPHA_DIGIT:ebs+ebs.toUpperCase()+Ggu},_Ry=(e=16,t=$gu.ALPHA_DIGIT)=>{let r="",{length:n}=t,i=new Uint32Array(e);Hgu.default.randomFillSync(i);for(let o=0;o<e;o++)r+=t[i[o]%n];return r},Kgu={isNode:!0,classes:{URLSearchParams:Wgu,FormData:qZr,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:$gu,generateString:_Ry,protocols:["http","https","file","data"]};var nbs={};D(nbs,{hasBrowserEnv:()=>rbs,hasStandardBrowserEnv:()=>vRy,hasStandardBrowserWebWorkerEnv:()=>ERy,navigator:()=>tbs,origin:()=>ORy});var rbs=typeof window<"u"&&typeof document<"u",tbs=typeof navigator=="object"&&navigator||void 0,vRy=rbs&&(!tbs||["ReactNative","NativeScript","NS"].indexOf(tbs.product)<0),ERy=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ORy=rbs&&window.location.href||"http://localhost";var ev={...nbs,...Kgu};function ibs(e,t){return n8e(e,new ev.classes.URLSearchParams,{visitor:function(r,n,i,o){return ev.isNode&&vr.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function wRy(e){return vr.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function xRy(e){let t={},r=Object.keys(e),n,i=r.length,o;for(n=0;n<i;n++)o=r[n],t[o]=e[o];return t}function PRy(e){function t(r,n,i,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&vr.isArray(i)?i.length:s,c?(vr.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!a):((!i[s]||!vr.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],o)&&vr.isArray(i[s])&&(i[s]=xRy(i[s])),!a)}if(vr.isFormData(e)&&vr.isFunction(e.entries)){let r={};return vr.forEachEntry(e,(n,i)=>{t(wRy(n),i,r,0)}),r}return null}var WZr=PRy;function IRy(e,t,r){if(vr.isString(e))try{return(t||JSON.parse)(e),vr.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var obs={transitional:i8e,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,o=vr.isObject(t);if(o&&vr.isHTMLForm(t)&&(t=new FormData(t)),vr.isFormData(t))return i?JSON.stringify(WZr(t)):t;if(vr.isArrayBuffer(t)||vr.isBuffer(t)||vr.isStream(t)||vr.isFile(t)||vr.isBlob(t)||vr.isReadableStream(t))return t;if(vr.isArrayBufferView(t))return t.buffer;if(vr.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ibs(t,this.formSerializer).toString();if((a=vr.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return n8e(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(r.setContentType("application/json",!1),IRy(t)):t}],transformResponse:[function(t){let r=this.transitional||obs.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(vr.isResponse(t)||vr.isReadableStream(t))return t;if(t&&vr.isString(t)&&(n&&!this.responseType||i)){let s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?ps.from(a,ps.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ev.classes.FormData,Blob:ev.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};vr.forEach(["delete","get","head","post","put","patch"],e=>{obs.headers[e]={}});var $Ft=obs;var CRy=vr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Jgu=e=>{let t={},r,n,i;return e&&e.split(`
|
|
1290
1290
|
`).forEach(function(s){i=s.indexOf(":"),r=s.substring(0,i).trim().toLowerCase(),n=s.substring(i+1).trim(),!(!r||t[r]&&CRy[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var Ygu=Symbol("internals");function gEr(e){return e&&String(e).trim().toLowerCase()}function GZr(e){return e===!1||e==null?e:vr.isArray(e)?e.map(GZr):String(e)}function SRy(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var jRy=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function sbs(e,t,r,n,i){if(vr.isFunction(n))return n.call(this,t,r);if(i&&(t=r),!!vr.isString(t)){if(vr.isString(n))return t.indexOf(n)!==-1;if(vr.isRegExp(n))return n.test(t)}}function BRy(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function TRy(e,t){let r=vr.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(i,o,s){return this[n].call(this,t,i,o,s)},configurable:!0})})}var KFt=class{constructor(t){t&&this.set(t)}set(t,r,n){let i=this;function o(a,c,u){let l=gEr(c);if(!l)throw new Error("header name must be a non-empty string");let p=vr.findKey(i,l);(!p||i[p]===void 0||u===!0||u===void 0&&i[p]!==!1)&&(i[p||c]=GZr(a))}let s=(a,c)=>vr.forEach(a,(u,l)=>o(u,l,c));if(vr.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(vr.isString(t)&&(t=t.trim())&&!jRy(t))s(Jgu(t),r);else if(vr.isObject(t)&&vr.isIterable(t)){let a={},c,u;for(let l of t){if(!vr.isArray(l))throw TypeError("Object iterator must return a key-value pair");a[u=l[0]]=(c=a[u])?vr.isArray(c)?[...c,l[1]]:[c,l[1]]:l[1]}s(a,r)}else t!=null&&o(r,t,n);return this}get(t,r){if(t=gEr(t),t){let n=vr.findKey(this,t);if(n){let i=this[n];if(!r)return i;if(r===!0)return SRy(i);if(vr.isFunction(r))return r.call(this,i,n);if(vr.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=gEr(t),t){let n=vr.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||sbs(this,this[n],n,r)))}return!1}delete(t,r){let n=this,i=!1;function o(s){if(s=gEr(s),s){let a=vr.findKey(n,s);a&&(!r||sbs(n,n[a],a,r))&&(delete n[a],i=!0)}}return vr.isArray(t)?t.forEach(o):o(t),i}clear(t){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let o=r[n];(!t||sbs(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){let r=this,n={};return vr.forEach(this,(i,o)=>{let s=vr.findKey(n,o);if(s){r[s]=GZr(i),delete r[o];return}let a=t?BRy(o):String(o).trim();a!==o&&delete r[o],r[a]=GZr(i),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return vr.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=t&&vr.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
|
|
1291
1291
|
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(i=>n.set(i)),n}static accessor(t){let n=(this[Ygu]=this[Ygu]={accessors:{}}).accessors,i=this.prototype;function o(s){let a=gEr(s);n[a]||(TRy(i,s),n[a]=!0)}return vr.isArray(t)?t.forEach(o):o(t),this}};KFt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);vr.reduceDescriptors(KFt.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});vr.freezeMethods(KFt);var SI=KFt;function AEr(e,t){let r=this||$Ft,n=t||r,i=SI.from(n.headers),o=n.data;return vr.forEach(e,function(a){o=a.call(r,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function bEr(e){return!!(e&&e.__CANCEL__)}var abs=class extends ps{constructor(t,r,n){super(t??"canceled",ps.ERR_CANCELED,r,n),this.name="CanceledError",this.__CANCEL__=!0}},A9=abs;function xAe(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new ps("Request failed with status code "+r.status,[ps.ERR_BAD_REQUEST,ps.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function cbs(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function ubs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function agt(e,t,r){let n=!cbs(t);return e&&(n||r==!1)?ubs(e,t):t}var _Au=He(HZr(),1),vAu=He(require("http"),1),EAu=He(require("https"),1),Bbs=He(require("http2"),1),Tbs=He(require("util"),1),OAu=He(Ebs(),1),Oze=He(require("zlib"),1);var lgt="1.13.5";function wEr(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var KRy=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Obs(e,t,r){let n=r&&r.Blob||ev.classes.Blob,i=wEr(e);if(t===void 0&&n&&(t=!0),i==="data"){e=i.length?e.slice(i.length+1):e;let o=KRy.exec(e);if(!o)throw new ps("Invalid URL",ps.ERR_INVALID_URL);let s=o[1],a=o[2],c=o[3],u=Buffer.from(decodeURIComponent(c),a?"base64":"utf8");if(t){if(!n)throw new ps("Blob is not supported",ps.ERR_NOT_SUPPORT);return new n([u],{type:s})}return u}throw new ps("Unsupported protocol "+i,ps.ERR_NOT_SUPPORT)}var Eze=He(require("stream"),1);var oAu=He(require("stream"),1);var wbs=Symbol("internals"),xbs=class extends oAu.default.Transform{constructor(t){t=vr.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,i)=>!vr.isUndefined(i[n])),super({readableHighWaterMark:t.chunkSize});let r=this[wbs]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[wbs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,n){let i=this[wbs],o=i.maxRate,s=this.readableHighWaterMark,a=i.timeWindow,c=1e3/a,u=o/c,l=i.minChunkSize!==!1?Math.max(i.minChunkSize,u*.01):0,p=(f,h)=>{let y=Buffer.byteLength(f);i.bytesSeen+=y,i.bytes+=y,i.isCaptured&&this.emit("progress",i.bytesSeen),this.push(f)?process.nextTick(h):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(h)}},m=(f,h)=>{let y=Buffer.byteLength(f),g=null,A=s,b,v=0;if(o){let _=Date.now();(!i.ts||(v=_-i.ts)>=a)&&(i.ts=_,b=u-i.bytes,i.bytes=b<0?-b:0,v=0),b=u-i.bytes}if(o){if(b<=0)return setTimeout(()=>{h(null,f)},a-v);b<A&&(A=b)}A&&y>A&&y-A>l&&(g=f.subarray(A),f=f.subarray(0,A)),p(f,g?()=>{process.nextTick(h,null,g)}:h)};m(t,function f(h,y){if(h)return n(h);y?m(y,f):n(null)})}},Pbs=xbs;var wAu=require("events");var aAu=He(require("util"),1),cAu=require("stream");var{asyncIterator:sAu}=Symbol,JRy=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[sAu]?yield*e[sAu]():yield e},$Zr=JRy;var YRy=ev.ALPHABET.ALPHA_DIGIT+"-_",xEr=typeof TextEncoder=="function"?new TextEncoder:new aAu.default.TextEncoder,pgt=`\r
|
|
1292
1292
|
`,XRy=xEr.encode(pgt),ZRy=2,Ibs=class{constructor(t,r){let{escapeName:n}=this.constructor,i=vr.isString(r),o=`Content-Disposition: form-data; name="${n(t)}"${!i&&r.name?`; filename="${n(r.name)}"`:""}${pgt}`;i?r=xEr.encode(String(r).replace(/\r?\n|\r\n?/g,pgt)):o+=`Content-Type: ${r.type||"application/octet-stream"}${pgt}`,this.headers=xEr.encode(o+pgt),this.contentLength=i?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+ZRy,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;vr.isTypedArray(t)?yield t:yield*$Zr(t),yield XRy}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},eFy=(e,t,r)=>{let{tag:n="form-data-boundary",size:i=25,boundary:o=n+"-"+ev.generateString(i,YRy)}=r||{};if(!vr.isFormData(e))throw TypeError("FormData instance required");if(o.length<1||o.length>70)throw Error("boundary must be 10-70 characters long");let s=xEr.encode("--"+o+pgt),a=xEr.encode("--"+o+"--"+pgt),c=a.byteLength,u=Array.from(e.entries()).map(([p,m])=>{let f=new Ibs(p,m);return c+=f.size,f});c+=s.byteLength*u.length,c=vr.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${o}`};return Number.isFinite(c)&&(l["Content-Length"]=c),t&&t(l),cAu.Readable.from((async function*(){for(let p of u)yield s,yield*p.encode();yield a})())},uAu=eFy;var lAu=He(require("stream"),1),Cbs=class extends lAu.default.Transform{__transform(t,r,n){this.push(t),n()}_transform(t,r,n){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let i=Buffer.alloc(2);i[0]=120,i[1]=156,this.push(i,r)}this.__transform(t,r,n)}},pAu=Cbs;var tFy=(e,t)=>vr.isAsyncFn(e)?function(...r){let n=r.pop();e.apply(this,r).then(i=>{try{t?n(null,...t(i)):n(null,i)}catch(o){n(o)}},n)}:e,fAu=tFy;function rFy(e,t){e=e||10;let r=new Array(e),n=new Array(e),i=0,o=0,s;return t=t!==void 0?t:1e3,function(c){let u=Date.now(),l=n[o];s||(s=u),r[i]=c,n[i]=u;let p=o,m=0;for(;p!==i;)m+=r[p++],p=p%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),u-s<t)return;let f=l&&u-l;return f?Math.round(m*1e3/f):void 0}}var mAu=rFy;function nFy(e,t){let r=0,n=1e3/t,i,o,s=(u,l=Date.now())=>{r=l,i=null,o&&(clearTimeout(o),o=null),e(...u)};return[(...u)=>{let l=Date.now(),p=l-r;p>=n?s(u,l):(i=u,o||(o=setTimeout(()=>{o=null,s(i)},n-p)))},()=>i&&s(i)]}var dAu=nFy;var vze=(e,t,r=3)=>{let n=0,i=mAu(50,250);return dAu(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-n,u=i(c),l=s<=a;n=s;let p={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:u||void 0,estimated:u&&a&&l?(a-s)/u:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(p)},r)},YFt=(e,t)=>{let r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},XFt=e=>(...t)=>vr.asap(()=>e(...t));function Sbs(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let r=e.slice(5,t),n=e.slice(t+1);if(/;base64/i.test(r)){let o=n.length,s=n.length;for(let m=0;m<s;m++)if(n.charCodeAt(m)===37&&m+2<s){let f=n.charCodeAt(m+1),h=n.charCodeAt(m+2);(f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102)&&(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(o-=2,m+=2)}let a=0,c=s-1,u=m=>m>=2&&n.charCodeAt(m-2)===37&&n.charCodeAt(m-1)===51&&(n.charCodeAt(m)===68||n.charCodeAt(m)===100);c>=0&&(n.charCodeAt(c)===61?(a++,c--):u(c)&&(a++,c-=3)),a===1&&c>=0&&(n.charCodeAt(c)===61||u(c))&&a++;let p=Math.floor(o/4)*3-(a||0);return p>0?p:0}return Buffer.byteLength(n,"utf8")}var hAu={flush:Oze.default.constants.Z_SYNC_FLUSH,finishFlush:Oze.default.constants.Z_SYNC_FLUSH},iFy={flush:Oze.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Oze.default.constants.BROTLI_OPERATION_FLUSH},yAu=vr.isFunction(Oze.default.createBrotliDecompress),{http:oFy,https:sFy}=OAu.default,aFy=/https:?/,gAu=ev.protocols.map(e=>e+":"),AAu=(e,[t,r])=>(e.on("end",r).on("error",r),t),jbs=class{constructor(){this.sessions=Object.create(null)}getSession(t,r){r=Object.assign({sessionTimeout:1e3},r);let n=this.sessions[t];if(n){let l=n.length;for(let p=0;p<l;p++){let[m,f]=n[p];if(!m.destroyed&&!m.closed&&Tbs.default.isDeepStrictEqual(f,r))return m}}let i=Bbs.default.connect(t,r),o,s=()=>{if(o)return;o=!0;let l=n,p=l.length,m=p;for(;m--;)if(l[m][0]===i){p===1?delete this.sessions[t]:l.splice(m,1);return}},a=i.request,{sessionTimeout:c}=r;if(c!=null){let l,p=0;i.request=function(){let m=a.apply(this,arguments);return p++,l&&(clearTimeout(l),l=null),m.once("close",()=>{--p||(l=setTimeout(()=>{l=null,s()},c))}),m}}i.once("close",s);let u=[i,r];return n?n.push(u):n=this.sessions[t]=[u],i}},cFy=new jbs;function uFy(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function xAu(e,t,r){let n=t;if(!n&&n!==!1){let i=_Au.default.getProxyForUrl(r);i&&(n=new URL(i))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){if(!!(n.auth.username||n.auth.password))n.auth=(n.auth.username||"")+":"+(n.auth.password||"");else if(typeof n.auth=="object")throw new ps("Invalid proxy authorization",ps.ERR_BAD_OPTION,{proxy:n});let s=Buffer.from(n.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+s}e.headers.host=e.hostname+(e.port?":"+e.port:"");let i=n.hostname||n.host;e.hostname=i,e.host=i,e.port=n.port,e.path=r,n.protocol&&(e.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}e.beforeRedirects.proxy=function(o){xAu(o,t,o.href)}}var lFy=typeof process<"u"&&vr.kindOf(process)==="process",pFy=e=>new Promise((t,r)=>{let n,i,o=(c,u)=>{i||(i=!0,n&&n(c,u))},s=c=>{o(c),t(c)},a=c=>{o(c,!0),r(c)};e(s,a,c=>n=c).catch(a)}),fFy=({address:e,family:t})=>{if(!vr.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},bAu=(e,t)=>fFy(vr.isObject(e)?e:{address:e,family:t}),mFy={request(e,t){let r=e.protocol+"//"+e.hostname+":"+(e.port||(e.protocol==="https:"?443:80)),{http2Options:n,headers:i}=e,o=cFy.getSession(r,n),{HTTP2_HEADER_SCHEME:s,HTTP2_HEADER_METHOD:a,HTTP2_HEADER_PATH:c,HTTP2_HEADER_STATUS:u}=Bbs.default.constants,l={[s]:e.protocol.replace(":",""),[a]:e.method,[c]:e.path};vr.forEach(i,(m,f)=>{f.charAt(0)!==":"&&(l[f]=m)});let p=o.request(l);return p.once("response",m=>{let f=p;m=Object.assign({},m);let h=m[u];delete m[u],f.headers=m,f.statusCode=+h,t(f)}),p}},PAu=lFy&&function(t){return pFy(async function(n,i,o){let{data:s,lookup:a,family:c,httpVersion:u=1,http2Options:l}=t,{responseType:p,responseEncoding:m}=t,f=t.method.toUpperCase(),h,y=!1,g;if(u=+u,Number.isNaN(u))throw TypeError(`Invalid protocol version: '${t.httpVersion}' is not a number`);if(u!==1&&u!==2)throw TypeError(`Unsupported protocol version '${u}'`);let A=u===2;if(a){let J=fAu(a,K=>vr.isArray(K)?K:[K]);a=(K,Pe,we)=>{J(K,Pe,(Me,Ze,Oe)=>{if(Me)return we(Me);let de=vr.isArray(Ze)?Ze.map(vt=>bAu(vt)):[bAu(Ze,Oe)];Pe.all?we(Me,de):we(Me,de[0].address,de[0].family)})}}let b=new wAu.EventEmitter;function v(J){try{b.emit("abort",!J||J.type?new A9(null,t,g):J)}catch(K){console.warn("emit error",K)}}b.once("abort",i);let _=()=>{t.cancelToken&&t.cancelToken.unsubscribe(v),t.signal&&t.signal.removeEventListener("abort",v),b.removeAllListeners()};(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(v),t.signal&&(t.signal.aborted?v():t.signal.addEventListener("abort",v))),o((J,K)=>{if(h=!0,K){y=!0,_();return}let{data:Pe}=J;if(Pe instanceof Eze.default.Readable||Pe instanceof Eze.default.Duplex){let we=Eze.default.finished(Pe,()=>{we(),_()})}else _()});let E=agt(t.baseURL,t.url,t.allowAbsoluteUrls),O=new URL(E,ev.hasBrowserEnv?ev.origin:void 0),P=O.protocol||gAu[0];if(P==="data:"){if(t.maxContentLength>-1){let K=String(t.url||E||"");if(Sbs(K)>t.maxContentLength)return i(new ps("maxContentLength size of "+t.maxContentLength+" exceeded",ps.ERR_BAD_RESPONSE,t))}let J;if(f!=="GET")return xAe(n,i,{status:405,statusText:"method not allowed",headers:{},config:t});try{J=Obs(t.url,p==="blob",{Blob:t.env&&t.env.Blob})}catch(K){throw ps.from(K,ps.ERR_BAD_REQUEST,t)}return p==="text"?(J=J.toString(m),(!m||m==="utf8")&&(J=vr.stripBOM(J))):p==="stream"&&(J=Eze.default.Readable.from(J)),xAe(n,i,{data:J,status:200,statusText:"OK",headers:new SI,config:t})}if(gAu.indexOf(P)===-1)return i(new ps("Unsupported protocol "+P,ps.ERR_BAD_REQUEST,t));let x=SI.from(t.headers).normalize();x.set("User-Agent","axios/"+lgt,!1);let{onUploadProgress:I,onDownloadProgress:F}=t,q=t.maxRate,W,G;if(vr.isSpecCompliantForm(s)){let J=x.getContentType(/boundary=([-_\w\d]{10,70})/i);s=uAu(s,K=>{x.set(K)},{tag:`axios-${lgt}-boundary`,boundary:J&&J[1]||void 0})}else if(vr.isFormData(s)&&vr.isFunction(s.getHeaders)){if(x.set(s.getHeaders()),!x.hasContentLength())try{let J=await Tbs.default.promisify(s.getLength).call(s);Number.isFinite(J)&&J>=0&&x.setContentLength(J)}catch{}}else if(vr.isBlob(s)||vr.isFile(s))s.size&&x.setContentType(s.type||"application/octet-stream"),x.setContentLength(s.size||0),s=Eze.default.Readable.from($Zr(s));else if(s&&!vr.isStream(s)){if(!Buffer.isBuffer(s))if(vr.isArrayBuffer(s))s=Buffer.from(new Uint8Array(s));else if(vr.isString(s))s=Buffer.from(s,"utf-8");else return i(new ps("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",ps.ERR_BAD_REQUEST,t));if(x.setContentLength(s.length,!1),t.maxBodyLength>-1&&s.length>t.maxBodyLength)return i(new ps("Request body larger than maxBodyLength limit",ps.ERR_BAD_REQUEST,t))}let re=vr.toFiniteNumber(x.getContentLength());vr.isArray(q)?(W=q[0],G=q[1]):W=G=q,s&&(I||W)&&(vr.isStream(s)||(s=Eze.default.Readable.from(s,{objectMode:!1})),s=Eze.default.pipeline([s,new Pbs({maxRate:vr.toFiniteNumber(W)})],vr.noop),I&&s.on("progress",AAu(s,YFt(re,vze(XFt(I),!1,3)))));let oe;if(t.auth){let J=t.auth.username||"",K=t.auth.password||"";oe=J+":"+K}if(!oe&&O.username){let J=O.username,K=O.password;oe=J+":"+K}oe&&x.delete("authorization");let H;try{H=sgt(O.pathname+O.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(J){let K=new Error(J.message);return K.config=t,K.url=t.url,K.exists=!0,i(K)}x.set("Accept-Encoding","gzip, compress, deflate"+(yAu?", br":""),!1);let ee={path:H,method:f,headers:x.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:oe,protocol:P,family:c,beforeRedirect:uFy,beforeRedirects:{},http2Options:l};!vr.isUndefined(a)&&(ee.lookup=a),t.socketPath?ee.socketPath=t.socketPath:(ee.hostname=O.hostname.startsWith("[")?O.hostname.slice(1,-1):O.hostname,ee.port=O.port,xAu(ee,t.proxy,P+"//"+O.hostname+(O.port?":"+O.port:"")+ee.path));let Ge,Je=aFy.test(ee.protocol);if(ee.agent=Je?t.httpsAgent:t.httpAgent,A?Ge=mFy:t.transport?Ge=t.transport:t.maxRedirects===0?Ge=Je?EAu.default:vAu.default:(t.maxRedirects&&(ee.maxRedirects=t.maxRedirects),t.beforeRedirect&&(ee.beforeRedirects.config=t.beforeRedirect),Ge=Je?sFy:oFy),t.maxBodyLength>-1?ee.maxBodyLength=t.maxBodyLength:ee.maxBodyLength=1/0,t.insecureHTTPParser&&(ee.insecureHTTPParser=t.insecureHTTPParser),g=Ge.request(ee,function(K){if(g.destroyed)return;let Pe=[K],we=vr.toFiniteNumber(K.headers["content-length"]);if(F||G){let de=new Pbs({maxRate:vr.toFiniteNumber(G)});F&&de.on("progress",AAu(de,YFt(we,vze(XFt(F),!0,3)))),Pe.push(de)}let Me=K,Ze=K.req||g;if(t.decompress!==!1&&K.headers["content-encoding"])switch((f==="HEAD"||K.statusCode===204)&&delete K.headers["content-encoding"],(K.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Pe.push(Oze.default.createUnzip(hAu)),delete K.headers["content-encoding"];break;case"deflate":Pe.push(new pAu),Pe.push(Oze.default.createUnzip(hAu)),delete K.headers["content-encoding"];break;case"br":yAu&&(Pe.push(Oze.default.createBrotliDecompress(iFy)),delete K.headers["content-encoding"])}Me=Pe.length>1?Eze.default.pipeline(Pe,vr.noop):Pe[0];let Oe={status:K.statusCode,statusText:K.statusMessage,headers:new SI(K.headers),config:t,request:Ze};if(p==="stream")Oe.data=Me,xAe(n,i,Oe);else{let de=[],vt=0;Me.on("data",function(gr){de.push(gr),vt+=gr.length,t.maxContentLength>-1&&vt>t.maxContentLength&&(y=!0,Me.destroy(),v(new ps("maxContentLength size of "+t.maxContentLength+" exceeded",ps.ERR_BAD_RESPONSE,t,Ze)))}),Me.on("aborted",function(){if(y)return;let gr=new ps("stream has been aborted",ps.ERR_BAD_RESPONSE,t,Ze);Me.destroy(gr),i(gr)}),Me.on("error",function(gr){g.destroyed||i(ps.from(gr,null,t,Ze))}),Me.on("end",function(){try{let gr=de.length===1?de[0]:Buffer.concat(de);p!=="arraybuffer"&&(gr=gr.toString(m),(!m||m==="utf8")&&(gr=vr.stripBOM(gr))),Oe.data=gr}catch(gr){return i(ps.from(gr,null,t,Oe.request,Oe))}xAe(n,i,Oe)})}b.once("abort",de=>{Me.destroyed||(Me.emit("error",de),Me.destroy())})}),b.once("abort",J=>{g.close?g.close():g.destroy(J)}),g.on("error",function(K){i(ps.from(K,null,t,g))}),g.on("socket",function(K){K.setKeepAlive(!0,1e3*60)}),t.timeout){let J=parseInt(t.timeout,10);if(Number.isNaN(J)){v(new ps("error trying to parse `config.timeout` to int",ps.ERR_BAD_OPTION_VALUE,t,g));return}g.setTimeout(J,function(){if(h)return;let Pe=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",we=t.transitional||i8e;t.timeoutErrorMessage&&(Pe=t.timeoutErrorMessage),v(new ps(Pe,we.clarifyTimeoutError?ps.ETIMEDOUT:ps.ECONNABORTED,t,g))})}else g.setTimeout(0);if(vr.isStream(s)){let J=!1,K=!1;s.on("end",()=>{J=!0}),s.once("error",Pe=>{K=!0,g.destroy(Pe)}),s.on("close",()=>{!J&&!K&&v(new A9("Request stream has been aborted",t,g))}),s.pipe(g)}else s&&g.write(s),g.end()})};var IAu=ev.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,ev.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(ev.origin),ev.navigator&&/(msie|trident)/i.test(ev.navigator.userAgent)):()=>!0;var CAu=ev.hasStandardBrowserEnv?{write(e,t,r,n,i,o,s){if(typeof document>"u")return;let a=[`${e}=${encodeURIComponent(t)}`];vr.isNumber(r)&&a.push(`expires=${new Date(r).toUTCString()}`),vr.isString(n)&&a.push(`path=${n}`),vr.isString(i)&&a.push(`domain=${i}`),o===!0&&a.push("secure"),vr.isString(s)&&a.push(`SameSite=${s}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};var SAu=e=>e instanceof SI?{...e}:e;function Yae(e,t){t=t||{};let r={};function n(u,l,p,m){return vr.isPlainObject(u)&&vr.isPlainObject(l)?vr.merge.call({caseless:m},u,l):vr.isPlainObject(l)?vr.merge({},l):vr.isArray(l)?l.slice():l}function i(u,l,p,m){if(vr.isUndefined(l)){if(!vr.isUndefined(u))return n(void 0,u,p,m)}else return n(u,l,p,m)}function o(u,l){if(!vr.isUndefined(l))return n(void 0,l)}function s(u,l){if(vr.isUndefined(l)){if(!vr.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function a(u,l,p){if(p in t)return n(u,l);if(p in e)return n(void 0,u)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(u,l,p)=>i(SAu(u),SAu(l),p,!0)};return vr.forEach(Object.keys({...e,...t}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;let p=vr.hasOwnProp(c,l)?c[l]:i,m=p(e[l],t[l],l);vr.isUndefined(m)&&p!==a||(r[l]=m)}),r}var KZr=e=>{let t=Yae({},e),{data:r,withXSRFToken:n,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=t;if(t.headers=s=SI.from(s),t.url=sgt(agt(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),vr.isFormData(r)){if(ev.hasStandardBrowserEnv||ev.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(vr.isFunction(r.getHeaders)){let c=r.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([l,p])=>{u.includes(l.toLowerCase())&&s.set(l,p)})}}if(ev.hasStandardBrowserEnv&&(n&&vr.isFunction(n)&&(n=n(t)),n||n!==!1&&IAu(t.url))){let c=i&&o&&CAu.read(o);c&&s.set(i,c)}return t};var dFy=typeof XMLHttpRequest<"u",jAu=dFy&&function(e){return new Promise(function(r,n){let i=KZr(e),o=i.data,s=SI.from(i.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:u}=i,l,p,m,f,h;function y(){f&&f(),h&&h(),i.cancelToken&&i.cancelToken.unsubscribe(l),i.signal&&i.signal.removeEventListener("abort",l)}let g=new XMLHttpRequest;g.open(i.method.toUpperCase(),i.url,!0),g.timeout=i.timeout;function A(){if(!g)return;let v=SI.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),E={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:v,config:e,request:g};xAe(function(P){r(P),y()},function(P){n(P),y()},E),g=null}"onloadend"in g?g.onloadend=A:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(A)},g.onabort=function(){g&&(n(new ps("Request aborted",ps.ECONNABORTED,e,g)),g=null)},g.onerror=function(_){let E=_&&_.message?_.message:"Network Error",O=new ps(E,ps.ERR_NETWORK,e,g);O.event=_||null,n(O),g=null},g.ontimeout=function(){let _=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",E=i.transitional||i8e;i.timeoutErrorMessage&&(_=i.timeoutErrorMessage),n(new ps(_,E.clarifyTimeoutError?ps.ETIMEDOUT:ps.ECONNABORTED,e,g)),g=null},o===void 0&&s.setContentType(null),"setRequestHeader"in g&&vr.forEach(s.toJSON(),function(_,E){g.setRequestHeader(E,_)}),vr.isUndefined(i.withCredentials)||(g.withCredentials=!!i.withCredentials),a&&a!=="json"&&(g.responseType=i.responseType),u&&([m,h]=vze(u,!0),g.addEventListener("progress",m)),c&&g.upload&&([p,f]=vze(c),g.upload.addEventListener("progress",p),g.upload.addEventListener("loadend",f)),(i.cancelToken||i.signal)&&(l=v=>{g&&(n(!v||v.type?new A9(null,e,g):v),g.abort(),g=null)},i.cancelToken&&i.cancelToken.subscribe(l),i.signal&&(i.signal.aborted?l():i.signal.addEventListener("abort",l)));let b=wEr(i.url);if(b&&ev.protocols.indexOf(b)===-1){n(new ps("Unsupported protocol "+b+":",ps.ERR_BAD_REQUEST,e));return}g.send(o||null)})};var hFy=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,i,o=function(u){if(!i){i=!0,a();let l=u instanceof Error?u:this.reason;n.abort(l instanceof ps?l:new A9(l instanceof Error?l.message:l))}},s=t&&setTimeout(()=>{s=null,o(new ps(`timeout of ${t}ms exceeded`,ps.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));let{signal:c}=n;return c.unsubscribe=()=>vr.asap(a),c}},BAu=hFy;var yFy=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let n=0,i;for(;n<r;)i=n+t,yield e.slice(n,i),n=i},gFy=async function*(e,t){for await(let r of AFy(e))yield*yFy(r,t)},AFy=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},Dbs=(e,t,r,n)=>{let i=gFy(e,t),o=0,s,a=c=>{s||(s=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:u,value:l}=await i.next();if(u){a(),c.close();return}let p=l.byteLength;if(r){let m=o+=p;r(m)}c.enqueue(new Uint8Array(l))}catch(u){throw a(u),u}},cancel(c){return a(c),i.return()}},{highWaterMark:2})};var TAu=64*1024,{isFunction:JZr}=vr,bFy=(({Request:e,Response:t})=>({Request:e,Response:t}))(vr.global),{ReadableStream:DAu,TextEncoder:RAu}=vr.global,FAu=(e,...t)=>{try{return!!e(...t)}catch{return!1}},_Fy=e=>{e=vr.merge.call({skipUndefined:!0},bFy,e);let{fetch:t,Request:r,Response:n}=e,i=t?JZr(t):typeof fetch=="function",o=JZr(r),s=JZr(n);if(!i)return!1;let a=i&&JZr(DAu),c=i&&(typeof RAu=="function"?(h=>y=>h.encode(y))(new RAu):async h=>new Uint8Array(await new r(h).arrayBuffer())),u=o&&a&&FAu(()=>{let h=!1,y=new r(ev.origin,{body:new DAu,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!y}),l=s&&a&&FAu(()=>vr.isReadableStream(new n("").body)),p={stream:l&&(h=>h.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!p[h]&&(p[h]=(y,g)=>{let A=y&&y[h];if(A)return A.call(y);throw new ps(`Response type '${h}' is not supported`,ps.ERR_NOT_SUPPORT,g)})});let m=async h=>{if(h==null)return 0;if(vr.isBlob(h))return h.size;if(vr.isSpecCompliantForm(h))return(await new r(ev.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(vr.isArrayBufferView(h)||vr.isArrayBuffer(h))return h.byteLength;if(vr.isURLSearchParams(h)&&(h=h+""),vr.isString(h))return(await c(h)).byteLength},f=async(h,y)=>{let g=vr.toFiniteNumber(h.getContentLength());return g??m(y)};return async h=>{let{url:y,method:g,data:A,signal:b,cancelToken:v,timeout:_,onDownloadProgress:E,onUploadProgress:O,responseType:P,headers:x,withCredentials:I="same-origin",fetchOptions:F}=KZr(h),q=t||fetch;P=P?(P+"").toLowerCase():"text";let W=BAu([b,v&&v.toAbortSignal()],_),G=null,re=W&&W.unsubscribe&&(()=>{W.unsubscribe()}),oe;try{if(O&&u&&g!=="get"&&g!=="head"&&(oe=await f(x,A))!==0){let K=new r(y,{method:"POST",body:A,duplex:"half"}),Pe;if(vr.isFormData(A)&&(Pe=K.headers.get("content-type"))&&x.setContentType(Pe),K.body){let[we,Me]=YFt(oe,vze(XFt(O)));A=Dbs(K.body,TAu,we,Me)}}vr.isString(I)||(I=I?"include":"omit");let H=o&&"credentials"in r.prototype,ee={...F,signal:W,method:g.toUpperCase(),headers:x.normalize().toJSON(),body:A,duplex:"half",credentials:H?I:void 0};G=o&&new r(y,ee);let Ge=await(o?q(G,F):q(y,ee)),Je=l&&(P==="stream"||P==="response");if(l&&(E||Je&&re)){let K={};["status","statusText","headers"].forEach(Ze=>{K[Ze]=Ge[Ze]});let Pe=vr.toFiniteNumber(Ge.headers.get("content-length")),[we,Me]=E&&YFt(Pe,vze(XFt(E),!0))||[];Ge=new n(Dbs(Ge.body,TAu,we,()=>{Me&&Me(),re&&re()}),K)}P=P||"text";let J=await p[vr.findKey(p,P)||"text"](Ge,h);return!Je&&re&&re(),await new Promise((K,Pe)=>{xAe(K,Pe,{data:J,headers:SI.from(Ge.headers),status:Ge.status,statusText:Ge.statusText,config:h,request:G})})}catch(H){throw re&&re(),H&&H.name==="TypeError"&&/Load failed|fetch/i.test(H.message)?Object.assign(new ps("Network Error",ps.ERR_NETWORK,h,G,H&&H.response),{cause:H.cause||H}):ps.from(H,H&&H.code,h,G,H&&H.response)}}},vFy=new Map,Rbs=e=>{let t=e&&e.env||{},{fetch:r,Request:n,Response:i}=t,o=[n,i,r],s=o.length,a=s,c,u,l=vFy;for(;a--;)c=o[a],u=l.get(c),u===void 0&&l.set(c,u=a?new Map:_Fy(t)),l=u;return u},Z5x=Rbs();var Fbs={http:PAu,xhr:jAu,fetch:{get:Rbs}};vr.forEach(Fbs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var NAu=e=>`- ${e}`,OFy=e=>vr.isFunction(e)||e===null||e===!1;function wFy(e,t){e=vr.isArray(e)?e:[e];let{length:r}=e,n,i,o={};for(let s=0;s<r;s++){n=e[s];let a;if(i=n,!OFy(n)&&(i=Fbs[(a=String(n)).toLowerCase()],i===void 0))throw new ps(`Unknown adapter '${a}'`);if(i&&(vr.isFunction(i)||(i=i.get(t))))break;o[a||"#"+s]=i}if(!i){let s=Object.entries(o).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build")),a=r?s.length>1?`since :
|
|
@@ -1551,7 +1551,7 @@ ${i.mark.snippet}`)),t.failAndThrow(s)}else throw i}}async function N9({absolute
|
|
|
1551
1551
|
`)),{ok:!0,value:t}):n}}function vPn(e){return e.path.length===0?e.message:`${e.path.join(" -> ")}: ${e.message}`}var RVt=class e extends Error{errors;constructor(t){super(t.map(vPn).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};var FVt=class e extends Error{errors;constructor(t){super(t.map(vPn).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};function pv(e){return{nullable:()=>DNg(e),optional:()=>KQs(e),optionalNullable:()=>RNg(e),transform:t=>JQs(e,t),parseOrThrow:(t,r)=>{let n=e.parse(t,r);if(n.ok)return n.value;throw new FVt(n.errors)},jsonOrThrow:(t,r)=>{let n=e.json(t,r);if(n.ok)return n.value;throw new RVt(n.errors)}}}function DNg(e){let t={parse:(r,n)=>r==null?{ok:!0,value:null}:e.parse(r,n),json:(r,n)=>r==null?{ok:!0,value:null}:e.json(r,n),getType:()=>um.NULLABLE};return{...t,...pv(t)}}function KQs(e){let t={parse:(r,n)=>r==null?{ok:!0,value:void 0}:e.parse(r,n),json:(r,n)=>n?.omitUndefined&&r===void 0?{ok:!0,value:void 0}:r==null?{ok:!0,value:null}:e.json(r,n),getType:()=>um.OPTIONAL};return{...t,...pv(t)}}function RNg(e){let t={parse:(r,n)=>r===void 0?{ok:!0,value:void 0}:r===null?{ok:!0,value:null}:e.parse(r,n),json:(r,n)=>r===void 0?{ok:!0,value:void 0}:r===null?{ok:!0,value:null}:e.json(r,n),getType:()=>um.OPTIONAL_NULLABLE};return{...t,...pv(t)}}function JQs(e,t){let r={parse:(n,i)=>{let o=e.parse(n,i);return o.ok?{ok:!0,value:t.transform(o.value)}:o},json:(n,i)=>{let o=t.untransform(n);return e.json(o,i)},getType:()=>e.getType()};return{...r,...pv(r)}}function TJu(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t=="bigint"?{ok:!0,value:t}:typeof t=="number"?{ok:!0,value:BigInt(t)}:{ok:!1,errors:[{path:r,message:kb(t,"bigint | number")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="bigint"?{ok:!1,errors:[{path:r,message:kb(t,"bigint")}]}:{ok:!0,value:t},getType:()=>um.BIGINT};return{...sR(e),...pv(e)}}var FNg=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;function DJu(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:kb(t,"string")}]}:FNg.test(t)?{ok:!0,value:new Date(t)}:{ok:!1,errors:[{path:r,message:kb(t,"ISO 8601 date string")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>t instanceof Date?{ok:!0,value:t.toISOString()}:{ok:!1,errors:[{path:r,message:kb(t,"Date object")}]},getType:()=>um.DATE};return{...sR(e),...pv(e)}}function aR(e,t){return()=>{let r={parse:t,json:t,getType:()=>e};return{...sR(r),...pv(r)}}}function EPn(e){let t=new Set(e);return aR(um.ENUM,(n,{allowUnrecognizedEnumValues:i,breadcrumbsPrefix:o=[]}={})=>typeof n!="string"?{ok:!1,errors:[{path:o,message:kb(n,"string")}]}:!t.has(n)&&!i?{ok:!1,errors:[{path:o,message:kb(n,"enum")}]}:{ok:!0,value:n})()}function RJu(e){let t=YQs(e);return{...t,...pv(t)}}function YQs(e){return{parse:(t,r)=>NVt(e).parse(t,r),json:(t,r)=>NVt(e).json(t,r),getType:()=>NVt(e).getType()}}function NVt(e){let t=e;return t.__zurg_memoized==null&&(t.__zurg_memoized=e()),t.__zurg_memoized}function XQs(e){return Object.entries(e)}function ECr(e,t){let r=new Set(t);return Object.entries(e).reduce((n,[i,o])=>(r.has(i)&&(n[i]=o),n),{})}function F2e(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return t===null?!0:Object.getPrototypeOf(t)===null}function OCr(e){return Object.keys(e)}function FJu(e,t){let r=[],n=[];for(let i of e)t(i)?r.push(i):n.push(i);return[r,n]}var NNg=Object.prototype.hasOwnProperty;function Uce(e){return{withParsedProperties:t=>ZQs(e,t)}}function ZQs(e,t){let r={parse:(n,i)=>{let o=e.parse(n,i);if(!o.ok)return o;let s={};for(let a in t)if(NNg.call(t,a)){let c=t[a];s[a]=typeof c=="function"?c(o.value):c}return{ok:!0,value:{...o.value,...s}}},json:(n,i)=>{if(!F2e(n))return{ok:!1,errors:[{path:i?.breadcrumbsPrefix??[],message:kb(n,"object")}]};let o=new Set(Object.keys(t)),s=ECr(n,Object.keys(n).filter(a=>!o.has(a)));return e.json(s,i)},getType:()=>e.getType()};return{...r,...pv(r),...Uce(r)}}function NJu(e,t){return{rawKey:e,valueSchema:t,isProperty:!0}}function N2e(e){return e.isProperty}var kNg=Object.prototype.hasOwnProperty;function OPn(e){let t;function r(){if(t==null){t={};for(let[m,f]of XQs(e)){let h=N2e(f)?f.rawKey:m,y=N2e(f)?f.valueSchema:f;t[h]={rawKey:h,parsedKey:m,valueSchema:y}}}return t}let n,i,o,s;function a(){if(n==null){n=[],i=[];for(let[m,f]of XQs(e)){let h=N2e(f)?f.rawKey:m,y=N2e(f)?f.valueSchema:f;zNg(y)&&(n.push(h),i.push(m))}o=new Set(n),s=new Set(i)}return n}function c(){return i==null&&a(),i}function u(){return o==null&&a(),o}function l(){return s==null&&a(),s}let p={_getRawProperties:()=>Object.entries(e).map(([m,f])=>N2e(f)?f.rawKey:m),_getParsedProperties:()=>OCr(e),parse:(m,f)=>{let h=f?.breadcrumbsPrefix??[];return kJu({value:m,requiredKeys:a(),requiredKeysSet:u(),getProperty:y=>{let g=r()[y];if(g!=null)return{transformedKey:g.parsedKey,transform:A=>{let b=[...h,y];return g.valueSchema.parse(A,{...f,breadcrumbsPrefix:b})}}},unrecognizedObjectKeys:f?.unrecognizedObjectKeys,skipValidation:f?.skipValidation,breadcrumbsPrefix:h,omitUndefined:f?.omitUndefined})},json:(m,f)=>{let h=f?.breadcrumbsPrefix??[];return kJu({value:m,requiredKeys:c(),requiredKeysSet:l(),getProperty:y=>{let g=e[y];if(g!=null)return N2e(g)?{transformedKey:g.rawKey,transform:A=>{let b=[...h,y];return g.valueSchema.json(A,{...f,breadcrumbsPrefix:b})}}:{transformedKey:y,transform:A=>{let b=[...h,y];return g.json(A,{...f,breadcrumbsPrefix:b})}}},unrecognizedObjectKeys:f?.unrecognizedObjectKeys,skipValidation:f?.skipValidation,breadcrumbsPrefix:h,omitUndefined:f?.omitUndefined})},getType:()=>um.OBJECT};return{...sR(p),...pv(p),...Uce(p),...n_t(p)}}function kJu({value:e,requiredKeys:t,requiredKeysSet:r,getProperty:n,unrecognizedObjectKeys:i="fail",skipValidation:o=!1,breadcrumbsPrefix:s=[]}){if(!F2e(e))return{ok:!1,errors:[{path:s,message:kb(e,"object")}]};let a=t.length,c=[],u={};for(let l in e){if(!kNg.call(e,l))continue;let p=e[l],m=n(l);if(m!=null){a>0&&r.has(l)&&a--;let f=m.transform(p);f.ok?u[m.transformedKey]=f.value:(u[l]=p,c.push(...f.errors))}else switch(i){case"fail":c.push({path:[...s,l],message:`Unexpected key "${l}"`});break;case"strip":break;case"passthrough":u[l]=p;break}}if(a>0)for(let l of t)l in e||c.push({path:s,message:`Missing required key "${l}"`});return c.length===0||o?{ok:!0,value:u}:{ok:!1,errors:c}}function n_t(e){return{extend:t=>{let r={_getParsedProperties:()=>[...e._getParsedProperties(),...t._getParsedProperties()],_getRawProperties:()=>[...e._getRawProperties(),...t._getRawProperties()],parse:(n,i)=>zJu({extensionKeys:t._getRawProperties(),value:n,transformBase:o=>e.parse(o,i),transformExtension:o=>t.parse(o,i),breadcrumbsPrefix:i?.breadcrumbsPrefix}),json:(n,i)=>zJu({extensionKeys:t._getParsedProperties(),value:n,transformBase:o=>e.json(o,i),transformExtension:o=>t.json(o,i),breadcrumbsPrefix:i?.breadcrumbsPrefix}),getType:()=>um.OBJECT};return{...r,...pv(r),...Uce(r),...n_t(r)}},passthrough:()=>{let t=new Set(e._getRawProperties()),r=new Set(e._getParsedProperties()),n={_getParsedProperties:()=>e._getParsedProperties(),_getRawProperties:()=>e._getRawProperties(),parse:(i,o)=>{let s=e.parse(i,{...o,unrecognizedObjectKeys:"passthrough"});if(!s.ok)return s;let a={};if(typeof i=="object"&&i!=null)for(let[c,u]of Object.entries(i))t.has(c)||(a[c]=u);return{ok:!0,value:{...a,...s.value}}},json:(i,o)=>{let s=e.json(i,{...o,unrecognizedObjectKeys:"passthrough"});if(!s.ok)return s;let a={};if(typeof i=="object"&&i!=null)for(let[c,u]of Object.entries(i))r.has(c)||(a[c]=u);return{ok:!0,value:{...a,...s.value}}},getType:()=>um.OBJECT};return{...n,...pv(n),...Uce(n),...n_t(n)}}}}function zJu({extensionKeys:e,value:t,transformBase:r,transformExtension:n,breadcrumbsPrefix:i=[]}){if(!F2e(t))return{ok:!1,errors:[{path:i,message:kb(t,"object")}]};let o=new Set(e),[s,a]=FJu(OCr(t),l=>o.has(l)),c=r(ECr(t,a)),u=n(ECr(t,s));return c.ok&&u.ok?{ok:!0,value:{...c.value,...u.value}}:{ok:!1,errors:[...c.ok?[]:c.errors,...u.ok?[]:u.errors]}}function zNg(e){return!QNg(e)}function QNg(e){switch(e.getType()){case um.ANY:case um.UNKNOWN:case um.OPTIONAL:case um.OPTIONAL_NULLABLE:return!0;default:return!1}}function QJu(e){return OPn(e)}function MJu(e){let t={...YQs(e),_getRawProperties:()=>NVt(e)._getRawProperties(),_getParsedProperties:()=>NVt(e)._getParsedProperties()};return{...t,...pv(t),...Uce(t),...n_t(t)}}function wPn(e){let t={parse:(r,n)=>VJu(r,(i,o)=>e.parse(i,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`[${o}]`]})),json:(r,n)=>VJu(r,(i,o)=>e.json(i,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`[${o}]`]})),getType:()=>um.LIST};return{...sR(t),...pv(t)}}function VJu(e,t){if(!Array.isArray(e))return{ok:!1,errors:[{message:kb(e,"list"),path:[]}]};let r=[],n=[];for(let i=0;i<e.length;i++){let o=t(e[i],i);o.ok?r.push(o.value):n.push(...o.errors)}return n.length===0?{ok:!0,value:r}:{ok:!1,errors:n}}function UJu(e){return aR(um.BOOLEAN_LITERAL,(r,{breadcrumbsPrefix:n=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:n,message:kb(r,`${e.toString()}`)}]})()}function LJu(e){return aR(um.STRING_LITERAL,(r,{breadcrumbsPrefix:n=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:n,message:kb(r,`"${e}"`)}]})()}var qJu=aR(um.ANY,e=>({ok:!0,value:e}));var WJu=aR(um.BOOLEAN,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:kb(e,"boolean")}]});var GJu=aR(um.NEVER,(e,{breadcrumbsPrefix:t=[]}={})=>({ok:!1,errors:[{path:t,message:"Expected never"}]}));var HJu=aR(um.NUMBER,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="number"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:kb(e,"number")}]});var $Ju=aR(um.STRING,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="string"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:kb(e,"string")}]});var KJu=aR(um.UNKNOWN,e=>({ok:!0,value:e}));var MNg=Object.prototype.hasOwnProperty;function YJu(e,t){let r={parse:(n,i)=>JJu({value:n,isKeyNumeric:e.getType()===um.NUMBER,transformKey:o=>e.parse(o,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`${o} (key)`]}),transformValue:(o,s)=>t.parse(o,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`${s}`]}),breadcrumbsPrefix:i?.breadcrumbsPrefix}),json:(n,i)=>JJu({value:n,isKeyNumeric:e.getType()===um.NUMBER,transformKey:o=>e.json(o,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`${o} (key)`]}),transformValue:(o,s)=>t.json(o,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`${s}`]}),breadcrumbsPrefix:i?.breadcrumbsPrefix}),getType:()=>um.RECORD};return{...sR(r),...pv(r)}}function JJu({value:e,isKeyNumeric:t,transformKey:r,transformValue:n,breadcrumbsPrefix:i=[]}){if(!F2e(e))return{ok:!1,errors:[{path:i,message:kb(e,"object")}]};let o={},s=[];for(let a in e){if(!MNg.call(e,a))continue;let c=e[a];if(c===void 0)continue;let u=a;if(t){let m=a.length>0?Number(a):NaN;Number.isNaN(m)||(u=m)}let l=r(u),p=n(c,u);l.ok&&p.ok?o[l.value]=p.value:(l.ok||s.push(...l.errors),p.ok||s.push(...p.errors))}return s.length===0?{ok:!0,value:o}:{ok:!1,errors:s}}function XJu(e){let t=wPn(e),r={parse:(n,i)=>{let o=t.parse(n,i);return o.ok?{ok:!0,value:new Set(o.value)}:o},json:(n,i)=>n instanceof Set?t.json([...n],i):{ok:!1,errors:[{path:i?.breadcrumbsPrefix??[],message:kb(n,"Set")}]},getType:()=>um.SET};return{...sR(r),...pv(r)}}function eYu(e){let t={parse:(r,n)=>ZJu((i,o)=>i.parse(r,o),e,n),json:(r,n)=>ZJu((i,o)=>i.json(r,o),e,n),getType:()=>um.UNDISCRIMINATED_UNION};return{...sR(t),...pv(t)}}function ZJu(e,t,r){let n=[];for(let[i,o]of t.entries()){let s=e(o,{...r,skipValidation:!1});if(s.ok)return s;for(let a of s.errors)n.push({path:a.path,message:`[Variant ${i}] ${a.message}`})}return{ok:!1,errors:n}}function tYu(e,t){return{parsedDiscriminant:e,rawDiscriminant:t}}var VNg=Object.prototype.hasOwnProperty;function nYu(e,t){let r=typeof e=="string"?e:e.rawDiscriminant,n=typeof e=="string"?e:e.parsedDiscriminant,i=EPn(OCr(t)),o={parse:(s,a)=>rYu({value:s,discriminant:r,transformedDiscriminant:n,transformDiscriminantValue:c=>i.parse(c,{allowUnrecognizedEnumValues:a?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...a?.breadcrumbsPrefix??[],r]}),getAdditionalPropertiesSchema:c=>t[c],allowUnrecognizedUnionMembers:a?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(c,u)=>u.parse(c,a),breadcrumbsPrefix:a?.breadcrumbsPrefix}),json:(s,a)=>rYu({value:s,discriminant:n,transformedDiscriminant:r,transformDiscriminantValue:c=>i.json(c,{allowUnrecognizedEnumValues:a?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...a?.breadcrumbsPrefix??[],n]}),getAdditionalPropertiesSchema:c=>t[c],allowUnrecognizedUnionMembers:a?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(c,u)=>u.json(c,a),breadcrumbsPrefix:a?.breadcrumbsPrefix}),getType:()=>um.UNION};return{...sR(o),...pv(o),...Uce(o)}}function rYu({value:e,discriminant:t,transformedDiscriminant:r,transformDiscriminantValue:n,getAdditionalPropertiesSchema:i,allowUnrecognizedUnionMembers:o=!1,transformAdditionalProperties:s,breadcrumbsPrefix:a=[]}){if(!F2e(e))return{ok:!1,errors:[{path:a,message:kb(e,"object")}]};let c=e[t],u={};for(let f in e)VNg.call(e,f)&&f!==t&&(u[f]=e[f]);if(c==null)return{ok:!1,errors:[{path:a,message:`Missing discriminant ("${t}")`}]};let l=n(c);if(!l.ok)return{ok:!1,errors:l.errors};let p=i(l.value);if(p==null)return o?{ok:!0,value:{[r]:l.value,...u}}:{ok:!1,errors:[{path:[...a,t],message:"Unexpected discriminant value"}]};let m=s(u,p);return m.ok?{ok:!0,value:{[r]:c,...m.value}}:m}var Qbe=es.objectWithoutOptionalProperties({docs:es.string().optional()});var tMs={};D(tMs,{ConjureServiceName:()=>xPn,DefinitionFile:()=>iYu});var xPn=es.string();var PPn=es.enum_(["none","header"]);var kVt=es.undiscriminatedUnion([PPn,es.string()]);var IPn=es.enum_(["rid","string","safelong","integer","double","boolean","binary"]);var xWe=es.undiscriminatedUnion([IPn,es.string()]);var CPn=es.objectWithoutOptionalProperties({type:xWe,docs:es.string().optional()});var PWe=es.undiscriminatedUnion([xWe,CPn]);var SPn=es.enum_(["path","query","body"]);var jPn=es.objectWithoutOptionalProperties({paramType:es.property("param-type",SPn),type:es.string()}).extend(Qbe);var BPn=es.undiscriminatedUnion([es.string(),jPn]);var TPn=es.objectWithoutOptionalProperties({http:es.string(),auth:kVt.optional(),args:es.record(es.string(),BPn).optional(),returns:PWe.optional()}).extend(Qbe);var DPn=es.objectWithoutOptionalProperties({name:es.string().optional(),package:es.string().optional(),basePath:es.property("base-path",es.string().optional()),defaultAuth:es.property("default-auth",kVt.optional()),endpoints:es.record(es.string(),TPn).optional()}).extend(Qbe);var RPn=es.objectWithoutOptionalProperties({alias:xWe,docs:es.string().optional()});var FPn=es.objectWithoutOptionalProperties({value:es.string()}).extend(Qbe);var NPn=es.undiscriminatedUnion([es.string(),FPn]);var kPn=es.objectWithoutOptionalProperties({values:es.list(NPn)});var zPn=es.objectWithoutOptionalProperties({fields:es.record(es.string(),PWe)});var QPn=es.objectWithoutOptionalProperties({union:es.record(es.string(),PWe)});var MPn=es.undiscriminatedUnion([RPn,QPn,zPn,kPn]);var VPn=es.objectWithoutOptionalProperties({objects:es.record(es.string(),MPn).optional()});var UPn=es.objectWithoutOptionalProperties({conjureImports:es.property("conjure-imports",es.record(es.string(),es.string()).optional()),definitions:VPn.optional()});var iYu=es.objectWithoutOptionalProperties({types:UPn.optional(),services:es.record(xPn,DPn).optional()});var rMs={};D(rMs,{ConjureArgument:()=>BPn,ConjureArgumentWithParamType:()=>jPn,ConjureAuthDefinition:()=>kVt,ConjureAuthDefinitionType:()=>PPn,ConjureEndpointDefinition:()=>TPn,ConjureParamType:()=>SPn,ConjureService:()=>DPn});var nMs={};D(nMs,{ConjureAliasDeclaration:()=>RPn,ConjureDefinitions:()=>VPn,ConjureEnumDeclaration:()=>kPn,ConjureEnumVariant:()=>NPn,ConjureEnumWithDocs:()=>FPn,ConjureObjectDeclaration:()=>zPn,ConjurePrimitive:()=>IPn,ConjureType:()=>xWe,ConjureTypeDeclaration:()=>MPn,ConjureTypeReference:()=>PWe,ConjureTypeWithDocs:()=>CPn,ConjureTypes:()=>UPn,ConjureUnionDeclaration:()=>QPn});var oYu=require("fs/promises");async function sYu(e,t){let r=[];for(let n of await ak(e,t))r.push(await UNg({relativeFilepath:hl(e,n),absoluteFilepath:n}));return r}async function UNg({relativeFilepath:e,absoluteFilepath:t}){let r=(await(0,oYu.readFile)(t)).toString().replaceAll(/: rid(?:$|\s)/g,`: string
|
|
1552
1552
|
`).replaceAll("<rid>","<string>").replaceAll("rid>","string>").replaceAll(": safelong",": long").replaceAll("<safelong>","<long>").replaceAll("safelong>","long>").replaceAll(": any",": unknown").replaceAll("<any>","<unknown>").replaceAll("any>","unknown>");return{relativeFilepath:e,absoluteFilepath:t,fileContents:LPn.conjure.DefinitionFile.parseOrThrow(Cn.load(r),{unrecognizedObjectKeys:"passthrough",allowUnrecognizedEnumValues:!0,allowUnrecognizedUnionMembers:!0})}}function aYu(e,t){if(LNg(e))return t.alias(e);if(qNg(e))return t.enum(e);if(WNg(e))return t.object(e);if(GNg(e))return t.union(e);Ve(e)}function LNg(e){return e?.alias!=null}function qNg(e){return e?.values!=null}function WNg(e){return e?.fields!=null}function GNg(e){return e?.union!=null}var wCr=class extends cPr{fernDefinitionBuilder=new VAt(!1);conjureFilepathToFernFilepath={};async import({absolutePathToConjureFolder:t,authOverrides:r,environmentOverrides:n,globalHeaderOverrides:i}){if(r!=null){for(let[o,s]of Object.entries(r["auth-schemes"]??{}))this.fernDefinitionBuilder.addAuthScheme({name:o,schema:s});r.auth!=null&&this.fernDefinitionBuilder.setAuth(r.auth)}if(n!=null){for(let[o,s]of Object.entries(n.environments??{}))this.fernDefinitionBuilder.addEnvironment({name:o,schema:s});n["default-environment"]!=null&&this.fernDefinitionBuilder.setDefaultEnvironment(n["default-environment"]),n["default-url"]!=null&&this.fernDefinitionBuilder.setDefaultUrl(n["default-url"])}return await cYu(t,(o,s,a)=>{for(let[l,p]of Object.entries(a.services??{})){let m=a7r({value:l,suffix:"Service"});this.conjureFilepathToFernFilepath[s]=Ke.of(`${m}/__package__.yml`);return}let u=Gke(s)?.split(".")[0];u!=null&&(this.conjureFilepathToFernFilepath[s]=Ke.of(`${u}/__package__.yml`))}),await cYu(t,(o,s,a)=>{if(a.services==null||Object.keys(a.services??{}).length===0){let c=this.conjureFilepathToFernFilepath[s];if(c==null)throw new Error(`Failed to find corresponding fern filepath for conjure file ${s}`);for(let[u,l]of Object.entries(a.types?.conjureImports??{})){let p=this.getFernFileToImport({absoluteFilePathToConjureFile:o,absoluteFilePathToConjureFolder:t,importFilePath:Ke.of(l)});this.fernDefinitionBuilder.addImport({file:c,fileToImport:Ke.of(p),alias:u})}this.importAllTypes({conjureFile:a,fernFilePath:c});return}for(let[c,u]of Object.entries(a.services)){let l=a7r({value:c,suffix:"Service"}),p=Ke.of(`${l}/__package__.yml`),m={};u.basePath!=null&&(m["base-path"]=u.basePath),u.docs!=null&&(m.docs=u.docs),this.fernDefinitionBuilder.setServiceInfo(p,m),this.importAllTypes({conjureFile:a,fernFilePath:p});for(let[f,h]of Object.entries(a.types?.conjureImports??{})){let y=this.getFernFileToImport({absoluteFilePathToConjureFile:o,absoluteFilePathToConjureFolder:t,importFilePath:Ke.of(h)});this.fernDefinitionBuilder.addImport({file:p,fileToImport:Ke.of(y),alias:f})}for(let[f,h]of Object.entries(u.endpoints??{})){let y=qcs(h.http);if(y.type==="failure"){this.context?.logger.error(`Failed to parse ${h.http}. Skipping.`);continue}let A={auth:(h.auth??u.defaultAuth)!==jJu.None,path:y.path,method:y.method,response:h.returns==="binary"?"file":h.returns};h.docs!=null&&(A.docs=h.docs);let b={};if(h.args!=null)for(let v of y.pathParameters){let _=h.args[v];if(_==null)throw new Error(`Failed to find path parameter ${v} in ${h.http}`);b[v]=typeof _=="string"?_:{type:_.type}}Object.entries(b).length>0&&(A["path-parameters"]=b);for(let[v,_]of Object.entries(h.args??{}))if(b[v]==null)if(typeof _=="string")A.request?typeof A.request=="string"&&(A.request={body:A.request}):A.request={},A.request.body=_==="binary"?"bytes":_;else switch(_.paramType){case"body":A.request={body:_.type==="binary"?"bytes":_.type};break;case"query":A.request==null?A.request={"query-parameters":{[v]:_.type}}:typeof A.request!="string"&&A.request?.["query-parameters"]==null?A.request["query-parameters"]={[v]:_.type}:typeof A.request!="string"&&A.request?.["query-parameters"]!=null&&(A.request["query-parameters"][v]=_.type)}A.request!=null&&typeof A.request!="string"&&A.request?.["query-parameters"]!=null&&(A.request.name=`${f}Request`),this.fernDefinitionBuilder.addEndpoint(p,{name:f,schema:A,source:void 0})}}}),this.fernDefinitionBuilder.build()}convertBinaryType(t){return typeof t=="string"?t==="binary"?{type:"string",validation:{format:"binary"}}:t:t.type==="binary"?{...t,type:"string",validation:{format:"binary"}}:t}importAllTypes({conjureFile:t,fernFilePath:r}){for(let[n,i]of Object.entries(t.types?.definitions?.objects??{}))aYu(i,{alias:o=>{let s=o.alias==="binary"?{type:"string",validation:{format:"binary"}}:o.alias;this.fernDefinitionBuilder.addType(r,{name:n,schema:typeof s=="string"?{type:s,docs:o.docs}:{...s,docs:o.docs}})},object:o=>{this.fernDefinitionBuilder.addType(r,{name:n,schema:{properties:Object.fromEntries(Object.entries(o.fields).map(([s,a])=>[s,this.convertBinaryType(a)]))}})},enum:o=>{this.fernDefinitionBuilder.addType(r,{name:n,schema:{enum:o.values}})},union:o=>{this.fernDefinitionBuilder.addType(r,{name:n,schema:{union:Object.fromEntries(Object.entries(o.union).map(([s,a])=>{let c=this.convertBinaryType(a);return[s,{type:typeof c=="string"?c:c.type,docs:typeof c=="string"?void 0:c.docs,key:s}]}))}})}})}getFernFileToImport({absoluteFilePathToConjureFile:t,importFilePath:r,absoluteFilePathToConjureFolder:n}){let i=Pt(Ci(t),Ke.of(r)),o=zj(n,i),s=this.conjureFilepathToFernFilepath[o];if(s==null)throw new Error(`Failed to find corresponding fern filepath for conjure file ${o}`);return s}};async function cYu(e,t){for(let r of await sYu(e,"{yml,yaml}"))await t(r.absoluteFilepath,r.relativeFilepath,r.fileContents)}function uYu(e,t){return Mi(e,t)}var zVt=class extends yce{type="conjure";absolutePathToConjureFolder;constructor({relativePathToConjureDirectory:t,...r}){super(r),this.absolutePathToConjureFolder=Pt(r.absoluteFilePath,t)}async toFernWorkspace({context:t},r){let n=await this.getDefinition({context:t},r);return new Y3({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:n,cliVersion:this.cliVersion,sources:void 0})}async getDefinition({context:t},r){let i=await new wCr(t).import({absolutePathToConjureFolder:this.absolutePathToConjureFolder,authOverrides:this.generatorsConfiguration?.api?.auth!=null?{...this.generatorsConfiguration?.api}:void 0,environmentOverrides:this.generatorsConfiguration?.api?.environments!=null?{...this.generatorsConfiguration?.api}:void 0,globalHeaderOverrides:this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0});return{absoluteFilePath:Ar.of("/DUMMY_PATH"),rootApiFile:{defaultUrl:i.rootApiFile["default-url"],contents:i.rootApiFile,rawContents:Cn.dump(i.rootApiFile)},namedDefinitionFiles:{...uYu(i.definitionFiles,o=>({absoluteFilepath:Ar.of("/DUMMY_PATH"),rawContents:Cn.dump(o),contents:o})),[Ke.of(By)]:{absoluteFilepath:Ar.of("/DUMMY_PATH"),rawContents:Cn.dump(i.packageMarkerFile),contents:i.packageMarkerFile}},packageMarkers:{},importedDefinitions:{}}}getAbsoluteFilePaths(){return[this.absolutePathToConjureFolder]}};var TXu=He(hYu(),1);var Ed;(function(e){e.FILE_READ="FILE_READ",e.FILE_PARSE="FILE_PARSE",e.FILE_MISSING="FILE_MISSING",e.STRUCTURE_VALIDATION="STRUCTURE_VALIDATION",e.JSONSCHEMA_VALIDATION="JSONSCHEMA_VALIDATION",e.DEPENDENCY_NOT_LISTED="DEPENDENCY_NOT_LISTED",e.FAILED_TO_LOAD_DEPENDENCY="FAILED_TO_LOAD_DEPENDENCY",e.EXPORTING_PACKAGE_MARKER_OTHER_KEYS="EXPORTING_PACKAGE_MARKER_OTHER_KEYS",e.EXPORT_PACKAGE_HAS_DEFINITIONS="EXPORT_PACKAGE_HAS_DEFINITIONS",e.MISCONFIGURED_DIRECTORY="MISCONFIGURED_DIRECTORY"})(Ed||(Ed={}));function yYu(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function qPn(e,t){for(let[r,n]of II(e))$Ng({relativeFilepath:r,failure:n,logger:t})}function $Ng({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case Ed.MISCONFIGURED_DIRECTORY:r.error("Misconfigured fern directory: please see the docs at https://buildwithfern.com/learn/api-definition/introduction/what-is-the-fern-folder");break;case Ed.FILE_READ:r.error("Failed to open file: "+e);break;case Ed.FILE_MISSING:r.error("Missing file: "+e);break;case Ed.FILE_PARSE:t.error instanceof YOr?r.error(Y$({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case Ed.STRUCTURE_VALIDATION:for(let n of t.error.issues)for(let{title:i,subtitle:o}of KNg(n))r.error(Y$({title:i,subtitle:o,breadcrumbs:[e,...n.path]}));break;case Ed.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case Ed.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${Udn}: `+t.dependencyName);break;case Ed.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case Ed.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case Ed.JSONSCHEMA_VALIDATION:if(t.error.error!=null){let n=t.error.error.instancePath.split("/").filter(i=>i!=="").map(yYu);t.error.error.keyword==="required"&&t.error.error.params?.missingProperty?n.push(t.error.error.params.missingProperty):t.error.error.keyword==="additionalProperties"&&t.error.error.params?.additionalProperty&&n.push(t.error.error.params.additionalProperty),r.error(Y$({title:t.error.error.message??"Unknown error",breadcrumbs:[e,...n]}))}for(let n of t.error.allErrors)if(n!==t.error.error){let i=n.instancePath.split("/").filter(o=>o!=="").map(yYu);n.keyword==="required"&&n.params?.missingProperty?i.push(n.params.missingProperty):n.keyword==="additionalProperties"&&n.params?.additionalProperty&&i.push(n.params.additionalProperty),r.debug(Y$({title:n.message??"Unknown error",breadcrumbs:[e,...i]}))}break;default:Ve(t)}}function KNg(e){switch(e.code){case li.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${st.underline(e.expected)} but received ${st.underline(e.received)}`}];case li.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${st.underline(t)}`}));case li.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>st.underline(t)).join(", ")}`}];case li.invalid_union:case li.invalid_arguments:case li.invalid_return_type:case li.invalid_date:case li.invalid_string:case li.too_small:case li.too_big:case li.invalid_intersection_types:case li.not_multiple_of:case li.custom:default:return[{title:e.message}]}}var gYu=require("fs/promises");async function AYu(e,t){let r=await ak(e,t);return await Promise.all(r.map(n=>JNg({relativeFilepath:hl(e,n),absoluteFilepath:n})))}async function JNg({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,gYu.readFile)(t)).toString()}}async function bYu(e){let t={},r={};function n(i){try{t[i.relativeFilepath]={defaultUrl:void 0,contents:Cn.load(i.fileContents,{schema:Cn.CORE_SCHEMA}),rawContents:i.fileContents}}catch(o){r[i.relativeFilepath]={type:Ed.FILE_PARSE,error:o}}}return await Promise.all(e.map(n)),Object.keys(r).length>0?{didSucceed:!1,failures:r}:{didSucceed:!0,files:t}}var PCr=He(y3(),1);function sMs(e,t){if(e=PCr.default.parse(e),t=PCr.default.parse(t),!(PCr.default.compareBuild(e,t)>=0))return PCr.default.diff(e,t)||"build"}var YNg=/^([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-([a-z0-9])+$/,XNg=/^([0-9]+)\.([0-9]+)\.([0-9]+)-rc[.-]?([0-9]+)-([0-9]+)-([a-z0-9])+$/,ZNg=/^([0-9]+)\.([0-9]+)\.([0-9]+)-rc[.-]?([0-9]+)$/,ekg=/^([0-9]+)\.([0-9]+)\.([0-9]+)$/,tkg=/^([0-9]+)\.([0-9]+)\.([0-9]+)-alpha[.-]?([0-9]+)$/,rkg=/^([0-9]+)\.([0-9]+)\.([0-9]+)-beta[.-]?([0-9]+)$/;function o_t(e){let t=e.match(tkg);if(t!=null){let[a,c,u,l,p]=t,m=XP(c),f=XP(u),h=XP(l),y=XP(p);if(m==null||f==null||h==null||y==null)throw new Error("Cannot parse alpha version: "+e);return{type:"alpha",major:m,minor:f,patch:h,index:y}}let r=e.match(rkg);if(r!=null){let[a,c,u,l,p]=r,m=XP(c),f=XP(u),h=XP(l),y=XP(p);if(m==null||f==null||h==null||y==null)throw new Error("Cannot parse beta version: "+e);return{type:"beta",major:m,minor:f,patch:h,index:y}}let n=e.match(YNg);if(n!=null){let[a,c,u,l,p]=n,m=XP(c),f=XP(u),h=XP(l),y=XP(p);if(m==null||f==null||h==null||y==null)throw new Error("Cannot parse post-release commit version: "+e);return{type:"post-release-commit",major:m,minor:f,patch:h,commitIndex:y}}let i=e.match(ZNg);if(i!=null){let[a,c,u,l,p]=i,m=XP(c),f=XP(u),h=XP(l),y=XP(p);if(m==null||f==null||h==null||y==null)throw new Error("Cannot parse RC version: "+e);return{type:"rc",major:m,minor:f,patch:h,releaseCandidateIndex:y}}let o=e.match(XNg);if(o!=null){let[a,c,u,l,p,m]=o,f=XP(c),h=XP(u),y=XP(l),g=XP(p),A=XP(m);if(f==null||h==null||y==null||g==null||A==null)throw new Error("Cannot parse post-RC version: "+e);return{type:"post-rc-commit",major:f,minor:h,patch:y,releaseCandidateIndex:g,commitIndex:A}}let s=e.match(ekg);if(s!=null){let[a,c,u,l]=s,p=XP(c),m=XP(u),f=XP(l);if(p==null||m==null||f==null)throw new Error("Cannot parse release version: "+e);return{type:"release",major:p,minor:m,patch:f}}throw new Error("Failed to parse version: "+e)}function XP(e){if(e==null||e.length===0)return;let t=Number(e);if(!isNaN(t))return t}function vq(e,t){if(e===t||t==="latest")return!1;if(e==="latest")return!0;let r=o_t(e),n=o_t(t);if(r.major!==n.major||r.minor!==n.minor||r.patch!==n.patch)return sMs(_Yu(r),_Yu(n))==null;if(r.type==="post-release-commit")return n.type!=="post-release-commit"||r.commitIndex>n.commitIndex;if(r.type==="release")return n.type!=="post-release-commit";if(r.type==="rc"){switch(n.type){case"release":case"post-release-commit":return!1;case"alpha":case"beta":return!0}return r.releaseCandidateIndex!==n.releaseCandidateIndex&&r.releaseCandidateIndex>n.releaseCandidateIndex}if(r.type==="post-rc-commit"){switch(n.type){case"release":case"post-release-commit":return!1;case"alpha":case"beta":return!0}if(n.type==="post-rc-commit")return r.releaseCandidateIndex!==n.releaseCandidateIndex?r.releaseCandidateIndex>n.releaseCandidateIndex:r.commitIndex>n.commitIndex}if(r.type==="beta"){switch(n.type){case"release":case"post-release-commit":case"rc":case"post-rc-commit":return!1;case"alpha":return!0}return r.index>n.index}if(r.type==="alpha"){switch(n.type){case"release":case"post-release-commit":case"rc":case"post-rc-commit":return!1}return r.index>n.index}return!vq(t,e)}function _Yu(e){return`${e.major}.${e.minor}.${e.patch}`}var mVs=He(Lke(),1);var EXu=require("fs"),XVt=require("fs/promises");var OXu=require("os"),wXu=He(require("path"),1),xXu=require("stream/promises");var vYu=He(require("events"),1),NV=He(require("fs"),1);var nkg=NV.default.writev,CWe=Symbol("_autoClose"),qce=Symbol("_close"),ICr=Symbol("_ended"),eE=Symbol("_fd"),aMs=Symbol("_finished"),z2e=Symbol("_flags"),cMs=Symbol("_flush"),fMs=Symbol("_handleChunk"),mMs=Symbol("_makeBuf"),SCr=Symbol("_mode"),WPn=Symbol("_needDrain"),UVt=Symbol("_onerror"),LVt=Symbol("_onopen"),uMs=Symbol("_onread"),MVt=Symbol("_onwrite"),SWe=Symbol("_open"),Lce=Symbol("_path"),IWe=Symbol("_pos"),Mbe=Symbol("_queue"),VVt=Symbol("_read"),lMs=Symbol("_readSize"),k2e=Symbol("_reading"),CCr=Symbol("_remain"),pMs=Symbol("_size"),GPn=Symbol("_write"),s_t=Symbol("_writing"),HPn=Symbol("_defaultFlag"),a_t=Symbol("_errored"),c_t=class extends XT{[a_t]=!1;[eE];[Lce];[lMs];[k2e]=!1;[pMs];[CCr];[CWe];constructor(t,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[a_t]=!1,this[eE]=typeof r.fd=="number"?r.fd:void 0,this[Lce]=t,this[lMs]=r.readSize||16*1024*1024,this[k2e]=!1,this[pMs]=typeof r.size=="number"?r.size:1/0,this[CCr]=this[pMs],this[CWe]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[eE]=="number"?this[VVt]():this[SWe]()}get fd(){return this[eE]}get path(){return this[Lce]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[SWe](){NV.default.open(this[Lce],"r",(t,r)=>this[LVt](t,r))}[LVt](t,r){t?this[UVt](t):(this[eE]=r,this.emit("open",r),this[VVt]())}[mMs](){return Buffer.allocUnsafe(Math.min(this[lMs],this[CCr]))}[VVt](){if(!this[k2e]){this[k2e]=!0;let t=this[mMs]();if(t.length===0)return process.nextTick(()=>this[uMs](null,0,t));NV.default.read(this[eE],t,0,t.length,null,(r,n,i)=>this[uMs](r,n,i))}}[uMs](t,r,n){this[k2e]=!1,t?this[UVt](t):this[fMs](r,n)&&this[VVt]()}[qce](){if(this[CWe]&&typeof this[eE]=="number"){let t=this[eE];this[eE]=void 0,NV.default.close(t,r=>r?this.emit("error",r):this.emit("close"))}}[UVt](t){this[k2e]=!0,this[qce](),this.emit("error",t)}[fMs](t,r){let n=!1;return this[CCr]-=t,t>0&&(n=super.write(t<r.length?r.subarray(0,t):r)),(t===0||this[CCr]<=0)&&(n=!1,this[qce](),super.end()),n}emit(t,...r){switch(t){case"prefinish":case"finish":return!1;case"drain":return typeof this[eE]=="number"&&this[VVt](),!1;case"error":return this[a_t]?!1:(this[a_t]=!0,super.emit(t,...r));default:return super.emit(t,...r)}}},$Pn=class extends c_t{[SWe](){let t=!0;try{this[LVt](null,NV.default.openSync(this[Lce],"r")),t=!1}finally{t&&this[qce]()}}[VVt](){let t=!0;try{if(!this[k2e]){this[k2e]=!0;do{let r=this[mMs](),n=r.length===0?0:NV.default.readSync(this[eE],r,0,r.length,null);if(!this[fMs](n,r))break}while(!0);this[k2e]=!1}t=!1}finally{t&&this[qce]()}}[qce](){if(this[CWe]&&typeof this[eE]=="number"){let t=this[eE];this[eE]=void 0,NV.default.closeSync(t),this.emit("close")}}},Q2e=class extends vYu.default{readable=!1;writable=!0;[a_t]=!1;[s_t]=!1;[ICr]=!1;[Mbe]=[];[WPn]=!1;[Lce];[SCr];[CWe];[eE];[HPn];[z2e];[aMs]=!1;[IWe];constructor(t,r){r=r||{},super(r),this[Lce]=t,this[eE]=typeof r.fd=="number"?r.fd:void 0,this[SCr]=r.mode===void 0?438:r.mode,this[IWe]=typeof r.start=="number"?r.start:void 0,this[CWe]=typeof r.autoClose=="boolean"?r.autoClose:!0;let n=this[IWe]!==void 0?"r+":"w";this[HPn]=r.flags===void 0,this[z2e]=r.flags===void 0?n:r.flags,this[eE]===void 0&&this[SWe]()}emit(t,...r){if(t==="error"){if(this[a_t])return!1;this[a_t]=!0}return super.emit(t,...r)}get fd(){return this[eE]}get path(){return this[Lce]}[UVt](t){this[qce](),this[s_t]=!0,this.emit("error",t)}[SWe](){NV.default.open(this[Lce],this[z2e],this[SCr],(t,r)=>this[LVt](t,r))}[LVt](t,r){this[HPn]&&this[z2e]==="r+"&&t&&t.code==="ENOENT"?(this[z2e]="w",this[SWe]()):t?this[UVt](t):(this[eE]=r,this.emit("open",r),this[s_t]||this[cMs]())}end(t,r){return t&&this.write(t,r),this[ICr]=!0,!this[s_t]&&!this[Mbe].length&&typeof this[eE]=="number"&&this[MVt](null,0),this}write(t,r){return typeof t=="string"&&(t=Buffer.from(t,r)),this[ICr]?(this.emit("error",new Error("write() after end()")),!1):this[eE]===void 0||this[s_t]||this[Mbe].length?(this[Mbe].push(t),this[WPn]=!0,!1):(this[s_t]=!0,this[GPn](t),!0)}[GPn](t){NV.default.write(this[eE],t,0,t.length,this[IWe],(r,n)=>this[MVt](r,n))}[MVt](t,r){t?this[UVt](t):(this[IWe]!==void 0&&typeof r=="number"&&(this[IWe]+=r),this[Mbe].length?this[cMs]():(this[s_t]=!1,this[ICr]&&!this[aMs]?(this[aMs]=!0,this[qce](),this.emit("finish")):this[WPn]&&(this[WPn]=!1,this.emit("drain"))))}[cMs](){if(this[Mbe].length===0)this[ICr]&&this[MVt](null,0);else if(this[Mbe].length===1)this[GPn](this[Mbe].pop());else{let t=this[Mbe];this[Mbe]=[],nkg(this[eE],t,this[IWe],(r,n)=>this[MVt](r,n))}}[qce](){if(this[CWe]&&typeof this[eE]=="number"){let t=this[eE];this[eE]=void 0,NV.default.close(t,r=>r?this.emit("error",r):this.emit("close"))}}},qVt=class extends Q2e{[SWe](){let t;if(this[HPn]&&this[z2e]==="r+")try{t=NV.default.openSync(this[Lce],this[z2e],this[SCr])}catch(r){if(r?.code==="ENOENT")return this[z2e]="w",this[SWe]();throw r}else t=NV.default.openSync(this[Lce],this[z2e],this[SCr]);this[LVt](null,t)}[qce](){if(this[CWe]&&typeof this[eE]=="number"){let t=this[eE];this[eE]=void 0,NV.default.closeSync(t),this.emit("close")}}[GPn](t){let r=!0;try{this[MVt](null,NV.default.writeSync(this[eE],t,0,t.length,this[IWe])),r=!1}finally{if(r)try{this[qce]()}catch{}}}};var WMs=He(require("path"),1);var g_t=He(require("fs"),1),mIn=require("path");var ikg=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),EYu=e=>!!e.sync&&!!e.file,OYu=e=>!e.sync&&!!e.file,wYu=e=>!!e.sync&&!e.file,xYu=e=>!e.sync&&!e.file;var PYu=e=>!!e.file;var okg=e=>{let t=ikg.get(e);return t||e},jCr=(e={})=>{if(!e)return{};let t={};for(let[r,n]of Object.entries(e)){let i=okg(r);t[i]=n}return t.chmod===void 0&&t.noChmod===!1&&(t.chmod=!0),delete t.noChmod,t};var Vbe=(e,t,r,n,i)=>Object.assign((o=[],s,a)=>{Array.isArray(o)&&(s=o,o={}),typeof s=="function"&&(a=s,s=void 0),s?s=Array.from(s):s=[];let c=jCr(o);if(i?.(c,s),EYu(c)){if(typeof a=="function")throw new TypeError("callback not supported for sync tar functions");return e(c,s)}else if(OYu(c)){let u=t(c,s),l=a||void 0;return l?u.then(()=>l(),l):u}else if(wYu(c)){if(typeof a=="function")throw new TypeError("callback not supported for sync tar functions");return r(c,s)}else if(xYu(c)){if(typeof a=="function")throw new TypeError("callback only supported with file option");return n(c,s)}else throw new Error("impossible options??")},{syncFile:e,asyncFile:t,syncNoFile:r,asyncNoFile:n,validate:i});var UYu=require("events");var KPn=He(require("assert"),1),jWe=require("buffer");var CYu=He(require("zlib"),1);var IYu=He(require("zlib"),1),skg=IYu.default.constants||{ZLIB_VERNUM:4736},$K=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},skg));var akg=jWe.Buffer.concat,SYu=Object.getOwnPropertyDescriptor(jWe.Buffer,"concat"),ckg=e=>e,hMs=SYu?.writable===!0||SYu?.set!==void 0?e=>{jWe.Buffer.concat=e?ckg:akg}:e=>{},u_t=Symbol("_superWrite"),WVt=class extends Error{code;errno;constructor(t,r){super("zlib: "+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,r??this.constructor)}get name(){return"ZlibError"}},yMs=Symbol("flushFlag"),BCr=class extends XT{#e=!1;#t=!1;#r;#n;#i;#o;#s;get sawError(){return this.#e}get handle(){return this.#o}get flushFlag(){return this.#r}constructor(t,r){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(t),this.#r=t.flush??0,this.#n=t.finishFlush??0,this.#i=t.fullFlushFlag??0,typeof CYu[r]!="function")throw new TypeError("Compression method not supported: "+r);try{this.#o=new CYu[r](t)}catch(n){throw new WVt(n,this.constructor)}this.#s=n=>{this.#e||(this.#e=!0,this.close(),this.emit("error",n))},this.#o?.on("error",n=>this.#s(new WVt(n))),this.once("end",()=>this.close)}close(){this.#o&&(this.#o.close(),this.#o=void 0,this.emit("close"))}reset(){if(!this.#e)return(0,KPn.default)(this.#o,"zlib binding closed"),this.#o.reset?.()}flush(t){this.ended||(typeof t!="number"&&(t=this.#i),this.write(Object.assign(jWe.Buffer.alloc(0),{[yMs]:t})))}end(t,r,n){return typeof t=="function"&&(n=t,r=void 0,t=void 0),typeof r=="function"&&(n=r,r=void 0),t&&(r?this.write(t,r):this.write(t)),this.flush(this.#n),this.#t=!0,super.end(n)}get ended(){return this.#t}[u_t](t){return super.write(t)}write(t,r,n){if(typeof r=="function"&&(n=r,r="utf8"),typeof t=="string"&&(t=jWe.Buffer.from(t,r)),this.#e)return;(0,KPn.default)(this.#o,"zlib binding closed");let i=this.#o._handle,o=i.close;i.close=()=>{};let s=this.#o.close;this.#o.close=()=>{},hMs(!0);let a;try{let u=typeof t[yMs]=="number"?t[yMs]:this.#r;a=this.#o._processChunk(t,u),hMs(!1)}catch(u){hMs(!1),this.#s(new WVt(u,this.write))}finally{this.#o&&(this.#o._handle=i,i.close=o,this.#o.close=s,this.#o.removeAllListeners("error"))}this.#o&&this.#o.on("error",u=>this.#s(new WVt(u,this.write)));let c;if(a)if(Array.isArray(a)&&a.length>0){let u=a[0];c=this[u_t](jWe.Buffer.from(u));for(let l=1;l<a.length;l++)c=this[u_t](a[l])}else c=this[u_t](jWe.Buffer.from(a));return n&&n(),c}},JPn=class extends BCr{#e;#t;constructor(t,r){t=t||{},t.flush=t.flush||$K.Z_NO_FLUSH,t.finishFlush=t.finishFlush||$K.Z_FINISH,t.fullFlushFlag=$K.Z_FULL_FLUSH,super(t,r),this.#e=t.level,this.#t=t.strategy}params(t,r){if(!this.sawError){if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#e!==t||this.#t!==r){this.flush($K.Z_SYNC_FLUSH),(0,KPn.default)(this.handle,"zlib binding closed");let n=this.handle.flush;this.handle.flush=(i,o)=>{typeof i=="function"&&(o=i,i=this.flushFlag),this.flush(i),o?.()};try{this.handle.params(t,r)}finally{this.handle.flush=n}this.handle&&(this.#e=t,this.#t=r)}}}};var YPn=class extends JPn{#e;constructor(t){super(t,"Gzip"),this.#e=t&&!!t.portable}[u_t](t){return this.#e?(this.#e=!1,t[9]=255,super[u_t](t)):super[u_t](t)}};var XPn=class extends JPn{constructor(t){super(t,"Unzip")}},ZPn=class extends BCr{constructor(t,r){t=t||{},t.flush=t.flush||$K.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||$K.BROTLI_OPERATION_FINISH,t.fullFlushFlag=$K.BROTLI_OPERATION_FLUSH,super(t,r)}},eIn=class extends ZPn{constructor(t){super(t,"BrotliCompress")}},tIn=class extends ZPn{constructor(t){super(t,"BrotliDecompress")}},rIn=class extends BCr{constructor(t,r){t=t||{},t.flush=t.flush||$K.ZSTD_e_continue,t.finishFlush=t.finishFlush||$K.ZSTD_e_end,t.fullFlushFlag=$K.ZSTD_e_flush,super(t,r)}},nIn=class extends rIn{constructor(t){super(t,"ZstdCompress")}},iIn=class extends rIn{constructor(t){super(t,"ZstdDecompress")}};var f_t=require("path");var jYu=(e,t)=>{if(Number.isSafeInteger(e))e<0?pkg(e,t):lkg(e,t);else throw Error("cannot encode number outside of javascript safe integer range");return t},lkg=(e,t)=>{t[0]=128;for(var r=t.length;r>1;r--)t[r-1]=e&255,e=Math.floor(e/256)},pkg=(e,t)=>{t[0]=255;var r=!1;e=e*-1;for(var n=t.length;n>1;n--){var i=e&255;e=Math.floor(e/256),r?t[n-1]=TYu(i):i===0?t[n-1]=0:(r=!0,t[n-1]=DYu(i))}},BYu=e=>{let t=e[0],r=t===128?mkg(e.subarray(1,e.length)):t===255?fkg(e):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},fkg=e=>{for(var t=e.length,r=0,n=!1,i=t-1;i>-1;i--){var o=Number(e[i]),s;n?s=TYu(o):o===0?s=o:(n=!0,s=DYu(o)),s!==0&&(r-=s*Math.pow(256,t-i-1))}return r},mkg=e=>{for(var t=e.length,r=0,n=t-1;n>-1;n--){var i=Number(e[n]);i!==0&&(r+=i*Math.pow(256,t-n-1))}return r},TYu=e=>(255^e)&255,DYu=e=>(255^e)+1&255;var oIn=e=>sIn.has(e);var sIn=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),RYu=new Map(Array.from(sIn).map(e=>[e[1],e[0]]));var V9=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#e="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,r=0,n,i){Buffer.isBuffer(t)?this.decode(t,r||0,n,i):t&&this.#t(t)}decode(t,r,n,i){if(r||(r=0),!t||!(t.length>=r+512))throw new Error("need 512 bytes for header");this.path=n?.path??l_t(t,r,100),this.mode=n?.mode??i?.mode??BWe(t,r+100,8),this.uid=n?.uid??i?.uid??BWe(t,r+108,8),this.gid=n?.gid??i?.gid??BWe(t,r+116,8),this.size=n?.size??i?.size??BWe(t,r+124,12),this.mtime=n?.mtime??i?.mtime??gMs(t,r+136,12),this.cksum=BWe(t,r+148,12),i&&this.#t(i,!0),n&&this.#t(n);let o=l_t(t,r+156,1);if(oIn(o)&&(this.#e=o||"0"),this.#e==="0"&&this.path.slice(-1)==="/"&&(this.#e="5"),this.#e==="5"&&(this.size=0),this.linkpath=l_t(t,r+157,100),t.subarray(r+257,r+265).toString()==="ustar\x0000")if(this.uname=n?.uname??i?.uname??l_t(t,r+265,32),this.gname=n?.gname??i?.gname??l_t(t,r+297,32),this.devmaj=n?.devmaj??i?.devmaj??BWe(t,r+329,8)??0,this.devmin=n?.devmin??i?.devmin??BWe(t,r+337,8)??0,t[r+475]!==0){let a=l_t(t,r+345,155);this.path=a+"/"+this.path}else{let a=l_t(t,r+345,130);a&&(this.path=a+"/"+this.path),this.atime=n?.atime??i?.atime??gMs(t,r+476,12),this.ctime=n?.ctime??i?.ctime??gMs(t,r+488,12)}let s=256;for(let a=r;a<r+148;a++)s+=t[a];for(let a=r+156;a<r+512;a++)s+=t[a];this.cksumValid=s===this.cksum,this.cksum===void 0&&s===256&&(this.nullBlock=!0)}#t(t,r=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&r||n==="linkpath"&&r||n==="global"))))}encode(t,r=0){if(t||(t=this.block=Buffer.alloc(512)),this.#e==="Unsupported"&&(this.#e="0"),!(t.length>=r+512))throw new Error("need 512 bytes for header");let n=this.ctime||this.atime?130:155,i=hkg(this.path||"",n),o=i[0],s=i[1];this.needPax=!!i[2],this.needPax=p_t(t,r,100,o)||this.needPax,this.needPax=TWe(t,r+100,8,this.mode)||this.needPax,this.needPax=TWe(t,r+108,8,this.uid)||this.needPax,this.needPax=TWe(t,r+116,8,this.gid)||this.needPax,this.needPax=TWe(t,r+124,12,this.size)||this.needPax,this.needPax=AMs(t,r+136,12,this.mtime)||this.needPax,t[r+156]=this.#e.charCodeAt(0),this.needPax=p_t(t,r+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",r+257,8),this.needPax=p_t(t,r+265,32,this.uname)||this.needPax,this.needPax=p_t(t,r+297,32,this.gname)||this.needPax,this.needPax=TWe(t,r+329,8,this.devmaj)||this.needPax,this.needPax=TWe(t,r+337,8,this.devmin)||this.needPax,this.needPax=p_t(t,r+345,n,s)||this.needPax,t[r+475]!==0?this.needPax=p_t(t,r+345,155,s)||this.needPax:(this.needPax=p_t(t,r+345,130,s)||this.needPax,this.needPax=AMs(t,r+476,12,this.atime)||this.needPax,this.needPax=AMs(t,r+488,12,this.ctime)||this.needPax);let a=256;for(let c=r;c<r+148;c++)a+=t[c];for(let c=r+156;c<r+512;c++)a+=t[c];return this.cksum=a,TWe(t,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#e==="Unsupported"?this.#e:sIn.get(this.#e)}get typeKey(){return this.#e}set type(t){let r=String(RYu.get(t));if(oIn(r)||r==="Unsupported")this.#e=r;else if(oIn(t))this.#e=t;else throw new TypeError("invalid entry type: "+t)}},hkg=(e,t)=>{let n=e,i="",o,s=f_t.posix.parse(e).root||".";if(Buffer.byteLength(n)<100)o=[n,i,!1];else{i=f_t.posix.dirname(n),n=f_t.posix.basename(n);do Buffer.byteLength(n)<=100&&Buffer.byteLength(i)<=t?o=[n,i,!1]:Buffer.byteLength(n)>100&&Buffer.byteLength(i)<=t?o=[n.slice(0,99),i,!0]:(n=f_t.posix.join(f_t.posix.basename(i),n),i=f_t.posix.dirname(i));while(i!==s&&o===void 0);o||(o=[e.slice(0,99),"",!0])}return o},l_t=(e,t,r)=>e.subarray(t,t+r).toString("utf8").replace(/\0.*/,""),gMs=(e,t,r)=>ykg(BWe(e,t,r)),ykg=e=>e===void 0?void 0:new Date(e*1e3),BWe=(e,t,r)=>Number(e[t])&128?BYu(e.subarray(t,t+r)):Akg(e,t,r),gkg=e=>isNaN(e)?void 0:e,Akg=(e,t,r)=>gkg(parseInt(e.subarray(t,t+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),bkg={12:8589934591,8:2097151},TWe=(e,t,r,n)=>n===void 0?!1:n>bkg[r]||n<0?(jYu(n,e.subarray(t,t+r)),!0):(_kg(e,t,r,n),!1),_kg=(e,t,r,n)=>e.write(vkg(n,r),t,r,"ascii"),vkg=(e,t)=>Ekg(Math.floor(e).toString(8),t),Ekg=(e,t)=>(e.length===t-1?e:new Array(t-e.length-1).join("0")+e+" ")+"\0",AMs=(e,t,r,n)=>n===void 0?!1:TWe(e,t,r,n.getTime()/1e3),Okg=new Array(156).join("\0"),p_t=(e,t,r,n)=>n===void 0?!1:(e.write(n+Okg,t,r,"utf8"),n.length!==Buffer.byteLength(n)||n.length>r);var NYu=require("path");var DWe=class e{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=r,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t==="")return Buffer.allocUnsafe(0);let r=Buffer.byteLength(t),n=512*Math.ceil(1+r/512),i=Buffer.allocUnsafe(n);for(let o=0;o<512;o++)i[o]=0;new V9({path:("PaxHeader/"+(0,NYu.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:r,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(i),i.write(t,512,r,"utf8");for(let o=r+512;o<i.length;o++)i[o]=0;return i}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===void 0)return"";let r=this[t],n=r instanceof Date?r.getTime()/1e3:r,i=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+n+`
|
|
1553
1553
|
`,o=Buffer.byteLength(i),s=Math.floor(Math.log(o)/Math.log(10))+1;return o+s>=Math.pow(10,s)&&(s+=1),s+o+i}static parse(t,r,n=!1){return new e(wkg(xkg(t),r),n)}},wkg=(e,t)=>t?Object.assign({},t,e):e,xkg=e=>e.replace(/\n$/,"").split(`
|
|
1554
|
-
`).reduce(Pkg,Object.create(null)),Pkg=(e,t)=>{let r=parseInt(t,10);if(r!==Buffer.byteLength(t)+1)return e;t=t.slice((r+" ").length);let n=t.split("="),i=n.shift();if(!i)return e;let o=i.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),s=n.join("=");return e[o]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(o)?new Date(Number(s)*1e3):/^[0-9]+$/.test(s)?+s:s,e};var Ikg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Od=Ikg!=="win32"?e=>e:e=>e&&e.replace(/\\/g,"/");var GVt=class extends XT{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,r,n){switch(super({}),this.pause(),this.extended=r,this.globalExtended=n,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=Od(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?Od(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,r&&this.#e(r),n&&this.#e(n,!0)}write(t){let r=t.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let n=this.remain,i=this.blockRemain;return this.remain=Math.max(0,n-r),this.blockRemain=Math.max(0,i-r),this.ignore?!0:n>=r?super.write(t):super.write(t.subarray(0,n))}#e(t,r=!1){t.path&&(t.path=Od(t.path)),t.linkpath&&(t.linkpath=Od(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&r))))}};var m_t=(e,t,r,n={})=>{e.file&&(n.file=e.file),e.cwd&&(n.cwd=e.cwd),n.code=r instanceof Error&&r.code||t,n.tarCode=t,!e.strict&&n.recoverable!==!1?(r instanceof Error&&(n=Object.assign(r,n),r=r.message),e.emit("warn",t,r,n)):r instanceof Error?e.emit("error",Object.assign(r,n)):e.emit("error",Object.assign(new Error(`${t}: ${r}`),n))};var Ckg=1024*1024,OMs=Buffer.from([31,139]),wMs=Buffer.from([40,181,47,253]),Skg=Math.max(OMs.length,wMs.length),KK=Symbol("state"),d_t=Symbol("writeEntry"),M2e=Symbol("readEntry"),bMs=Symbol("nextEntry"),kYu=Symbol("processEntry"),Ube=Symbol("extendedHeader"),TCr=Symbol("globalExtendedHeader"),RWe=Symbol("meta"),zYu=Symbol("emitMeta"),Vw=Symbol("buffer"),V2e=Symbol("queue"),FWe=Symbol("ended"),_Ms=Symbol("emittedEnd"),h_t=Symbol("emit"),sB=Symbol("unzip"),aIn=Symbol("consumeChunk"),cIn=Symbol("consumeChunkSub"),vMs=Symbol("consumeBody"),QYu=Symbol("consumeMeta"),MYu=Symbol("consumeHeader"),DCr=Symbol("consuming"),EMs=Symbol("bufferConcat"),uIn=Symbol("maybeEnd"),HVt=Symbol("writing"),NWe=Symbol("aborted"),lIn=Symbol("onDone"),y_t=Symbol("sawValidEntry"),pIn=Symbol("sawNullBlock"),fIn=Symbol("sawEOF"),VYu=Symbol("closeStream"),jkg=()=>!0,U2e=class extends UYu.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[V2e]=[];[Vw];[M2e];[d_t];[KK]="begin";[RWe]="";[Ube];[TCr];[FWe]=!1;[sB];[NWe]=!1;[y_t];[pIn]=!1;[fIn]=!1;[HVt]=!1;[DCr]=!1;[_Ms]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(lIn,()=>{(this[KK]==="begin"||this[y_t]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(lIn,t.ondone):this.on(lIn,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||Ckg,this.filter=typeof t.filter=="function"?t.filter:jkg;let r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:r?void 0:!1;let n=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:n?!0:void 0,this.on("end",()=>this[VYu]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,r,n={}){m_t(this,t,r,n)}[MYu](t,r){this[y_t]===void 0&&(this[y_t]=!1);let n;try{n=new V9(t,r,this[Ube],this[TCr])}catch(i){return this.warn("TAR_ENTRY_INVALID",i)}if(n.nullBlock)this[pIn]?(this[fIn]=!0,this[KK]==="begin"&&(this[KK]="header"),this[h_t]("eof")):(this[pIn]=!0,this[h_t]("nullBlock"));else if(this[pIn]=!1,!n.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:n});else if(!n.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:n});else{let i=n.type;if(/^(Symbolic)?Link$/.test(i)&&!n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:n});else if(!/^(Symbolic)?Link$/.test(i)&&!/^(Global)?ExtendedHeader$/.test(i)&&n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:n});else{let o=this[d_t]=new GVt(n,this[Ube],this[TCr]);if(!this[y_t])if(o.remain){let s=()=>{o.invalid||(this[y_t]=!0)};o.on("end",s)}else this[y_t]=!0;o.meta?o.size>this.maxMetaEntrySize?(o.ignore=!0,this[h_t]("ignoredEntry",o),this[KK]="ignore",o.resume()):o.size>0&&(this[RWe]="",o.on("data",s=>this[RWe]+=s),this[KK]="meta"):(this[Ube]=void 0,o.ignore=o.ignore||!this.filter(o.path,o),o.ignore?(this[h_t]("ignoredEntry",o),this[KK]=o.remain?"ignore":"header",o.resume()):(o.remain?this[KK]="body":(this[KK]="header",o.end()),this[M2e]?this[V2e].push(o):(this[V2e].push(o),this[bMs]())))}}}[VYu](){queueMicrotask(()=>this.emit("close"))}[kYu](t){let r=!0;if(!t)this[M2e]=void 0,r=!1;else if(Array.isArray(t)){let[n,...i]=t;this.emit(n,...i)}else this[M2e]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",()=>this[bMs]()),r=!1);return r}[bMs](){do;while(this[kYu](this[V2e].shift()));if(!this[V2e].length){let t=this[M2e];!t||t.flowing||t.size===t.remain?this[HVt]||this.emit("drain"):t.once("drain",()=>this.emit("drain"))}}[vMs](t,r){let n=this[d_t];if(!n)throw new Error("attempt to consume body without entry??");let i=n.blockRemain??0,o=i>=t.length&&r===0?t:t.subarray(r,r+i);return n.write(o),n.blockRemain||(this[KK]="header",this[d_t]=void 0,n.end()),o.length}[QYu](t,r){let n=this[d_t],i=this[vMs](t,r);return!this[d_t]&&n&&this[zYu](n),i}[h_t](t,r,n){!this[V2e].length&&!this[M2e]?this.emit(t,r,n):this[V2e].push([t,r,n])}[zYu](t){switch(this[h_t]("meta",this[RWe]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ube]=DWe.parse(this[RWe],this[Ube],!1);break;case"GlobalExtendedHeader":this[TCr]=DWe.parse(this[RWe],this[TCr],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let r=this[Ube]??Object.create(null);this[Ube]=r,r.path=this[RWe].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let r=this[Ube]||Object.create(null);this[Ube]=r,r.linkpath=this[RWe].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[NWe]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,r,n){if(typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8")),this[NWe])return n?.(),!1;if((this[sB]===void 0||this.brotli===void 0&&this[sB]===!1)&&t){if(this[Vw]&&(t=Buffer.concat([this[Vw],t]),this[Vw]=void 0),t.length<Skg)return this[Vw]=t,n?.(),!0;for(let c=0;this[sB]===void 0&&c<OMs.length;c++)t[c]!==OMs[c]&&(this[sB]=!1);let s=!1;if(this[sB]===!1&&this.zstd!==!1){s=!0;for(let c=0;c<wMs.length;c++)if(t[c]!==wMs[c]){s=!1;break}}let a=this.brotli===void 0&&!s;if(this[sB]===!1&&a)if(t.length<512)if(this[FWe])this.brotli=!0;else return this[Vw]=t,n?.(),!0;else try{new V9(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[sB]===void 0||this[sB]===!1&&(this.brotli||s)){let c=this[FWe];this[FWe]=!1,this[sB]=this[sB]===void 0?new XPn({}):s?new iIn({}):new tIn({}),this[sB].on("data",l=>this[aIn](l)),this[sB].on("error",l=>this.abort(l)),this[sB].on("end",()=>{this[FWe]=!0,this[aIn]()}),this[HVt]=!0;let u=!!this[sB][c?"end":"write"](t);return this[HVt]=!1,n?.(),u}}this[HVt]=!0,this[sB]?this[sB].write(t):this[aIn](t),this[HVt]=!1;let o=this[V2e].length?!1:this[M2e]?this[M2e].flowing:!0;return!o&&!this[V2e].length&&this[M2e]?.once("drain",()=>this.emit("drain")),n?.(),o}[EMs](t){t&&!this[NWe]&&(this[Vw]=this[Vw]?Buffer.concat([this[Vw],t]):t)}[uIn](){if(this[FWe]&&!this[_Ms]&&!this[NWe]&&!this[DCr]){this[_Ms]=!0;let t=this[d_t];if(t&&t.blockRemain){let r=this[Vw]?this[Vw].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t}),this[Vw]&&t.write(this[Vw]),t.end()}this[h_t](lIn)}}[aIn](t){if(this[DCr]&&t)this[EMs](t);else if(!t&&!this[Vw])this[uIn]();else if(t){if(this[DCr]=!0,this[Vw]){this[EMs](t);let r=this[Vw];this[Vw]=void 0,this[cIn](r)}else this[cIn](t);for(;this[Vw]&&this[Vw]?.length>=512&&!this[NWe]&&!this[fIn];){let r=this[Vw];this[Vw]=void 0,this[cIn](r)}this[DCr]=!1}(!this[Vw]||this[FWe])&&this[uIn]()}[cIn](t){let r=0,n=t.length;for(;r+512<=n&&!this[NWe]&&!this[fIn];)switch(this[KK]){case"begin":case"header":this[MYu](t,r),r+=512;break;case"ignore":case"body":r+=this[vMs](t,r);break;case"meta":r+=this[QYu](t,r);break;default:throw new Error("invalid state: "+this[KK])}r<n&&(this[Vw]?this[Vw]=Buffer.concat([t.subarray(r),this[Vw]]):this[Vw]=t.subarray(r))}end(t,r,n){return typeof t=="function"&&(n=t,r=void 0,t=void 0),typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,r)),n&&this.once("finish",n),this[NWe]||(this[sB]?(t&&this[sB].write(t),this[sB].end()):(this[FWe]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[uIn]())),this}};var kWe=e=>{let t=e.length-1,r=-1;for(;t>-1&&e.charAt(t)==="/";)r=t,t--;return r===-1?e:e.slice(0,r)};var Bkg=e=>{let t=e.onReadEntry;e.onReadEntry=t?r=>{t(r),r.resume()}:r=>r.resume()},xMs=(e,t)=>{let r=new Map(t.map(o=>[kWe(o),!0])),n=e.filter,i=(o,s="")=>{let a=s||(0,mIn.parse)(o).root||".",c;if(o===a)c=!1;else{let u=r.get(o);u!==void 0?c=u:c=i((0,mIn.dirname)(o),a)}return r.set(o,c),c};e.filter=n?(o,s)=>n(o,s)&&i(kWe(o)):o=>i(kWe(o))},Tkg=e=>{let t=new U2e(e),r=e.file,n;try{n=g_t.default.openSync(r,"r");let i=g_t.default.fstatSync(n),o=e.maxReadSize||16*1024*1024;if(i.size<o){let s=Buffer.allocUnsafe(i.size),a=g_t.default.readSync(n,s,0,i.size,0);t.end(a===s.byteLength?s:s.subarray(0,a))}else{let s=0,a=Buffer.allocUnsafe(o);for(;s<i.size;){let c=g_t.default.readSync(n,a,0,o,s);if(c===0)break;s+=c,t.write(a.subarray(0,c))}t.end()}}finally{if(typeof n=="number")try{g_t.default.closeSync(n)}catch{}}},Dkg=(e,t)=>{let r=new U2e(e),n=e.maxReadSize||16*1024*1024,i=e.file;return new Promise((s,a)=>{r.on("error",a),r.on("end",s),g_t.default.stat(i,(c,u)=>{if(c)a(c);else{let l=new c_t(i,{readSize:n,size:u.size});l.on("error",a),l.pipe(r)}})})},A_t=Vbe(Tkg,Dkg,e=>new U2e(e),e=>new U2e(e),(e,t)=>{t?.length&&xMs(e,t),e.noResume||Bkg(e)});var MCr=He(require("fs"),1);var Wce=He(require("fs"),1);var jMs=He(require("path"),1);var PMs=(e,t,r)=>(e&=4095,r&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e);var qYu=require("path"),{isAbsolute:Rkg,parse:LYu}=qYu.win32,RCr=e=>{let t="",r=LYu(e);for(;Rkg(e)||r.root;){let n=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":r.root;e=e.slice(n.length),t+=n,r=LYu(e)}return[t,e]};var dIn=["|","<",">","?",":"],IMs=dIn.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),Fkg=new Map(dIn.map((e,t)=>[e,IMs[t]])),Nkg=new Map(IMs.map((e,t)=>[e,dIn[t]])),CMs=e=>dIn.reduce((t,r)=>t.split(r).join(Fkg.get(r)),e),WYu=e=>IMs.reduce((t,r)=>t.split(r).join(Nkg.get(r)),e);var YYu=(e,t)=>t?(e=Od(e).replace(/^\.(\/|$)/,""),kWe(t)+"/"+e):Od(e),kkg=16*1024*1024,HYu=Symbol("process"),$Yu=Symbol("file"),KYu=Symbol("directory"),BMs=Symbol("symlink"),JYu=Symbol("hardlink"),FCr=Symbol("header"),hIn=Symbol("read"),TMs=Symbol("lstat"),yIn=Symbol("onlstat"),DMs=Symbol("onread"),RMs=Symbol("onreadlink"),FMs=Symbol("openfile"),NMs=Symbol("onopenfile"),zWe=Symbol("close"),gIn=Symbol("mode"),kMs=Symbol("awaitDrain"),SMs=Symbol("ondrain"),Lbe=Symbol("prefix"),NCr=class extends XT{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(t,r={}){let n=jCr(r);super(),this.path=Od(t),this.portable=!!n.portable,this.maxReadSize=n.maxReadSize||kkg,this.linkCache=n.linkCache||new Map,this.statCache=n.statCache||new Map,this.preservePaths=!!n.preservePaths,this.cwd=Od(n.cwd||process.cwd()),this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.mtime=n.mtime,this.prefix=n.prefix?Od(n.prefix):void 0,this.onWriteEntry=n.onWriteEntry,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let i=!1;if(!this.preservePaths){let[s,a]=RCr(this.path);s&&typeof a=="string"&&(this.path=a,i=s)}this.win32=!!n.win32||process.platform==="win32",this.win32&&(this.path=WYu(this.path.replace(/\\/g,"/")),t=t.replace(/\\/g,"/")),this.absolute=Od(n.absolute||jMs.default.resolve(this.cwd,t)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path});let o=this.statCache.get(this.absolute);o?this[yIn](o):this[TMs]()}warn(t,r,n={}){return m_t(this,t,r,n)}emit(t,...r){return t==="error"&&(this.#e=!0),super.emit(t,...r)}[TMs](){Wce.default.lstat(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[yIn](r)})}[yIn](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=zkg(t),this.emit("stat",t),this[HYu]()}[HYu](){switch(this.type){case"File":return this[$Yu]();case"Directory":return this[KYu]();case"SymbolicLink":return this[BMs]();default:return this.end()}}[gIn](t){return PMs(t,this.type==="Directory",this.portable)}[Lbe](t){return YYu(t,this.prefix)}[FCr](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new V9({path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,mode:this[gIn](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new DWe({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[KYu](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[FCr](),this.end()}[BMs](){Wce.default.readlink(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[RMs](r)})}[RMs](t){this.linkpath=Od(t),this[FCr](),this.end()}[JYu](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=Od(jMs.default.relative(this.cwd,t)),this.stat.size=0,this[FCr](),this.end()}[$Yu](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0)return this[JYu](r);this.linkCache.set(t,this.absolute)}if(this[FCr](),this.stat.size===0)return this.end();this[FMs]()}[FMs](){Wce.default.open(this.absolute,"r",(t,r)=>{if(t)return this.emit("error",t);this[NMs](r)})}[NMs](t){if(this.fd=t,this.#e)return this[zWe]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[hIn]()}[hIn](){let{fd:t,buf:r,offset:n,length:i,pos:o}=this;if(t===void 0||r===void 0)throw new Error("cannot read file without first opening");Wce.default.read(t,r,n,i,o,(s,a)=>{if(s)return this[zWe](()=>this.emit("error",s));this[DMs](a)})}[zWe](t=()=>{}){this.fd!==void 0&&Wce.default.close(this.fd,t)}[DMs](t){if(t<=0&&this.remain>0){let i=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[zWe](()=>this.emit("error",i))}if(t>this.remain){let i=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[zWe](()=>this.emit("error",i))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let i=t;i<this.length&&t<this.blockRemain;i++)this.buf[i+this.offset]=0,t++,this.remain++;let r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(r)?this[SMs]():this[kMs](()=>this[SMs]())}[kMs](t){this.once("drain",t)}write(t,r,n){if(typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8")),this.blockRemain<t.length){let i=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",i)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,n)}[SMs](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[zWe](t=>t?this.emit("error",t):this.end());if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[hIn]()}},AIn=class extends NCr{sync=!0;[TMs](){this[yIn](Wce.default.lstatSync(this.absolute))}[BMs](){this[RMs](Wce.default.readlinkSync(this.absolute))}[FMs](){this[NMs](Wce.default.openSync(this.absolute,"r"))}[hIn](){let t=!0;try{let{fd:r,buf:n,offset:i,length:o,pos:s}=this;if(r===void 0||n===void 0)throw new Error("fd and buf must be set in READ method");let a=Wce.default.readSync(r,n,i,o,s);this[DMs](a),t=!1}finally{if(t)try{this[zWe](()=>{})}catch{}}}[kMs](t){t()}[zWe](t=()=>{}){this.fd!==void 0&&Wce.default.closeSync(this.fd),t()}},bIn=class extends XT{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,n={}){return m_t(this,t,r,n)}constructor(t,r={}){let n=jCr(r);super(),this.preservePaths=!!n.preservePaths,this.portable=!!n.portable,this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.onWriteEntry=n.onWriteEntry,this.readEntry=t;let{type:i}=t;if(i==="Unsupported")throw new Error("writing entry that should be ignored");this.type=i,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=n.prefix,this.path=Od(t.path),this.mode=t.mode!==void 0?this[gIn](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:n.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?Od(t.linkpath):void 0,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let o=!1;if(!this.preservePaths){let[a,c]=RCr(this.path);a&&typeof c=="string"&&(this.path=c,o=a)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new V9({path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new DWe({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let s=this.header?.block;if(!s)throw new Error("failed to encode header");super.write(s),t.pipe(this)}[Lbe](t){return YYu(t,this.prefix)}[gIn](t){return PMs(t,this.type==="Directory",this.portable)}write(t,r,n){typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8"));let i=t.length;if(i>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=i,super.write(t,n)}end(t,r,n){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(n=t,r=void 0,t=void 0),typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,r??"utf8")),n&&this.once("finish",n),t?super.end(t,n):super.end(n),this}},zkg=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported";var _In=class e{tail;head;length=0;static create(t=[]){return new e(t)}constructor(t=[]){for(let r of t)this.push(r)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");let r=t.next,n=t.prev;return r&&(r.prev=n),n&&(n.next=r),t===this.head&&(this.head=r),t===this.tail&&(this.tail=n),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,r}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let r=this.head;t.list=this,t.next=r,r&&(r.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let r=this.tail;t.list=this,t.prev=r,r&&(r.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let r=0,n=t.length;r<n;r++)Mkg(this,t[r]);return this.length}unshift(...t){for(var r=0,n=t.length;r<n;r++)Vkg(this,t[r]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,r=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,r.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,r=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,r.list=void 0,this.length--,t}forEach(t,r){r=r||this;for(let n=this.head,i=0;n;i++)t.call(r,n.value,i,this),n=n.next}forEachReverse(t,r){r=r||this;for(let n=this.tail,i=this.length-1;n;i--)t.call(r,n.value,i,this),n=n.prev}get(t){let r=0,n=this.head;for(;n&&r<t;r++)n=n.next;if(r===t&&n)return n.value}getReverse(t){let r=0,n=this.tail;for(;n&&r<t;r++)n=n.prev;if(r===t&&n)return n.value}map(t,r){r=r||this;let n=new e;for(let i=this.head;i;)n.push(t.call(r,i.value,this)),i=i.next;return n}mapReverse(t,r){r=r||this;var n=new e;for(let i=this.tail;i;)n.push(t.call(r,i.value,this)),i=i.prev;return n}reduce(t,r){let n,i=this.head;if(arguments.length>1)n=r;else if(this.head)i=this.head.next,n=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=0;i;o++)n=t(n,i.value,o),i=i.next;return n}reduceReverse(t,r){let n,i=this.tail;if(arguments.length>1)n=r;else if(this.tail)i=this.tail.prev,n=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let o=this.length-1;i;o--)n=t(n,i.value,o),i=i.prev;return n}toArray(){let t=new Array(this.length);for(let r=0,n=this.head;n;r++)t[r]=n.value,n=n.next;return t}toArrayReverse(){let t=new Array(this.length);for(let r=0,n=this.tail;n;r++)t[r]=n.value,n=n.prev;return t}slice(t=0,r=this.length){r<0&&(r+=this.length),t<0&&(t+=this.length);let n=new e;if(r<t||r<0)return n;t<0&&(t=0),r>this.length&&(r=this.length);let i=this.head,o=0;for(o=0;i&&o<t;o++)i=i.next;for(;i&&o<r;o++,i=i.next)n.push(i.value);return n}sliceReverse(t=0,r=this.length){r<0&&(r+=this.length),t<0&&(t+=this.length);let n=new e;if(r<t||r<0)return n;t<0&&(t=0),r>this.length&&(r=this.length);let i=this.length,o=this.tail;for(;o&&i>r;i--)o=o.prev;for(;o&&i>t;i--,o=o.prev)n.push(o.value);return n}splice(t,r=0,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let i=this.head;for(let s=0;i&&s<t;s++)i=i.next;let o=[];for(let s=0;i&&s<r;s++)o.push(i.value),i=this.removeNode(i);i?i!==this.tail&&(i=i.prev):i=this.tail;for(let s of n)i=Qkg(this,i,s);return o}reverse(){let t=this.head,r=this.tail;for(let n=t;n;n=n.prev){let i=n.prev;n.prev=n.next,n.next=i}return this.head=r,this.tail=t,this}};function Qkg(e,t,r){let n=t,i=t?t.next:e.head,o=new kCr(r,n,i,e);return o.next===void 0&&(e.tail=o),o.prev===void 0&&(e.head=o),e.length++,o}function Mkg(e,t){e.tail=new kCr(t,e.tail,void 0,e),e.head||(e.head=e.tail),e.length++}function Vkg(e,t){e.head=new kCr(t,void 0,e.head,e),e.tail||(e.tail=e.head),e.length++}var kCr=class{list;next;prev;value;constructor(t,r,n,i){this.list=i,this.value=t,r?(r.next=this,this.prev=r):this.prev=void 0,n?(n.prev=this,this.next=n):this.next=void 0}};var qMs=He(require("path"),1);var PIn=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(t,r){this.path=t||"./",this.absolute=r}},XYu=Buffer.alloc(1024),vIn=Symbol("onStat"),zCr=Symbol("ended"),Gce=Symbol("queue"),b_t=Symbol("current"),__t=Symbol("process"),QCr=Symbol("processing"),zMs=Symbol("processJob"),Hce=Symbol("jobs"),QMs=Symbol("jobDone"),EIn=Symbol("addFSEntry"),ZYu=Symbol("addTarEntry"),UMs=Symbol("stat"),LMs=Symbol("readdir"),OIn=Symbol("onreaddir"),wIn=Symbol("pipe"),eXu=Symbol("entry"),MMs=Symbol("entryOpt"),xIn=Symbol("writeEntryClass"),tXu=Symbol("write"),VMs=Symbol("ondrain"),QWe=class extends XT{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[xIn];onWriteEntry;[Gce];[Hce]=0;[QCr]=!1;[zCr]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=Od(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[xIn]=NCr,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new YPn(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new eIn(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new nIn(t.zstd)),!this.zip)throw new Error("impossible");let r=this.zip;r.on("data",n=>super.write(n)),r.on("end",()=>super.end()),r.on("drain",()=>this[VMs]()),this.on("resume",()=>r.resume())}else this.on("drain",this[VMs]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[Gce]=new _In,this[Hce]=0,this.jobs=Number(t.jobs)||4,this[QCr]=!1,this[zCr]=!1}[tXu](t){return super.write(t)}add(t){return this.write(t),this}end(t,r,n){return typeof t=="function"&&(n=t,t=void 0),typeof r=="function"&&(n=r,r=void 0),t&&this.add(t),this[zCr]=!0,this[__t](),n&&n(),this}write(t){if(this[zCr])throw new Error("write after end");return t instanceof GVt?this[ZYu](t):this[EIn](t),this.flowing}[ZYu](t){let r=Od(qMs.default.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let n=new PIn(t.path,r);n.entry=new bIn(t,this[MMs](n)),n.entry.on("end",()=>this[QMs](n)),this[Hce]+=1,this[Gce].push(n)}this[__t]()}[EIn](t){let r=Od(qMs.default.resolve(this.cwd,t));this[Gce].push(new PIn(t,r)),this[__t]()}[UMs](t){t.pending=!0,this[Hce]+=1;let r=this.follow?"stat":"lstat";MCr.default[r](t.absolute,(n,i)=>{t.pending=!1,this[Hce]-=1,n?this.emit("error",n):this[vIn](t,i)})}[vIn](t,r){this.statCache.set(t.absolute,r),t.stat=r,this.filter(t.path,r)?r.isFile()&&r.nlink>1&&t===this[b_t]&&!this.linkCache.get(`${r.dev}:${r.ino}`)&&!this.sync&&this[zMs](t):t.ignore=!0,this[__t]()}[LMs](t){t.pending=!0,this[Hce]+=1,MCr.default.readdir(t.absolute,(r,n)=>{if(t.pending=!1,this[Hce]-=1,r)return this.emit("error",r);this[OIn](t,n)})}[OIn](t,r){this.readdirCache.set(t.absolute,r),t.readdir=r,this[__t]()}[__t](){if(!this[QCr]){this[QCr]=!0;for(let t=this[Gce].head;t&&this[Hce]<this.jobs;t=t.next)if(this[zMs](t.value),t.value.ignore){let r=t.next;this[Gce].removeNode(t),t.next=r}this[QCr]=!1,this[zCr]&&!this[Gce].length&&this[Hce]===0&&(this.zip?this.zip.end(XYu):(super.write(XYu),super.end()))}}get[b_t](){return this[Gce]&&this[Gce].head&&this[Gce].head.value}[QMs](t){this[Gce].shift(),this[Hce]-=1,this[__t]()}[zMs](t){if(!t.pending){if(t.entry){t===this[b_t]&&!t.piped&&this[wIn](t);return}if(!t.stat){let r=this.statCache.get(t.absolute);r?this[vIn](t,r):this[UMs](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let r=this.readdirCache.get(t.absolute);if(r?this[OIn](t,r):this[LMs](t),!t.readdir)return}if(t.entry=this[eXu](t),!t.entry){t.ignore=!0;return}t===this[b_t]&&!t.piped&&this[wIn](t)}}}[MMs](t){return{onwarn:(r,n,i)=>this.warn(r,n,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[eXu](t){this[Hce]+=1;try{return new this[xIn](t.path,this[MMs](t)).on("end",()=>this[QMs](t)).on("error",n=>this.emit("error",n))}catch(r){this.emit("error",r)}}[VMs](){this[b_t]&&this[b_t].entry&&this[b_t].entry.resume()}[wIn](t){t.piped=!0,t.readdir&&t.readdir.forEach(i=>{let o=t.path,s=o==="./"?"":o.replace(/\/*$/,"/");this[EIn](s+i)});let r=t.entry,n=this.zip;if(!r)throw new Error("cannot pipe without source");n?r.on("data",i=>{n.write(i)||r.pause()}):r.on("data",i=>{super.write(i)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,r,n={}){m_t(this,t,r,n)}},v_t=class extends QWe{sync=!0;constructor(t){super(t),this[xIn]=AIn}pause(){}resume(){}[UMs](t){let r=this.follow?"statSync":"lstatSync";this[vIn](t,MCr.default[r](t.absolute))}[LMs](t){this[OIn](t,MCr.default.readdirSync(t.absolute))}[wIn](t){let r=t.entry,n=this.zip;if(t.readdir&&t.readdir.forEach(i=>{let o=t.path,s=o==="./"?"":o.replace(/\/*$/,"/");this[EIn](s+i)}),!r)throw new Error("Cannot pipe without source");n?r.on("data",i=>{n.write(i)}):r.on("data",i=>{super[tXu](i)})}};var Ukg=(e,t)=>{let r=new v_t(e),n=new qVt(e.file,{mode:e.mode||438});r.pipe(n),rXu(r,t)},Lkg=(e,t)=>{let r=new QWe(e),n=new Q2e(e.file,{mode:e.mode||438});r.pipe(n);let i=new Promise((o,s)=>{n.on("error",s),n.on("close",o),r.on("error",s)});return nXu(r,t),i},rXu=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?A_t({file:WMs.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:n=>e.add(n)}):e.add(r)}),e.end()},nXu=async(e,t)=>{for(let r=0;r<t.length;r++){let n=String(t[r]);n.charAt(0)==="@"?await A_t({file:WMs.default.resolve(String(e.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>{e.add(i)}}):e.add(n)}e.end()},qkg=(e,t)=>{let r=new v_t(e);return rXu(r,t),r},Wkg=(e,t)=>{let r=new QWe(e);return nXu(r,t),r},GMs=Vbe(Ukg,Lkg,qkg,Wkg,(e,t)=>{if(!t?.length)throw new TypeError("no paths specified to add to archive")});var lVs=He(require("fs"),1);var _Xu=He(require("assert"),1),uVs=require("crypto"),PA=He(require("fs"),1),aB=He(require("path"),1);var HMs=He(require("fs"),1),Gkg=process.env.__FAKE_PLATFORM__||process.platform,Hkg=Gkg==="win32",{O_CREAT:$kg,O_TRUNC:Kkg,O_WRONLY:Jkg}=HMs.default.constants,iXu=Number(process.env.__FAKE_FS_O_FILENAME__)||HMs.default.constants.UV_FS_O_FILEMAP||0,Ykg=Hkg&&!!iXu,Xkg=512*1024,Zkg=iXu|Kkg|$kg|Jkg,$Ms=Ykg?e=>e<Xkg?Zkg:"w":()=>"w";var VCr=He(require("fs"),1),$Vt=He(require("path"),1),KMs=(e,t,r)=>{try{return VCr.default.lchownSync(e,t,r)}catch(n){if(n?.code!=="ENOENT")throw n}},IIn=(e,t,r,n)=>{VCr.default.lchown(e,t,r,i=>{n(i&&i?.code!=="ENOENT"?i:null)})},ezg=(e,t,r,n,i)=>{if(t.isDirectory())JMs($Vt.default.resolve(e,t.name),r,n,o=>{if(o)return i(o);let s=$Vt.default.resolve(e,t.name);IIn(s,r,n,i)});else{let o=$Vt.default.resolve(e,t.name);IIn(o,r,n,i)}},JMs=(e,t,r,n)=>{VCr.default.readdir(e,{withFileTypes:!0},(i,o)=>{if(i){if(i.code==="ENOENT")return n();if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return n(i)}if(i||!o.length)return IIn(e,t,r,n);let s=o.length,a=null,c=u=>{if(!a){if(u)return n(a=u);if(--s===0)return IIn(e,t,r,n)}};for(let u of o)ezg(e,u,t,r,c)})},tzg=(e,t,r,n)=>{t.isDirectory()&&YMs($Vt.default.resolve(e,t.name),r,n),KMs($Vt.default.resolve(e,t.name),r,n)},YMs=(e,t,r)=>{let n;try{n=VCr.default.readdirSync(e,{withFileTypes:!0})}catch(i){let o=i;if(o?.code==="ENOENT")return;if(o?.code==="ENOTDIR"||o?.code==="ENOTSUP")return KMs(e,t,r);throw o}for(let i of n)tzg(e,i,t,r);return KMs(e,t,r)};var Eq=He(require("fs"),1),oXu=He(require("fs/promises"),1),LCr=He(require("path"),1);var UCr=class extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`),this.path=t,this.code=r}get name(){return"CwdError"}};var MWe=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=r}get name(){return"SymlinkError"}};var rzg=(e,t)=>{Eq.default.stat(e,(r,n)=>{(r||!n.isDirectory())&&(r=new UCr(e,r?.code||"ENOTDIR")),t(r)})},sXu=(e,t,r)=>{e=Od(e);let n=t.umask??18,i=t.mode|448,o=(i&n)!==0,s=t.uid,a=t.gid,c=typeof s=="number"&&typeof a=="number"&&(s!==t.processUid||a!==t.processGid),u=t.preserve,l=t.unlink,p=Od(t.cwd),m=(y,g)=>{y?r(y):g&&c?JMs(g,s,a,A=>m(A)):o?Eq.default.chmod(e,i,r):r()};if(e===p)return rzg(e,m);if(u)return oXu.default.mkdir(e,{mode:i,recursive:!0}).then(y=>m(null,y??void 0),m);let h=Od(LCr.default.relative(p,e)).split("/");XMs(p,h,i,l,p,void 0,m)},XMs=(e,t,r,n,i,o,s)=>{if(!t.length)return s(null,o);let a=t.shift(),c=Od(LCr.default.resolve(e+"/"+a));Eq.default.mkdir(c,r,aXu(c,t,r,n,i,o,s))},aXu=(e,t,r,n,i,o,s)=>a=>{a?Eq.default.lstat(e,(c,u)=>{if(c)c.path=c.path&&Od(c.path),s(c);else if(u.isDirectory())XMs(e,t,r,n,i,o,s);else if(n)Eq.default.unlink(e,l=>{if(l)return s(l);Eq.default.mkdir(e,r,aXu(e,t,r,n,i,o,s))});else{if(u.isSymbolicLink())return s(new MWe(e,e+"/"+t.join("/")));s(a)}}):(o=o||e,XMs(e,t,r,n,i,o,s))},nzg=e=>{let t=!1,r;try{t=Eq.default.statSync(e).isDirectory()}catch(n){r=n?.code}finally{if(!t)throw new UCr(e,r??"ENOTDIR")}},cXu=(e,t)=>{e=Od(e);let r=t.umask??18,n=t.mode|448,i=(n&r)!==0,o=t.uid,s=t.gid,a=typeof o=="number"&&typeof s=="number"&&(o!==t.processUid||s!==t.processGid),c=t.preserve,u=t.unlink,l=Od(t.cwd),p=y=>{y&&a&&YMs(y,o,s),i&&Eq.default.chmodSync(e,n)};if(e===l)return nzg(l),p();if(c)return p(Eq.default.mkdirSync(e,{mode:n,recursive:!0})??void 0);let f=Od(LCr.default.relative(l,e)).split("/"),h;for(let y=f.shift(),g=l;y&&(g+="/"+y);y=f.shift()){g=Od(LCr.default.resolve(g));try{Eq.default.mkdirSync(g,n),h=h||g}catch{let b=Eq.default.lstatSync(g);if(b.isDirectory())continue;if(u){Eq.default.unlinkSync(g),Eq.default.mkdirSync(g,n),h=h||g;continue}else if(b.isSymbolicLink())return new MWe(g,g+"/"+f.join("/"))}}return p(h)};var eVs=require("path");var ZMs=Object.create(null),uXu=1e4,KVt=new Set,lXu=e=>{KVt.has(e)?KVt.delete(e):ZMs[e]=e.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),KVt.add(e);let t=ZMs[e],r=KVt.size-uXu;if(r>uXu/10){for(let n of KVt)if(KVt.delete(n),delete ZMs[n],--r<=0)break}return t};var izg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,ozg=izg==="win32",szg=e=>e.split("/").slice(0,-1).reduce((r,n)=>{let i=r[r.length-1];return i!==void 0&&(n=(0,eVs.join)(i,n)),r.push(n||"/"),r},[]),CIn=class{#e=new Map;#t=new Map;#r=new Set;reserve(t,r){t=ozg?["win32 parallelization disabled"]:t.map(i=>kWe((0,eVs.join)(lXu(i))));let n=new Set(t.map(i=>szg(i)).reduce((i,o)=>i.concat(o)));this.#t.set(r,{dirs:n,paths:t});for(let i of t){let o=this.#e.get(i);o?o.push(r):this.#e.set(i,[r])}for(let i of n){let o=this.#e.get(i);if(!o)this.#e.set(i,[new Set([r])]);else{let s=o[o.length-1];s instanceof Set?s.add(r):o.push(new Set([r]))}}return this.#i(r)}#n(t){let r=this.#t.get(t);if(!r)throw new Error("function does not have any path reservations");return{paths:r.paths.map(n=>this.#e.get(n)),dirs:[...r.dirs].map(n=>this.#e.get(n))}}check(t){let{paths:r,dirs:n}=this.#n(t);return r.every(i=>i&&i[0]===t)&&n.every(i=>i&&i[0]instanceof Set&&i[0].has(t))}#i(t){return this.#r.has(t)||!this.check(t)?!1:(this.#r.add(t),t(()=>this.#o(t)),!0)}#o(t){if(!this.#r.has(t))return!1;let r=this.#t.get(t);if(!r)throw new Error("invalid reservation");let{paths:n,dirs:i}=r,o=new Set;for(let s of n){let a=this.#e.get(s);if(!a||a?.[0]!==t)continue;let c=a[1];if(!c){this.#e.delete(s);continue}if(a.shift(),typeof c=="function")o.add(c);else for(let u of c)o.add(u)}for(let s of i){let a=this.#e.get(s),c=a?.[0];if(!(!a||!(c instanceof Set)))if(c.size===1&&a.length===1){this.#e.delete(s);continue}else if(c.size===1){a.shift();let u=a[0];typeof u=="function"&&o.add(u)}else c.delete(t)}return this.#r.delete(t),o.forEach(s=>this.#i(s)),!0}};var pXu=()=>process.umask();var fXu=Symbol("onEntry"),iVs=Symbol("checkFs"),mXu=Symbol("checkFs2"),oVs=Symbol("isReusable"),JK=Symbol("makeFs"),sVs=Symbol("file"),aVs=Symbol("directory"),jIn=Symbol("link"),dXu=Symbol("symlink"),hXu=Symbol("hardlink"),WCr=Symbol("ensureNoSymlink"),yXu=Symbol("unsupported"),gXu=Symbol("checkPath"),tVs=Symbol("stripAbsolutePath"),VWe=Symbol("mkdir"),cR=Symbol("onError"),SIn=Symbol("pending"),AXu=Symbol("pend"),JVt=Symbol("unpend"),rVs=Symbol("ended"),nVs=Symbol("maybeClose"),cVs=Symbol("skip"),GCr=Symbol("doChown"),HCr=Symbol("uid"),$Cr=Symbol("gid"),KCr=Symbol("checkedCwd"),azg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,JCr=azg==="win32",czg=1024,uzg=(e,t)=>{if(!JCr)return PA.default.unlink(e,t);let r=e+".DELETE."+(0,uVs.randomBytes)(16).toString("hex");PA.default.rename(e,r,n=>{if(n)return t(n);PA.default.unlink(r,t)})},lzg=e=>{if(!JCr)return PA.default.unlinkSync(e);let t=e+".DELETE."+(0,uVs.randomBytes)(16).toString("hex");PA.default.renameSync(e,t),PA.default.unlinkSync(t)},bXu=(e,t,r)=>e!==void 0&&e===e>>>0?e:t!==void 0&&t===t>>>0?t:r,YVt=class extends U2e{[rVs]=!1;[KCr]=!1;[SIn]=0;reservations=new CIn;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[rVs]=!0,this[nVs]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;t.preserveOwner===void 0&&typeof t.uid!="number"?this.preserveOwner=!!(process.getuid&&process.getuid()===0):this.preserveOwner=!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:czg,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||JCr,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Od(aB.default.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:pXu():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",r=>this[fXu](r))}warn(t,r,n={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(n.recoverable=!1),super.warn(t,r,n)}[nVs](){this[rVs]&&this[SIn]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[tVs](t,r){let n=t[r],{type:i}=t;if(!n||this.preservePaths)return!0;let o=n.split("/");if(o.includes("..")||JCr&&/^[a-z]:\.\.$/i.test(o[0]??"")){if(r==="path"||i==="Link")return this.warn("TAR_ENTRY_ERROR",`${r} contains '..'`,{entry:t,[r]:n}),!1;{let c=aB.default.posix.dirname(t.path),u=aB.default.posix.normalize(aB.default.posix.join(c,n));if(u.startsWith("../")||u==="..")return this.warn("TAR_ENTRY_ERROR",`${r} escapes extraction directory`,{entry:t,[r]:n}),!1}}let[s,a]=RCr(n);return s&&(t[r]=String(a),this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute ${r}`,{entry:t,[r]:n})),!0}[gXu](t){let r=Od(t.path),n=r.split("/");if(this.strip){if(n.length<this.strip)return!1;if(t.type==="Link"){let i=Od(String(t.linkpath)).split("/");if(i.length>=this.strip)t.linkpath=i.slice(this.strip).join("/");else return!1}n.splice(0,this.strip),t.path=n.join("/")}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:r,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this[tVs](t,"path")||!this[tVs](t,"linkpath"))return!1;if(aB.default.isAbsolute(t.path)?t.absolute=Od(aB.default.resolve(t.path)):t.absolute=Od(aB.default.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Od(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:i}=aB.default.win32.parse(String(t.absolute));t.absolute=i+CMs(String(t.absolute).slice(i.length));let{root:o}=aB.default.win32.parse(t.path);t.path=o+CMs(t.path.slice(o.length))}return!0}[fXu](t){if(!this[gXu](t))return t.resume();switch(_Xu.default.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[iVs](t);default:return this[yXu](t)}}[cR](t,r){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:r}),this[JVt](),r.resume())}[VWe](t,r,n){sXu(Od(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:r},n)}[GCr](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[HCr](t){return bXu(this.uid,t.uid,this.processUid)}[$Cr](t){return bXu(this.gid,t.gid,this.processGid)}[sVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=new Q2e(String(t.absolute),{flags:$Ms(t.size),mode:n,autoClose:!1});i.on("error",c=>{i.fd&&PA.default.close(i.fd,()=>{}),i.write=()=>!0,this[cR](c,t),r()});let o=1,s=c=>{if(c){i.fd&&PA.default.close(i.fd,()=>{}),this[cR](c,t),r();return}--o===0&&i.fd!==void 0&&PA.default.close(i.fd,u=>{u?this[cR](u,t):this[JVt](),r()})};i.on("finish",()=>{let c=String(t.absolute),u=i.fd;if(typeof u=="number"&&t.mtime&&!this.noMtime){o++;let l=t.atime||new Date,p=t.mtime;PA.default.futimes(u,l,p,m=>m?PA.default.utimes(c,l,p,f=>s(f&&m)):s())}if(typeof u=="number"&&this[GCr](t)){o++;let l=this[HCr](t),p=this[$Cr](t);typeof l=="number"&&typeof p=="number"&&PA.default.fchown(u,l,p,m=>m?PA.default.chown(c,l,p,f=>s(f&&m)):s())}s()});let a=this.transform&&this.transform(t)||t;a!==t&&(a.on("error",c=>{this[cR](c,t),r()}),t.pipe(a)),a.pipe(i)}[aVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.dmode;this[VWe](String(t.absolute),n,i=>{if(i){this[cR](i,t),r();return}let o=1,s=()=>{--o===0&&(r(),this[JVt](),t.resume())};t.mtime&&!this.noMtime&&(o++,PA.default.utimes(String(t.absolute),t.atime||new Date,t.mtime,s)),this[GCr](t)&&(o++,PA.default.chown(String(t.absolute),Number(this[HCr](t)),Number(this[$Cr](t)),s)),s()})}[yXu](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[dXu](t,r){let n=Od(aB.default.relative(this.cwd,aB.default.resolve(aB.default.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[WCr](t,this.cwd,n,()=>this[jIn](t,String(t.linkpath),"symlink",r),i=>{this[cR](i,t),r()})}[hXu](t,r){let n=Od(aB.default.resolve(this.cwd,String(t.linkpath))),i=Od(String(t.linkpath)).split("/");this[WCr](t,this.cwd,i,()=>this[jIn](t,n,"link",r),o=>{this[cR](o,t),r()})}[WCr](t,r,n,i,o){let s=n.shift();if(this.preservePaths||s===void 0)return i();let a=aB.default.resolve(r,s);PA.default.lstat(a,(c,u)=>{if(c)return i();if(u?.isSymbolicLink())return o(new MWe(a,aB.default.resolve(a,n.join("/"))));this[WCr](t,a,n,i,o)})}[AXu](){this[SIn]++}[JVt](){this[SIn]--,this[nVs]()}[cVs](t){this[JVt](),t.resume()}[oVs](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!JCr}[iVs](t){this[AXu]();let r=[t.path];t.linkpath&&r.push(t.linkpath),this.reservations.reserve(r,n=>this[mXu](t,n))}[mXu](t,r){let n=a=>{r(a)},i=()=>{this[VWe](this.cwd,this.dmode,a=>{if(a){this[cR](a,t),n();return}this[KCr]=!0,o()})},o=()=>{if(t.absolute!==this.cwd){let a=Od(aB.default.dirname(String(t.absolute)));if(a!==this.cwd)return this[VWe](a,this.dmode,c=>{if(c){this[cR](c,t),n();return}s()})}s()},s=()=>{PA.default.lstat(String(t.absolute),(a,c)=>{if(c&&(this.keep||this.newer&&c.mtime>(t.mtime??c.mtime))){this[cVs](t),n();return}if(a||this[oVs](t,c))return this[JK](null,t,n);if(c.isDirectory()){if(t.type==="Directory"){let u=this.chmod&&t.mode&&(c.mode&4095)!==t.mode,l=p=>this[JK](p??null,t,n);return u?PA.default.chmod(String(t.absolute),Number(t.mode),l):l()}if(t.absolute!==this.cwd)return PA.default.rmdir(String(t.absolute),u=>this[JK](u??null,t,n))}if(t.absolute===this.cwd)return this[JK](null,t,n);uzg(String(t.absolute),u=>this[JK](u??null,t,n))})};this[KCr]?o():i()}[JK](t,r,n){if(t){this[cR](t,r),n();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[sVs](r,n);case"Link":return this[hXu](r,n);case"SymbolicLink":return this[dXu](r,n);case"Directory":case"GNUDumpDir":return this[aVs](r,n)}}[jIn](t,r,n,i){PA.default[n](r,String(t.absolute),o=>{o?this[cR](o,t):(this[JVt](),t.resume()),i()})}},qCr=e=>{try{return[null,e()]}catch(t){return[t,null]}},YCr=class extends YVt{sync=!0;[JK](t,r){return super[JK](t,r,()=>{})}[iVs](t){if(!this[KCr]){let o=this[VWe](this.cwd,this.dmode);if(o)return this[cR](o,t);this[KCr]=!0}if(t.absolute!==this.cwd){let o=Od(aB.default.dirname(String(t.absolute)));if(o!==this.cwd){let s=this[VWe](o,this.dmode);if(s)return this[cR](s,t)}}let[r,n]=qCr(()=>PA.default.lstatSync(String(t.absolute)));if(n&&(this.keep||this.newer&&n.mtime>(t.mtime??n.mtime)))return this[cVs](t);if(r||this[oVs](t,n))return this[JK](null,t);if(n.isDirectory()){if(t.type==="Directory"){let s=this.chmod&&t.mode&&(n.mode&4095)!==t.mode,[a]=s?qCr(()=>{PA.default.chmodSync(String(t.absolute),Number(t.mode))}):[];return this[JK](a,t)}let[o]=qCr(()=>PA.default.rmdirSync(String(t.absolute)));this[JK](o,t)}let[i]=t.absolute===this.cwd?[]:qCr(()=>lzg(String(t.absolute)));this[JK](i,t)}[sVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=a=>{let c;try{PA.default.closeSync(o)}catch(u){c=u}(a||c)&&this[cR](a||c,t),r()},o;try{o=PA.default.openSync(String(t.absolute),$Ms(t.size),n)}catch(a){return i(a)}let s=this.transform&&this.transform(t)||t;s!==t&&(s.on("error",a=>this[cR](a,t)),t.pipe(s)),s.on("data",a=>{try{PA.default.writeSync(o,a,0,a.length)}catch(c){i(c)}}),s.on("end",()=>{let a=null;if(t.mtime&&!this.noMtime){let c=t.atime||new Date,u=t.mtime;try{PA.default.futimesSync(o,c,u)}catch(l){try{PA.default.utimesSync(String(t.absolute),c,u)}catch{a=l}}}if(this[GCr](t)){let c=this[HCr](t),u=this[$Cr](t);try{PA.default.fchownSync(o,Number(c),Number(u))}catch(l){try{PA.default.chownSync(String(t.absolute),Number(c),Number(u))}catch{a=a||l}}}i(a)})}[aVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.dmode,i=this[VWe](String(t.absolute),n);if(i){this[cR](i,t),r();return}if(t.mtime&&!this.noMtime)try{PA.default.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch{}if(this[GCr](t))try{PA.default.chownSync(String(t.absolute),Number(this[HCr](t)),Number(this[$Cr](t)))}catch{}r(),t.resume()}[VWe](t,r){try{return cXu(Od(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:r})}catch(n){return n}}[WCr](t,r,n,i,o){if(this.preservePaths||!n.length)return i();let s=r;for(let a of n){s=aB.default.resolve(s,a);let[c,u]=qCr(()=>PA.default.lstatSync(s));if(c)return i();if(u.isSymbolicLink())return o(new MWe(s,aB.default.resolve(r,n.join("/"))))}i()}[jIn](t,r,n,i){let o=`${n}Sync`;try{PA.default[o](r,String(t.absolute)),i(),t.resume()}catch(s){return this[cR](s,t)}}};var pzg=e=>{let t=new YCr(e),r=e.file,n=lVs.default.statSync(r),i=e.maxReadSize||16*1024*1024;new $Pn(r,{readSize:i,size:n.size}).pipe(t)},fzg=(e,t)=>{let r=new YVt(e),n=e.maxReadSize||16*1024*1024,i=e.file;return new Promise((s,a)=>{r.on("error",a),r.on("close",s),lVs.default.stat(i,(c,u)=>{if(c)a(c);else{let l=new c_t(i,{readSize:n,size:u.size});l.on("error",a),l.pipe(r)}})})},pVs=Vbe(pzg,fzg,e=>new YCr(e),e=>new YVt(e),(e,t)=>{t?.length&&xMs(e,t)});var Oq=He(require("fs"),1),fVs=He(require("path"),1);var mzg=(e,t)=>{let r=new v_t(e),n=!0,i,o;try{try{i=Oq.default.openSync(e.file,"r+")}catch(c){if(c?.code==="ENOENT")i=Oq.default.openSync(e.file,"w+");else throw c}let s=Oq.default.fstatSync(i),a=Buffer.alloc(512);e:for(o=0;o<s.size;o+=512){for(let l=0,p=0;l<512;l+=p){if(p=Oq.default.readSync(i,a,l,a.length-l,o+l),o===0&&a[0]===31&&a[1]===139)throw new Error("cannot append to compressed archives");if(!p)break e}let c=new V9(a);if(!c.cksumValid)break;let u=512*Math.ceil((c.size||0)/512);if(o+u+512>s.size)break;o+=u,e.mtimeCache&&c.mtime&&e.mtimeCache.set(String(c.path),c.mtime)}n=!1,dzg(e,r,o,i,t)}finally{if(n)try{Oq.default.closeSync(i)}catch{}}},dzg=(e,t,r,n,i)=>{let o=new qVt(e.file,{fd:n,start:r});t.pipe(o),yzg(t,i)},hzg=(e,t)=>{t=Array.from(t);let r=new QWe(e),n=(o,s,a)=>{let c=(f,h)=>{f?Oq.default.close(o,y=>a(f)):a(null,h)},u=0;if(s===0)return c(null,0);let l=0,p=Buffer.alloc(512),m=(f,h)=>{if(f||typeof h>"u")return c(f);if(l+=h,l<512&&h)return Oq.default.read(o,p,l,p.length-l,u+l,m);if(u===0&&p[0]===31&&p[1]===139)return c(new Error("cannot append to compressed archives"));if(l<512)return c(null,u);let y=new V9(p);if(!y.cksumValid)return c(null,u);let g=512*Math.ceil((y.size??0)/512);if(u+g+512>s||(u+=g+512,u>=s))return c(null,u);e.mtimeCache&&y.mtime&&e.mtimeCache.set(String(y.path),y.mtime),l=0,Oq.default.read(o,p,0,512,u,m)};Oq.default.read(o,p,0,512,u,m)};return new Promise((o,s)=>{r.on("error",s);let a="r+",c=(u,l)=>{if(u&&u.code==="ENOENT"&&a==="r+")return a="w+",Oq.default.open(e.file,a,c);if(u||!l)return s(u);Oq.default.fstat(l,(p,m)=>{if(p)return Oq.default.close(l,()=>s(p));n(l,m.size,(f,h)=>{if(f)return s(f);let y=new Q2e(e.file,{fd:l,start:h});r.pipe(y),y.on("error",s),y.on("close",o),gzg(r,t)})})};Oq.default.open(e.file,a,c)})},yzg=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?A_t({file:fVs.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:n=>e.add(n)}):e.add(r)}),e.end()},gzg=async(e,t)=>{for(let r=0;r<t.length;r++){let n=String(t[r]);n.charAt(0)==="@"?await A_t({file:fVs.default.resolve(String(e.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>e.add(i)}):e.add(n)}e.end()},E_t=Vbe(mzg,hzg,()=>{throw new TypeError("file is required")},()=>{throw new TypeError("file is required")},(e,t)=>{if(!PYu(e))throw new TypeError("file is required");if(e.gzip||e.brotli||e.zstd||e.file.endsWith(".br")||e.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!t?.length)throw new TypeError("no paths specified to add/replace")});var Azg=Vbe(E_t.syncFile,E_t.asyncFile,E_t.syncNoFile,E_t.asyncNoFile,(e,t=[])=>{E_t.validate?.(e,t),bzg(e)}),bzg=e=>{let t=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=t?(r,n)=>t(r,n)&&!((e.mtimeCache?.get(r)??n.mtime??0)>(n.mtime??0)):(r,n)=>!((e.mtimeCache?.get(r)??n.mtime??0)>(n.mtime??0))};var PXu=He(lk(),1);var _zg=qke();async function IXu({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:n,cliVersion:i,settings:o,loadAPIWorkspace:s}){let a,c={type:Ed.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},u=t.dependencies[e];return u==null?c={type:Ed.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${Izg(u)}`},async l=>{switch(u.type){case"version":a=await xzg({context:l,dependency:u,cliVersion:i,settings:o,loadAPIWorkspace:s});return;case"local":a=await wzg({context:l,dependency:u,cliVersion:i,settings:o,loadAPIWorkspace:s});return;default:Ve(u)}}),a!=null?{didSucceed:!0,definition:a}:{didSucceed:!1,failure:c}}var CXu="dependencies";var vzg="metadata.json",Ezg=".fern";function Ozg(e){return Pt(Ar.of((0,OXu.homedir)()),Ke.of(Ezg),Ke.of(CXu),Ke.of(e.organization),Ke.of(e.apiName),Ke.of(e.version))}async function wzg({dependency:e,context:t,cliVersion:r,settings:n,loadAPIWorkspace:i}){if(i==null){t.failWithoutThrowing("Failed to load api definition");return}t.logger.info("Parsing...");let o=await i({absolutePathToWorkspace:e.absoluteFilepath,context:t,cliVersion:r,workspaceName:void 0});if(!o.didSucceed){t.failWithoutThrowing("Failed to load api definition",o.failures);return}t.logger.info("Modifying source filepath ...");let s=await o.workspace.getDefinition({context:t,relativePathToDependency:Ke.of(e.path)},n);return t.logger.info("Loaded..."),s}async function xzg({dependency:e,context:t,cliVersion:r,settings:n,loadAPIWorkspace:i}){let o=Ozg(e),s=Pt(o,Ke.of(CXu)),a=Pt(o,Ke.of(vzg)),c;if(!await qr(s)||!await qr(a)){t.logger.info("Downloading manifest...");let p=await _zg.definitionRegistry.get(mVs.FernFiddle.OrganizationId(e.organization),mVs.FernFiddle.ApiId(e.apiName),e.version);if(!p.ok){p.error._visit({orgDoesNotExistError:()=>{t.failWithoutThrowing("Organization does not exist")},apiDoesNotExistError:()=>{t.failWithoutThrowing("API does not exist")},versionDoesNotExistError:()=>{t.failWithoutThrowing("Version does not exist")},_other:y=>{t.failWithoutThrowing("Failed to download API manifest",y)}});return}let m=p.body.yamlSchemaVersion!=null?parseInt(p.body.yamlSchemaVersion):void 0,f=o_t(r),h=o_t(p.body.cliVersion);if(m!=null){if(m>1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a higher version of fern. Upgrade this workspace to ${p.body.cliVersion}`);return}else if(m<1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a lower version of fern. Upgrade it to ${r}`);return}}else if(f.major!==h.major||f.minor!==h.minor){t.failWithoutThrowing(`CLI version is ${p.body.cliVersion}. Expected ${f.major}.${f.minor}.x (to match current workspace).`);return}t.logger.info("Downloading..."),t.logger.debug("Remote URL: "+p.body.definitionS3DownloadUrl),await(0,XVt.mkdir)(s,{recursive:!0});try{await Pzg({s3PreSignedReadUrl:p.body.definitionS3DownloadUrl,absolutePathToLocalOutput:s})}catch(y){t.failWithoutThrowing("Failed to download API",y);return}c=p.body,await(0,XVt.writeFile)(a,JSON.stringify(c))}else c=JSON.parse((await(0,XVt.readFile)(a)).toString());if(t.logger.info("Parsing..."),i==null){t.failWithoutThrowing("Failed to load API");return}let u=await i({absolutePathToWorkspace:s,context:t,cliVersion:c.cliVersion,workspaceName:void 0});if(!u.didSucceed){t.failWithoutThrowing("Failed to parse dependency after downloading",u.failures);return}if(u.workspace.type==="oss"){t.failWithoutThrowing("Dependency must be a fern workspace.");return}return await u.workspace.getDefinition({context:t},n)}async function Pzg({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await wC.get(e,{responseType:"stream"}),n=await PXu.default.dir(),i=wXu.default.join(n.path,"api.tgz");await(0,xXu.pipeline)(r.data,(0,EXu.createWriteStream)(i)),await pVs({file:i,cwd:t})}function Izg(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:Ve(e)}}async function SXu({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:n,settings:i,loadAPIWorkspace:o}){let s={},a={},c={};return await Promise.all(II(t.packageMarkers).map(async([u,l])=>{if(l.contents.export==null)s[u]=l;else{let{export:p,...m}=l.contents;if(w0(m)>0)c[u]={type:Ed.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:u};else{let f=Ci(u);if(XM(t.namedDefinitionFiles).some(y=>y!==u&&y.startsWith(f)))c[u]={type:Ed.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:f};else{let y=await IXu({dependencyName:typeof l.contents.export=="string"?l.contents.export:l.contents.export.dependency,dependenciesConfiguration:e,context:r,rootApiFile:t.rootApiFile.contents,cliVersion:n,settings:i,loadAPIWorkspace:o});y.didSucceed?a[Ci(u)]={definition:y.definition,url:typeof l.contents.export=="object"?l.contents.export.url:void 0}:c[u]=y.failure}}}})),w0(c)>0?{didSucceed:!1,failures:c}:{didSucceed:!0,packageMarkers:s,importedDefinitions:a}}var jXu=He(require("path"),1);var dVs={};D(dVs,{additionalProperties:()=>Bzg,default:()=>Dzg,definitions:()=>Tzg,properties:()=>Szg,required:()=>jzg,type:()=>Czg});var Czg="object",Szg={docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"default-environment":{oneOf:[{type:"string"},{type:"null"}]},environments:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/environments.EnvironmentSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/auth.ApiAuthSchema"},{type:"null"}]},"auth-schemes":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/auth.AuthSchemeDeclarationSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},name:{type:"string"},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"error-discrimination":{oneOf:[{$ref:"#/definitions/file.ErrorDiscriminationSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},errors:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"idempotency-headers":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/variables.VariableDeclarationSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"null"}]},product:{oneOf:[{$ref:"#/definitions/products.ProductDeclarationSchema"},{type:"null"}]},version:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},jzg=["name"],Bzg=!1,Tzg={"environments.ServerVariableSchema":{type:"object",properties:{id:{type:"string"},default:{oneOf:[{type:"string"},{type:"null"}]},values:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]}},required:["id"],additionalProperties:!1},"environments.SingleBaseUrlEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},url:{type:"string"},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"url-template":{oneOf:[{type:"string"},{type:"null"}]},variables:{oneOf:[{type:"array",items:{$ref:"#/definitions/environments.ServerVariableSchema"}},{type:"null"}]}},required:["url"],additionalProperties:!1},"environments.MultipleBaseUrlsEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},urls:{type:"object",additionalProperties:{type:"string"}},"url-templates":{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"default-urls":{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/environments.ServerVariableSchema"}}},{type:"null"}]}},required:["urls"],additionalProperties:!1},"environments.EnvironmentSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/environments.SingleBaseUrlEnvironmentSchema"},{$ref:"#/definitions/environments.MultipleBaseUrlsEnvironmentSchema"}]},"auth.AuthSchemeReferenceSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{type:"string"}},required:["scheme"],additionalProperties:!1},"auth.AnyAuthItem":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"}]},"auth.AnyAuthSchemesSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},any:{type:"array",items:{$ref:"#/definitions/auth.AnyAuthItem"}}},required:["any"],additionalProperties:!1},"auth.EndpointSecuritySchemaDetails":{type:"object",additionalProperties:!1},"auth.EndpointSecuritySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"endpoint-security":{$ref:"#/definitions/auth.EndpointSecuritySchemaDetails"}},required:["endpoint-security"],additionalProperties:!1},"auth.ApiAuthSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"},{$ref:"#/definitions/auth.AnyAuthSchemesSchema"},{$ref:"#/definitions/auth.EndpointSecuritySchema"}]},"auth.AuthScope":{type:"string"},"auth.OAuthAccessTokenRequestPropertiesSchema":{type:"object",properties:{"client-id":{oneOf:[{type:"string"},{type:"null"}]},"client-secret":{oneOf:[{type:"string"},{type:"null"}]},scopes:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthAccessTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthGetTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthRefreshTokenRequestPropertiesSchema":{type:"object",properties:{"refresh-token":{type:"string"}},required:["refresh-token"],additionalProperties:!1},"auth.OAuthRefreshTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthRefreshTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"oauth"},type:{const:"client-credentials"},scopes:{oneOf:[{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}},{type:"null"}]},"client-id-env":{oneOf:[{type:"string"},{type:"null"}]},"client-secret-env":{oneOf:[{type:"string"},{type:"null"}]},"token-prefix":{oneOf:[{type:"string"},{type:"null"}]},"token-header":{oneOf:[{type:"string"},{type:"null"}]},"get-token":{$ref:"#/definitions/auth.OAuthGetTokenEndpointSchema"},"refresh-token":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenEndpointSchema"},{type:"null"}]}},required:["scheme","type","get-token"],additionalProperties:!1},"auth.HeaderAuthSchemeSchema":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},header:{type:"string"},type:{oneOf:[{type:"string"},{type:"null"}]},prefix:{oneOf:[{type:"string"},{type:"null"}]}},required:["header"],additionalProperties:!1},"auth.AuthVariable":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},omit:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"auth.BasicAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"basic"},username:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]},password:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.TokenBearerAuthSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},token:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.InferredAuthenticatedRequestHeader":{type:"object",properties:{"response-property":{type:"string"},"header-name":{type:"string"},"value-prefix":{oneOf:[{type:"string"},{type:"null"}]}},required:["response-property","header-name"],additionalProperties:!1},"auth.InferredGetTokenEndpointSchemaObject":{type:"object",properties:{endpoint:{type:"string"},"expiry-response-property":{oneOf:[{type:"string"},{type:"null"}]},"authenticated-request-headers":{oneOf:[{type:"array",items:{$ref:"#/definitions/auth.InferredAuthenticatedRequestHeader"}},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.InferredGetTokenEndpointSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.InferredGetTokenEndpointSchemaObject"}]},"auth.InferredBearerAuthSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},"get-token":{$ref:"#/definitions/auth.InferredGetTokenEndpointSchema"}},required:["scheme","get-token"],additionalProperties:!1},"auth.BearerAuthSchemeSchema":{anyOf:[{$ref:"#/definitions/auth.TokenBearerAuthSchema"},{$ref:"#/definitions/auth.InferredBearerAuthSchema"}]},"auth.AuthSchemeDeclarationSchema":{anyOf:[{$ref:"#/definitions/auth.OAuthSchemeSchema"},{$ref:"#/definitions/auth.HeaderAuthSchemeSchema"},{$ref:"#/definitions/auth.BasicAuthSchemeSchema"},{$ref:"#/definitions/auth.BearerAuthSchemeSchema"}]},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"file.PropertyBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"property"},"property-name":{type:"string"}},required:["strategy","property-name"],additionalProperties:!1},"file.StatusCodeBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"status-code"}},required:["strategy"],additionalProperties:!1},"file.ErrorDiscriminationSchema":{anyOf:[{$ref:"#/definitions/file.PropertyBasedErrorDiscrimination"},{$ref:"#/definitions/file.StatusCodeBasedErrorDiscrimination"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"variables.VariableDeclarationDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"variables.VariableDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/variables.VariableDeclarationDetailed"}]},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"versioning.VersionValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionValue":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionValueDetailed"}]},"versioning.VersionDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionDeclarationHeaderObjectSchema"}]},"versioning.VersionDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/versioning.VersionValue"}},header:{$ref:"#/definitions/versioning.VersionDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1},"products.ProductValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},versions:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"products.ProductValue":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductValueDetailed"}]},"products.ProductDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"products.ProductDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductDeclarationHeaderObjectSchema"}]},"products.ProductDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/products.ProductValue"}},header:{$ref:"#/definitions/products.ProductDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1}},Dzg={type:Czg,properties:Szg,required:jzg,additionalProperties:Bzg,definitions:Tzg};var hVs={};D(hVs,{additionalProperties:()=>Nzg,default:()=>zzg,definitions:()=>kzg,properties:()=>Fzg,type:()=>Rzg});var Rzg="object",Fzg={docs:{oneOf:[{type:"string"},{type:"null"}]},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]}},Nzg=!1,kzg={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminatorContext":{type:"string",enum:["data","protocol"]},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},context:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminatorContext"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE","HEAD"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"auth.AuthScope":{type:"string"},"service.HttpEndpointSecurityItem":{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}}},"service.HttpEndpointSecurity":{type:"array",items:{$ref:"#/definitions/service.HttpEndpointSecurityItem"}},"service.HttpEndpointAuth":{anyOf:[{type:"boolean"},{$ref:"#/definitions/service.HttpEndpointSecurity"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.RetriesDisabledSchema":{type:"object",properties:{disabled:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"service.RetriesConfiguration":{anyOf:[{$ref:"#/definitions/service.RetriesDisabledSchema"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/service.HttpEndpointAuth"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},retries:{oneOf:[{$ref:"#/definitions/service.RetriesConfiguration"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"webhooks.WebhookSignatureAlgorithmSchema":{type:"string",enum:["sha256","sha1","sha384","sha512"]},"webhooks.WebhookSignatureEncodingSchema":{type:"string",enum:["base64","hex"]},"webhooks.WebhookPayloadComponentSchema":{type:"string",enum:["body","timestamp","notification-url","message-id"]},"webhooks.WebhookPayloadFormatSchema":{type:"object",properties:{components:{type:"array",items:{$ref:"#/definitions/webhooks.WebhookPayloadComponentSchema"}},delimiter:{oneOf:[{type:"string"},{type:"null"}]}},required:["components"],additionalProperties:!1},"webhooks.WebhookTimestampFormatSchema":{type:"string",enum:["unix-seconds","unix-millis","iso8601"]},"webhooks.WebhookTimestampSchema":{type:"object",properties:{header:{type:"string"},format:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampFormatSchema"},{type:"null"}]},tolerance:{oneOf:[{type:"integer"},{type:"null"}]}},required:["header"],additionalProperties:!1},"webhooks.AsymmetricAlgorithmSchema":{type:"string",enum:["rsa-sha256","rsa-sha384","rsa-sha512","ecdsa-sha256","ecdsa-sha384","ecdsa-sha512","ed25519"]},"webhooks.WebhookSignatureSchema":{type:"object",properties:{type:{type:"string",enum:["hmac","asymmetric"]}},oneOf:[{properties:{type:{const:"hmac"},header:{type:"string"},algorithm:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureAlgorithmSchema"},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"payload-format":{oneOf:[{$ref:"#/definitions/webhooks.WebhookPayloadFormatSchema"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header"]},{properties:{type:{const:"asymmetric"},header:{type:"string"},"asymmetric-algorithm":{$ref:"#/definitions/webhooks.AsymmetricAlgorithmSchema"},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"jwks-url":{oneOf:[{type:"string"},{type:"null"}]},"key-id-header":{oneOf:[{type:"string"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header","asymmetric-algorithm"]}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},signature:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"method-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1}},zzg={type:Rzg,properties:Fzg,additionalProperties:Nzg,definitions:kzg};var yVs={};D(yVs,{additionalProperties:()=>Vzg,default:()=>Lzg,definitions:()=>Uzg,properties:()=>Mzg,type:()=>Qzg});var Qzg="object",Mzg={imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},navigation:{oneOf:[{$ref:"#/definitions/file.Navigation"},{type:"null"}]},export:{oneOf:[{$ref:"#/definitions/file.Export"},{type:"null"}]}},Vzg=!1,Uzg={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminatorContext":{type:"string",enum:["data","protocol"]},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},context:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminatorContext"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE","HEAD"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"auth.AuthScope":{type:"string"},"service.HttpEndpointSecurityItem":{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}}},"service.HttpEndpointSecurity":{type:"array",items:{$ref:"#/definitions/service.HttpEndpointSecurityItem"}},"service.HttpEndpointAuth":{anyOf:[{type:"boolean"},{$ref:"#/definitions/service.HttpEndpointSecurity"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.RetriesDisabledSchema":{type:"object",properties:{disabled:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"service.RetriesConfiguration":{anyOf:[{$ref:"#/definitions/service.RetriesDisabledSchema"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/service.HttpEndpointAuth"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},retries:{oneOf:[{$ref:"#/definitions/service.RetriesConfiguration"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"webhooks.WebhookSignatureAlgorithmSchema":{type:"string",enum:["sha256","sha1","sha384","sha512"]},"webhooks.WebhookSignatureEncodingSchema":{type:"string",enum:["base64","hex"]},"webhooks.WebhookPayloadComponentSchema":{type:"string",enum:["body","timestamp","notification-url","message-id"]},"webhooks.WebhookPayloadFormatSchema":{type:"object",properties:{components:{type:"array",items:{$ref:"#/definitions/webhooks.WebhookPayloadComponentSchema"}},delimiter:{oneOf:[{type:"string"},{type:"null"}]}},required:["components"],additionalProperties:!1},"webhooks.WebhookTimestampFormatSchema":{type:"string",enum:["unix-seconds","unix-millis","iso8601"]},"webhooks.WebhookTimestampSchema":{type:"object",properties:{header:{type:"string"},format:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampFormatSchema"},{type:"null"}]},tolerance:{oneOf:[{type:"integer"},{type:"null"}]}},required:["header"],additionalProperties:!1},"webhooks.AsymmetricAlgorithmSchema":{type:"string",enum:["rsa-sha256","rsa-sha384","rsa-sha512","ecdsa-sha256","ecdsa-sha384","ecdsa-sha512","ed25519"]},"webhooks.WebhookSignatureSchema":{type:"object",properties:{type:{type:"string",enum:["hmac","asymmetric"]}},oneOf:[{properties:{type:{const:"hmac"},header:{type:"string"},algorithm:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureAlgorithmSchema"},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"payload-format":{oneOf:[{$ref:"#/definitions/webhooks.WebhookPayloadFormatSchema"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header"]},{properties:{type:{const:"asymmetric"},header:{type:"string"},"asymmetric-algorithm":{$ref:"#/definitions/webhooks.AsymmetricAlgorithmSchema"},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"jwks-url":{oneOf:[{type:"string"},{type:"null"}]},"key-id-header":{oneOf:[{type:"string"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header","asymmetric-algorithm"]}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},signature:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"method-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1},"file.Navigation":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"file.ExportDetailed":{type:"object",properties:{dependency:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]}},required:["dependency"],additionalProperties:!1},"file.Export":{anyOf:[{type:"string"},{$ref:"#/definitions/file.ExportDetailed"}]}},Lzg={type:Qzg,properties:Mzg,additionalProperties:Vzg,definitions:Uzg};var gVs=new Map,AVs=new Map,bVs=new Map;function BXu({files:e,absolutePathToDefinition:t,skipValidation:r}){let n,i={},o={},s={};for(let[a,c]of II(e)){let u=c.contents,l=p=>{s[a]={type:Ed.JSONSCHEMA_VALIDATION,error:p}};if(a===CC){let p=gVs.get(c.rawContents);if(p!=null)n={defaultUrl:p["default-url"],contents:p,rawContents:c.rawContents};else if(r){let m=rP.serialization.RootApiFileSchema.parseOrThrow(u);gVs.set(c.rawContents,m),n={defaultUrl:m["default-url"],contents:m,rawContents:c.rawContents}}else{let m=Rae(u,dVs);if(m.success){let f=rP.serialization.RootApiFileSchema.parseOrThrow(u);gVs.set(c.rawContents,f),n={defaultUrl:f["default-url"],contents:f,rawContents:c.rawContents}}else l(m)}}else if(jXu.default.basename(a)===By){let p=bVs.get(c.rawContents);if(p!=null)o[a]={defaultUrl:typeof p.export=="object"?p.export.url:void 0,contents:p,rawContents:c.rawContents};else if(r){let m=rP.serialization.PackageMarkerFileSchema.parseOrThrow(u);bVs.set(c.rawContents,m),o[a]={defaultUrl:typeof m.export=="object"?m.export.url:void 0,contents:m,rawContents:c.rawContents}}else{let m=Rae(u,yVs);if(m.success){let f=rP.serialization.PackageMarkerFileSchema.parseOrThrow(u);bVs.set(c.rawContents,f),o[a]={defaultUrl:typeof f.export=="object"?f.export.url:void 0,contents:f,rawContents:c.rawContents}}else l(m)}}else{let p=AVs.get(c.rawContents);if(p!=null)i[a]={defaultUrl:void 0,contents:p,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)};else if(r){let m=rP.serialization.DefinitionFileSchema.parseOrThrow(u);AVs.set(c.rawContents,m),i[a]={defaultUrl:void 0,contents:m,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)}}else{let m=Rae(u,hVs);if(m.success){let f=rP.serialization.DefinitionFileSchema.parseOrThrow(u);AVs.set(c.rawContents,f),i[a]={defaultUrl:void 0,contents:f,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)}}else l(m)}}}return n==null?{didSucceed:!1,failures:{[Ke.of(CC)]:{type:Ed.FILE_MISSING},...s}}:Object.keys(s).length>0?{didSucceed:!1,failures:s}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:n,packageMarkers:o}}var R2=class extends yce{type="fern";context;fernWorkspaces={};loadAPIWorkspace;constructor({context:t,loadAPIWorkspace:r,...n}){super(n),this.context=t,this.loadAPIWorkspace=r}async getDefinition({context:t},r){return(await this.toFernWorkspace({context:t},r)).definition}async toFernWorkspace({context:t,skipValidation:r},n){let i=(0,TXu.default)(n??{}),o=this.fernWorkspaces[i];if(o==null){let s=t||this.context,a=Pt(this.absoluteFilePath,Ke.of(nP)),c=await Yks({absolutePathToWorkspace:this.absoluteFilePath,context:s}),u=await AYu(a,"{yml,yaml}"),l=await bYu(u);if(!l.didSucceed)return qPn(l.failures,s.logger),s.failAndThrow();let p=BXu({files:l.files,absolutePathToDefinition:a,skipValidation:r});if(!p.didSucceed)return qPn(p.failures,s.logger),s.failAndThrow();let m=await SXu({dependenciesConfiguration:c,structuralValidationResult:p,context:s,cliVersion:this.cliVersion,settings:n,loadAPIWorkspace:this.loadAPIWorkspace});if(!m.didSucceed)return qPn(m.failures,s.logger),s.failAndThrow();let f={absoluteFilePath:a,rootApiFile:p.rootApiFile,namedDefinitionFiles:p.namedDefinitionFiles,packageMarkers:m.packageMarkers,importedDefinitions:m.importedDefinitions};n?.auth!=null&&(f={...f,rootApiFile:{...f.rootApiFile,contents:{...f.rootApiFile.contents,auth:n?.auth}}}),o=new Y3({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:c,workspaceName:this.workspaceName,definition:f,cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=o}return o}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var lel=require("fs/promises");var nel=He(rel(),1);async function S_t(e){return(await(0,nel.convertObj)(e,{})).openapi}var oel=require("fs/promises");var iel=require("fs/promises");async function sUt({absoluteFilePathToOverrides:e,data:t,context:r,allowNullKeys:n}){let i=null;try{let o=(await(0,iel.readFile)(e,"utf8")).toString();try{i=JSON.parse(o)}catch{i=Cn.load(o,{json:!0})}}catch{return r.failAndThrow(`Failed to read overrides from file ${e}`)}return Mcs({data:t,overrides:i,allowNullKeys:n})}async function UVs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let n=(await(0,oel.readFile)(t)).toString(),i=await Cn.load(n);return r!=null?await sUt({absoluteFilePathToOverrides:r,context:e,data:i}):i}var uel=require("fs/promises");var $In=require("fs/promises");var HIn=He(require("path"),1),sel=He(lk(),1),LVs;async function TQg(){return LVs===void 0&&(LVs=(await sel.default.dir({prefix:"fern-overlay-"})).path),LVs}async function ael({absoluteFilePathToOverlay:e,absoluteFilePathToOpenAPI:t,data:r,context:n}){let i=await DQg(e,n);if(!RQg(i,n))return r;n.logger.debug(`Applying overlay "${i.info.title}" v${i.info.version}`);let o=Tcs({data:r,overlay:i}),s=await TQg(),a=HIn.default.basename(t),c=`${HIn.default.parse(a).name}.overlaid.json`,u=HIn.default.join(s,c);return await(0,$In.writeFile)(u,JSON.stringify(o,null,2),"utf8"),n.logger.info(`Wrote overlaid OpenAPI spec to: ${u}`),o}async function DQg(e,t){let r;try{r=await(0,$In.readFile)(e,"utf8")}catch(n){return t.failAndThrow(`Failed to read overlay file at ${e}: ${n}`)}try{try{return JSON.parse(r)}catch{return Cn.load(r,{json:!0})}}catch(n){return t.failAndThrow(`Failed to parse overlay file at ${e}: ${n}`)}}function RQg(e,t){if(!e.overlay)return t.logger.error("Overlay file missing required 'overlay' version field"),!1;if(!e.info?.title||!e.info?.version)return t.logger.error("Overlay file missing required 'info.title' or 'info.version' field"),!1;if(!Array.isArray(e.actions)||e.actions.length===0)return t.logger.error("Overlay file must have at least one action"),!1;for(let r=0;r<e.actions.length;r++){let n=e.actions[r];if(!n?.target)return t.logger.error(`Overlay action at index ${r} missing required 'target' field`),!1;if(n.update===void 0&&!n.remove)return t.logger.error(`Overlay action at index ${r} must have either 'update' or 'remove'`),!1}return!0}var gSr=He(Fwn(),1);var cel=He(Fwn(),1),hSr=He(require("path"),1),ySr=class extends cel.BaseResolver{absolutePathToOpenAPIOverrides;absolutePathToOpenAPIOverlays;constructor({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r}){super(),this.absolutePathToOpenAPIOverrides=t,this.absolutePathToOpenAPIOverlays=r}resolveExternalRef(t,r){let n=super.resolveExternalRef(t,r);if(n.startsWith("http://")||n.startsWith("https://")||Wke(Ar.of(n)))return n;if(this.absolutePathToOpenAPIOverlays!=null){let i=hSr.default.resolve(hSr.default.dirname(this.absolutePathToOpenAPIOverlays),r);if(Wke(Ar.of(i)))return i}return this.absolutePathToOpenAPIOverrides!=null?hSr.default.resolve(hSr.default.dirname(this.absolutePathToOpenAPIOverrides),r):n}};async function qVs({absolutePathToOpenAPI:e,absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r,parsed:n}){return(n!=null?await(0,gSr.bundle)({...Nwn,doc:{source:new gSr.Source(e,"<openapi>"),parsed:n},externalRefResolver:new ySr({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r})}):await(0,gSr.bundle)({...Nwn,ref:e,externalRefResolver:new ySr({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r})})).bundle.parsed}function FQg(e,t){if(t.includes(e))return e;for(let r of t){let n=r.replace(/\{[^}]+\}/g,"([^/]+)");if(new RegExp(`^${n}$`).test(e))return r}}var NQg=["examples","example",wi.EXAMPLES,Mk.REDOCLY_CODE_SAMPLES_CAMEL,Mk.REDOCLY_CODE_SAMPLES_KEBAB];async function j_t({context:e,absolutePathToOpenAPI:t,absolutePathToOpenAPIOverrides:r,absolutePathToOpenAPIOverlays:n,loadAiExamples:i=!1}){let o=await qVs({absolutePathToOpenAPI:t}),s;r!=null?s=r:typeof o=="object"&&o[wi.OPENAPI_OVERIDES_FILEPATH]!=null&&(s=Pt(Ci(t),Ke.of(o[wi.OPENAPI_OVERIDES_FILEPATH])));let a=o;if(s!=null&&(a=await sUt({absoluteFilePathToOverrides:s,context:e,data:a,allowNullKeys:NQg})),n!=null&&(a=await ael({absoluteFilePathToOverlay:n,absoluteFilePathToOpenAPI:t,context:e,data:a})),i){let c=Pt(Ci(t),Ke.of("ai_examples_override.yml"));try{let u=await(0,uel.readFile)(c,"utf-8"),l=Cn.load(u);if(l?.paths&&a.paths){for(let[p,m]of Object.entries(l.paths))if(m&&typeof m=="object")for(let[f,h]of Object.entries(m)){let y=f.toLowerCase(),g=a.paths[p];if(!g&&a.paths){let A=FQg(p,Object.keys(a.paths));A&&(g=a.paths[A],e.logger.debug(`Matched override path "${p}" to OpenAPI path "${A}" using pattern matching`))}if(g&&typeof g=="object"){let b=g[y];if(b&&typeof b=="object"){let v=b;!v["x-fern-examples"]&&h["x-fern-examples"]&&(v["x-fern-examples"]=h["x-fern-examples"],e.logger.debug(`Added AI examples for ${f.toUpperCase()} ${p} from override file`))}}}}e.logger.debug(`Processed AI examples from ${c}`)}catch{}}return s!=null||n!=null||a!==o?await qVs({absolutePathToOpenAPI:t,absolutePathToOpenAPIOverrides:s,absolutePathToOpenAPIOverlays:n,parsed:a}):a}var Kce=class{absoluteFilePath;constructor(t){this.absoluteFilePath=t}async loadDocuments({context:t,specs:r,loadAiExamples:n=!1}){return(await Promise.all(r.map(o=>this.loadDocument({context:t,spec:o,loadAiExamples:n})))).filter(o=>o!=null)}async loadDocument({context:t,spec:r,loadAiExamples:n}){try{let i=(await(0,lel.readFile)(r.absoluteFilepath)).toString(),o=hl(this.absoluteFilePath,r.source.file);r.source.relativePathToDependency!=null&&(o=Pt(r.source.relativePathToDependency,o));let s=r.source.type==="protobuf"?A2.protobuf({file:o}):A2.openapi({file:o});if(i.includes("openapi")||i.includes("swagger"))try{let a=await j_t({absolutePathToOpenAPI:r.absoluteFilepath,context:t,absolutePathToOpenAPIOverrides:r.absoluteFilepathToOverrides,absolutePathToOpenAPIOverlays:r.absoluteFilepathToOverlays,loadAiExamples:n});if(Jks(a))return{type:"openapi",value:a,source:s,namespace:r.namespace,settings:DK({options:r.settings})};if(Pbt(a))return(!a.schemes||a.schemes.length===0)&&(a.schemes=["https"]),{type:"openapi",value:await S_t(a),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.debug(`Failed to parse OpenAPI document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}if(i.includes("asyncapi"))try{return{type:"asyncapi",value:await UVs({context:t,absoluteFilePath:r.absoluteFilepath,absoluteFilePathToOverrides:r.absoluteFilepathToOverrides}),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.error(`Failed to parse AsyncAPI document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}if(i.includes("openrpc"))try{return{type:"asyncapi",value:await UVs({context:t,absoluteFilePath:r.absoluteFilepath,absoluteFilePathToOverrides:r.absoluteFilepathToOverrides}),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.error(`Failed to parse OpenRPC document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}t.logger.warn(`${r.absoluteFilepath} is not a valid OpenAPI, AsyncAPI, or OpenRPC file. Skipping...`);return}catch(i){t.logger.error(`Failed to read or process file ${r.absoluteFilepath}: ${i}. Skipping...`);return}}};var ds=class e{breadcrumbs=[];context;static STRING=_r.TypeReference.primitive({v1:"STRING",v2:_r.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=_r.TypeReference.container(_r.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var fel=require("fs/promises");var WVs=class{_map;_path;_lastScalar;_fragments;_count;constructor(){this._map={},this._path=[],this._lastScalar="",this._fragments=[],this._count=0}get map(){return this._map}resolveNode(t,r){if(t.path==="."&&(r="."),!this._map[r]){let{line:n,position:i,lineStart:o}=t;this._map[r]={line:n,position:i,lineStart:o}}t.children&&t.children.length>0&&t.children.forEach(n=>{this.resolveNode(n,(r==="."?"":r)+"."+n.path)})}iterFragments(t,r){for(let n=this._fragments.length-1;n>=0;n--){if(!this._fragments[n].path.startsWith(t)||this._fragments[n].path===t)continue;let i=this._fragments.pop();r(i)}}handleState(t,r){if(t==="close"){let n=r.result,i=r.kind,o=this._path.join(".");if(i==="scalar"){this._path.pop(),this._lastScalar=`${n}`;let{line:s,position:a,lineStart:c}=r;this._path.length===0?this._map["."+n]={line:s,position:a,lineStart:c}:this._fragments.push({path:this._path.join(".")+"."+n,line:s,position:a,lineStart:c})}else if(i==="mapping"){let s={path:o,children:[],line:0,position:0,lineStart:0},a=0;this.iterFragments(o,c=>{a++,!((!c.children||c.children.length===0)&&a%2===1)&&(this._path.length===1?this.resolveNode(c,c.path):(s.children.push({...c,path:c.path.slice(o.length+1)}),s.line=c.line,s.position=c.position,s.lineStart=c.lineStart))}),s.children&&s.children.length>0&&this._fragments.push(s),this._path.pop()}else if(i==="sequence"){let s={path:o,children:[],line:0,position:0,lineStart:0},a=new Set,c=n.length;this.iterFragments(o,u=>{a.has(u.position)||(c--,a.add(u.position),this._path.length===1?this.resolveNode(u,`${o}.${c}`):(s.children.push({...u,path:c.toString()}),s.line=u.line,s.position=u.position,s.lineStart=u.lineStart))}),s.children&&s.children.length>0&&this._fragments.push(s),this._path.pop()}else this._path.pop()}if(t==="open"){if(this._count===0){let{line:n,position:i,lineStart:o}=r;this._map["."]={line:n,position:i,lineStart:o}}this._path.push(this._lastScalar),this._count++}}listen(){return this.handleState.bind(this)}lookup(t){let r=t instanceof Array?t.map(i=>`${i}`).join("."):`${t}`;r.startsWith(".")||(r="."+r),r.startsWith("..")&&(r=r.slice(1)),r=r.replace(/\[/g,".").replace(/\]/g,"");let n=this._map[r];if(n)return{line:n.line+1,column:n.position-n.lineStart+1,position:n.position}}},pel=WVs;var cB;(function(e){e.WARNING="warning",e.ERROR="error"})(cB||(cB={}));var XK=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new GVs({logger:t,relativePathToFile:Ke.of(r)}))}collect(t){this.errors.push(t)}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}dedupe(){let t=[],r=new Set,n=0;for(let i of this.errors){let o=i.path?i.path.join("->"):"",s=`${i.message}|${i.level||cB.WARNING}|${o}`;r.has(s)?n++:(r.add(s),t.push(i))}return this.errors=t,n}getErrorStats(){this.dedupe();let t=0,r=0;for(let n of this.errors)n.level===cB.ERROR?t++:(n.level===cB.WARNING||n.level===void 0)&&r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors){let n=r.level??cB.WARNING;if(!(n===cB.WARNING&&!t))switch(n){case cB.ERROR:if(this.logger.log(to.Debug,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),o=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(to.Debug,` - at location (${o})`)}break;case cB.WARNING:if(this.logger.log(to.Warn,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),o=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(to.Warn,` - at location (${o})`)}r.resolution&&this.logger.log(to.Warn,` - resolution: ${r.resolution}`);break}}}},GVs=class{logger;relativePathToFile;map=new pel;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,fel.readFile)(this.relativePathToFile,"utf-8");Cn.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(to.Warn,`Failed to initialize line number mapping for ${this.relativePathToFile}: ${JSON.stringify(t)}`)}}async getSourceLocation(t){return this.initialized||await this.initialize(),this.map.lookup(t)}};var aP=class e{args;spec;settings;errorCollector;logger;generationLanguage;smartCasing;casingsGenerator;namespace;exampleGenerationArgs;authOverrides;environmentOverrides;globalHeaderOverrides;enableUniqueErrorsPerEndpoint;generateV1Examples;documentBaseDir;constructor(t){this.args=t,this.spec=t.spec,this.settings=t.settings,this.errorCollector=t.errorCollector,this.logger=t.logger,this.generationLanguage=t.generationLanguage,this.smartCasing=t.smartCasing,this.namespace=t.namespace,this.casingsGenerator=d1({generationLanguage:t.generationLanguage,keywords:void 0,smartCasing:t.smartCasing}),this.exampleGenerationArgs=t.exampleGenerationArgs,this.authOverrides=t.authOverrides,this.environmentOverrides=t.environmentOverrides,this.globalHeaderOverrides=t.globalHeaderOverrides,this.enableUniqueErrorsPerEndpoint=t.enableUniqueErrorsPerEndpoint,this.generateV1Examples=t.generateV1Examples,this.documentBaseDir=t.documentBaseDir}static BREADCRUMBS_TO_IGNORE=["properties","allOf","anyOf"];convertBreadcrumbsToName(t){let r=t.filter((i,o)=>!(/^\d+$/.test(i)||e.BREADCRUMBS_TO_IGNORE.includes(i)||o===0&&i==="components"||o===1&&i==="schemas"||t[0]==="paths"&&(o===0||o===1&&["get","post","put","delete","patch"].includes(i)||o===2&&t[1]!=null&&["get","post","put","delete","patch"].includes(t[1])&&i==="parameters"))),n=eo(r.join("_"));return n.charAt(0).toUpperCase()+n.slice(1)}createFernFilepath(t={}){let r=this.namespace!=null?[this.casingsGenerator.generateName(this.namespace)]:[],n=t.name!=null?this.casingsGenerator.generateName(t.name):void 0;return{allParts:n?[...r,n]:r,packagePath:r,file:n}}resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:n}){let i=this.spec,o=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(s=>s.replace(/~1/g,"/"));for(let s of o){if(typeof i!="object"||i==null)return n||this.errorCollector.collect({level:cB.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};i=i[s]}return i==null?(n||this.errorCollector.collect({level:cB.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1}):{resolved:!0,value:i}}getErrorMessageForMissingRef({reference:t}){let r=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/");return r.length>=3&&r[0]==="components"&&r[1]==="schemas"?`Schema ${r[2]} does not exist`:`${t.$ref} does not exist`}async resolveMaybeExternalReference(t){let r=this.spec,n,i=!1,o=null,s;if(this.isExternalReference(t.$ref)){i=!0;let u=t.$ref.split("#"),l=u[0];if(n=u[1],!l)return{resolved:!1};s=l;let p=await fetch(l);if(!p.ok)return{resolved:!1};try{let m=await p.text();try{o=JSON.parse(m),r=o}catch{o=Cn.load(m),r=o}if(r==null)return{resolved:!1}}catch{return{resolved:!1}}if(!n)return{resolved:!0,value:r}}let a=n??t.$ref;if(a==null||typeof a!="string")return{resolved:!1};let c=a.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(u=>u.replace(/~1/g,"/"));for(let u of c){if(typeof r!="object"||r==null)return{resolved:!1};r=r[u]}if(r==null)return{resolved:!1};if(i&&typeof r=="object"&&r!==null){let u=new Set;u.add(t.$ref),r=await this.resolveNestedExternalReferences(r,o,u,s)}return{resolved:!0,value:r}}async resolveNestedExternalReferences(t,r,n,i){if(t===null||typeof t!="object")return t;if(Array.isArray(t)){let s=[];for(let a of t)s.push(await this.resolveNestedExternalReferences(a,r,n,i));return s}if(this.isReferenceObject(t)){let s=t.$ref;if(this.isExternalReference(s)){if(n.has(s))return t;n.add(s);let a=await this.resolveMaybeExternalReference({$ref:s});if(n.delete(s),a.resolved)return a.value}else{let a=`${i}${s}`;if(n.has(a))return t;n.add(a);let c=r,u=s.substring(2).split("/").map(l=>l.replace(/~1/g,"/").replace(/~0/g,"~"));for(let l of u){if(typeof c!="object"||c===null)return t;c=c[l]}if(c!=null){let l=await this.resolveNestedExternalReferences(c,r,n,i);return n.delete(s),l}n.delete(s)}return t}let o={};for(let[s,a]of Object.entries(t))typeof a=="object"&&a!==null?o[s]=await this.resolveNestedExternalReferences(a,r,n,i):o[s]=a;return o}getExamplesFromSchema({schema:t,breadcrumbs:r}){if(t==null)return[];let n=t.example!=null?[t.example]:[];return t.examples!=null&&(Array.isArray(t.examples)?n.push(...t.examples):this.errorCollector.collect({message:"Received non-array schema examples",path:r})),n}getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:r,defaultExampleName:n}){if(t==null)return[];let i=[];if(t.example!=null){let o=this.generateUniqueName({prefix:n??`${r.join("_")}_example`,existingNames:[]});i.push([o,{value:t.example}])}return t.examples!=null&&i.push(...Object.entries(t.examples)),i}resolveMaybeReference({schemaOrReference:t,breadcrumbs:r,skipErrorCollector:n}){if(this.isReferenceObject(t)){let i=this.resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:n});return i.resolved?i.value:void 0}return t}resolveExampleRecursively({example:t,breadcrumbs:r,maxDepth:n=10}){let i=t,o=0;for(;this.isReferenceObject(i);){if(o>=n){this.errorCollector.collect({message:`Maximum reference depth (${n}) exceeded while resolving example reference`,path:r});return}let s=this.resolveReference({reference:i,breadcrumbs:r,skipErrorCollector:!0});if(!s.resolved)return;i=s.value,o++}return i}resolveExample(t){if(!this.isReferenceObject(t))return t;let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}resolveExampleWithValue(t){if(!this.isReferenceObject(t))return this.returnExampleValue(t);let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}returnExampleValue(t){return this.isExampleWithValue(t)?t.value:t}getPropertyAccess(t){let r=t;for(;this.isReferenceObject(r);){let o=this.resolveReference({reference:r});if(!o.resolved)return;r=o.value}let{readOnly:n,writeOnly:i}=this.getReadOnlyWriteOnlyFromSchema(r);if(!(n&&i)){if(n)return _r.ObjectPropertyAccess.ReadOnly;if(i)return _r.ObjectPropertyAccess.WriteOnly}}getReadOnlyWriteOnlyFromSchema(t){if(t.allOf&&t.allOf.length>0){let r=!0,n=!0;for(let i of t.allOf){let o=i;if(this.isReferenceObject(i)){let a=this.resolveReference({reference:i});if(!a.resolved)continue;o=a.value}let s=this.getReadOnlyWriteOnlyFromSchema(o);r=r&&s.readOnly,n=n&&s.writeOnly}return{readOnly:r,writeOnly:n}}else return{readOnly:!!t.readOnly,writeOnly:!!t.writeOnly}}getAudiences({operation:t,breadcrumbs:r}){let i=new h1.AudienceExtension({operation:t,breadcrumbs:r,context:this}).convert();if(i!=null)return i.audiences}getAvailability({node:t,breadcrumbs:r}){for(;this.isReferenceObject(t);){let o=this.resolveReference({reference:t});if(!o.resolved)return;t=o.value}let i=new h1.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(i!=null)return{status:i,message:void 0};if(t.deprecated===!0)return{status:Kj.Deprecated,message:void 0}}getTypeIdFromSchemaReference(t){let r=t.$ref.match(/\/schemas\/(.+)$/);if(!(!r||!r[1]))return r[1]}createNamedTypeReference(t,r){return Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(t),typeId:t,displayName:r,default:void 0,inline:!1})}typeReferenceToDeclaredTypeName(t){if(t.type!=="named")return;let r=t.typeId;return{typeId:r,fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(r),displayName:t.displayName}}removeSchemaFromInlinedTypes({id:t,inlinedTypes:r}){return Object.fromEntries(Object.entries(r).filter(([n])=>n!==t))}static maybeTrimPrefix(t,r){return t.startsWith(r)?t.slice(r.length):t}generateUniqueName({prefix:t,existingNames:r}){if(!r.includes(t))return t;let n=0;for(;r.includes(`${t}_${n}`);)n++;return`${t}_${n}`}isReferenceObject(t){return typeof t=="object"&&t!==null&&"$ref"in t}isExternalReference(t){return typeof t=="string"&&(t.startsWith("http://")||t.startsWith("https://"))}isReferenceObjectWithIdentifier(t){return this.isReferenceObject(t)&&("title"in t||"name"in t||"messageId"in t||"summary"in t)}isExampleWithSummary(t){return typeof t=="object"&&t!=null&&"summary"in t&&typeof t.summary=="string"&&t.summary.length>0}isExampleWithValue(t){return typeof t=="object"&&t!=null&&"value"in t}isOptional(t){return t.type==="container"&&t.container.type==="optional"}isNullable(t){return t.type==="container"&&t.container.type==="nullable"}isList(t){return t.type==="container"&&t.container.type==="list"}isFile(t){return t.type==="primitive"&&t.primitive.v2?.type==="string"&&t.primitive.v2.validation?.format==="binary"}getAsString(t){if(typeof t=="string")return t}getAsInteger(t){if(typeof t=="number"&&Number.isInteger(t))return t}getAsNumber(t){if(typeof t=="number")return t}getAsBoolean(t){if(typeof t=="boolean")return t}getAsArray(t){if(Array.isArray(t))return t}getAsObject(t){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}getGroup({groupParts:t,namespace:r}){let n=[];return r!=null&&n.push(r),n.push(...t??[]),n}isObjectSchemaType(t){return t.type==="object"||t.properties!=null}};var ll=class{breadcrumbs;context;constructor(t){this.breadcrumbs=t.breadcrumbs,this.context=t.context}getExtensionValue(t,r){if(typeof t!="object"||t==null)return;let n=t[this.key];if(n!=null)return n;if(r!=null)return t[r]}};var h1={};D(h1,{AudienceExtension:()=>aUt,FernAvailabilityExtension:()=>KIn,FernEnumExtension:()=>JIn,FernIgnoreExtension:()=>B_t,FernOptionalExtension:()=>YIn,FernTypeExtension:()=>tCn,FernTypeNameExtension:()=>rCn,SdkGroupNameExtension:()=>XIn,SdkMethodNameExtension:()=>ZIn,ServerFromOperationNameExtension:()=>eCn});var aUt=class extends ll{operation;key="x-fern-audiences";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(n=>typeof n=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{audiences:r}}};var KIn=class extends ll{node;key="x-fern-availability";constructor({breadcrumbs:t,node:r,context:n}){super({breadcrumbs:t,context:n}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t==null||typeof t!="string")return;switch(t.toUpperCase().replace(/[-_\s]/g,"_")){case"IN_DEVELOPMENT":return Kj.InDevelopment;case"PRE_RELEASE":case"BETA":return Kj.PreRelease;case"GENERAL_AVAILABILITY":case"GA":return Kj.GeneralAvailability;case"DEPRECATED":return Kj.Deprecated;default:return}}};var kQg=$t.object({snake:$t.string().optional(),camel:$t.string().optional(),screamingSnake:$t.string().optional(),pascal:$t.string().optional()}),zQg=$t.object({description:$t.string().optional(),name:$t.string().optional(),casing:kQg.optional()}),mel=$t.record(zQg);var JIn=class extends ll{schema;key="x-fern-enum";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t==null)return;let r=mel.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-enum extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data}};var B_t=class extends ll{operation;key="x-fern-ignore";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-ignore",path:this.breadcrumbs});return}return t}}};var YIn=class extends ll{parameter;key="x-fern-optional";constructor({breadcrumbs:t,parameter:r,context:n}){super({breadcrumbs:t,context:n}),this.parameter=r}convert(){let t=this.getExtensionValue(this.parameter);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-optional",path:this.breadcrumbs});return}return t}}};var XIn=class extends ll{operation;key="x-fern-sdk-group-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(n=>typeof n=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{groups:r}}};var ZIn=class extends ll{operation;key="x-fern-sdk-method-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null&&typeof t=="string")return{methodName:t}}};var eCn=class extends ll{operation;key="x-fern-server-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation,"x-name");if(!(t==null||typeof t!="string"))return t}};var tCn=class extends ll{schema;key="x-fern-type";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t!=null&&typeof t=="string")return t}};var rCn=class extends ll{schema;key="x-fern-type-name";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(typeof t=="string")return t}};var Jce=class extends ds{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:n}){super({breadcrumbs:t,context:r}),this.audiences=n,this.irGraph=new Gbt(n),this.ir={auth:{docs:void 0,requirement:_r.AuthSchemesRequirement.All,schemes:[]},selfHosted:!1,types:{},services:{},errors:{},webhookGroups:{},websocketChannels:void 0,headers:[],idempotencyHeaders:[],apiVersion:void 0,apiDisplayName:void 0,apiDocs:void 0,basePath:void 0,pathParameters:[],errorDiscriminationStrategy:_r.ErrorDiscriminationStrategy.statusCode(),variables:[],serviceTypeReferenceInfo:{sharedTypes:[],typesReferencedOnlyByService:{}},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0,environments:void 0,fdrApiDefinitionId:void 0,rootPackage:this.createPackage(),subpackages:{},sdkConfig:{hasFileDownloadEndpoints:!1,hasPaginatedEndpoints:!1,hasStreamingEndpoints:!1,isAuthMandatory:!0,platformHeaders:{language:"",sdkName:"",sdkVersion:"",userAgent:void 0}},audiences:void 0,generationMetadata:void 0,apiPlayground:void 0}}removeXFernIgnores({document:t,breadcrumbs:r=[]}){return Array.isArray(t)?t.filter((n,i)=>!new B_t({breadcrumbs:[...r,String(i)],operation:n,context:this.context}).convert()).map((n,i)=>this.removeXFernIgnores({document:n,breadcrumbs:[...r,String(i)]})):t!=null&&typeof t=="object"?Object.fromEntries(Object.entries(t).filter(([n,i])=>!new B_t({breadcrumbs:[...r,n],operation:i,context:this.context}).convert()).map(([n,i])=>[n,this.removeXFernIgnores({document:i,breadcrumbs:[...r,n]})])):t}finalizeIr(){let t={...this.ir,apiName:this.context.casingsGenerator.generateName(this.ir.apiDisplayName??""),constants:{errorInstanceIdKey:this.context.casingsGenerator.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})},audiences:this.audiences.type==="select"?this.audiences.audiences:void 0};this.irGraph.hasNoAudiences()||(t=this.filterIrForAudiences(t));let r=this.context.exampleGenerationArgs,n=C2s({ir:t,exampleGeneration:r});if(this.context.generateV1Examples){let i=sCr({ir:t,exampleGeneration:r});return{...t,...i,...n}}return{...t,...n}}filterIrForAudiences(t){let r=this.irGraph.getFilteredEndpoints(),n=this.irGraph.getFilteredChannels(),i=this.irGraph.getFilteredWebhooks();for(let o of Object.values(t.services)){let s=[];for(let a of o.endpoints)r.has(a.id)&&s.push(a);o.endpoints=s}return t.websocketChannels=Object.fromEntries(Object.entries(t.websocketChannels??{}).filter(([o])=>n.has(o))),t.webhookGroups=Object.fromEntries(Object.entries(t.webhookGroups).map(([o,s])=>{let a=s.filter(c=>c.id!=null&&i.has(c.id));return[o,a]})),t}async resolveAllExternalRefs({spec:t}){let r=[t];for(;r.length>0;){let n=r.shift();n!=null&&(Array.isArray(n)?await this.resolveExternalRefsInArray(n,r):typeof n=="object"&&await this.resolveExternalRefsInObject(n,r))}return t}async resolveExternalRefsInArray(t,r){for(let n=0;n<t.length;n++)t[n]=await this.resolveReferenceChain(t[n],r)}async resolveExternalRefsInObject(t,r){for(let[n,i]of Object.entries(t))t[n]=await this.resolveReferenceChain(i,r)}async resolveReferenceChain(t,r){let n=t;if(!this.context.isReferenceObject(n))return r.push(n),t;for(;this.context.isReferenceObject(n);){let i=this.context.isExternalReference(n.$ref),o=await this.context.resolveMaybeExternalReference(n);if(o.resolved){if(n=o.value,i)return n}else return t}return t}shouldAddServerToCollectedServers({server:t,currentServers:r,specType:n="openapi"}){return n==="openapi"?!r.some(i=>i.url===t.url&&"x-fern-server-name"in i&&"x-fern-server-name"in t&&i["x-fern-server-name"]===t["x-fern-server-name"]):!r.some(i=>i.url===t.url&&"name"in i&&"name"in t&&i.name===t.name)}addEndpointToIr({endpoint:t,audiences:r,endpointGroup:n,endpointGroupDisplayName:i,serviceName:o}){let s=this.context.getGroup({groupParts:n,namespace:this.context.namespace}),a=this.getOrCreatePackage({group:n}),c=[...s].map(p=>this.context.casingsGenerator.generateName(p)),u=c[c.length-1];a.service==null&&(a.service=o??`service_${s.map(p=>eo(p)).join("/")}`),this.ir.services[a.service]==null&&(this.ir.services[a.service]=this.createNewService({allParts:c,finalpart:u,endpointGroupDisplayName:i})),this.ir.services[a.service]?.endpoints.push(t);let l=this.ir.services[a.service];l!=null&&(this.irGraph.addEndpoint(l,t),this.irGraph.markEndpointForAudience(l.name,[t],r))}addWebhookToIr({webhook:t,operationId:r,audiences:n,group:i}){let o=i?.join(".")??r,s=this.getOrCreatePackage({group:i});this.ir.webhookGroups[o]==null&&(this.ir.webhookGroups[o]=[]),this.ir.webhookGroups[o].push(t),s.webhooks=o;let a=this.context.createFernFilepath();this.irGraph.addWebhook(a,t),n!=null&&this.irGraph.markWebhookForAudiences(a,t,n)}addWebsocketChannelToIr({websocketChannel:t,channelPath:r,audiences:n,websocketGroup:i}){let o=eo(i?.join(".")),s=eo(r),a=this.context.namespace?`${eo(this.context.namespace)}/`:"",c=o?`channel_${a}${o}`:`channel_${a}${s}`,u=i?this.getOrCreatePackage({group:i}):this.getOrCreatePackage({group:[s]});this.ir.websocketChannels={...this.ir.websocketChannels,[c]:t},c!==""?u.websocket==null&&(u.websocket=c):this.ir.rootPackage.websocket="";let l=this.context.createFernFilepath();this.irGraph.addChannel(l,c,t),n!=null&&this.irGraph.markChannelForAudiences(l,c,n)}addAuthToIR(t){this.ir.auth=t}addErrorsToIr(t){this.ir.errors=t;for(let r of Object.values(t))this.irGraph.addError(r)}addGlobalHeadersToIr(t){this.ir.headers=t}addEnvironmentsToIr({environmentConfig:t,audiences:r}){if(this.ir.environments=t,r!=null)for(let[n,i]of Object.entries(t??{}))r[n]!=null&&this.irGraph.markEnvironmentForAudiences(i,r[n])}addTypeToRootPackage(t){this.ir.rootPackage.types.push(t)}addSchemaOutputToIr(t,r){let{convertedSchema:n,inlinedTypes:i}=r,s=Object.keys(i).some(a=>a===t)?`${t}Wrapper`:t;this.addTypeToPackage(s),this.addTypesToIr({...i,[s]:n})}addTypeToPackage(t){let r=this.context.getGroup({groupParts:[],namespace:this.context.namespace});this.getOrCreatePackage({group:r}).types.push(t)}addTypesToIr(t){Object.assign(this.ir.types,Object.fromEntries(Object.entries(t).map(([r,n])=>[r,n.typeDeclaration])));for(let r of Object.values(t))this.irGraph.addType({declaredTypeName:r.typeDeclaration.name,descendantTypeIds:r.typeDeclaration.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:r.propertiesByAudience,descendantFilepaths:new Set}),this.irGraph.markTypeForAudiences(r.typeDeclaration.name,r.audiences)}updateEndpointsWithDefaultUrl(t){if(t!=null)for(let r of Object.values(this.ir.services))for(let n of r.endpoints)n.baseUrl==null&&(n.baseUrl=t)}createNewService({allParts:t,finalpart:r,endpointGroupDisplayName:n}){return{name:{fernFilepath:{allParts:t,packagePath:t.slice(0,-1),file:r}},displayName:n,basePath:JP(""),headers:[],pathParameters:[],availability:void 0,endpoints:[],transport:void 0,encoding:void 0,audiences:void 0}}createPackage(t={}){return{fernFilepath:this.context.createFernFilepath(t),service:void 0,types:[],errors:[],subpackages:[],docs:void 0,webhooks:void 0,websocket:void 0,hasEndpointsInTree:!1,navigationConfig:void 0}}getOrCreatePackage({group:t}){let r=[];if(this.context.namespace!=null&&r.push(this.context.namespace),r.push(...(t??[]).map(i=>eo(i))),r.length==0)return this.ir.rootPackage;let n=this.ir.rootPackage;for(let i=0;i<r.length;i++){let o=r[i]??"",a=`subpackage_${r.slice(0,i+1).join("/")}`;this.ir.subpackages[a]==null&&(this.ir.subpackages[a]={name:this.context.casingsGenerator.generateName(o),displayName:void 0,...this.createPackage({name:o})});let c=this.ir.subpackages[a];n.subpackages.includes(a)||n.subpackages.push(a),n=c}return n}};var zb={};D(zb,{AbstractConverters:()=>$Vs,ExampleConverter:()=>lR,SchemaConverters:()=>HVs,ServersConverter:()=>L9});var $Vs={};D($Vs,{AbstractMediaTypeObjectConverter:()=>oCn,AbstractParameterConverter:()=>sCn});var QQg=/^literal<\s*(?:"(.*)"|(true|false))\s*>$/;function MQg(e){return e.type==="array"||e.properties||e.oneOf||e.anyOf||e.allOf||e.additionalProperties?!1:!!(e.type==="string"||e.type==="number"||e.type==="integer"||e.type==="boolean"||e.const!==void 0||Array.isArray(e.enum)&&e.enum.length>0)}function del(e){if(e.const!==void 0)return e.const;if(Array.isArray(e.enum)&&e.enum.length>0)return e.enum[0]}var lR=class e extends ds{MAX_DEPTH=12;EXAMPLE_STRING=Ho.STRING;EXAMPLE_NUMBER=Ho.DOUBLE;EXAMPLE_BOOLEAN=Ho.BOOLEAN;EXAMPLE_INTEGER=Ho.INT;EXAMPLE_DATE=Ho.DATE;EXAMPLE_DATE_TIME=Ho.DATE_TIME;schema;example;depth;exampleGenerationStrategy;generateOptionalProperties;seenRefs;constructor({breadcrumbs:t,context:r,schema:n,example:i,depth:o=0,exampleGenerationStrategy:s,generateOptionalProperties:a=!1,seenRefs:c=new Set}){super({breadcrumbs:t,context:r}),this.example=i,this.schema=n,this.depth=o,this.exampleGenerationStrategy=s,this.generateOptionalProperties=a,this.seenRefs=c}convert(){if(this.depth>this.MAX_DEPTH)return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:typeof this.example<"u"?this.example:{},errors:[]};if(this.context.isReferenceObject(this.schema)){let n=this.schema.$ref;if(this.seenRefs.has(n))return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}}let t=this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(t==null)return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:"Schema is not resolvable",path:this.breadcrumbs}]};if(typeof t!="object")return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Schema should be an object: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]};if("nullable"in t&&t.nullable===!0&&this.example===null)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let r=this.maybeConvertLiteralFernType(t);return r??(Array.isArray(t.type)?this.convertSchemaTypeArray({resolvedSchema:t}):t.type=="null"?this.convertNull():t.type=="boolean"?this.convertBoolean():t.enum!=null?this.convertEnum(t):t.type=="number"?this.convertNumber():t.type=="string"?this.convertString():t.type=="integer"?this.convertInteger():t.type=="array"?this.convertArray({resolvedSchema:t}):"oneOf"in t&&t.oneOf!=null?this.convertOneOf({resolvedSchema:t}):"anyOf"in t&&t.anyOf!=null?this.convertAnyOf({resolvedSchema:t}):t.type=="object"||t.properties!=null||t.allOf!=null?this.convertObject({resolvedSchema:t}):typeof t=="object"&&Object.keys(t).length===0?{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Unsupported schema type: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]})}convertNull(){let t=this.example===null;return t?{isValid:t,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Example is not null: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertBoolean(){let t=typeof this.example=="boolean";if(t)return{isValid:t,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs})?.default:this.schema.default,n=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs})?.const:this.schema.const;return typeof r=="boolean"||typeof n=="boolean"?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n??r,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_BOOLEAN,errors:[{message:`Example is not a boolean: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertEnum(t){let r=t.enum?.includes(this.example)??!1;if(r)return{isValid:r,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let n=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return n!==void 0&&t.enum?.includes(n)?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n,errors:[]}:{isValid:r,coerced:!1,usedProvidedExample:!1,validExample:t.enum?.[0],errors:[{message:`Example is not one of the allowed enum values: ${JSON.stringify(t.enum,null,2)}`,path:this.breadcrumbs}]}}convertNumber(){if(typeof this.example=="number")return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let t=Number(this.example);if(!isNaN(t))return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0}):this.schema,n=r?.default;return typeof n=="number"?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.adjustNumberToConstraints(this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_NUMBER,r),errors:[{message:`Example is not a number: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}adjustNumberToConstraints(t,r){if(r==null)return this.context.logger.debug("[ExampleConverter.adjustNumberToConstraints] Schema object is null, returning original number","number:",t.toString()),t;let{minimum:n,maximum:i,exclusiveMinimum:o,exclusiveMaximum:s}=r,a;o!=null?typeof o=="boolean"?a=n!=null?n+Math.max(Number.EPSILON,Math.abs(n)*1e-10):void 0:a=o+Math.max(Number.EPSILON,Math.abs(o)*1e-10):n!=null&&(a=n);let c;return s!=null?typeof s=="boolean"?c=i!=null?i-Math.max(Number.EPSILON,Math.abs(i)*Number.EPSILON):void 0:c=s-Math.max(Number.EPSILON,Math.abs(s)*Number.EPSILON):i!=null&&(c=i),a!==void 0&&c!==void 0?(t<a||t>c)&&(t=a+(c-a)/2):a!==void 0&&t<a?t=a+Math.abs(a*.1):c!==void 0&&t>c&&(t=c-Math.abs(c*.1)),Number(Number(t).toPrecision(3))}convertString(){if(typeof this.example=="string")return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};if(typeof this.example!="object"&&!Array.isArray(this.example)&&this.example!=null)return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:String(this.example),errors:[]};let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;if(typeof t=="string")return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0}):this.schema,n=r?.format==="date"?this.EXAMPLE_DATE:r?.format==="date-time"?this.EXAMPLE_DATE_TIME:this.EXAMPLE_STRING;return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??n,errors:[{message:`Example cannot be converted to string: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertInteger(){if(typeof this.example=="number"&&Number.isInteger(this.example))return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};if(typeof this.example=="string"){let r=Number(this.example);if(!isNaN(r)&&Number.isInteger(r))return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:r,errors:[]}}let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="number"&&Number.isInteger(t)?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_INTEGER,errors:[{message:`Example is not an integer: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertArray({resolvedSchema:t}){if(t.type!="array")return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};t.items==null&&(t.items={type:"string"});let r=this.example==null,n=this.example??t.example,o=(Array.isArray(n)?n:[n]).map(c=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:c,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()),s=o.every(c=>c?.isValid??!1)&&!r,a=!r&&o.some(c=>c.usedProvidedExample);return{isValid:s,coerced:!1,usedProvidedExample:a,validExample:o.map(c=>c.validExample),errors:s?[]:o.flatMap(c=>c.errors)}}convertObject({resolvedSchema:t}){if(t.type=="object"&&t.properties==null&&t.allOf==null)return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example??{},errors:[]};let r=typeof this.example!="object"||this.example==null?{}:this.example,n=Object.entries(t.properties??{}).map(([p,m])=>{if(typeof m!="object")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(m)&&!this.isRequiredProperty({key:p,resolvedSchema:t}))return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("readOnly"in m&&m.readOnly===!0&&"writeOnly"in m&&m.writeOnly===!0)return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("readOnly"in m&&m.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("writeOnly"in m&&m.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};let f=!(p in r)||!("nullable"in m)&&r[p]==null||"nullable"in m&&m.nullable===!0&&r[p]===void 0,h=!t.required?.includes(p);if(f&&h){if(this.example===void 0&&this.generateOptionalProperties){let y=this.maybeResolveSchemaExample(m),g=new e({breadcrumbs:[...this.breadcrumbs,p],context:this.context,schema:m,example:y,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()});return{key:p,result:g.convert()}}return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}}}else{let y=r[p],g=y!==void 0?y:this.maybeResolveSchemaExample(m),b=new e({breadcrumbs:[...this.breadcrumbs,p],context:this.context,schema:m,example:g,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();return{key:p,result:b}}}),i=(t.allOf??[]).map((p,m)=>{let f=this.context.resolveMaybeReference({schemaOrReference:p,breadcrumbs:[...this.breadcrumbs,`allOf[${m}]`],skipErrorCollector:!0});return f&&this.isConstraintOnlySchema(f)?{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}:new e({breadcrumbs:[...this.breadcrumbs,`allOf[${m}]`],context:this.context,schema:{...t,...p,allOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()}),o=this.example!==void 0&&(n.some(({result:p})=>p.usedProvidedExample)||i.some(p=>p.usedProvidedExample)),s=Object.fromEntries(n.map(({key:p,result:m})=>[p,m.validExample]).filter(([p,m])=>m!==void 0));for(let p of i)if(typeof p.validExample=="object"&&p.validExample!==null){let m=p.validExample;s={...s,...Object.fromEntries(Object.entries(m).filter(([f,h])=>h!==void 0))}}let a=[],c=this.collectAllPropertyKeys(t),u=Object.keys(r).filter(p=>!c.has(p));if(u.length>0)if(t.additionalProperties===!1)u.forEach(p=>{let m=[...this.breadcrumbs,p].join("."),f={message:`Found unexpected property '${p}' in example. This property does not exist in the schema${m?` at path: ${m}`:""}`,path:[...this.breadcrumbs,p]};a.push({key:p,result:{isValid:!1,coerced:!1,usedProvidedExample:!0,validExample:void 0,errors:[f]}})});else if(t.additionalProperties===!0||t.additionalProperties===void 0)u.forEach(p=>{a.push({key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:r[p],errors:[]}})});else{let p=t.additionalProperties;u.forEach(m=>{let h=new e({breadcrumbs:[...this.breadcrumbs,m],context:this.context,schema:p,example:r[m],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();a.push({key:m,result:h})})}for(let{key:p,result:m}of a)m.validExample!==void 0&&s[p]===void 0&&(s[p]=m.validExample);let l=n.every(p=>p.result.isValid)&&i.every(p=>p.isValid)&&a.every(({result:p})=>p.isValid);if(Object.keys(s).length===0){let p=i.find(m=>m.validExample!==void 0&&(typeof m.validExample!="object"||m.validExample===null));p&&(s=p.validExample)}return{isValid:l,coerced:!1,usedProvidedExample:o,validExample:s,errors:[...n.flatMap(({result:p})=>p.errors),...i.flatMap(p=>p.errors),...a.flatMap(({result:p})=>p.errors)]}}convertSchemaTypeArray({resolvedSchema:t}){if(!Array.isArray(t.type))return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};if(t.type.length===1)return new e({breadcrumbs:this.breadcrumbs,context:this.context,schema:{...t,type:t.type[0]},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();let r=t.type.map((a,c)=>new e({breadcrumbs:[...this.breadcrumbs,`type[${c}]`],context:this.context,schema:{...t,type:a},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()),n=r.some(a=>a?.isValid??!1),o=r.find(a=>a.isValid)?.validExample??r[0]?.validExample??null,s=r.some(a=>a.usedProvidedExample);return{isValid:n,coerced:!1,usedProvidedExample:s,validExample:o,errors:n?[]:r.flatMap(a=>a?.errors??[])}}convertUnion({resolvedSchema:t,unionType:r}){let n=r==="oneOf"?t.oneOf:t.anyOf;if(!(r in t)||n==null)return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};let i=this.example??this.maybeResolveSchemaExample(t);if(this.example===void 0){let m=[];for(let h of n){if(!h)continue;let y=this.context.resolveMaybeReference({schemaOrReference:h,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});y&&m.push(y)}if(m.length>0&&m.every(h=>MQg(h))){let h=m.findIndex(y=>del(y)!==void 0);if(h!==-1){let y=n[h],g=m[h];if(y&&g){let A=del(g),v=new e({breadcrumbs:[...this.breadcrumbs,`${r}[${h}]`],context:this.context,schema:r==="oneOf"?{...t,...y,oneOf:void 0}:y,example:A,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();if(v.isValid)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:v.validExample,errors:[]}}}}}let o=[],s=null,a=null;for(let m=0;m<n.length;m++){let f=n[m];if(!f)continue;let h=r==="oneOf"?{...t,...f,oneOf:void 0}:f,y=i??this.maybeResolveSchemaExample(h),A=new e({breadcrumbs:[...this.breadcrumbs,`${r}[${m}]`],context:this.context,schema:h,example:y,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();if(A.isValid&&!A.coerced&&A.usedProvidedExample)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:A.validExample,errors:[]};if(A.isValid&&!A.coerced)return{isValid:!0,coerced:!1,usedProvidedExample:A.usedProvidedExample,validExample:A.validExample,errors:[]};o.push(A),A.isValid&&A.usedProvidedExample&&a===null&&(a=A),A.isValid&&s===null&&(s=A)}let c=a??s,u=c!==null,l=c?.validExample??o[0]?.validExample,p=c?.usedProvidedExample??!1;return{isValid:u,coerced:!1,usedProvidedExample:p,validExample:l,errors:u?[]:o.flatMap(m=>m.errors)}}convertOneOf({resolvedSchema:t}){return this.convertUnion({resolvedSchema:t,unionType:"oneOf"})}convertAnyOf({resolvedSchema:t}){return this.convertUnion({resolvedSchema:t,unionType:"anyOf"})}getMaybeUpdatedSeenRefs(){let t=new Set(this.seenRefs);return this.context.isReferenceObject(this.schema)&&t.add(this.schema.$ref),t}maybeResolveSchemaExample(t){if("example"in t)return t.example;if("examples"in t){let n=t.examples;if(Array.isArray(n)&&n.length>0)return n[0];if(n!=null&&typeof n=="object")return Object.values(n)[0]}let r=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(r!=null){if("example"in r)return r.example;if("examples"in r){let n=r.examples;return Array.isArray(n)&&n.length>0?n[0]:Object.values(n??{})[0]}}}maybeConvertLiteralFernType(t){let r=t["x-fern-type"];if(typeof r!="string")return;let n=r.match(QQg);if(n!=null){if(n[1]!=null)return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n[1],errors:[]};if(n[2]!=null)return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n[2]==="true",errors:[]}}}isConstraintOnlySchema(t){if(t.type!==void 0||t.properties!==void 0||t.allOf!==void 0||t.oneOf!==void 0||t.anyOf!==void 0||"items"in t||t.additionalProperties!==void 0||t.enum!==void 0||t.const!==void 0)return!1;let r=new Set(["required","description","title","deprecated","readOnly","writeOnly","nullable","example","examples","default","minLength","maxLength","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","uniqueItems","pattern","format"]),n=Object.keys(t);return n.length>0&&n.every(i=>r.has(i))}isDeprecatedProperty(t){return t!=null&&"availability"in t&&t.availability==="deprecated"}isRequiredProperty({key:t,resolvedSchema:r}){return r.required?.includes(t)??!1}collectAllPropertyKeys(t,r=new Set){let n=new Set;if(t.properties)for(let i of Object.keys(t.properties))n.add(i);for(let i of t.allOf??[]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}for(let i of[...t.oneOf??[],...t.anyOf??[]]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}return n}};var HVs={};D(HVs,{ArraySchemaConverter:()=>pUt,EnumSchemaConverter:()=>cUt,ObjectSchemaConverter:()=>uUt,OneOfSchemaConverter:()=>T_t,PrimitiveSchemaConverter:()=>lUt,SchemaConverter:()=>KWe,SchemaOrReferenceConverter:()=>z2});function hel(e){return wS({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return Bn.primitive({v1:"BASE_64",v2:io.base64({})});case"BOOLEAN":return Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})});case"DATE":return Bn.primitive({v1:"DATE",v2:io.date({})});case"DATE_TIME":return Bn.primitive({v1:"DATE_TIME",v2:io.dateTime({})});case"FLOAT":return Bn.primitive({v1:"FLOAT",v2:io.float({default:void 0,validation:void 0})});case"DOUBLE":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:void 0,validation:void 0})});case"UINT":return Bn.primitive({v1:"UINT",v2:io.uint({default:void 0,validation:void 0})});case"UINT_64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:void 0,validation:void 0})});case"INTEGER":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:void 0,validation:void 0})});case"LONG":return Bn.primitive({v1:"LONG",v2:io.long({default:void 0,validation:void 0})});case"STRING":return Bn.primitive({v1:"STRING",v2:io.string({default:void 0,validation:void 0})});case"UUID":return Bn.primitive({v1:"UUID",v2:io.uuid({})});case"BIG_INTEGER":return Bn.primitive({v1:"BIG_INTEGER",v2:io.bigInteger({default:void 0})});default:return}},unknown:()=>Bn.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return Bn.container(Xc.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return Bn.container(Xc.list(t))},optional:t=>{if(t!=null)return Bn.container(Xc.optional(t))},nullable:t=>{if(t!=null)return Bn.container(Xc.nullable(t))},set:t=>{if(t!=null)return Bn.container(Xc.set(t))},literal:t=>Bn.container(Xc.literal(t._visit({string:r=>BD.string(r),boolean:r=>BD.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var cUt=class extends ds{schema;maybeFernEnum;constructor({context:t,breadcrumbs:r,schema:n,maybeFernEnum:i}){super({context:t,breadcrumbs:r}),this.schema=n,this.maybeFernEnum=i}convert(){if(!this.schema.enum)return;let r=this.schema.enum.filter(i=>typeof i=="string"||typeof i=="number").map(i=>{let o=i.toString(),s=this.maybeFernEnum?.[o],a=s?.name??o;return{name:this.context.casingsGenerator.generateNameAndWireValue({name:a,wireValue:o}),docs:s?.description,availability:void 0,casing:s?.casing}});if(r.length===0){this.context.errorCollector.collect({message:`Received enum schema with no valid values: ${JSON.stringify(this.schema)}`,path:this.breadcrumbs});return}let n=this.context.getAsString(this.schema.default);return{type:Sl.enum({default:n!=null?r.find(i=>i.name.wireValue===n):void 0,values:r})}}};var nCn=class extends ds{schemaOrReferenceOrBoolean;constructor({context:t,breadcrumbs:r,schemaOrReferenceOrBoolean:n}){super({context:t,breadcrumbs:r}),this.schemaOrReferenceOrBoolean=n}convert(){let t=this.tryConvertUnknownMap();if(t!=null)return t;let r=this.tryConvertTypedMap();if(r!=null)return r}tryConvertUnknownMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean"){let t=Bn.container(Xc.map({keyType:ds.STRING,valueType:Bn.unknown()}));return{type:Sl.alias({aliasOf:t,resolvedType:t}),referencedTypes:new Set,inlinedTypes:{}}}}tryConvertTypedMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean")return;let r=new z2({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schemaOrReferenceOrBoolean}).convert();if(r!=null){let n=Bn.container(Xc.map({keyType:ds.STRING,valueType:r.type})),i=new Set;for(let o of r.schema?.typeDeclaration.referencedTypes??[])i.add(o);for(let o of Object.keys(r.inlinedTypes))i.add(o);return{type:Sl.alias({aliasOf:n,resolvedType:n}),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}};function ASr({properties:e,required:t,breadcrumbs:r,context:n,errorCollector:i}){let o=[],s={},a={},c=new Set;for(let[u,l]of Object.entries(e??{})){let p=[...r,"properties",u];if(typeof l!="object"){i.collect({message:`Schema property ${u} should be an object`,path:p});continue}let m=VQg(r,l,n)??n.convertBreadcrumbsToName(p),f="nullable"in l?l.nullable:!1,y=new z2({context:n,breadcrumbs:p,schemaOrReference:l,schemaIdOverride:m,wrapAsOptional:!t.includes(u),wrapAsNullable:f}).convert();if(y!=null){o.push({name:n.casingsGenerator.generateNameAndWireValue({name:u,wireValue:u}),valueType:y.type,docs:l.description,availability:y.availability,propertyAccess:n.getPropertyAccess(l),v2Examples:y.schema?.typeDeclaration?.v2Examples??{userSpecifiedExamples:{},autogeneratedExamples:{}}}),s={...s,...y.inlinedTypes},y.schema?.typeDeclaration.referencedTypes!=null&&y.schema.typeDeclaration.referencedTypes.forEach(g=>{c.add(g)});for(let g of y.schema?.audiences??[])a[g]==null&&(a[g]=new Set),a[g].add(u)}}for(let u of Object.keys(s))c.add(u);return{convertedProperties:o,propertiesByAudience:a,inlinedTypesFromProperties:s,referencedTypes:c}}function VQg(e,t,r){return r.isReferenceObject(t)?void 0:new h1.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var uUt=class extends ds{schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){let t=typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties;if(!this.schema.properties&&!this.schema.allOf)return{type:Sl.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:n,referencedTypes:i,propertiesByAudience:o}=ASr({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),s=[],a=i,c=this.schema.required!=null&&this.schema.required.length>0,u=n,l=o;for(let[p,m]of(this.schema.allOf??[]).entries()){let f=[...this.breadcrumbs,"allOf",p.toString()],h;if(this.context.isReferenceObject(m)){let v=this.context.resolveMaybeReference({schemaOrReference:m,breadcrumbs:f});if(v==null){this.context.logger.debug?.(`[ObjectSchemaConverter] allOf[${p}] reference could not be resolved. Skipping: ${JSON.stringify(m)}`);continue}if(h=v,typeof h.additionalProperties=="boolean"&&h.additionalProperties&&(t=!0),!c||Object.keys(h.properties??{}).every(_=>!this.schema.required?.includes(_))){this.addTypeReferenceToExtends({reference:m,breadcrumbs:f,extends_:s,referencedTypes:a});continue}}else h=m;typeof h.additionalProperties=="boolean"&&h.additionalProperties&&(t=!0);let{convertedProperties:y,inlinedTypesFromProperties:g,referencedTypes:A,propertiesByAudience:b}=ASr({properties:h.properties??{},required:[...this.schema.required??[],...h.required??[]],breadcrumbs:f,context:this.context,errorCollector:this.context.errorCollector});r.push(...y),u={...u,...g},l={...l,...b},A.forEach(v=>{a.add(v)})}for(let p of Object.keys(u))a.add(p);return{type:Sl.object({properties:r,extends:s.map(p=>this.context.typeReferenceToDeclaredTypeName(p)).filter(Yc),extendedProperties:[],extraProperties:t}),propertiesByAudience:l,referencedTypes:a,inlinedTypes:u}}addTypeReferenceToExtends({reference:t,breadcrumbs:r,extends_:n,referencedTypes:i}){let o=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:r});o.ok&&n.push(o.reference);let s=this.context.getTypeIdFromSchemaReference(t);s!=null&&i.add(s)}};var iCn=class extends ll{node;key="x-fern-discriminated";constructor({breadcrumbs:t,node:r,context:n}){super({breadcrumbs:t,context:n}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t!=null&&typeof t=="boolean")return t}};var T_t=class extends ds{schema;id;constructor({context:t,breadcrumbs:r,schema:n,id:i,inlinedTypes:o}){super({context:t,breadcrumbs:r}),this.schema=n,this.id=i}convert(){return this.shouldConvertAsNullableSchemaOrReference()?this.convertAsNullableSchemaOrReference():new iCn({context:this.context,breadcrumbs:this.breadcrumbs,node:this.schema}).convert()===!1?this.convertAsUndiscriminatedUnion():this.schema.discriminator!=null?this.convertAsDiscriminatedUnion():this.convertAsUndiscriminatedUnion()}filterDiscriminantFromSchema(t,r){if(t.properties==null||!(r in t.properties))return t;let{[r]:n,...i}=t.properties,o=t.required?.filter(s=>s!==r);return{...t,properties:i,required:o}}convertAsDiscriminatedUnion(){if(this.schema.discriminator==null)return;let t=this.schema.discriminator.propertyName,r=[],n=new Set,i={};for(let[u,l]of Object.entries(this.schema.discriminator.mapping??{})){let p=this.context.getTypeIdFromSchemaReference({$ref:l}),m=[...this.breadcrumbs,"discriminator","mapping",u],f=this.context.resolveReference({reference:{$ref:l},breadcrumbs:m}),h={$ref:l};f.resolved&&f.value.properties!=null&&t in f.value.properties&&(h=this.filterDiscriminantFromSchema(f.value,t));let y=new z2({context:this.context,schemaOrReference:h,schemaIdOverride:p??void 0,breadcrumbs:m});p!=null&&n.add(p);let g=y.convert();if(g?.type!=null&&p!=null){for(let b of Object.keys(g?.inlinedTypes??{}))n.add(b);for(let b of g.schema?.typeDeclaration.referencedTypes??[])n.add(b);let A=this.context.casingsGenerator.generateNameAndWireValue({name:u,wireValue:u});r.push({docs:void 0,discriminantValue:A,availability:g.availability,displayName:u,shape:TD.samePropertiesAsObject({typeId:p,name:this.context.casingsGenerator.generateName(p),fernFilepath:{allParts:[],packagePath:[],file:void 0},displayName:u})}),i={...i,...g.inlinedTypes}}}let{convertedProperties:o,referencedTypes:s,inlinedTypesFromProperties:a}=ASr({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector});n=new Set([...n,...s]);let c=[];for(let[u,l]of(this.schema.allOf??[]).entries()){let p=[...this.breadcrumbs,"allOf",u.toString()];if(this.context.isReferenceObject(l)){let m=this.context.convertReferenceToTypeReference({reference:l,breadcrumbs:p});if(m.ok){let h=this.context.typeReferenceToDeclaredTypeName(m.reference);h!=null&&c.push(h)}let f=this.context.getTypeIdFromSchemaReference(l);f!=null&&n.add(f);continue}}for(let u of Object.keys({...i,...a}))n.add(u);return{type:Sl.union({baseProperties:o,discriminant:this.context.casingsGenerator.generateNameAndWireValue({name:this.schema.discriminator.propertyName,wireValue:this.schema.discriminator.propertyName}),extends:c,types:r,discriminatorContext:void 0}),referencedTypes:n,inlinedTypes:{...i,...a}}}convertAsUndiscriminatedUnion(){if(!this.schema.oneOf&&!this.schema.anyOf||this.schema.anyOf?.length===0&&this.schema.oneOf?.length===0)return;let t=[],r=new Set,n={},i=[...this.schema.oneOf??[],...this.schema.anyOf??[]].filter(o=>!this.context.isReferenceObject(o));for(let[o,s]of[...(this.schema.oneOf??[]).entries(),...(this.schema.anyOf??[]).entries()]){if(this.context.isReferenceObject(s)){let m;if(this.context.isReferenceObjectWithIdentifier(s))m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:s.summary??s.title??s.name??s.messageId,displayNameOverrideSource:"reference_identifier"});else if(this.getDiscriminatorKeyForRef(s)!=null){let h=this.getDiscriminatorKeyForRef(s);m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:h,displayNameOverrideSource:"discriminator_key"})}else m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:s.$ref.split("/").pop(),displayNameOverrideSource:"schema_identifier"});m.ok&&t.push({type:m.reference,docs:s.description});let f=this.context.getTypeIdFromSchemaReference(s);f!=null&&r.add(f);continue}let a=this.extendSubSchema(s),c=this.context.convertBreadcrumbsToName([`${this.id}_${o}`]),u=s.title,p=new KWe({context:this.context,id:c,nameOverride:u,breadcrumbs:[...this.breadcrumbs,`oneOf[${o}]`],schema:a??s}).convert();if(p!=null){let m=p.convertedSchema.typeDeclaration.shape;m.type==="alias"&&this.typeReferenceIsWrappedPrimitive(m.aliasOf)?t.push({type:m.aliasOf,docs:s.description}):m.type==="object"&&m.properties.length===0&&m.extends.length===0?t.push({type:Bn.container(Xc.map({keyType:ds.STRING,valueType:Bn.unknown()})),docs:s.description}):(t.push({type:this.context.createNamedTypeReference(c,u),docs:s.description}),n={...n,...p.inlinedTypes,[c]:p.convertedSchema}),p.convertedSchema.typeDeclaration.referencedTypes.forEach(f=>{r.add(f)})}}return{type:Sl.undiscriminatedUnion({members:t}),referencedTypes:r,inlinedTypes:n}}shouldConvertAsNullableSchemaOrReference(){return this.schema.oneOf!=null?this.schema.oneOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):this.schema.anyOf!=null?this.schema.anyOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):!1}removeNullFromOneOfOrAnyOf(){let t=this.schema.oneOf??this.schema.anyOf,r=this.schema.oneOf!=null?"oneOf":"anyOf";if(t==null)return;let n=t.filter(i=>!("type"in i&&i.type==="null"));if(n.length===0){this.context.errorCollector.collect({message:`Received ${r} schema with no valid non-null types`,path:this.breadcrumbs});return}return n.length===1?{...this.schema,[r]:void 0,...n[0]}:{...this.schema,[r]:n}}convertAsNullableSchemaOrReference(){let t=this.removeNullFromOneOfOrAnyOf();if(t==null)return;let n=new z2({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(n==null)return;let i=this.wrapInNullable(n.type);return{type:Sl.alias({aliasOf:i,resolvedType:i}),referencedTypes:n.schema?.typeDeclaration.referencedTypes??new Set,inlinedTypes:n.inlinedTypes}}typeReferenceIsWrappedPrimitive(t){switch(t.type){case"container":return this.containerTypeIsWrappedPrimitive(t.container);case"named":return!1;case"primitive":return!0;case"unknown":return!0;default:return!1}}containerTypeIsWrappedPrimitive(t){switch(t.type){case"list":return this.typeReferenceIsWrappedPrimitive(t.list);case"map":return this.typeReferenceIsWrappedPrimitive(t.keyType)&&this.typeReferenceIsWrappedPrimitive(t.valueType);case"nullable":return this.typeReferenceIsWrappedPrimitive(t.nullable);case"optional":return this.typeReferenceIsWrappedPrimitive(t.optional);case"set":return this.typeReferenceIsWrappedPrimitive(t.set);case"literal":return!0;default:return!1}}wrapInNullable(t){return Bn.container(Xc.nullable(t))}mergeIntoObjectSchema(t,r){return{...t,properties:{...r,...t.properties??{}}}}extendSubSchema(t){if(Object.entries(this.schema.properties??{}).length===0)return t;if(t.type==="object")return this.mergeIntoObjectSchema(t,this.schema.properties??{});this.context.isObjectSchemaType(t)||this.context.errorCollector.collect({message:"Received additional object properties for oneOf/anyOf that are not objects",path:this.breadcrumbs})}getDiscriminatorKeyForRef(t){return Object.entries(this.schema.discriminator?.mapping??{}).find(([r,n])=>n===t.$ref)?.[0]}};var lUt=class extends ds{schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){switch(this.schema.type){case"string":{let t=this.context.getAsString(this.schema.const);if(t!=null)return Bn.container(Xc.literal(BD.string(t)));if(this.context.settings.typeDatesAsStrings===!1){if(this.schema.format==="date")return Bn.primitive({v1:xc.Date,v2:io.date({})});if(this.schema.format==="date-time")return Bn.primitive({v1:xc.DateTime,v2:io.dateTime({})})}return Bn.primitive({v1:"STRING",v2:io.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":switch(this.schema.format){case"double":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Bn.primitive({v1:"FLOAT",v2:io.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Bn.primitive({v1:"LONG",v2:io.long({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint32":return Bn.primitive({v1:"UINT",v2:io.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"integer":switch(this.schema.format){case"double":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Bn.primitive({v1:"FLOAT",v2:io.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Bn.primitive({v1:"LONG",v2:io.long({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint32":return Bn.primitive({v1:"UINT",v2:io.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"boolean":{let t=this.context.getAsBoolean(this.schema.const);return t!=null?Bn.container(Xc.literal(BD.boolean(t))):Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:this.schema.default})})}default:return}}getNumberValidation(t){let r=t.minimum,n=t.maximum,i,o;return typeof t.exclusiveMinimum=="boolean"?i=t.exclusiveMinimum:typeof t.exclusiveMinimum=="number"&&(r=t.exclusiveMinimum,i=!0),typeof t.exclusiveMaximum=="boolean"?o=t.exclusiveMaximum:typeof t.exclusiveMaximum=="number"&&(n=t.exclusiveMaximum,o=!0),{max:n,min:r,exclusiveMax:o,exclusiveMin:i,multipleOf:t.multipleOf}}getStringValidation(t){return{minLength:t.minLength,maxLength:t.maxLength,pattern:t.pattern,format:t.format}}};var UQg=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],KWe=class e extends ds{schema;id;inlined;audiences;nameOverride;constructor({context:t,breadcrumbs:r,schema:n,id:i,inlined:o=!1,nameOverride:s}){super({context:t,breadcrumbs:r}),this.schema=n,this.id=i,this.inlined=o,this.nameOverride=s,this.audiences=this.context.getAudiences({operation:this.schema,breadcrumbs:this.breadcrumbs})??[]}convert(){let t=this.tryConvertFernTypeDeclaration();if(t!=null)return t;let r=this.tryConvertEnumSchema();if(r!=null)return r;let n=this.tryConvertSingularAllOfSchema();if(n!=null)return n;let i=this.tryConvertPrimitiveSchema();if(i!=null)return i;let o=this.tryConvertArraySchema();if(o!=null)return o;let s=this.tryConvertTypeArraySchema();if(s!=null)return s;let a=this.tryConvertOneOfAnyOfSchema();if(a!=null)return a;let c=this.tryConvertMapSchema();if(c!=null)return c;let u=this.tryConvertDiscriminatorMappingSchema();if(u!=null)return u;let l=this.tryConvertObjectAllOfSchema();if(l!=null)return l;let p=this.tryConvertUntypedSchema();if(p!=null)return p;this.context.errorCollector.collect({message:`Failed to convert schema object: ${JSON.stringify(this.schema,null,2)}`,path:this.breadcrumbs})}tryConvertEnumSchema(){if(!this.schema.enum?.length)return;let r=new h1.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),i=new cUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,maybeFernEnum:r}).convert();if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:i.type,referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertSingularAllOfSchema(){if(this.schemaOnlyHasAllowedKeys(["allOf","type","title"])&&this.schema.allOf?.length===1&&this.schema.allOf[0]!=null){let r=this.context.resolveMaybeReference({schemaOrReference:this.schema.allOf[0],breadcrumbs:this.breadcrumbs});if(r!=null){let i=new e({context:this.context,breadcrumbs:[...this.breadcrumbs,"allOf","0"],schema:r,id:this.id,inlined:!0}).convert();if(i?.convertedSchema.typeDeclaration?.shape.type!=="object")return i}}if(this.schemaOnlyHasAllowedKeys(["allOf","type","title"])&&Array.isArray(this.schema.allOf)&&this.schema.allOf.length>=1){let r={};for(let i of this.schema.allOf??[]){if(this.context.isReferenceObject(i))return;r=TDt(r,i,(o,s)=>{if(s===i)return o;if(Array.isArray(o)&&Array.isArray(s))return[...o,...s]})}return new e({context:this.context,breadcrumbs:this.breadcrumbs,schema:r,id:this.id,inlined:!0}).convert()}}tryConvertPrimitiveSchema(){let r=new lUt({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new pUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:r.typeReference,resolvedType:r.typeReference}),referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertTypeArraySchema(){if(Array.isArray(this.schema.type)&&this.schema.type.length>0)return this.schema.type.length===1?this.schema.type=this.schema.type[0]:(this.schema.oneOf=this.schema.type.map(t=>({type:t})),this.schema.type=void 0),this.convert()}tryConvertOneOfAnyOfSchema(){if(this.schema.oneOf!=null||this.schema.anyOf!=null){let r=new T_t({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,inlinedTypes:{}}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertMapSchema(){if((typeof this.schema.additionalProperties=="object"||typeof this.schema.additionalProperties=="boolean")&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){if(typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties===!1)return;let r=new nCn({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReferenceOrBoolean:this.schema.additionalProperties}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertDiscriminatorMappingSchema(){if(this.schema.discriminator?.mapping!=null&&Object.keys(this.schema.discriminator.mapping).length>0&&this.schema.oneOf==null&&this.schema.anyOf==null){let t={...this.schema,oneOf:Object.values(this.schema.discriminator.mapping).map(i=>({$ref:i}))},n=new T_t({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:t,inlinedTypes:{}}).convert();if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:n.type,referencedTypes:n.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:n.inlinedTypes}}}tryConvertObjectAllOfSchema(){if(this.schema.type==="object"||this.schema.properties!=null||this.schema.allOf!=null){let r=new uUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:r.propertiesByAudience},inlinedTypes:r.inlinedTypes}}}tryConvertUntypedSchema(){if(this.isUntypedSchema())return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:Bn.unknown(),resolvedType:Bn.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new h1.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let n=hel(r);if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:n,resolvedType:n}),referencedTypes:new Set,omitV2Examples:!0}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}createTypeDeclaration({shape:t,referencedTypes:r,omitV2Examples:n}){return{name:this.convertDeclaredTypeName(),shape:t,autogeneratedExamples:[],userProvidedExamples:[],encoding:void 0,availability:this.context.getAvailability({node:this.schema,breadcrumbs:this.breadcrumbs}),docs:this.schema.description,referencedTypes:r,source:void 0,inline:this.inlined,v2Examples:n?void 0:this.convertSchemaExamples()}}convertDeclaredTypeName(){return{typeId:this.id,fernFilepath:this.context.createFernFilepath(),name:this.context.casingsGenerator.generateName(this.id),displayName:this.nameOverride}}schemaOnlyHasAllowedKeys(t){let r=[...UQg,...t];return Object.keys(this.schema).every(i=>r.includes(i))}isUntypedSchema(){return!!(this.schema&&typeof this.schema=="object"&&!("oneOf"in this.schema)&&!("anyOf"in this.schema)&&!("allOf"in this.schema)&&!("items"in this.schema)&&!("properties"in this.schema))}convertSchemaExamples(){let t={userSpecifiedExamples:{},autogeneratedExamples:{}},r=this.context.getExamplesFromSchema({schema:this.schema,breadcrumbs:this.breadcrumbs});if(r.length===0){let n=this.generateOrValidateExample({example:void 0,ignoreErrors:!0});return t.autogeneratedExamples={[`${this.id}_example_autogenerated`]:n},t}return t.userSpecifiedExamples=this.convertUserSpecifiedExamples(r),t}convertUserSpecifiedExamples(t){let r={};for(let[n,i]of t.entries()){let o=this.context.resolveExample(i),s=`${this.id}_example_${n}`,a=this.generateOrValidateExample({example:o,exampleName:s});r[s]=a}return r}generateOrValidateExample({example:t}){let r=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:this.schema,example:t}),{validExample:n}=r.convert();return n}};var z2=class extends ds{schemaOrReference;schemaIdOverride;wrapAsOptional;wrapAsNullable;constructor({context:t,breadcrumbs:r,schemaOrReference:n,schemaIdOverride:i,wrapAsOptional:o=!1,wrapAsNullable:s=!1}){super({context:t,breadcrumbs:r}),this.schemaOrReference=n,this.schemaIdOverride=i,this.wrapAsOptional=o,this.wrapAsNullable=s}convert(){let t=this.maybeConvertReferenceObject({schemaOrReference:this.schemaOrReference});if(t!=null)return t;let r=this.maybeConvertSingularAllOfReferenceObject();return r??this.convertSchemaObject({schema:this.schemaOrReference})}maybeConvertReferenceObject({schemaOrReference:t}){if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:r.inlinedTypes??{}}}}maybeConvertSingularAllOfReferenceObject(){if(this.context.isReferenceObject(this.schemaOrReference)||this.schemaOrReference.allOf==null||this.schemaOrReference.allOf.length!==1)return;let t=this.schemaOrReference.allOf[0];if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}convertSchemaObject({schema:t}){let r=this.schemaIdOverride??this.context.convertBreadcrumbsToName(this.breadcrumbs),n=new KWe({context:this.context,breadcrumbs:this.breadcrumbs,schema:t,id:r}),i=this.context.getAvailability({node:t,breadcrumbs:this.breadcrumbs}),o=n.convert();if(o!=null){let s=o.convertedSchema.typeDeclaration.shape;return s.type==="alias"?{type:this.wrapTypeReference(s.aliasOf),schema:o.convertedSchema,inlinedTypes:o.inlinedTypes,availability:i}:{type:this.wrapTypeReference(this.context.createNamedTypeReference(r)),schema:o.convertedSchema,inlinedTypes:{...o.inlinedTypes,[r]:o.convertedSchema},availability:i}}}wrapTypeReference(t){return this.wrapAsOptional&&this.wrapAsNullable?this.wrapInOptional(this.wrapInNullable(t)):this.wrapAsOptional?this.wrapInOptional(t):this.wrapAsNullable?this.wrapInNullable(t):t}wrapInOptional(t){return Bn.container(Xc.optional(t))}wrapInNullable(t){return Bn.container(Xc.nullable(t))}};var pUt=class e extends ds{static LIST_UNKNOWN=Bn.container(Xc.list(Bn.unknown()));schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){if(this.schema.items!=null){Array.isArray(this.schema.items)&&(this.schema.items={oneOf:this.schema.items});let r=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs,"items"],schemaOrReference:this.schema.items}).convert();if(r!=null){let n=new Set;for(let i of r.schema?.typeDeclaration.referencedTypes??[])n.add(i);return r.inlinedTypes!=null&&Object.values(r.inlinedTypes).forEach(i=>{i.typeDeclaration.referencedTypes.forEach(o=>{n.add(o)})}),{typeReference:Bn.container(Xc.list(r.type)),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var oCn=class extends ds{group;method;constructor({context:t,breadcrumbs:r,group:n,method:i}){super({context:t,breadcrumbs:r}),this.group=n,this.method=i}parseMediaTypeObject({mediaTypeObject:t,resolveSchema:r,contentType:n,schemaId:i}){if(t.schema==null)return;if(r){let c=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",n]});if(c==null)return;t.schema=c}let s=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs,"content",n,"schema"],schemaOrReference:t.schema,schemaIdOverride:i}).convert();if(s==null)return;let a=t.examples!=null?Object.fromEntries(Object.entries(t.examples).map(([c,u])=>{if(this.context.isReferenceObject(u)){let l=this.context.resolveReference({reference:u,breadcrumbs:[...this.breadcrumbs,"content",n,"examples"],skipErrorCollector:!0});return l.resolved?[c,l.value.value??l.value]:null}return[c,u.value??u]}).filter(c=>c!=null)):void 0;return{...s,examples:a}}parseMediaTypeSchemaOrReference({schemaOrReference:t,schemaId:r}){let i=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs],schemaOrReference:t,schemaIdOverride:r}).convert();if(i!=null)return{...i,examples:void 0}}getIdForExample({key:t,example:r,usedExampleNames:n}){if(this.context.isExampleWithSummary(r)){let i=r.summary;if(!n.has(i))return i;let o=`${i} (${t})`;return n.has(o)?t:o}return t}convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:r,exampleGenerationStrategy:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t?.schema,s=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_example`}),a=new Set;for(let[c,u]of s){let l=this.context.resolveExampleWithValue(u),p=this.context.resolveExampleRecursively({example:u,breadcrumbs:this.breadcrumbs}),m=this.getIdForExample({key:c,example:p,usedExampleNames:a});a.add(m),l!=null&&(o!=null?i.userSpecifiedExamples[m]=this.generateOrValidateExample({schema:o,example:l,exampleGenerationStrategy:n,exampleName:m}):i.userSpecifiedExamples[m]=l)}if(Object.keys(i.userSpecifiedExamples).length===0&&o!=null){let c=eo(`${[...this.group,this.method].join("_")}_example`);i.autogeneratedExamples[c]=this.generateOrValidateExample({schema:o,example:void 0,ignoreErrors:!0,generateOptionalProperties:r,exampleGenerationStrategy:n,exampleName:c})}return i}generateOrValidateExample({schema:t,example:r,generateOptionalProperties:n,exampleGenerationStrategy:i}){let o=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o==null)return;let s=this.context.getExamplesFromSchema({schema:o,breadcrumbs:this.breadcrumbs}),a=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:o,example:r??s[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:i}),{validExample:c}=a.convert();return c}};var sCn=class extends ds{parameter;constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r}),this.parameter=n}convertToOutput({schema:t,typeReference:r,inlinedTypes:n}){let i=this.context.getAvailability({node:this.parameter,breadcrumbs:this.breadcrumbs}),o=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs}),s=this.getParameterSchemaWithExampleOverride({schema:o});switch(this.parameter.in){case"query":return{type:"query",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??ds.OPTIONAL_STRING,allowMultiple:this.parameter.explode??!1,v2Examples:this.convertParameterExamples({schema:s??t}),availability:i,explode:this.getExplodeForQueryParameter()},inlinedTypes:n};case"header":return{type:"header",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??ds.OPTIONAL_STRING,env:void 0,v2Examples:this.convertParameterExamples({schema:s??t}),availability:i},inlinedTypes:n};case"path":return{type:"path",parameter:{name:this.context.casingsGenerator.generateName(this.parameter.name),docs:this.parameter.description,valueType:r??ds.STRING,location:"ENDPOINT",variable:void 0,v2Examples:this.convertParameterExamples({schema:s??t}),explode:this.getExplodeForPathParameter()},inlinedTypes:n};default:return}}getParameterSchemaWithExampleOverride({schema:t}){if(t!=null)return t.type==="string"&&t.example==null?{...t,example:this.parameter.name}:t}convertParameterExamples({schema:t}){let r={userSpecifiedExamples:{},autogeneratedExamples:{}},n=this.parameter.example,i=this.parameter.examples;for(let[o,s]of Object.entries(i??{})){let a=this.context.resolveExampleWithValue(s);a!=null&&(r.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:t,example:a,exampleName:o}))}if(n!=null){let o=this.context.generateUniqueName({prefix:`${this.parameter.name}_example`,existingNames:Object.keys(r.userSpecifiedExamples)});r.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:t,example:n,exampleName:o})}if(Object.keys(r.userSpecifiedExamples).length===0){let o=`${this.parameter.name}_example`;r.autogeneratedExamples[o]=this.generateOrValidateExample({schema:t,example:void 0,ignoreErrors:!0,exampleName:o})}return r}generateOrValidateExample({schema:t,example:r}){let n=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:i}=n.convert();return i}getExplodeForQueryParameter(){let t=this.parameter.style??"form",r=this.parameter.explode;if(r!==void 0)return t==="form"?r===!0?void 0:r:r===!1?void 0:r}getExplodeForPathParameter(){let t=this.parameter.explode;if(t!==void 0)return t===!1?void 0:t}};var aCn=class extends ll{server;key="x-fern-server-name";constructor({breadcrumbs:t,server:r,context:n}){super({breadcrumbs:t,context:n}),this.server=r}convert(){let t=this.getExtensionValue(this.server,"x-name");if(!(t==null||typeof t!="string"))return t}};var yel="Base",LQg="x-fern-default-url",L9=class e extends ds{servers;endpointLevelServers;constructor({breadcrumbs:t,context:r,servers:n,endpointLevelServers:i}){super({breadcrumbs:t,context:r}),this.servers=n,this.endpointLevelServers=i}convert(){if(this.servers==null||this.servers.length===0||this.servers[0]==null)return;if(this.endpointLevelServers!=null&&this.endpointLevelServers.length>0){let n=this.getDefaultBaseUrlName(),i={id:n,name:this.context.casingsGenerator.generateName(n)},o=this.endpointLevelServers.map(c=>{let u=e.getServerName({server:c,context:this.context});return{id:u,name:this.context.casingsGenerator.generateName(u)}}).filter((c,u,l)=>l.findIndex(p=>p.id===c.id)===u),s=[i,...o],a=this.servers.map(c=>{let u=e.getServerName({server:c,context:this.context}),l=this.endpointLevelServers?.map(y=>[e.getServerName({server:y,context:this.context}),this.getServerUrl(y)]),p=e.getServerAudiences({server:c,context:this.context}),{defaultUrls:m,urlTemplates:f,urlVariables:h}=this.buildMultiUrlTemplateFields({defaultBaseUrlId:n,topLevelServer:c,endpointServers:this.endpointLevelServers??[]});return{id:u,name:this.context.casingsGenerator.generateName(u),urls:{[n]:this.getServerUrl(c),...Object.fromEntries(l??[])},docs:c.description,audiences:p,defaultUrls:m,urlTemplates:f,urlVariables:h}});return{value:{defaultEnvironment:a[0]?.id,environments:LP.multipleBaseUrls({baseUrls:s,environments:a})},defaultUrl:i.id}}let t=this.extractFernDefaultUrl(),r=this.servers.map(n=>{let i=e.getServerName({server:n,context:this.context}),o=e.getServerAudiences({server:n,context:this.context});return n.variables!=null&&Object.keys(n.variables).length>0&&n.variables!=null?{id:i,name:this.context.casingsGenerator.generateName(i),url:this.maybeRemoveTrailingSlashIfNotEmpty(this.getServerUrl(n)),audiences:o,defaultUrl:t,urlTemplate:this.maybeRemoveTrailingSlashIfNotEmpty(n.url),urlVariables:this.convertServerVariables(n.variables),docs:n.description}:{id:i,name:this.context.casingsGenerator.generateName(i),url:this.maybeRemoveTrailingSlashIfNotEmpty(this.getServerUrl(n)),audiences:o,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0,docs:n.description}}).filter(Yc);return{value:{defaultEnvironment:r[0]?.id,environments:LP.singleBaseUrl({environments:r})},defaultUrl:r[0]?.id}}convertServerVariables(t){return Object.entries(t).map(([r,n])=>({id:r,name:this.context.casingsGenerator.generateName(r),default:n.default,values:n.enum}))}static getServerExtensionName({server:t,context:r}){return new aCn({breadcrumbs:[],server:t,context:r}).convert()}static getServerAudiences({server:t,context:r}){return new aUt({breadcrumbs:[],operation:t,context:r}).convert()?.audiences}static getServerName({server:t,context:r}){return t.name!=null?t.name:e.getServerExtensionName({server:t,context:r})??t.description??t.url}getServerUrl(t){if(t.variables==null)return t.url;let r=t.url;for(let[n,i]of Object.entries(t.variables))i.default!=null&&(r=r.replace(`{${n}}`,encodeURIComponent(i.default)));return r}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?yel:e.getServerExtensionName({server:this.servers[0],context:this.context})??yel}maybeRemoveTrailingSlashIfNotEmpty(t){return t.endsWith("/")&&t!=="/"?t.slice(0,-1):t}buildMultiUrlTemplateFields({defaultBaseUrlId:t,topLevelServer:r,endpointServers:n}){let i={},o={},s={},a=!1;if(r.variables!=null&&Object.keys(r.variables).length>0){a=!0;let c=this.extractFernDefaultUrlFromServer(r);c!=null&&(i[t]=c),o[t]=this.maybeRemoveTrailingSlashIfNotEmpty(r.url),s[t]=this.convertServerVariables(r.variables)}for(let c of n){let u=e.getServerName({server:c,context:this.context});if(c.variables!=null&&Object.keys(c.variables).length>0){a=!0;let l=this.extractFernDefaultUrlFromServer(c);l!=null&&(i[u]=l),o[u]=this.maybeRemoveTrailingSlashIfNotEmpty(c.url),s[u]=this.convertServerVariables(c.variables)}}return a?{defaultUrls:Object.keys(i).length>0?i:void 0,urlTemplates:o,urlVariables:s}:{defaultUrls:void 0,urlTemplates:void 0,urlVariables:void 0}}extractFernDefaultUrlFromServer(t){let r=t[LQg];if(typeof r=="string")return this.maybeRemoveTrailingSlashIfNotEmpty(r)}extractFernDefaultUrl(){if(this.servers!=null)for(let t of this.servers){let r=this.extractFernDefaultUrlFromServer(t);if(r!=null)return r}}};var D_t=class{context;constructor({context:t}){this.context=t}validateExample({example:t,schema:r,breadcrumbs:n,exampleGenerationStrategy:i}){return new lR({breadcrumbs:n,context:this.context,schema:r,example:t,depth:0,exampleGenerationStrategy:i,generateOptionalProperties:!1}).convert()}validateEndpointExample({exampleToValidate:t}){let r=[],n=[],i=!0,o=!1,s,a=[t.endpointPath,t.method];if(t.requestExample!==void 0&&t.requestSchema!==void 0){let u=this.validateExample({example:t.requestExample,schema:t.requestSchema,breadcrumbs:[...a,"request"],exampleGenerationStrategy:"request"});if(!u.isValid){i=!1;let l=t.exampleSource==="human"?cB.WARNING:cB.ERROR;r.push(...u.errors.map(p=>({...p,level:l,message:`Invalid request example: ${p.message}`})))}u.coerced&&(o=!0,n.push({level:cB.WARNING,message:"Request example was coerced to match schema",path:[...a,"request"]})),s={request:u.validExample}}let c=this.getResponseSchemaForValidation(t);if(t.responseExample!==void 0&&c!==void 0){let u=this.validateExample({example:t.responseExample,schema:c,breadcrumbs:[...a,"response"],exampleGenerationStrategy:"response"});if(!u.isValid){i=!1;let l=t.exampleSource==="human"?cB.WARNING:cB.ERROR;r.push(...u.errors.map(p=>({...p,level:l,message:`Invalid response example: ${p.message}`})))}u.coerced&&(o=!0,n.push({level:cB.WARNING,message:"Response example was coerced to match schema",path:[...a,"response"]})),s={...typeof s=="object"&&s!==null?s:{},response:u.validExample}}return{isValid:i,errors:r,warnings:n,endpointPath:t.endpointPath,method:t.method,exampleSource:t.exampleSource,exampleName:t.exampleName,validExample:s,coerced:o}}getResponseSchemaForValidation(t){let{responseStatusCode:r,responseSchemas:n,responseSchema:i}=t;return n&&Object.keys(n).length>0?r&&n[r]?n[r]:n[200]??n[201]:i}validateAiExamples({aiExamples:t,spec:r}){let n=[],i=[];for(let o of t){let{requestSchema:s,responseSchema:a,responseSchemas:c}=this.getSchemasForEndpoint({spec:r,endpointPath:o.endpointPath,method:o.method}),u={endpointPath:o.endpointPath,method:o.method,exampleSource:"ai",requestExample:o.request?.body,responseExample:o.response?.body,requestSchema:s,responseSchema:a,responseSchemas:c},l=this.validateEndpointExample({exampleToValidate:u}),p=this.hasUnexpectedProperties({requestExample:o.request?.body,responseExample:o.response?.body,requestSchema:s,responseSchema:a}),m=l.errors.length>0||l.warnings.length>0;!l.isValid||m||p?i.push({example:o,validationResult:l}):n.push(o)}return{validExamples:n,invalidExamples:i}}hasUnexpectedProperties({requestExample:t,responseExample:r,requestSchema:n,responseSchema:i}){return!!(t&&n&&this.exampleHasUnexpectedProperties(t,n)||r&&i&&this.exampleHasUnexpectedProperties(r,i))}exampleHasUnexpectedProperties(t,r){if(!t||typeof t!="object"||t===null)return!1;let n=this.context.resolveMaybeReference({schemaOrReference:r,breadcrumbs:[],skipErrorCollector:!0});if(!n||!n.properties&&!n.allOf&&!n.oneOf&&!n.anyOf)return!1;let i=t,o=this.collectAllPropertyKeys(n);return Object.keys(i).some(a=>!o.has(a))}collectAllPropertyKeys(t,r=new Set){let n=new Set;if(t.properties)for(let i of Object.keys(t.properties))n.add(i);for(let i of t.allOf??[]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[],skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}for(let i of[...t.oneOf??[],...t.anyOf??[]]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[],skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}return n}validateHumanExamples({spec:t}){let r=[],n=0,i=0,o=0,s=[],a=[];if(!t.paths)return{endpoints:r,totalExamples:n,validExamples:i,invalidExamples:o,hasInvalidHumanExamples:!1,hasInvalidAiExamples:!1,invalidHumanExamples:s,invalidAiExamples:a};for(let[c,u]of Object.entries(t.paths)){if(!u)continue;let l=["get","post","put","delete","patch","options","head","trace"];for(let p of l){let m=u[p];if(!m)continue;let f=[],{requestSchema:h,responseSchema:y,responseSchemas:g}=this.getSchemasForOperation({operation:m}),A=this.extractExamplesFromOperation({operation:m,path:c,method:p});for(let b of A){n++;let v={endpointPath:c,method:p,exampleName:b.name,exampleSource:b.source,requestExample:b.request,responseExample:b.response,requestSchema:h,responseSchema:y,responseStatusCode:b.statusCode,responseSchemas:g},_=this.validateEndpointExample({exampleToValidate:v});f.push(_),_.isValid?i++:(o++,b.source==="human"?s.push(_):b.source==="ai"&&a.push(_))}f.length>0&&r.push({endpointPath:c,method:p,results:f,hasInvalidExamples:f.some(b=>!b.isValid),invalidExampleCount:f.filter(b=>!b.isValid).length})}}return{endpoints:r,totalExamples:n,validExamples:i,invalidExamples:o,hasInvalidHumanExamples:s.length>0,hasInvalidAiExamples:a.length>0,invalidHumanExamples:s,invalidAiExamples:a}}getSchemasForEndpoint({spec:t,endpointPath:r,method:n}){let i=t.paths?.[r];if(!i)return{responseSchemas:{}};let o=i[n.toLowerCase()];return!o||typeof o!="object"||!("responses"in o)?{responseSchemas:{}}:this.getSchemasForOperation({operation:o})}getSchemasForOperation({operation:t}){let r,n,i={};if(t.requestBody&&!this.context.isReferenceObject(t.requestBody)){let s=t.requestBody.content?.["application/json"];s?.schema&&(r=s.schema)}if(t.responses){for(let[o,s]of Object.entries(t.responses)){if(!s||this.context.isReferenceObject(s))continue;let c=s.content?.["application/json"];c?.schema&&(i[o]=c.schema)}n=i[200]??i[201]}return{requestSchema:r,responseSchema:n,responseSchemas:i}}extractExamplesFromOperation({operation:t,path:r,method:n}){let i=[];if(t.requestBody&&!this.context.isReferenceObject(t.requestBody)){let a=t.requestBody.content?.["application/json"];if(a?.example!==void 0&&i.push({name:`${n}_${r}_request_example`,source:"openapi",request:a.example}),a?.examples)for(let[c,u]of Object.entries(a.examples)){let l=this.context.isReferenceObject(u)?this.context.resolveExample(u):u;l&&typeof l=="object"&&"value"in l&&i.push({name:c,source:"human",request:l.value})}}if(t.responses)for(let[s,a]of Object.entries(t.responses)){if(!a||this.context.isReferenceObject(a))continue;let u=a.content?.["application/json"];if(u?.example!==void 0){let l=i.find(p=>p.request!==void 0&&p.response===void 0);l?(l.response=u.example,l.statusCode=s):i.push({name:`${n}_${r}_response_${s}_example`,source:"openapi",response:u.example,statusCode:s})}if(u?.examples)for(let[l,p]of Object.entries(u.examples)){let m=this.context.isReferenceObject(p)?this.context.resolveExample(p):p;if(m&&typeof m=="object"&&"value"in m){let f=i.find(h=>h.name===l);f?(f.response=m.value,f.statusCode=s):i.push({name:l,source:"human",response:m.value,statusCode:s})}}}let o=t["x-fern-examples"];if(Array.isArray(o)){for(let s of o)if(typeof s=="object"&&s!==null){let a=s;i.push({name:a.name,source:"human",request:a.request?.body,response:a.response?.body})}}return i}};var cCn={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},qQg=new Set(Object.values(cCn));var WQg=$t.object({type:$t.string(),channelId:$t.string().optional(),messageId:$t.string(),value:$t.any()}),GQg=$t.object({summary:$t.string().optional(),description:$t.string().optional(),"query-parameters":$t.record($t.string()).optional(),headers:$t.record($t.string()).optional(),messages:$t.array(WQg)}),gel=$t.array(GQg);var uCn=class extends ll{channel;baseDir;key="x-fern-examples";constructor({breadcrumbs:t,channel:r,context:n,baseDir:i}){super({breadcrumbs:t??[],context:n}),this.channel=r,this.baseDir=i}convert(){let t=this.getExtensionValue(this.channel);if(t==null)return;let r=gel.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-examples extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data.map(n=>({summary:n.summary,description:n.description,queryParameters:n["query-parameters"],headers:n.headers,messages:n.messages.map(i=>({type:i.type,channelId:i.channelId,messageId:i.messageId,value:i.value}))}))}};var fUt=class extends ds{channel;channelPath;inlinedTypes={};websocketGroup;constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}){super({context:t,breadcrumbs:r}),this.websocketGroup=n,this.channel=i,this.channelPath=o}convertExamples({fullPath:t,baseUrl:r,asyncApiVersion:n}){let o=new uCn({context:this.context,breadcrumbs:this.breadcrumbs,channel:this.channel,baseDir:this.context.documentBaseDir}).convert();return o==null?{}:Object.fromEntries(o.map((s,a)=>[a.toString(),{channel:{method:"GET",path:t},baseUrl:t,environment:r,auth:void 0,pathParameters:{},queryParameters:s.queryParameters,headers:s.headers,messages:s.messages.map(c=>({type:n==="v2"?c.type:c.messageId,body:c.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var JWe=class extends zb.AbstractConverters.AbstractParameterConverter{parameterNamePrefix;constructor({context:t,breadcrumbs:r,parameter:n,parameterNamePrefix:i}){super({context:t,breadcrumbs:r,parameter:n}),this.parameterNamePrefix=i}convert(){let t,r={},i=new h1.FernOptionalExtension({breadcrumbs:this.breadcrumbs,parameter:this.parameter,context:this.context}).convert()??this.parameter.required===!1,o=this.parameter.schema??{...this.parameter,type:"string",enum:this.parameter.enum,default:this.parameter.default,example:this.parameter.example??this.parameter.name,examples:Object.values(this.parameter.examples??{}),deprecated:this.parameter.deprecated,required:void 0},a=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaIdOverride:this.parameterNamePrefix?`${this.parameterNamePrefix}_${this.parameter.name}`:this.parameter.name,schemaOrReference:o,wrapAsOptional:i}).convert();return a!=null&&(t=a.type,r=a.inlinedTypes??{}),this.convertToOutput({schema:o,typeReference:t,inlinedTypes:r})}};var lCn=class extends ll{channel;key="x-fern-address";constructor({breadcrumbs:t,channel:r,context:n}){super({breadcrumbs:t,context:n}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var mUt=class extends ll{channel;key="x-fern-display-name";constructor({breadcrumbs:t,channel:r,context:n}){super({breadcrumbs:t,context:n}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var pCn=class extends fUt{inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}){super({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o})}convert(){let t=[],r=[],n=[],o=new mUt({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".");this.channel.parameters&&this.convertPathParameters({context:this.context,pathParameters:t}),this.channel.bindings?.ws!=null&&(this.convertHeaders({context:this.context,headers:n}),this.convertBindingQueryParameters({context:this.context,queryParameters:r}));let s;this.channel.subscribe!=null&&(s=this.convertMessage({context:this.context,operation:this.channel.subscribe,origin:"server"}));let a;this.channel.publish!=null&&(a=this.convertMessage({context:this.context,operation:this.channel.publish,origin:"client"}));let c=[];s!=null&&c.push(s),a!=null&&c.push(a);let l=new lCn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert(),p=this.transformToValidPath(l??this.channelPath),m=this.channel.servers?.[0]??Object.keys(this.context.spec.servers??{})[0],f=JP(p),h=eo(this.channelPath),y=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(h),displayName:o,baseUrl:m,path:f,auth:!1,headers:n,queryParameters:r,pathParameters:t,messages:c,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:p,baseUrl:m,asyncApiVersion:"v2"})}},audiences:y,inlinedTypes:this.inlinedTypes}}convertMessage({context:t,operation:r,origin:n}){let i,o=n==="server"?"subscribe":"publish",s=[...this.breadcrumbs,o],a=t.resolveMaybeReference({schemaOrReference:r.message,breadcrumbs:s});a!=null&&(r.message=a);let c=oyt(eo(`${this.channelPath}_${o}`)).replace(/ /g,"");if("oneOf"in r.message){let l=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:s,schemaOrReference:r.message,schemaIdOverride:c}).convert();l!=null&&l.schema!=null&&(i=l.schema,this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes})}else if(t.isMessageWithPayload(r.message)){let u=t.resolveMaybeReference({schemaOrReference:r.message.payload,breadcrumbs:s});if(u!=null){let p=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:s,schemaOrReference:u,schemaIdOverride:c}).convert();p!=null&&p.schema!=null&&(i=p.schema,this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes})}}if(i!=null){let u=i,l=Bn.named({fernFilepath:t.createFernFilepath(),name:u.typeDeclaration.name.name,typeId:u.typeDeclaration.name.typeId,displayName:void 0,default:void 0,inline:!1}),p=Dk.reference({bodyType:l,docs:r.description}),m=n==="server"?"subscribe":"publish";return{type:m,displayName:m,origin:n,body:p,availability:t.getAvailability({node:r,breadcrumbs:this.breadcrumbs}),docs:r.description,methodName:void 0}}}convertPathParameters({context:t,pathParameters:r}){for(let[n,i]of Object.entries(this.channel.parameters??{})){let o=t.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs});if(o==null)continue;let a=new JWe({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...o,name:n,in:"path",description:o.description,required:o.required??!0}}).convert();a!=null&&(this.inlinedTypes={...this.inlinedTypes,...a.inlinedTypes},a.type==="path"&&r.push(a.parameter))}}convertHeaders({context:t,headers:r}){if(this.channel.bindings?.ws?.headers!=null){let n=this.channel.bindings.ws.headers.required??[];for(let[i,o]of Object.entries(this.channel.bindings.ws.headers.properties??{})){let s=t.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,i]});if(s==null)continue;let c=new JWe({context:this.context,breadcrumbs:[...this.breadcrumbs,i],parameter:{name:i,in:"header",required:n.includes(i),schema:s,description:"description"in s?s.description:void 0}}).convert();c!=null&&c.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},r.push(c.parameter))}}}convertBindingQueryParameters({context:t,queryParameters:r}){if(this.channel.bindings?.ws?.query!=null){let n=this.channel.bindings.ws.query.required??[];for(let[i,o]of Object.entries(this.channel.bindings.ws.query.properties??{})){let s=t.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,i]});if(s==null)continue;let c=new JWe({context:this.context,breadcrumbs:[...this.breadcrumbs,i],parameter:{name:i,in:"query",required:n.includes(i),schema:s,description:"description"in s?s.description:void 0,deprecated:s.deprecated??!1}}).convert();c!=null&&c.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},r.push(c.parameter))}}}};var dUt=class extends ds{servers;constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r}),this.servers=n}convert(){if(this.servers==null||Object.keys(this.servers).length===0)return;let t=[],r;for(let[n,i]of Object.entries(this.servers)){let o=this.buildSingleBaseUrlEnvironment(this.context,n,i);t.push(o),r==null&&(r=o.id)}return{defaultEnvironment:r,environments:LP.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var fCn=class extends dUt{constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r,servers:n})}buildSingleBaseUrlEnvironment(t,r,n){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(n.protocol,n.url),docs:void 0,audiences:void 0,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0}}};var KVs="$message.",Ael="#/channels/",bel="#/servers/",mCn=class extends fUt{operations;inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o,operations:s}){super({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}),this.operations=s}convert(){let t=[],r=[],n=[],o=new mUt({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".")??this.channelPath;this.channel.parameters&&this.convertChannelParameters({pathParameters:t,queryParameters:r,headers:n,channelPath:this.channelPath});let s=Object.entries(this.operations).reduce((m,[f,h])=>{try{this.getChannelPathFromOperation(h)===this.channelPath&&(m[f]=h)}catch{}return m},{}),a=[];for(let[m,f]of Object.entries(s))for(let h of f.messages){let y=this.context.convertReferenceToTypeReference({reference:h});if(y.ok){let g=Dk.reference({bodyType:y.reference,docs:f.description});a.push({type:m,displayName:m,origin:f.action==="send"?"client":"server",body:g,availability:this.context.getAvailability({node:f,breadcrumbs:this.breadcrumbs}),docs:f.description,methodName:void 0})}}let c=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],u=this.transformToValidPath(this.channel.address??this.channelPath),l=JP(u),p=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(o),displayName:o,baseUrl:c,path:l,auth:!1,headers:n,queryParameters:r,pathParameters:t,messages:a,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:u,baseUrl:c,asyncApiVersion:"v3"})}},audiences:p,inlinedTypes:this.inlinedTypes}}convertChannelParameters({pathParameters:t,queryParameters:r,headers:n,channelPath:i}){for(let o of Object.values(this.channel.parameters??{})){let s=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,"parameters"]});if(s==null)continue;let a=this.convertChannelParameterLocation(s.location);if(a==null)continue;let{type:c,parameterKey:u}=a,p=new JWe({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...s,name:u,in:c},parameterNamePrefix:this.channelPath}).convert();if(p!=null)switch(this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes},p.type){case"path":t.push(p.parameter);break;case"query":r.push(p.parameter);break;case"header":n.push(p.parameter);break}}}convertChannelParameterLocation(t){try{let[r,n]=t.split("#/");if(r==null||n==null){this.context.errorCollector.collect({message:`Invalid location format: ${t}; unable to parse message type and parameter key`,path:this.breadcrumbs});return}if(!r.startsWith(KVs)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${KVs} prefix`,path:this.breadcrumbs});return}let i=r.substring(KVs.length);if(i!=="header"&&i!=="path"&&i!=="payload"){this.context.errorCollector.collect({message:`Invalid message type: ${i}. Must be one of: header, path, payload`,path:this.breadcrumbs});return}return i==="payload"?{type:"query",parameterKey:n}:{type:i,parameterKey:n}}catch{this.context.errorCollector.collect({message:`Invalid location format: ${t}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`,path:this.breadcrumbs});return}}resolveChannelServersFromReference(t){if(t==null||t.length===0||t[0]==null)return;let r=t[0];if(!r.$ref.startsWith(bel)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let n=r.$ref.substring(bel.length);if(n==null){this.context.errorCollector.collect({message:`Failed to find server with name ${n}`,path:this.breadcrumbs});return}return n}getChannelPathFromOperation(t){if(!t.channel.$ref.startsWith(Ael))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(Ael.length)}};var dCn=class extends dUt{constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r,servers:n})}buildSingleBaseUrlEnvironment(t,r,n){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(n.protocol,n.host),docs:void 0,audiences:void 0,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0}}};var bSr=class extends Jce{constructor({context:t,breadcrumbs:r,audiences:n}){super({context:t,breadcrumbs:r,audiences:n})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.isAsyncAPIV3(this.context)?this.convertChannelMessages():this.convertComponentMessages(),this.convertSchemas(),this.convertServers(),this.convertChannels(),this.finalizeIr()}isAsyncAPIV3(t){return parseFloat(t.spec.asyncapi)>=3}convertChannelMessages(){let t=this.context.spec;for(let[r,n]of Object.entries(t.channels??{}))for(let[i,o]of Object.entries(n.messages??{})){if(!this.context.isMessageWithPayload(o)&&!this.context.isReferenceObject(o))continue;let s=["channels",r,"messages",i],a=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:s});if(!this.context.isMessageWithPayload(a))continue;let c=this.context.resolveMaybeReference({schemaOrReference:a.payload,breadcrumbs:s});if(c==null)continue;let u=`${r}_${i}`;this.convertSchema({id:u,breadcrumbs:s,schema:c})}}convertComponentMessages(){for(let[t,r]of Object.entries(this.context.spec.components?.messages??{})){if(r.payload==null)continue;let n=["components","messages",t],i=this.context.resolveMaybeReference({schemaOrReference:r.payload,breadcrumbs:n});i!=null&&this.convertSchema({id:t,breadcrumbs:n,schema:i})}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{}))this.convertSchema({id:t,breadcrumbs:["components","schemas",t],schema:r})}convertSchema({id:t,breadcrumbs:r,schema:n}){let o=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:r,schema:n}).convert();o!=null&&this.addSchemaOutputToIr(t,o)}convertServers(){let t;if(this.isAsyncAPIV3(this.context)){let r=this.context.spec.servers;t=new dCn({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new fCn({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}this.addEnvironmentsToIr({environmentConfig:t})}convertChannels(){for(let[t,r]of Object.entries(this.context.spec.channels??{})){let i=new h1.SdkGroupNameExtension({breadcrumbs:["channels",t],operation:r,context:this.context}).convert()?.groups,o;if(this.isAsyncAPIV3(this.context)){let a=this.context.spec.operations??{};o=new mCn({context:this.context,breadcrumbs:["channels",t],websocketGroup:i,channel:r,channelPath:t,operations:a}).convert()}else o=new pCn({context:this.context,breadcrumbs:["channels",t],websocketGroup:i,channel:r,channelPath:t}).convert();o!=null&&(this.addWebsocketChannelToIr({websocketChannel:o.channel,channelPath:t,audiences:o.audiences,websocketGroup:i}),this.addTypesToIr(o.inlinedTypes))}}};var _Sr=class extends aP{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}getTypeIdFromMessageReference(t){let r=t.$ref.match(/\/messages\/(.+)$/);if(!(!r||!r[1]))return r[1]}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o,s=t.$ref.match(/^.*\/schemas\/(.+)$/),a=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),c=t.$ref.match(/^.*\/messages\/(.+)$/);if(s&&s[1])return o=s[1],this.convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o});if(a&&a[2]){let u=a[1],l=a[2];return o=`${u}_${l}`,this.convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o})}else return c&&c[1]?(o=c[1],this.convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o})):{ok:!1}}convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.title:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.title??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.name:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.name??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.messageId??s.value.name:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.messageId??s.value.name??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}};var Pel=He(hCn(),1);var yCn=class extends ll{document;key="x-fern-base-path";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(typeof t!="string"){this.context.errorCollector.collect({message:"Received unexpected non-string value for x-fern-base-path",path:this.breadcrumbs});return}return t}}};var gCn=class extends ll{document;key="x-fern-global-headers";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(!Array.isArray(t)){this.context.errorCollector.collect({message:"Received unexpected non-array value for x-fern-global-headers",path:this.breadcrumbs});return}return t}}};function _el({globalHeaders:e,context:t}){return e.map(r=>({name:t.casingsGenerator.generateNameAndWireValue({name:r.name??"",wireValue:r.header}),valueType:r.optional?ds.OPTIONAL_STRING:ds.STRING,env:r.env,v2Examples:r.optional?void 0:KQg({header:r,context:t}),availability:void 0,docs:void 0}))}function KQg({header:e,context:t}){let r=new lR({breadcrumbs:[],context:t,schema:{type:"string"},example:e.header}),{validExample:n}=r.convert();return{userSpecifiedExamples:{},autogeneratedExamples:{globalHeaderExample:n}}}var ACn=class extends zb.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r,parameter:n})}convert(){let t,r={};if(this.parameter.schema!=null){let n=this.context.convertBreadcrumbsToName([...this.breadcrumbs,this.parameter.name]),o=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,this.parameter.name,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required,schemaIdOverride:n}).convert();o!=null&&(t=o.type,r=o.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var bCn=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{contentType;mediaType;description;required;schemaId;streamingExtension;queryParameters;constructor({context:t,breadcrumbs:r,contentType:n,mediaType:i,description:o,required:s,group:a,method:c,streamingExtension:u,queryParameters:l}){super({context:t,breadcrumbs:r,group:a,method:c}),this.contentType=n,this.mediaType=i,this.description=o,this.required=s,this.schemaId=[...this.group,this.method,"Request"].join("_"),this.streamingExtension=u,this.queryParameters=l??[]}convert(){return this.streamingExtension?.type=="streamCondition"?this.convertStreamConditionRequestBody():this.convertNonStreamConditionRequestBody()}convertStreamConditionRequestBody(){if(this.isOrderedJsonOrFormContentType())return this.handleStreamConditionJsonOrFormContent({contentType:this.contentType})}convertNonStreamConditionRequestBody(){if(this.isOrderedJsonOrFormContentType())return this.handleJsonOrFormContent({contentType:this.contentType});if(GA.parse(this.contentType)?.isMultipart())return this.handleMultipartContent({contentType:this.contentType});if(this.isBinaryContentType())return this.handleBinaryContent({contentType:this.contentType})}isOrderedJsonOrFormContentType(){let t=GA.parse(this.contentType);return t?t.isJSON()||t.isURLEncoded()||t.isPlainText()||t.isCSV()||t.isHTML()||t.isXML()||t.isDNS()||t.isApplicationText():!1}isBinaryContentType(){let t=GA.parse(this.contentType);return t?t.isBinary():!1}handleJsonOrFormContent({contentType:t}){let r=this.mediaType;if(r==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});if(n==null)return;let i=n.schema?.typeDeclaration.shape;return i?.type==="object"?this.hasBodyQueryParameterOverlap(i.properties)?{requestBody:Sb.reference({contentType:t,docs:this.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n.inlinedTypes??{}}:{requestBody:Sb.inlinedRequestBody({contentType:t,docs:this.description,name:this.context.casingsGenerator.generateName(this.schemaId),extendedProperties:i.extendedProperties,extends:i.extends,properties:i.properties,extraProperties:i.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:n.inlinedTypes})}:{requestBody:Sb.reference({contentType:t,docs:this.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.mediaType;if(r==null||r.schema==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,resolveSchema:!0,contentType:t});if(n==null)return;let i=n.schema?.typeDeclaration.shape;if(i?.type==="object")return{requestBody:Sb.fileUpload({contentType:t,docs:this.description,name:this.context.casingsGenerator.generateName(this.schemaId),properties:i.properties.map(o=>{let s=r.encoding?.[o.name.wireValue];return this.convertRequestBodyProperty({property:o,contentType:t,encoding:s})}),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:n.inlinedTypes}),examples:n.examples}}handleBinaryContent({contentType:t}){let r=this.mediaType;if(r==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});return{requestBody:Sb.bytes({contentType:t,isOptional:this.required===!1,docs:this.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r,encoding:n}){let{isFile:i,isOptional:o,isArray:s}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?s?Yj.file(W3.fileArray({key:t.name,isOptional:o,contentType:r,docs:t.docs})):Yj.file(W3.file({key:t.name,isOptional:o,contentType:r,docs:t.docs})):Yj.bodyProperty({...t,contentType:n?.contentType??r,style:YQg({encoding:n}),name:t.name})}handleStreamConditionJsonOrFormContent({contentType:t}){if(this.streamingExtension?.type!=="streamCondition")return;let r=this.mediaType;if(r==null||r.schema==null)return;let n=this.context.resolveMaybeReference({schemaOrReference:r.schema,breadcrumbs:[...this.breadcrumbs,"content",t,"schema"]});if(n==null)return;let i=n.properties?.[this.streamingExtension.streamConditionProperty];if(i==null||this.context.isReferenceObject(i))return;let o=this.buildStreamConditionInlinedRequestBody({streamConditionProperty:i,resolvedMediaTypeSchema:n,isStreaming:!0,contentType:t,mediaTypeObject:r}),s=this.buildStreamConditionInlinedRequestBody({streamConditionProperty:i,resolvedMediaTypeSchema:n,isStreaming:!1,contentType:t,mediaTypeObject:r});if(!(o==null||s==null))return{requestBody:s.requestBody,streamRequestBody:o.requestBody,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:{...o.inlinedTypes,...s.inlinedTypes}})}}buildStreamConditionInlinedRequestBody({streamConditionProperty:t,resolvedMediaTypeSchema:r,isStreaming:n,contentType:i,mediaTypeObject:o}){if(this.streamingExtension==null||this.streamingExtension.type!=="streamCondition")return;let s={...r,properties:{...r.properties,[this.streamingExtension.streamConditionProperty]:{type:"boolean",const:n,...t}},required:[...r.required??[],this.streamingExtension.streamConditionProperty]},a={...o,schema:s},c=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:this.schemaId,contentType:i});if(c==null)return;let u=c.schema?.typeDeclaration.shape;if(u?.type==="object")return{requestBody:Sb.inlinedRequestBody({contentType:i,docs:void 0,name:this.context.casingsGenerator.generateName(n?`${this.schemaId}_streaming`:this.schemaId),extendedProperties:u.extendedProperties,extends:u.extends,properties:u.properties,extraProperties:u.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:a,exampleGenerationStrategy:"request"})}),inlinedTypes:c.inlinedTypes}}recursivelyCheckTypeReferenceIsFile({typeReference:t,isOptional:r,isArray:n}){return this.context.isList(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.list,isOptional:r,isArray:!0}):this.context.isOptional(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.optional,isOptional:!0,isArray:n}):this.context.isNullable(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.nullable,isOptional:r,isArray:n}):{isFile:this.context.isFile(t),isOptional:r??!1,isArray:n??!1}}hasBodyQueryParameterOverlap(t){if(this.queryParameters.length===0)return!1;let r=new Set(this.queryParameters.map(n=>n.name.wireValue.toLowerCase()));return t.some(n=>r.has(n.name.wireValue.toLowerCase()))}},JQg={"application/json":"json"};function YQg({encoding:e}){if(e){if(e.explode)return"exploded";if(e.style==="form")return"form";if(e.contentType)return JQg[e.contentType]}}var XQg=/{([^}]+)}/g,ZQg=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),hUt=class extends ds{operation;method;path;inlinedTypes={};constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o}){super({context:t,breadcrumbs:r}),this.operation=n,this.method=i,this.path=o}convertHttpMethod(){switch(this.method){case"get":return iw.Get;case"post":return iw.Post;case"put":return iw.Put;case"delete":return iw.Delete;case"patch":return iw.Patch;case"head":return iw.Head;default:return}}convertParameters({breadcrumbs:t}){let r=[],n=[],i=[];if(!this.operation.parameters)return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:n,headers:i};for(let o of this.operation.parameters){let s=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:t});if(s==null)continue;let c=new ACn({context:this.context,breadcrumbs:t,parameter:s}).convert();if(c!=null)switch(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},c.type){case"path":r.push(c.parameter);break;case"query":n.push(c.parameter);break;case"header":{let u=c.parameter.name.name.originalName,l=c.parameter.name.wireValue,p=!1,m=this.context.authOverrides?.["auth-schemes"];if(m!=null){for(let h of Object.values(m))if(nMg(h)&&h.header.toLowerCase()===l.toLowerCase()){p=!0;break}}let f=this.context.globalHeaderNames;if(f!=null){for(let h of f)if(h.toLowerCase()===l.toLowerCase()){p=!0;break}}!ZQg.has(u.toLowerCase())&&!p&&i.push(c.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:n,headers:i}}checkMissingPathParameters(t){let n=[...this.path.matchAll(XQg)].map(i=>i[1]).filter(i=>!t.some(o=>o.name.originalName===i));for(let i of n){if(i==null)continue;let o=`${i}_example`;t.push({name:this.context.casingsGenerator.generateName(i),valueType:ds.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[o]:this.generateStringParameterExample({example:i})}},explode:void 0})}}convertRequestBody({breadcrumbs:t,group:r,method:n,streamingExtension:i,queryParameters:o}){if(this.operation.requestBody==null)return;let s=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(s==null)return null;let a=[];for(let[c,u]of Object.entries(s.content)){let p=new bCn({context:this.context,breadcrumbs:t,contentType:c,mediaType:u,description:s.description,required:s.required,group:r??[],method:n,streamingExtension:i,queryParameters:o}).convert();p!=null&&(this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes},a.push({requestBody:p.requestBody,streamRequestBody:p.streamRequestBody,examples:p.examples}))}return a}computeGroupNameAndLocationFromExtensions(){let r=new h1.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,i=new h1.SdkGroupNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.groups??[];if(r!=null)return{group:i,method:r}}evaluateMethodNameFromOperation(){let t=this.operation.operationId;return t??(this.operation.summary!=null?eo(this.operation.summary):eo(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let n=vel(t),i=vel(r);return _C(n,i)?{method:t}:this.computeGroupAndMethodFromTokens({tag:t,tagTokens:n,methodName:r,methodNameTokens:i})}computeGroupAndMethodFromTokens({tag:t,tagTokens:r,methodName:n,methodNameTokens:i}){if(r.some((a,c)=>a!==i[c]))return{group:[t],method:n};let s=i.slice(r.length);return{group:[t],method:eo(s.join("_"))}}generateStringParameterExample({example:t}){let r=new zb.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:n}=r.convert();return n}};function vel(e){let t=eMg(e)?tMg(e):rMg(e);return t=t.map(r=>r.toLowerCase()),t=E$(t),t}function eMg(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function tMg(e){return e.split(/(?=[A-Z])/)}function rMg(e){return e.split(/[^a-zA-Z0-9]+/)}function nMg(e){return e?.header!=null}var yUt=class extends hUt{constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o}){super({context:t,breadcrumbs:r,operation:n,method:i,path:o})}convert(){if(this.operation.requestBody==null){this.context.errorCollector.collect({message:"Skipping webhook because no request body present",path:this.breadcrumbs});return}let t=this.convertHttpMethod();if(t==null)return;if(t!=="POST"&&t!=="GET"){this.context.errorCollector.collect({message:"Skipping webhook because non-POST or GET method",path:this.breadcrumbs});return}let{group:r,method:n}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),i=[...this.breadcrumbs,"Payload"],{headers:o,queryParameters:s}=this.convertParameters({breadcrumbs:i}),a=this.convertRequestBody({breadcrumbs:i,group:r,method:n,streamingExtension:void 0,queryParameters:s});if(a==null)return;let c=a[0]?.requestBody;if(c==null)return;let u,l;if(c.type==="inlinedRequestBody")u=DD.inlinedPayload({name:c.name,extends:c.extends,properties:c.properties});else if(c.type==="reference")u=DD.reference({payloadType:c.requestBodyType,docs:c.docs});else if(c.type==="fileUpload")l={name:c.name,properties:c.properties,docs:c.docs,v2Examples:c.v2Examples,contentType:c.contentType},u=DD.inlinedPayload({name:c.name,extends:[],properties:[]});else return;let p=this.convertWebhookResponses();return{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,webhook:{id:`${r?.join(".")??""}.${n}`,name:this.context.casingsGenerator.generateName(n),displayName:this.operation.summary,method:t,headers:o,payload:u,signatureVerification:void 0,fileUploadPayload:l,responses:p.length>0?p:void 0,examples:[],availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,v2Examples:{autogeneratedExamples:this.getWebhookV2ExamplesFromRequestBodyV2Examples(c.v2Examples?.autogeneratedExamples??{}),userSpecifiedExamples:this.getWebhookV2ExamplesFromRequestBodyV2Examples(c.v2Examples?.userSpecifiedExamples??{})}},inlinedTypes:this.inlinedTypes}}convertWebhookResponses(){let t=[];if(this.operation.responses==null)return t;for(let[r,n]of Object.entries(this.operation.responses)){let i=/^\d[Xx]{2}$/.test(r),o;if(i)o=parseInt(r.charAt(0))*100;else if(o=parseInt(r),isNaN(o))continue;let a=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:[...this.breadcrumbs,"responses",r]})?.description;t.push({statusCode:o,isWildcardStatusCode:i?!0:void 0,body:void 0,docs:a})}return t}getWebhookV2ExamplesFromRequestBodyV2Examples(t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,{name:r,payload:n}]))}};var XVs=He(hCn(),1);var Eel=["get","post","put","delete","patch","head"];var _Cn=class extends ll{operation;key="x-fern-idempotent";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-idempotent",path:this.breadcrumbs});return}return t}}};var iMg=$t.object({cursor:$t.string(),next_cursor:$t.string(),results:$t.string()}),oMg=$t.object({offset:$t.string(),results:$t.string(),step:$t.string().optional(),"has-next-page":$t.string().optional()}),sMg=$t.object({next_uri:$t.string(),results:$t.string()}),aMg=$t.object({next_path:$t.string(),results:$t.string()}),JVs=$t.union([$t.boolean(),iMg,oMg,sMg,aMg]);var YVs="$request.",XWe="$response.",vCn=class extends ll{operation;document;key="x-fern-pagination";constructor({breadcrumbs:t,operation:r,document:n,context:i}){super({breadcrumbs:t,context:i}),this.operation=r,this.document=n}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=JVs.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean"){let n=this.getExtensionValue(this.document);if(n==null)return;if(typeof n=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.",path:this.breadcrumbs});return}let i=JVs.safeParse(n);if(!i.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${i.error.message}`,path:this.breadcrumbs});return}if(typeof i.data=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:i.data})}if(typeof r.data=="boolean"){this.context.errorCollector.collect({message:"Pagination extension is a boolean with no global configuration.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:r.data})}convertPaginationConfig({config:t}){let r=t;if("cursor"in r)return{type:"cursor",cursor:aP.maybeTrimPrefix(r.cursor,YVs),nextCursor:aP.maybeTrimPrefix(r.next_cursor,XWe),results:aP.maybeTrimPrefix(r.results,XWe)};let n=t;if("next_uri"in n)return{type:"uri",nextUri:aP.maybeTrimPrefix(n.next_uri,XWe),results:aP.maybeTrimPrefix(n.results,XWe)};let i=t;if("next_path"in i)return{type:"path",nextPath:aP.maybeTrimPrefix(i.next_path,XWe),results:aP.maybeTrimPrefix(i.results,XWe)};let o=t;return{type:"offset",offset:aP.maybeTrimPrefix(o.offset,YVs),results:aP.maybeTrimPrefix(o.results,XWe),step:o.step!=null?aP.maybeTrimPrefix(o.step,YVs):void 0,hasNextPage:o["has-next-page"]!=null?aP.maybeTrimPrefix(o["has-next-page"],XWe):void 0}}};var cMg="$request.",uMg=$t.object({"stream-condition":$t.string().optional(),format:$t.enum(["sse","json"]).optional(),"stream-description":$t.string().optional(),"response-stream":$t.any(),response:$t.any(),terminator:$t.string().optional()}),lMg=$t.union([$t.boolean(),uMg]),ECn=class extends ll{operation;key="x-fern-streaming";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=lMg.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-streaming extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean")return r.data?{type:"stream",format:"json",terminator:void 0}:void 0;if(r.data["stream-condition"]==null&&r.data.format!=null)return{type:"stream",format:r.data.format,terminator:r.data.terminator};if(r.data["stream-condition"]==null){this.context.errorCollector.collect({message:"Missing stream-condition property without specified format.",path:this.breadcrumbs});return}return{type:"streamCondition",format:r.data.format??"json",terminator:r.data.terminator,streamDescription:r.data["stream-description"],streamConditionProperty:aP.maybeTrimPrefix(r.data["stream-condition"],cMg),responseStream:r.data["response-stream"],response:r.data.response}}};var OCn=class extends ll{operation;key="x-fern-webhook";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-webhook",path:this.breadcrumbs});return}return t}}};var xCn=require("fs"),Oel=require("path");function pMg(e){return cl(e)&&typeof e.$ref=="string"}function fMg(e,t){if(e!=null){if(typeof e=="string")return e;if(pMg(e)){let r=(0,Oel.resolve)(t??process.cwd(),e.$ref);if((0,xCn.existsSync)(r))try{return(0,xCn.readFileSync)(r,"utf-8")}catch{return}}}}var wCn=class extends ll{operation;baseDir;key="x-codeSamples";constructor({context:t,breadcrumbs:r,operation:n,baseDir:i}){super({breadcrumbs:r,context:t}),this.operation=n,this.baseDir=i}convert(){let t=cl(this.operation)?this.operation:{},r=t["x-codeSamples"],n=t["x-code-samples"],i=Array.isArray(r)?r:[],o=Array.isArray(n)?n:[],s=[...i,...o];if(s.length===0)return;let a=[];for(let c of s){if(!cl(c))continue;let u=c,l=u.lang,p=u.label,m=u.source;if(typeof l!="string")continue;let f=fMg(m,this.baseDir);f!=null&&a.push({name:typeof p=="string"?p:l,language:l,code:f,install:void 0,docs:void 0})}if(a.length!==0)return[{"code-samples":a}]}};var ICn=require("fs"),wel=require("path");function mMg(e){return cl(e)&&typeof e.$ref=="string"}function dMg(e,t){if(e!=null){if(typeof e=="string")return e;if(mMg(e)){let r=(0,wel.resolve)(t??process.cwd(),e.$ref);if((0,ICn.existsSync)(r))try{return(0,ICn.readFileSync)(r,"utf-8")}catch{return}}}}function hMg(e,t){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!cl(n))continue;let o=dMg(n.code,t);o!=null&&r.push({...n,code:o})}return r}var PCn=class extends ll{operation;baseDir;key="x-fern-examples";constructor({context:t,breadcrumbs:r,operation:n,baseDir:i}){super({breadcrumbs:r,context:t}),this.operation=n,this.baseDir=i}convert(){let t=this.getExtensionValue(this.operation);return t==null?void 0:(Array.isArray(t)?t:[]).map(o=>{if(!cl(o))return o;let a=o["code-samples"];if(a!=null){let c=hMg(a,this.baseDir);return{...o,"code-samples":c}}return o}).filter(o=>{let s=rP.serialization.ExampleEndpointCallSchema.parse(o);return s.ok||this.context.errorCollector.collect({message:`Failed to parse x-fern-example in ${this.breadcrumbs.join(".")}`,path:this.breadcrumbs}),s.ok})}};var vSr=class extends ll{document;key="x-fern-explorer";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-explorer",path:this.breadcrumbs});return}return t}}};var ESr=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{responseBody;statusCode;streamingExtension;constructor({context:t,breadcrumbs:r,responseBody:n,group:i,method:o,statusCode:s,streamingExtension:a}){super({context:t,breadcrumbs:r,group:i,method:o}),this.responseBody=n,this.statusCode=s,this.streamingExtension=a}convert(){return this.shouldConvertAsStreaming()?this.convertStreamingResponseBody():this.convertNonStreamingResponseBody()}convertStreamingResponseBody(){if(this.streamingExtension!=null){if(this.streamingExtension.type=="streamCondition"){let t=this.streamingExtension.responseStream,r=this.streamingExtension.response,n=[...this.group,this.method,"Response",this.statusCode].join("_"),i=`${n}_streaming`,o=this.parseMediaTypeSchemaOrReference({schemaOrReference:t,schemaId:i}),s=this.parseMediaTypeSchemaOrReference({schemaOrReference:r,schemaId:n});return this.convertStreamConditionResponse({convertedStreamingSchema:o,convertedNonStreamingSchema:s})}if(this.streamingExtension.type==="stream"){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{});for(let n of r){let i=this.responseBody.content?.[n];if(i==null)continue;let o=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:t,contentType:this.streamingExtension.format});if(o!=null)return this.convertStreamingResponse({mediaTypeObject:i,convertedSchema:o})}}}}convertNonStreamingResponseBody(){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{}).filter(o=>o.includes("json"));for(let o of r){let s=this.responseBody.content?.[o];if(s==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:s,schemaId:t,contentType:o});if(a!=null&&this.shouldReturnJsonResponse(o))return this.returnJsonResponse({mediaTypeObject:s,convertedSchema:a})}let n=Object.keys(this.responseBody.content??{}).filter(o=>!o.includes("json"));for(let o of n){let s=this.responseBody.content?.[o];if(s==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:s,schemaId:t,contentType:o});if(a!=null){if(this.isBinarySchema(a))return this.shouldReturnBytesResponse()?this.returnBytesResponse({mediaTypeObject:s}):this.returnFileDownloadResponse({mediaTypeObject:s});if(this.shouldReturnTextResponse(o))return this.returnTextResponse({mediaTypeObject:s})}}let i=parseInt(this.statusCode);if(!isNaN(i)&&i>=200&&i<300){let o={schema:{type:"object",description:"Empty response body"}},s=this.parseMediaTypeObject({mediaTypeObject:o,schemaId:t,contentType:"application/json",resolveSchema:!0});if(s!=null)return this.returnJsonResponse({mediaTypeObject:o,convertedSchema:s})}}convertStreamConditionResponse({convertedStreamingSchema:t,convertedNonStreamingSchema:r}){if(t==null||r==null)return;let n=this.responseBody.description;return this.streamingExtension?.type==="streamCondition"&&this.streamingExtension.streamDescription!=null&&(n=this.streamingExtension.streamDescription),{responseBody:nm.json(ES.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:r.schema?.typeDeclaration.v2Examples})),streamResponseBody:nm.streaming(IC.json({docs:n,payload:t.type,terminator:this.streamingExtension?.terminator,v2Examples:t.schema?.typeDeclaration.v2Examples})),inlinedTypes:{...t.inlinedTypes,...r.inlinedTypes},headers:this.convertResponseHeaders()}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:nm.streaming(IC.json({docs:this.responseBody.description,payload:r.type,terminator:this.streamingExtension?.terminator,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()};case"sse":return{responseBody:nm.streaming(IC.sse({docs:this.responseBody.description,payload:r.type,terminator:this.streamingExtension?.terminator,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:nm.json(ES.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()}}returnBytesResponse({mediaTypeObject:t}){return{responseBody:nm.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:nm.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}returnTextResponse({mediaTypeObject:t}){return{responseBody:nm.text({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}isBinarySchema(t){let r=t.type;switch(r.type){case"container":case"named":case"unknown":return!1;case"primitive":return r.primitive.v2==null?!1:r.primitive.v2.type==="string"&&r.primitive.v2.validation?.format==="binary";default:return!1}}shouldConvertAsStreaming(){return this.streamingExtension!=null}shouldReturnJsonResponse(t){return t.includes("json")}shouldReturnBytesResponse(){return this.context.settings.useBytesForBinaryResponse&&this.streamingExtension==null}shouldReturnTextResponse(t){return GA.parse(t)?.isText()??!1}convertResponseHeaders(){let t=[],r=this.responseBody.headers;if(r==null)return t;for(let[n,i]of Object.entries(r)){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[...this.breadcrumbs,"headers",n]});if(o==null)continue;let s=o.schema,a=ds.OPTIONAL_STRING;if(s!=null){let u=this.context.resolveMaybeReference({schemaOrReference:s,breadcrumbs:[...this.breadcrumbs,"headers",n,"schema"]});u!=null&&(u.type==="number"||u.type==="integer"?a=Bn.primitive({v1:u.type==="integer"?"INTEGER":"DOUBLE",v2:u.type==="integer"?io.integer({default:void 0,validation:void 0}):io.double({default:void 0,validation:void 0})}):u.type==="boolean"&&(a=Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})})))}let c=this.convertHeaderExamples({header:o,headerName:n,schema:s});t.push({name:this.context.casingsGenerator.generateNameAndWireValue({name:n,wireValue:n}),docs:o.description,valueType:a,env:void 0,v2Examples:c,availability:void 0})}return t}convertHeaderExamples({header:t,headerName:r,schema:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t.example,s=t.examples;for(let[a,c]of Object.entries(s??{})){let u=this.context.resolveExampleWithValue(c);u!=null&&(i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:u}))}if(o!=null){let a=this.context.generateUniqueName({prefix:`${r}_example`,existingNames:Object.keys(i.userSpecifiedExamples)});i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:o})}if(Object.keys(i.userSpecifiedExamples).length===0&&n!=null){let a=`${r}_example`;i.autogeneratedExamples[a]=this.generateHeaderExample({schema:n,example:void 0,ignoreErrors:!0})}return i}generateHeaderExample({schema:t,example:r,ignoreErrors:n}){if(t==null)return r;let i=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:o,errors:s}=i.convert();return n||s.forEach(a=>{this.context.errorCollector.collect({message:a.message,path:a.path})}),o}};var CCn=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{responseError;statusCode;methodName;isWildcardStatusCode;constructor({context:t,breadcrumbs:r,responseError:n,group:i,method:o,methodName:s,statusCode:a,isWildcardStatusCode:c}){super({context:t,breadcrumbs:r,group:i,method:o}),this.responseError=n,this.statusCode=a,this.methodName=s,this.isWildcardStatusCode=c}convert(){if(!this.responseError.content){let n=this.getErrorNameForStatusCode(this.statusCode,this.isWildcardStatusCode);if(n==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let i=this.getErrorIdFromErrorName(n);return{error:{error:{name:this.context.casingsGenerator.generateName(i),fernFilepath:{allParts:[],packagePath:[],file:void 0},errorId:i},docs:this.responseError.description},errorType:Bn.unknown(),displayName:n,statusCode:this.statusCode,isWildcardStatusCode:this.isWildcardStatusCode,inlinedTypes:{},examples:{},headers:this.convertResponseHeaders()}}let t=Object.keys(this.responseError.content).filter(n=>n.includes("json")),r=this.getErrorNameForStatusCode(this.statusCode,this.isWildcardStatusCode);if(r==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}for(let n of[...t]){let i=this.responseError.content?.[n];if(i==null)continue;let o=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:xel(`${this.methodName}Request${r}`),contentType:n});if(o==null)continue;let s=this.getErrorIdFromErrorName(r);if(o.schema!=null)return this.constructErrorConverterOutput({errorName:r,errorId:s,fernFilepath:o.schema.typeDeclaration.name.fernFilepath,convertedSchema:o,mediaTypeObject:i});if(o.type.type==="named")return this.constructErrorConverterOutput({errorName:r,errorId:s,fernFilepath:o.type.fernFilepath,convertedSchema:o,mediaTypeObject:i})}}constructErrorConverterOutput({errorName:t,errorId:r,fernFilepath:n,convertedSchema:i,mediaTypeObject:o}){return{error:{error:{name:this.context.casingsGenerator.generateName(r),fernFilepath:n,errorId:r},docs:this.responseError.description},errorType:i.type,displayName:t,statusCode:this.statusCode,isWildcardStatusCode:this.isWildcardStatusCode,inlinedTypes:i.inlinedTypes,examples:this.convertErrorExamples({mediaTypeObject:o}),headers:this.convertResponseHeaders()}}convertErrorExamples({mediaTypeObject:t}){let r=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_error_example`});if(r.length===0)return;let n=new Set,i={};for(let[o,s]of r){let a=this.context.resolveExampleWithValue(s),c=this.context.resolveExampleRecursively({example:s,breadcrumbs:this.breadcrumbs}),u=this.getIdForErrorExample({key:o,example:c,usedExampleNames:n});n.add(u),a!=null&&(i[u]=a)}return Object.keys(i).length>0?i:void 0}getIdForErrorExample({key:t,example:r,usedExampleNames:n}){if(this.context.isExampleWithSummary(r)){let i=r.summary;if(!n.has(i))return i;let o=`${i} (${t})`;return n.has(o)?t:o}return t}getErrorNameForStatusCode(t,r){if(r){if(t===400)return"ClientRequestError";if(t===500)return"ServerError"}return cCn[t]}getErrorIdFromErrorName(t){return this.context.enableUniqueErrorsPerEndpoint?xel(`${this.methodName}Request${t}`):t}convertResponseHeaders(){let t=[],r=this.responseError.headers;if(r==null)return t;for(let[n,i]of Object.entries(r)){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[...this.breadcrumbs,"headers",n]});if(o==null)continue;let s=o.schema,a=ds.OPTIONAL_STRING;if(s!=null){let u=this.context.resolveMaybeReference({schemaOrReference:s,breadcrumbs:[...this.breadcrumbs,"headers",n,"schema"]});u!=null&&(u.type==="number"||u.type==="integer"?a=Bn.primitive({v1:u.type==="integer"?"INTEGER":"DOUBLE",v2:u.type==="integer"?io.integer({default:void 0,validation:void 0}):io.double({default:void 0,validation:void 0})}):u.type==="boolean"&&(a=Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})})))}let c=this.convertHeaderExamples({header:o,headerName:n,schema:s});t.push({name:this.context.casingsGenerator.generateNameAndWireValue({name:n,wireValue:n}),docs:o.description,valueType:a,env:void 0,v2Examples:c,availability:void 0})}return t}convertHeaderExamples({header:t,headerName:r,schema:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t.example,s=t.examples;for(let[a,c]of Object.entries(s??{})){let u=this.context.resolveExampleWithValue(c);u!=null&&(i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:u}))}if(o!=null){let a=this.context.generateUniqueName({prefix:`${r}_example`,existingNames:Object.keys(i.userSpecifiedExamples)});i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:o})}if(Object.keys(i.userSpecifiedExamples).length===0&&n!=null){let a=`${r}_example`;i.autogeneratedExamples[a]=this.generateHeaderExample({schema:n,example:void 0,ignoreErrors:!0})}return i}generateHeaderExample({schema:t,example:r,ignoreErrors:n}){if(t==null)return r;let i=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:o,errors:s}=i.convert();return n||s.forEach(a=>{this.context.errorCollector.collect({message:a.message,path:a.path})}),o}};function xel(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var SCn=class e extends hUt{idempotent;idToAuthScheme;topLevelServers;pathLevelServers;streamingExtension;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o,idempotent:s,idToAuthScheme:a,topLevelServers:c,pathLevelServers:u,streamingExtension:l}){super({context:t,breadcrumbs:r,operation:n,method:i,path:o}),this.idempotent=s,this.idToAuthScheme=a,this.topLevelServers=c,this.pathLevelServers=u,this.streamingExtension=l}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:n}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),i=this.getGroupDisplayName(r),{headers:o,pathParameters:s,queryParameters:a}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),c=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:n,streamingExtension:this.streamingExtension,queryParameters:a}),u=c?.[0]?.requestBody,l=c?.[0]?.streamRequestBody,p={requestBodies:c?.map(ee=>ee.requestBody)},m=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:n,streamingExtension:this.streamingExtension}),f=m?.response,h=m?.streamResponse,y=m!=null?m.errors:[],g={},A=y.map(ee=>ee.error),b=JP(this.path),v=this.getEndpointBaseUrl(),_=this.getEndpointBaseUrls(),E=this.convertExamples({httpPath:b,httpMethod:t,baseUrl:v}),O=new Set(this.operation.security?.flatMap(ee=>Object.keys(ee))??[]),P=this.authSchemeToHeaders(Array.from(O));P.length>0&&o.push(...P);for(let ee of y){let Ge=ee.error,Je=ee.errorType,J=Ge.error.errorId,K=ee.examples;g[J]={name:Ge.error,displayName:ee.displayName,discriminantValue:{name:Ge.error.name,wireValue:J},type:Je,statusCode:ee.statusCode,isWildcardStatusCode:ee.isWildcardStatusCode,docs:Ge.docs,examples:[],v2Examples:{userSpecifiedExamples:K??{},autogeneratedExamples:{}},headers:ee.headers}}let x=this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],F=new vSr({context:this.context,breadcrumbs:this.breadcrumbs,document:this.context.spec}).convert(),G=new vSr({context:this.context,breadcrumbs:this.breadcrumbs,document:this.operation}).convert()??F,re={displayName:this.operation.summary,method:t,baseUrl:v,v2BaseUrls:_,path:b,pathParameters:s,queryParameters:a,headers:o.filter((ee,Ge,Je)=>Ge===Je.findIndex(J=>J.name.wireValue===ee.name.wireValue)),responseHeaders:m?.responseHeaders,sdkRequest:void 0,errors:A,auth:this.computeEndpointAuth(),security:this.computeEndpointSecurity(),availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),userSpecifiedExamples:[],autogeneratedExamples:[],idempotent:this.idempotent??!1,basePath:void 0,fullPath:b,allPathParameters:s,pagination:void 0,transport:void 0,source:p2.openapi(),audiences:x,retries:void 0,apiPlayground:G},oe=this.context.namespace!=null?[this.context.namespace]:[],H=r?.map(ee=>eo(ee));return oe.push(...H??[]),{audiences:x,group:r,groupDisplayName:i,errors:g,endpoint:{...re,id:`endpoint_${oe.join("/")}.${n}`,name:this.context.casingsGenerator.generateName(n),requestBody:u,v2RequestBodies:p,response:f,docs:this.operation.description,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:E.examples},v2Responses:{responses:m?.v2Responses}},streamEndpoint:h!=null&&h.body!=null?{...re,id:`endpoint_${oe.join("/")}.${n}_stream`,name:this.context.casingsGenerator.generateName(`${n}_stream`),requestBody:l,v2RequestBodies:void 0,response:h,docs:this.streamingExtension?.type==="streamCondition"?this.streamingExtension.streamDescription??this.operation.description:this.operation.description,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:E.streamExamples},v2Responses:{responses:[{statusCode:200,isWildcardStatusCode:void 0,body:h.body,docs:h.docs}]}}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??this.pathLevelServers??[])}}convertResponseBody({breadcrumbs:t,group:r,method:n,streamingExtension:i}){if(this.operation.responses==null)return;let o,s=!1;for(let[a,c]of Object.entries(this.operation.responses)){let u=/^[45]XX$/i.test(a),l,p=!1;if(u)l=parseInt(a.charAt(0))*100,p=!0;else{if(l=parseInt(a),isNaN(l)||l<200||l>=300&&l<400)continue;p=l>=400&&l<600}if(o==null&&(o={response:void 0,v2Responses:void 0,streamResponse:void 0,errors:[],examples:{},responseHeaders:[]}),l>=200&&l<300){let m=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:[...t,a]});if(m==null)continue;let h=new ESr({context:this.context,breadcrumbs:[...t,a],responseBody:m,group:r??[],method:n,statusCode:a,streamingExtension:i}).convert();h!=null&&(this.inlinedTypes={...this.inlinedTypes,...h.inlinedTypes},s||(s=!0,o.response={statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.responseBody,docs:m.description},o.streamResponse={statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.streamResponseBody,docs:m.description},h.headers!=null&&(o.responseHeaders=h.headers)),o.v2Responses=[...o.v2Responses??[],{statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.responseBody,docs:m.description}])}if(p){let m=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:[...t,a]});if(m==null)continue;let h=new CCn({context:this.context,breadcrumbs:[...t,a],responseError:m,group:r??[],method:n,methodName:this.evaluateMethodNameFromOperation(),statusCode:l,isWildcardStatusCode:u?!0:void 0}).convert();h!=null&&(this.inlinedTypes={...this.inlinedTypes,...h.inlinedTypes},o.errors.push(h))}}if(this.streamingExtension!=null){o==null&&(o={response:void 0,v2Responses:void 0,streamResponse:void 0,errors:[],examples:{},responseHeaders:[]});let c=new ESr({context:this.context,breadcrumbs:[...t,"stream"],responseBody:{description:""},group:r??[],method:n,statusCode:"stream",streamingExtension:i}).convert();c!=null&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},o.response={statusCode:200,isWildcardStatusCode:void 0,body:c.responseBody,docs:void 0},o.streamResponse={statusCode:200,isWildcardStatusCode:void 0,body:c.streamResponseBody,docs:void 0},o.v2Responses=[{statusCode:200,isWildcardStatusCode:void 0,body:c.responseBody,docs:void 0}])}return o}computeEndpointAuth(){return this.operation.security!=null&&this.operation.security.length===0?!1:this.operation.security!=null&&this.operation.security.length>0?!0:this.context.spec.security!=null&&this.context.spec.security.length>0||this.shouldApplyDefaultAuthOverrides()}computeEndpointSecurity(){return this.operation.security!=null&&this.operation.security.length===0?[]:this.context.authOverrides?.auth!=null?this.getDefaultSecurityFromAuthOverrides():this.operation.security??this.context.spec.security}shouldApplyDefaultAuthOverrides(){if(!this.context.authOverrides?.auth)return!1;let t=this.context.spec.security!=null&&this.context.spec.security.length>0,r=this.operation.security!=null&&this.operation.security.length>0;return!(t||r)}getDefaultSecurityFromAuthOverrides(){if(!this.context.authOverrides?.auth)return;let t=this.context.authOverrides.auth;if(typeof t=="string"){let r={};return r[t]=[],[r]}if(typeof t=="object"&&"any"in t){let r=t.any;if(Array.isArray(r))return r.map(n=>{let i=typeof n=="string"?n:n.scheme,o={};return o[i]=[],o})}}authSchemeToHeaders(t){let r=[];for(let n of t){let i=this.idToAuthScheme?.[n];if(i==null)continue;let o={valueType:ds.STRING,availability:void 0,docs:void 0,env:void 0,v2Examples:void 0};switch(i.type){case"bearer":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...o});break;case"basic":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...o});break;case"header":r.push({name:i.name,...o});break}}return r}convertExamples({httpPath:t,httpMethod:r,baseUrl:n}){let o=new PCn({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation,baseDir:this.context.documentBaseDir}).convert()??[],a=new wCn({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation,baseDir:this.context.documentBaseDir}).convert()??[],u=o.some(l=>Array.isArray(l["code-samples"])&&l["code-samples"].length>0)?o:[...o,...a];return u.length===0?{examples:{},streamExamples:{}}:this.streamingExtension?.type==="streamCondition"?this.convertStreamConditionExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:u}):{examples:this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:u}),streamExamples:{}}}convertStreamConditionExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:i}){let o=i.filter(u=>!(u.response!=null&&"stream"in u.response)),s=i.filter(u=>u.response!=null&&"stream"in u.response),a=this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:o}),c=this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:s});return{examples:a,streamExamples:c}}convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:i}){return Object.fromEntries(i.map((o,s)=>[this.getExampleName({example:o,exampleIndex:s}),{displayName:void 0,request:o.request!=null||o["path-parameters"]!=null||o["query-parameters"]!=null||o.headers!=null?{docs:void 0,endpoint:{method:r,path:this.buildExamplePath(t,o["path-parameters"]??{})},baseUrl:void 0,environment:n,auth:void 0,pathParameters:o["path-parameters"]??{},queryParameters:o["query-parameters"]??{},headers:o.headers??{},requestBody:o.request??void 0}:void 0,response:o.response!=null?{docs:void 0,statusCode:void 0,body:this.getExampleResponseBody({example:o})}:void 0,codeSamples:o["code-samples"]?.map(a=>{let c=("language"in a?a.language:a.sdk)??void 0;return{name:a.name,docs:void 0,language:c,code:a.code}})}]))}getExampleName({example:t,exampleIndex:r}){return t.name??t["code-samples"]?.[0]?.name??`Example_${r}`}getExampleResponseBody({example:t}){if(t.response!=null){if("stream"in t.response)return _r.V2HttpEndpointResponseBody.stream(t.response.stream);if("body"in t.response)return _r.V2HttpEndpointResponseBody.json(t.response.body)}}getEndpointBaseUrl(){let r=new h1.ServerFromOperationNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert();if(r!=null)return this.context.logger.debug(`[getEndpointBaseUrl] Endpoint ${this.method.toUpperCase()} ${this.path} specifies a server with "${wi.SERVER_NAME_V2}" extension. Returning server type: ${r}`),r;let n=this.operation.servers?.[0]??this.pathLevelServers?.[0];if(n==null)return;let o=this.topLevelServers?.find(s=>s.url===n.url)??n;return L9.getServerName({server:o,context:this.context})}getEndpointBaseUrls(){let t=this.operation.servers??this.pathLevelServers;return t?.map(n=>{let o=this.topLevelServers?.find(s=>s.url===n.url)??n;return L9.getServerName({server:o,context:this.context})})}buildExamplePath(t,r){return t.head+t.parts.map(n=>`${r[n.pathParameter]?.toString()??n.pathParameter}${n.tail}`).join("")}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers?.some(n=>n.url===r.url))}getGroupDisplayName(t){let r=this.operation.tags?.[0];r!=null&&(r=this.context.getDisplayNameForTag(r));let n=t?.[t.length-1];if(n!=null&&r!=null)return r.toLowerCase().replaceAll(" ","")===n?r:void 0}};var jCn=class extends ds{pathItem;path;idToAuthScheme;topLevelServers;constructor({context:t,breadcrumbs:r,pathItem:n,path:i,idToAuthScheme:o,topLevelServers:s}){super({context:t,breadcrumbs:r}),this.pathItem=n,this.path=i,this.idToAuthScheme=o,this.topLevelServers=s}convert(){let t=[],r=[],n={};for(let i of Eel){let o=this.pathItem[i];if(o==null)continue;let s=[...this.breadcrumbs,i],a=this.tryParseAsWebhook({operationBreadcrumbs:s,operation:o,method:i,context:this.context});if(a!=null){r.push(a),Object.assign(n,a.inlinedTypes);continue}let u=new ECn({breadcrumbs:s,operation:o,context:this.context}).convert(),l=this.tryParseAsHttpEndpoint({operationBreadcrumbs:s,operation:o,method:i,streamingExtension:u});l!=null&&(t.push(l),Object.assign(n,l.inlinedTypes))}return{endpoints:t,webhooks:r,inlinedTypes:n}}tryParseAsWebhook({operation:t,method:r,operationBreadcrumbs:n,context:i}){return new OCn({breadcrumbs:n,operation:t,context:i}).convert()?new yUt({context:this.context,breadcrumbs:n,operation:t,method:XVs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:n,streamingExtension:i}){new vCn({breadcrumbs:n,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let c=new _Cn({breadcrumbs:n,operation:t,context:this.context}).convert();return new SCn({context:this.context,breadcrumbs:n,operation:t,method:XVs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:c,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers,pathLevelServers:this.pathItem.servers,streamingExtension:i}).convert()}};var BCn=class extends ds{securityScheme;schemeId;constructor({context:t,breadcrumbs:r,securityScheme:n,schemeId:i}){super({context:t,breadcrumbs:r}),this.securityScheme=n,this.schemeId=i}getExtension(t){return this.securityScheme[t]}convert(){switch(this.securityScheme.type){case"http":{if(this.securityScheme.scheme?.toLowerCase()==="bearer"){let t=this.getExtension("x-fern-bearer"),r=t?.name??"token",n=t?.env;return nv.bearer({key:this.schemeId,token:this.context.casingsGenerator.generateName(r),tokenEnvVar:n,docs:this.securityScheme.description})}if(this.securityScheme.scheme?.toLowerCase()==="basic"){let t=this.getExtension("x-fern-basic"),r=t?.username?.name??"username",n=t?.password?.name??"password",i=t?.username?.env,o=t?.password?.env;return nv.basic({key:this.schemeId,username:this.context.casingsGenerator.generateName(r),password:this.context.casingsGenerator.generateName(n),usernameEnvVar:i,passwordEnvVar:o,usernameOmit:!1,passwordOmit:!1,docs:this.securityScheme.description})}break}case"apiKey":{if(this.securityScheme.in==="header"){let t=this.getExtension("x-fern-header"),r=t?.name??"apiKey",n=t?.env,i=t?.prefix;return nv.header({key:this.schemeId,name:{name:this.context.casingsGenerator.generateName(r),wireValue:this.securityScheme.name},valueType:ds.OPTIONAL_STRING,prefix:i,headerEnvVar:n,docs:this.securityScheme.description})}break}case"oauth2":return nv.bearer({key:this.schemeId,token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var OSr=class extends Jce{constructor({breadcrumbs:t,context:r,audiences:n}){super({breadcrumbs:t,context:r,audiences:n})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.overrideOpenApiAuthWithGeneratorsAuth(),this.convertSecuritySchemes(),this.convertGlobalHeaders(),this.convertBasePath(),this.convertSchemas(),this.convertWebhooks();let{endpointLevelServers:t,errors:r}=this.convertPaths();this.addErrorsToIr(r);let{defaultUrl:n}=this.convertServers({endpointLevelServers:t});this.updateEndpointsWithDefaultUrl(n);let i=this.context.spec.info?.title?.trim();return i&&i!=='""'&&(this.ir.apiDisplayName=i),this.finalizeIr()}convertGlobalHeaders(){this.context.globalHeaderOverrides;let r=new gCn({breadcrumbs:["x-fern-global-headers"],document:this.context.spec,context:this.context}).convert();if(r!=null){let n=_el({globalHeaders:r,context:this.context});this.addGlobalHeadersToIr(n),this.context.setGlobalHeaders(n)}}convertBasePath(){let r=new yCn({breadcrumbs:["x-fern-base-path"],document:this.context.spec,context:this.context}).convert();r!=null&&(this.ir.basePath=JP(r))}convertSecuritySchemes(){if(this.context.authOverrides){let r=v2s({rawApiFileSchema:this.context.authOverrides,casingsGenerator:this.context.casingsGenerator});this.addAuthToIR({requirement:r.requirement,schemes:r.schemes,docs:r.docs});return}let t=this.convertOpenApiSecuritySchemes();t.length>0&&this.addAuthToIR({requirement:t.length===1?"ALL":"ANY",schemes:t,docs:void 0})}convertOpenApiSecuritySchemes(){let t=[];for(let[r,n]of Object.entries(this.context.spec.components?.securitySchemes??{})){let i=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:["components","securitySchemes",r]});if(i==null)continue;let s=new BCn({context:this.context,breadcrumbs:["components","securitySchemes",r],securityScheme:i,schemeId:r}).convert();s!=null&&t.push(s)}return t}convertServers({endpointLevelServers:t}){if(this.context.environmentOverrides){let i=iCr({rawApiFileSchema:this.context.environmentOverrides,casingsGenerator:this.context.casingsGenerator});return i!=null&&this.addEnvironmentsToIr({environmentConfig:i.environmentsConfig,audiences:i.audiences}),{defaultUrl:this.context.environmentOverrides["default-url"]}}let n=new L9({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:n?.value}),{defaultUrl:n?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let i=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();i!=null&&this.addSchemaOutputToIr(t,i)}}convertWebhooks(){for(let[,t]of Object.entries(this.context.spec.webhooks??{})){if(t==null){this.context.errorCollector.collect({message:"Skipping empty webhook",path:this.breadcrumbs});continue}if(!("post"in t)){this.context.errorCollector.collect({message:"Skipping webhook as it is not a POST method",path:this.breadcrumbs});continue}if(t.post?.operationId==null){this.context.errorCollector.collect({message:"Skipping webhook as no operationId is present",path:this.breadcrumbs});continue}let r=t.post.operationId,i=new yUt({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:Pel.OpenAPIV3.HttpMethods.POST,path:r}).convert();i!=null&&(this.addWebhookToIr({webhook:i.webhook,operationId:r,audiences:i.audiences,group:i.group}),this.addTypesToIr(i.inlinedTypes))}}convertPaths(){let t=[],r={};for(let[n,i]of Object.entries(this.context.spec.paths??{})){if(i==null)continue;let s=new jCn({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:i,path:n}).convert();if(s!=null){for(let a of s.endpoints){if(a.streamEndpoint!=null&&this.addEndpointToIr({endpoint:a.streamEndpoint,audiences:a.audiences,endpointGroup:a.group,endpointGroupDisplayName:a.groupDisplayName}),this.addEndpointToIr({endpoint:a.endpoint,audiences:a.audiences,endpointGroup:a.group,endpointGroupDisplayName:a.groupDisplayName}),a.servers)for(let c of a.servers)this.shouldAddServerToCollectedServers({server:c,currentServers:t})&&t.push(c);if(a.errors)for(let[c,u]of Object.entries(a.errors))r[c]=u}for(let a of s.webhooks){let c=this.context.getGroup({groupParts:a.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:a.webhook,operationId:c.join("."),group:c,audiences:a.audiences})}this.addTypesToIr(s.inlinedTypes)}}return{endpointLevelServers:t,errors:r}}overrideOpenApiAuthWithGeneratorsAuth(){if(!this.context.authOverrides?.["auth-schemes"])return;this.context.spec.components||(this.context.spec.components={}),this.context.spec.components.securitySchemes={};let t={};for(let r of Object.keys(this.context.authOverrides["auth-schemes"]))this.context.spec.components.securitySchemes[r]={type:"http",scheme:"bearer"},t[r]=[];this.context.spec.security=[t],this.removeEndpointSpecificAuth()}removeEndpointSpecificAuth(){if(this.context.spec.paths)for(let t of Object.values(this.context.spec.paths)){if(!t)continue;let r=["get","post","put","patch","delete","options","head","trace"];for(let n of r){let i=t[n];i?.security&&delete i.security}}}};var TCn=class extends ll{tag;key="x-displayName";constructor({breadcrumbs:t,tag:r,context:n}){super({breadcrumbs:t,context:n}),this.tag=r}convert(){if(typeof this.tag!="object"||this.tag==null)return;let t=this.tag[this.key];if(t!=null){if(typeof t!="string"){this.context.errorCollector.collect({message:"x-displayName extension must be a string",path:this.breadcrumbs});return}if(t.trim().length!==0)return{displayName:t}}}};var H2e=class extends aP{globalHeaderNames;tagToDisplayName={};isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o=this.getTypeIdFromSchemaReference(t);if(o==null)return{ok:!1};let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;i==="reference_identifier"?a=n??s.value.title:i==="discriminator_key"?a=s.value.title??n:i==="schema_identifier"&&(a=s.value.title);let c;if(o.includes("/")){let l=new zb.SchemaConverters.SchemaConverter({context:this,breadcrumbs:r??[],schema:s.value,id:o}).convert();l!=null&&(c={[o]:l.convertedSchema})}return{ok:!0,reference:Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(o),typeId:o,default:void 0,inline:!1,displayName:a}),inlinedTypes:c}}setGlobalHeaders(t){this.globalHeaderNames=t.map(r=>r.name.wireValue)}getDisplayNameForTag(t){if(Object.keys(this.tagToDisplayName).length===0)for(let r of this.spec.tags??[]){let i=new TCn({breadcrumbs:["tags",r.name],tag:r,context:this}).convert()?.displayName??r.name;this.tagToDisplayName[r.name]=i}return this.tagToDisplayName[t]??t}};var yMg=$t.object({description:$t.string().optional(),required:$t.boolean().optional(),deprecated:$t.boolean().optional(),allowEmptyValue:$t.boolean().optional(),style:$t.string().optional(),explode:$t.boolean().optional(),allowReserved:$t.boolean().optional(),schema:$t.any().optional(),example:$t.any().optional(),examples:$t.record($t.string(),$t.any()).optional(),content:$t.record($t.string(),$t.any()).optional()}),gMg=yMg.extend({name:$t.string(),in:$t.string()}),AMg=$t.array(gMg),DCn=class extends ll{operation;key="x-fern-parameters";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null)try{return AMg.parse(t)}catch(r){this.context.errorCollector.collect({message:`Failed to parse x-fern-parameters extension: ${r instanceof Error?r.message:String(r)}`,path:this.breadcrumbs});return}}};var RCn=class extends ds{method;pathParameters;queryParameters;headers;topLevelServers;constructor({context:t,breadcrumbs:r,method:n,pathParameters:i=[],queryParameters:o=[],headers:s=[],topLevelServers:a=[]}){super({context:t,breadcrumbs:r}),this.method=n,this.pathParameters=i,this.queryParameters=o,this.headers=s,this.topLevelServers=a}convert(){let t={},r="";for(let u of this.pathParameters)r+=`/{${u.name.originalName}}`;let n=JP(r),i=[];for(let[u,l]of this.method.params.entries()){let p;if(this.context.isReferenceObject(l)){let y=this.context.resolveReference({reference:l});if(y.resolved)p=y.value;else continue}else p=l;let m=[this.method.name,"Param",p.name].join("_"),h=new zb.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"Param",p.name],schemaIdOverride:m,context:this.context,schemaOrReference:p.schema,wrapAsOptional:!p.required}).convert();h!=null&&(i.push({docs:p.description,availability:this.context.getAvailability({node:l,breadcrumbs:[...this.breadcrumbs,"parameters"]}),name:this.context.casingsGenerator.generateNameAndWireValue({name:p.name,wireValue:p.name}),valueType:h.type,v2Examples:h.schema?.typeDeclaration.v2Examples,propertyAccess:void 0}),t={...h.inlinedTypes,...t,...h.schema!=null?{[m]:h.schema}:{}})}let o;if(this.method.result!=null){let u=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(u!=null){let l=new zb.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:u.schema}),p=[this.method.name,"Result"].join("_"),m=l.convert();m!=null&&(o={docs:u.description,v2Examples:m.schema?.typeDeclaration.v2Examples,responseBodyType:m.type},t={...m.inlinedTypes,...t,...m.schema!=null?{[p]:m.schema}:{}})}}let s=this.getEndpointBaseUrls(),a=this.context.getAudiences({operation:this.method,breadcrumbs:this.breadcrumbs})??[];return{endpoint:{baseUrl:void 0,v2BaseUrls:s,basePath:void 0,auth:!1,security:void 0,method:"POST",id:this.method.name,docs:this.method.description,name:this.context.casingsGenerator.generateName(this.method.name),headers:this.headers,displayName:this.method.name,pathParameters:this.pathParameters,queryParameters:this.queryParameters,allPathParameters:this.pathParameters,path:n,fullPath:n,requestBody:i.length>0?Sb.inlinedRequestBody({name:this.context.casingsGenerator.generateName([this.method.name,"Request"].join("_")),docs:void 0,properties:i,extends:[],extendedProperties:[],contentType:"application/json",extraProperties:!1,v2Examples:void 0}):void 0,v2RequestBodies:void 0,sdkRequest:void 0,response:o!=null?{body:nm.json(ES.response(o)),statusCode:void 0,isWildcardStatusCode:void 0,docs:o.docs}:void 0,v2Responses:void 0,errors:[],idempotent:!1,pagination:void 0,userSpecifiedExamples:[],autogeneratedExamples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples()},transport:void 0,availability:void 0,source:p2.openrpc(),audiences:a,retries:void 0,apiPlayground:void 0,responseHeaders:[]},audiences:a,inlinedTypes:t,servers:this.filterOutTopLevelServers(this.method.servers??[])}}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers.some(n=>n.url===r.url))}getEndpointBaseUrls(){let t=this.method.servers;return t?.map(n=>{if(this.topLevelServers.find(a=>a.name===n.name&&a.url!==n.url)!=null)return n.url;let s=this.topLevelServers.find(a=>a.url===n.url)??n;return L9.getServerName({server:s,context:this.context})})}convertExamples(){let t={},r=0;if(this.method.examples&&this.method.examples.length>0){for(let n of this.method.examples??[]){let i;if(this.context.isReferenceObject(n)){let c=this.context.resolveReference({reference:n});if(c.resolved)i=c.value;else continue}else i=n;let o;if(i.result)if(this.context.isReferenceObject(i.result)){let c=this.context.resolveReference({reference:i.result});c.resolved&&(o=c.value)}else o=i.result;let s=i.name??`Example ${r+1}`,a=[];if(i.params&&Array.isArray(i.params)){a=[];for(let c of i.params)if(this.context.isReferenceObject(c)){let u=this.context.resolveReference({reference:c});if(u.resolved)a.push(u.value);else continue}else a.push(c)}t[s]={displayName:void 0,request:{docs:void 0,endpoint:{method:"POST",path:"/{apiKey}"},baseUrl:void 0,environment:void 0,auth:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:a.map(c=>c.value)??void 0},response:{docs:void 0,statusCode:void 0,body:o?.value?_r.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:i.examplePairedRequest?.id||"1",result:o.value}):void 0},codeSamples:[]}}++r}return t}};var FCn=class extends zb.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r,parameter:n})}convert(){let t,r={};if(this.parameter.schema!=null){let i=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();i!=null&&(t=i.type,r=i.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var wSr=class extends Jce{constructor({context:t,breadcrumbs:r,audiences:n}){super({context:t,breadcrumbs:r,audiences:n})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.convertSchemas();let{endpointLevelServers:t}=this.convertMethods(),{defaultUrl:r}=this.convertServers({endpointLevelServers:t});return this.updateEndpointsWithDefaultUrl(r),this.finalizeIr()}convertServers({endpointLevelServers:t}){let n=new L9({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:n?.value}),{defaultUrl:n?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let i=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();i!=null&&this.addSchemaOutputToIr(t,i)}}convertMethods(){let t=[],n=new DCn({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],o=[],s=[];if(n&&n.length>0)for(let[c,u]of n.entries()){let p=new FCn({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${c}]`],parameter:u}).convert();if(p!=null)switch(p.type){case"path":{i.push(p.parameter);break}case"query":{o.push(p.parameter);break}case"header":{s.push(p.parameter);break}}}let a=this.context.getGroup({groupParts:[],namespace:this.context.namespace});for(let c of this.context.spec.methods??[]){let u=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:["methods"]});if(u==null)continue;let p=new RCn({context:this.context,breadcrumbs:["methods"],method:u,pathParameters:i,queryParameters:o,headers:s,topLevelServers:this.context.spec.servers}).convert();if(p!=null&&(this.addEndpointToIr({endpoint:p.endpoint,audiences:p.audiences,endpointGroup:a,serviceName:"service_root"}),this.addTypesToIr(p.inlinedTypes),p.servers))for(let m of p.servers)this.shouldAddServerToCollectedServers({server:m,currentServers:t,specType:"openrpc"})&&t.push(this.maybeDeduplicateServerName(m))}return{endpointLevelServers:t}}maybeDeduplicateServerName(t){return this.context.spec.servers?.find(n=>n.name===t.name&&n.url!==t.url)?{...t,name:t.url}:t}};var xSr=class extends aP{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o=this.getTypeIdFromSchemaReference(t);if(o==null)return{ok:!1};let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.title:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.title??n),{ok:!0,reference:Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}};var fnl=require("fs/promises");var Iel=require("fs/promises");async function ZVs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let n=(await(0,Iel.readFile)(t)).toString(),i;try{i=JSON.parse(n)}catch{i=Cn.load(n)}return r!=null?await sUt({absoluteFilePathToOverrides:r,context:e,data:i}):i}var kV=require("fs/promises"),kel=He(require("path"),1),tUs=He(lk(),1);var R_t=require("fs/promises"),Cel=He(lk(),1);function ISr(e){return e.includes("server hosted at that remote is unavailable")||e.includes("fetch failed")||e.includes("failed to connect")||e.includes("network")||e.includes("ENOTFOUND")||e.includes("ETIMEDOUT")||e.includes("TIMEDOUT")||e.includes("timed out")||e.includes("ECONNREFUSED")||e.includes("ECONNRESET")||e.includes("socket hang up")}var PSr,eUs;async function CSr(e,t,r=5e3){return PSr!==void 0?PSr:(eUs==null&&(eUs=bMg(e,t,r)),eUs)}async function bMg(e,t,r){t.debug(`Detecting air-gapped mode by checking connectivity to ${e}`);try{return await fetch(e,{method:"GET",signal:AbortSignal.timeout(r)}),PSr=!1,t.debug("Network check succeeded - not in air-gapped mode"),!1}catch(n){let i=n instanceof Error?n.message:String(n);return ISr(i)?(PSr=!0,t.debug(`Network check failed - entering air-gapped mode: ${i}`),!0):(PSr=!1,!1)}}async function NCn(e,t){let r=Pt(e,Ke.of("buf.lock")),n=!1;try{await(0,R_t.access)(r),n=!0,t.debug(`Found buf.lock at: ${r}`)}catch{t.debug(`No buf.lock found at: ${r}`)}if(!n)return!1;let i=Ar.of((await Cel.default.dir()).path);try{let o=Pt(e,Ke.of("buf.yaml"));try{await(0,R_t.cp)(o,Pt(i,Ke.of("buf.yaml"))),await(0,R_t.cp)(r,Pt(i,Ke.of("buf.lock")))}catch{return!1}try{return await rK(t,"buf",["dep","update"],{cwd:i,stdio:"pipe",timeout:3e4}),t.debug("Network check succeeded - not in air-gapped mode"),!1}catch(s){let a=s instanceof Error?s.message:String(s);return ISr(a)?(t.debug(`Network check failed - entering air-gapped mode: ${a.substring(0,100)}`),!0):!1}}finally{try{await(0,R_t.rm)(i,{recursive:!0,force:!0})}catch{}}}var Sel="buf.gen.yaml",_Mg="output",jel=`${_Mg}/ir.json`,Bel="protoc-gen-fern",Tel=`version: v1
|
|
1554
|
+
`).reduce(Pkg,Object.create(null)),Pkg=(e,t)=>{let r=parseInt(t,10);if(r!==Buffer.byteLength(t)+1)return e;t=t.slice((r+" ").length);let n=t.split("="),i=n.shift();if(!i)return e;let o=i.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),s=n.join("=");return e[o]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(o)?new Date(Number(s)*1e3):/^[0-9]+$/.test(s)?+s:s,e};var Ikg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Od=Ikg!=="win32"?e=>e:e=>e&&e.replace(/\\/g,"/");var GVt=class extends XT{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,r,n){switch(super({}),this.pause(),this.extended=r,this.globalExtended=n,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=Od(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?Od(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,r&&this.#e(r),n&&this.#e(n,!0)}write(t){let r=t.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let n=this.remain,i=this.blockRemain;return this.remain=Math.max(0,n-r),this.blockRemain=Math.max(0,i-r),this.ignore?!0:n>=r?super.write(t):super.write(t.subarray(0,n))}#e(t,r=!1){t.path&&(t.path=Od(t.path)),t.linkpath&&(t.linkpath=Od(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&r))))}};var m_t=(e,t,r,n={})=>{e.file&&(n.file=e.file),e.cwd&&(n.cwd=e.cwd),n.code=r instanceof Error&&r.code||t,n.tarCode=t,!e.strict&&n.recoverable!==!1?(r instanceof Error&&(n=Object.assign(r,n),r=r.message),e.emit("warn",t,r,n)):r instanceof Error?e.emit("error",Object.assign(r,n)):e.emit("error",Object.assign(new Error(`${t}: ${r}`),n))};var Ckg=1024*1024,OMs=Buffer.from([31,139]),wMs=Buffer.from([40,181,47,253]),Skg=Math.max(OMs.length,wMs.length),KK=Symbol("state"),d_t=Symbol("writeEntry"),M2e=Symbol("readEntry"),bMs=Symbol("nextEntry"),kYu=Symbol("processEntry"),Ube=Symbol("extendedHeader"),TCr=Symbol("globalExtendedHeader"),RWe=Symbol("meta"),zYu=Symbol("emitMeta"),Vw=Symbol("buffer"),V2e=Symbol("queue"),FWe=Symbol("ended"),_Ms=Symbol("emittedEnd"),h_t=Symbol("emit"),sB=Symbol("unzip"),aIn=Symbol("consumeChunk"),cIn=Symbol("consumeChunkSub"),vMs=Symbol("consumeBody"),QYu=Symbol("consumeMeta"),MYu=Symbol("consumeHeader"),DCr=Symbol("consuming"),EMs=Symbol("bufferConcat"),uIn=Symbol("maybeEnd"),HVt=Symbol("writing"),NWe=Symbol("aborted"),lIn=Symbol("onDone"),y_t=Symbol("sawValidEntry"),pIn=Symbol("sawNullBlock"),fIn=Symbol("sawEOF"),VYu=Symbol("closeStream"),jkg=()=>!0,U2e=class extends UYu.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[V2e]=[];[Vw];[M2e];[d_t];[KK]="begin";[RWe]="";[Ube];[TCr];[FWe]=!1;[sB];[NWe]=!1;[y_t];[pIn]=!1;[fIn]=!1;[HVt]=!1;[DCr]=!1;[_Ms]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(lIn,()=>{(this[KK]==="begin"||this[y_t]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(lIn,t.ondone):this.on(lIn,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||Ckg,this.filter=typeof t.filter=="function"?t.filter:jkg;let r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:r?void 0:!1;let n=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:n?!0:void 0,this.on("end",()=>this[VYu]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,r,n={}){m_t(this,t,r,n)}[MYu](t,r){this[y_t]===void 0&&(this[y_t]=!1);let n;try{n=new V9(t,r,this[Ube],this[TCr])}catch(i){return this.warn("TAR_ENTRY_INVALID",i)}if(n.nullBlock)this[pIn]?(this[fIn]=!0,this[KK]==="begin"&&(this[KK]="header"),this[h_t]("eof")):(this[pIn]=!0,this[h_t]("nullBlock"));else if(this[pIn]=!1,!n.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:n});else if(!n.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:n});else{let i=n.type;if(/^(Symbolic)?Link$/.test(i)&&!n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:n});else if(!/^(Symbolic)?Link$/.test(i)&&!/^(Global)?ExtendedHeader$/.test(i)&&n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:n});else{let o=this[d_t]=new GVt(n,this[Ube],this[TCr]);if(!this[y_t])if(o.remain){let s=()=>{o.invalid||(this[y_t]=!0)};o.on("end",s)}else this[y_t]=!0;o.meta?o.size>this.maxMetaEntrySize?(o.ignore=!0,this[h_t]("ignoredEntry",o),this[KK]="ignore",o.resume()):o.size>0&&(this[RWe]="",o.on("data",s=>this[RWe]+=s),this[KK]="meta"):(this[Ube]=void 0,o.ignore=o.ignore||!this.filter(o.path,o),o.ignore?(this[h_t]("ignoredEntry",o),this[KK]=o.remain?"ignore":"header",o.resume()):(o.remain?this[KK]="body":(this[KK]="header",o.end()),this[M2e]?this[V2e].push(o):(this[V2e].push(o),this[bMs]())))}}}[VYu](){queueMicrotask(()=>this.emit("close"))}[kYu](t){let r=!0;if(!t)this[M2e]=void 0,r=!1;else if(Array.isArray(t)){let[n,...i]=t;this.emit(n,...i)}else this[M2e]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",()=>this[bMs]()),r=!1);return r}[bMs](){do;while(this[kYu](this[V2e].shift()));if(!this[V2e].length){let t=this[M2e];!t||t.flowing||t.size===t.remain?this[HVt]||this.emit("drain"):t.once("drain",()=>this.emit("drain"))}}[vMs](t,r){let n=this[d_t];if(!n)throw new Error("attempt to consume body without entry??");let i=n.blockRemain??0,o=i>=t.length&&r===0?t:t.subarray(r,r+i);return n.write(o),n.blockRemain||(this[KK]="header",this[d_t]=void 0,n.end()),o.length}[QYu](t,r){let n=this[d_t],i=this[vMs](t,r);return!this[d_t]&&n&&this[zYu](n),i}[h_t](t,r,n){!this[V2e].length&&!this[M2e]?this.emit(t,r,n):this[V2e].push([t,r,n])}[zYu](t){switch(this[h_t]("meta",this[RWe]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ube]=DWe.parse(this[RWe],this[Ube],!1);break;case"GlobalExtendedHeader":this[TCr]=DWe.parse(this[RWe],this[TCr],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let r=this[Ube]??Object.create(null);this[Ube]=r,r.path=this[RWe].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let r=this[Ube]||Object.create(null);this[Ube]=r,r.linkpath=this[RWe].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[NWe]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,r,n){if(typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8")),this[NWe])return n?.(),!1;if((this[sB]===void 0||this.brotli===void 0&&this[sB]===!1)&&t){if(this[Vw]&&(t=Buffer.concat([this[Vw],t]),this[Vw]=void 0),t.length<Skg)return this[Vw]=t,n?.(),!0;for(let c=0;this[sB]===void 0&&c<OMs.length;c++)t[c]!==OMs[c]&&(this[sB]=!1);let s=!1;if(this[sB]===!1&&this.zstd!==!1){s=!0;for(let c=0;c<wMs.length;c++)if(t[c]!==wMs[c]){s=!1;break}}let a=this.brotli===void 0&&!s;if(this[sB]===!1&&a)if(t.length<512)if(this[FWe])this.brotli=!0;else return this[Vw]=t,n?.(),!0;else try{new V9(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[sB]===void 0||this[sB]===!1&&(this.brotli||s)){let c=this[FWe];this[FWe]=!1,this[sB]=this[sB]===void 0?new XPn({}):s?new iIn({}):new tIn({}),this[sB].on("data",l=>this[aIn](l)),this[sB].on("error",l=>this.abort(l)),this[sB].on("end",()=>{this[FWe]=!0,this[aIn]()}),this[HVt]=!0;let u=!!this[sB][c?"end":"write"](t);return this[HVt]=!1,n?.(),u}}this[HVt]=!0,this[sB]?this[sB].write(t):this[aIn](t),this[HVt]=!1;let o=this[V2e].length?!1:this[M2e]?this[M2e].flowing:!0;return!o&&!this[V2e].length&&this[M2e]?.once("drain",()=>this.emit("drain")),n?.(),o}[EMs](t){t&&!this[NWe]&&(this[Vw]=this[Vw]?Buffer.concat([this[Vw],t]):t)}[uIn](){if(this[FWe]&&!this[_Ms]&&!this[NWe]&&!this[DCr]){this[_Ms]=!0;let t=this[d_t];if(t&&t.blockRemain){let r=this[Vw]?this[Vw].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t}),this[Vw]&&t.write(this[Vw]),t.end()}this[h_t](lIn)}}[aIn](t){if(this[DCr]&&t)this[EMs](t);else if(!t&&!this[Vw])this[uIn]();else if(t){if(this[DCr]=!0,this[Vw]){this[EMs](t);let r=this[Vw];this[Vw]=void 0,this[cIn](r)}else this[cIn](t);for(;this[Vw]&&this[Vw]?.length>=512&&!this[NWe]&&!this[fIn];){let r=this[Vw];this[Vw]=void 0,this[cIn](r)}this[DCr]=!1}(!this[Vw]||this[FWe])&&this[uIn]()}[cIn](t){let r=0,n=t.length;for(;r+512<=n&&!this[NWe]&&!this[fIn];)switch(this[KK]){case"begin":case"header":this[MYu](t,r),r+=512;break;case"ignore":case"body":r+=this[vMs](t,r);break;case"meta":r+=this[QYu](t,r);break;default:throw new Error("invalid state: "+this[KK])}r<n&&(this[Vw]?this[Vw]=Buffer.concat([t.subarray(r),this[Vw]]):this[Vw]=t.subarray(r))}end(t,r,n){return typeof t=="function"&&(n=t,r=void 0,t=void 0),typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,r)),n&&this.once("finish",n),this[NWe]||(this[sB]?(t&&this[sB].write(t),this[sB].end()):(this[FWe]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[uIn]())),this}};var kWe=e=>{let t=e.length-1,r=-1;for(;t>-1&&e.charAt(t)==="/";)r=t,t--;return r===-1?e:e.slice(0,r)};var Bkg=e=>{let t=e.onReadEntry;e.onReadEntry=t?r=>{t(r),r.resume()}:r=>r.resume()},xMs=(e,t)=>{let r=new Map(t.map(o=>[kWe(o),!0])),n=e.filter,i=(o,s="")=>{let a=s||(0,mIn.parse)(o).root||".",c;if(o===a)c=!1;else{let u=r.get(o);u!==void 0?c=u:c=i((0,mIn.dirname)(o),a)}return r.set(o,c),c};e.filter=n?(o,s)=>n(o,s)&&i(kWe(o)):o=>i(kWe(o))},Tkg=e=>{let t=new U2e(e),r=e.file,n;try{n=g_t.default.openSync(r,"r");let i=g_t.default.fstatSync(n),o=e.maxReadSize||16*1024*1024;if(i.size<o){let s=Buffer.allocUnsafe(i.size),a=g_t.default.readSync(n,s,0,i.size,0);t.end(a===s.byteLength?s:s.subarray(0,a))}else{let s=0,a=Buffer.allocUnsafe(o);for(;s<i.size;){let c=g_t.default.readSync(n,a,0,o,s);if(c===0)break;s+=c,t.write(a.subarray(0,c))}t.end()}}finally{if(typeof n=="number")try{g_t.default.closeSync(n)}catch{}}},Dkg=(e,t)=>{let r=new U2e(e),n=e.maxReadSize||16*1024*1024,i=e.file;return new Promise((s,a)=>{r.on("error",a),r.on("end",s),g_t.default.stat(i,(c,u)=>{if(c)a(c);else{let l=new c_t(i,{readSize:n,size:u.size});l.on("error",a),l.pipe(r)}})})},A_t=Vbe(Tkg,Dkg,e=>new U2e(e),e=>new U2e(e),(e,t)=>{t?.length&&xMs(e,t),e.noResume||Bkg(e)});var MCr=He(require("fs"),1);var Wce=He(require("fs"),1);var jMs=He(require("path"),1);var PMs=(e,t,r)=>(e&=4095,r&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e);var qYu=require("path"),{isAbsolute:Rkg,parse:LYu}=qYu.win32,RCr=e=>{let t="",r=LYu(e);for(;Rkg(e)||r.root;){let n=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":r.root;e=e.slice(n.length),t+=n,r=LYu(e)}return[t,e]};var dIn=["|","<",">","?",":"],IMs=dIn.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),Fkg=new Map(dIn.map((e,t)=>[e,IMs[t]])),Nkg=new Map(IMs.map((e,t)=>[e,dIn[t]])),CMs=e=>dIn.reduce((t,r)=>t.split(r).join(Fkg.get(r)),e),WYu=e=>IMs.reduce((t,r)=>t.split(r).join(Nkg.get(r)),e);var YYu=(e,t)=>t?(e=Od(e).replace(/^\.(\/|$)/,""),kWe(t)+"/"+e):Od(e),kkg=16*1024*1024,HYu=Symbol("process"),$Yu=Symbol("file"),KYu=Symbol("directory"),BMs=Symbol("symlink"),JYu=Symbol("hardlink"),FCr=Symbol("header"),hIn=Symbol("read"),TMs=Symbol("lstat"),yIn=Symbol("onlstat"),DMs=Symbol("onread"),RMs=Symbol("onreadlink"),FMs=Symbol("openfile"),NMs=Symbol("onopenfile"),zWe=Symbol("close"),gIn=Symbol("mode"),kMs=Symbol("awaitDrain"),SMs=Symbol("ondrain"),Lbe=Symbol("prefix"),NCr=class extends XT{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(t,r={}){let n=jCr(r);super(),this.path=Od(t),this.portable=!!n.portable,this.maxReadSize=n.maxReadSize||kkg,this.linkCache=n.linkCache||new Map,this.statCache=n.statCache||new Map,this.preservePaths=!!n.preservePaths,this.cwd=Od(n.cwd||process.cwd()),this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.mtime=n.mtime,this.prefix=n.prefix?Od(n.prefix):void 0,this.onWriteEntry=n.onWriteEntry,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let i=!1;if(!this.preservePaths){let[s,a]=RCr(this.path);s&&typeof a=="string"&&(this.path=a,i=s)}this.win32=!!n.win32||process.platform==="win32",this.win32&&(this.path=WYu(this.path.replace(/\\/g,"/")),t=t.replace(/\\/g,"/")),this.absolute=Od(n.absolute||jMs.default.resolve(this.cwd,t)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path});let o=this.statCache.get(this.absolute);o?this[yIn](o):this[TMs]()}warn(t,r,n={}){return m_t(this,t,r,n)}emit(t,...r){return t==="error"&&(this.#e=!0),super.emit(t,...r)}[TMs](){Wce.default.lstat(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[yIn](r)})}[yIn](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=zkg(t),this.emit("stat",t),this[HYu]()}[HYu](){switch(this.type){case"File":return this[$Yu]();case"Directory":return this[KYu]();case"SymbolicLink":return this[BMs]();default:return this.end()}}[gIn](t){return PMs(t,this.type==="Directory",this.portable)}[Lbe](t){return YYu(t,this.prefix)}[FCr](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new V9({path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,mode:this[gIn](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new DWe({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[KYu](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[FCr](),this.end()}[BMs](){Wce.default.readlink(this.absolute,(t,r)=>{if(t)return this.emit("error",t);this[RMs](r)})}[RMs](t){this.linkpath=Od(t),this[FCr](),this.end()}[JYu](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=Od(jMs.default.relative(this.cwd,t)),this.stat.size=0,this[FCr](),this.end()}[$Yu](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0)return this[JYu](r);this.linkCache.set(t,this.absolute)}if(this[FCr](),this.stat.size===0)return this.end();this[FMs]()}[FMs](){Wce.default.open(this.absolute,"r",(t,r)=>{if(t)return this.emit("error",t);this[NMs](r)})}[NMs](t){if(this.fd=t,this.#e)return this[zWe]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[hIn]()}[hIn](){let{fd:t,buf:r,offset:n,length:i,pos:o}=this;if(t===void 0||r===void 0)throw new Error("cannot read file without first opening");Wce.default.read(t,r,n,i,o,(s,a)=>{if(s)return this[zWe](()=>this.emit("error",s));this[DMs](a)})}[zWe](t=()=>{}){this.fd!==void 0&&Wce.default.close(this.fd,t)}[DMs](t){if(t<=0&&this.remain>0){let i=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[zWe](()=>this.emit("error",i))}if(t>this.remain){let i=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[zWe](()=>this.emit("error",i))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let i=t;i<this.length&&t<this.blockRemain;i++)this.buf[i+this.offset]=0,t++,this.remain++;let r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(r)?this[SMs]():this[kMs](()=>this[SMs]())}[kMs](t){this.once("drain",t)}write(t,r,n){if(typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8")),this.blockRemain<t.length){let i=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",i)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,n)}[SMs](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[zWe](t=>t?this.emit("error",t):this.end());if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[hIn]()}},AIn=class extends NCr{sync=!0;[TMs](){this[yIn](Wce.default.lstatSync(this.absolute))}[BMs](){this[RMs](Wce.default.readlinkSync(this.absolute))}[FMs](){this[NMs](Wce.default.openSync(this.absolute,"r"))}[hIn](){let t=!0;try{let{fd:r,buf:n,offset:i,length:o,pos:s}=this;if(r===void 0||n===void 0)throw new Error("fd and buf must be set in READ method");let a=Wce.default.readSync(r,n,i,o,s);this[DMs](a),t=!1}finally{if(t)try{this[zWe](()=>{})}catch{}}}[kMs](t){t()}[zWe](t=()=>{}){this.fd!==void 0&&Wce.default.closeSync(this.fd),t()}},bIn=class extends XT{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,n={}){return m_t(this,t,r,n)}constructor(t,r={}){let n=jCr(r);super(),this.preservePaths=!!n.preservePaths,this.portable=!!n.portable,this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.onWriteEntry=n.onWriteEntry,this.readEntry=t;let{type:i}=t;if(i==="Unsupported")throw new Error("writing entry that should be ignored");this.type=i,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=n.prefix,this.path=Od(t.path),this.mode=t.mode!==void 0?this[gIn](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:n.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?Od(t.linkpath):void 0,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let o=!1;if(!this.preservePaths){let[a,c]=RCr(this.path);a&&typeof c=="string"&&(this.path=c,o=a)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new V9({path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new DWe({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[Lbe](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lbe](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let s=this.header?.block;if(!s)throw new Error("failed to encode header");super.write(s),t.pipe(this)}[Lbe](t){return YYu(t,this.prefix)}[gIn](t){return PMs(t,this.type==="Directory",this.portable)}write(t,r,n){typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof r=="string"?r:"utf8"));let i=t.length;if(i>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=i,super.write(t,n)}end(t,r,n){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(n=t,r=void 0,t=void 0),typeof r=="function"&&(n=r,r=void 0),typeof t=="string"&&(t=Buffer.from(t,r??"utf8")),n&&this.once("finish",n),t?super.end(t,n):super.end(n),this}},zkg=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported";var _In=class e{tail;head;length=0;static create(t=[]){return new e(t)}constructor(t=[]){for(let r of t)this.push(r)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");let r=t.next,n=t.prev;return r&&(r.prev=n),n&&(n.next=r),t===this.head&&(this.head=r),t===this.tail&&(this.tail=n),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,r}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let r=this.head;t.list=this,t.next=r,r&&(r.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let r=this.tail;t.list=this,t.prev=r,r&&(r.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let r=0,n=t.length;r<n;r++)Mkg(this,t[r]);return this.length}unshift(...t){for(var r=0,n=t.length;r<n;r++)Vkg(this,t[r]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,r=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,r.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,r=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,r.list=void 0,this.length--,t}forEach(t,r){r=r||this;for(let n=this.head,i=0;n;i++)t.call(r,n.value,i,this),n=n.next}forEachReverse(t,r){r=r||this;for(let n=this.tail,i=this.length-1;n;i--)t.call(r,n.value,i,this),n=n.prev}get(t){let r=0,n=this.head;for(;n&&r<t;r++)n=n.next;if(r===t&&n)return n.value}getReverse(t){let r=0,n=this.tail;for(;n&&r<t;r++)n=n.prev;if(r===t&&n)return n.value}map(t,r){r=r||this;let n=new e;for(let i=this.head;i;)n.push(t.call(r,i.value,this)),i=i.next;return n}mapReverse(t,r){r=r||this;var n=new e;for(let i=this.tail;i;)n.push(t.call(r,i.value,this)),i=i.prev;return n}reduce(t,r){let n,i=this.head;if(arguments.length>1)n=r;else if(this.head)i=this.head.next,n=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=0;i;o++)n=t(n,i.value,o),i=i.next;return n}reduceReverse(t,r){let n,i=this.tail;if(arguments.length>1)n=r;else if(this.tail)i=this.tail.prev,n=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let o=this.length-1;i;o--)n=t(n,i.value,o),i=i.prev;return n}toArray(){let t=new Array(this.length);for(let r=0,n=this.head;n;r++)t[r]=n.value,n=n.next;return t}toArrayReverse(){let t=new Array(this.length);for(let r=0,n=this.tail;n;r++)t[r]=n.value,n=n.prev;return t}slice(t=0,r=this.length){r<0&&(r+=this.length),t<0&&(t+=this.length);let n=new e;if(r<t||r<0)return n;t<0&&(t=0),r>this.length&&(r=this.length);let i=this.head,o=0;for(o=0;i&&o<t;o++)i=i.next;for(;i&&o<r;o++,i=i.next)n.push(i.value);return n}sliceReverse(t=0,r=this.length){r<0&&(r+=this.length),t<0&&(t+=this.length);let n=new e;if(r<t||r<0)return n;t<0&&(t=0),r>this.length&&(r=this.length);let i=this.length,o=this.tail;for(;o&&i>r;i--)o=o.prev;for(;o&&i>t;i--,o=o.prev)n.push(o.value);return n}splice(t,r=0,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let i=this.head;for(let s=0;i&&s<t;s++)i=i.next;let o=[];for(let s=0;i&&s<r;s++)o.push(i.value),i=this.removeNode(i);i?i!==this.tail&&(i=i.prev):i=this.tail;for(let s of n)i=Qkg(this,i,s);return o}reverse(){let t=this.head,r=this.tail;for(let n=t;n;n=n.prev){let i=n.prev;n.prev=n.next,n.next=i}return this.head=r,this.tail=t,this}};function Qkg(e,t,r){let n=t,i=t?t.next:e.head,o=new kCr(r,n,i,e);return o.next===void 0&&(e.tail=o),o.prev===void 0&&(e.head=o),e.length++,o}function Mkg(e,t){e.tail=new kCr(t,e.tail,void 0,e),e.head||(e.head=e.tail),e.length++}function Vkg(e,t){e.head=new kCr(t,void 0,e.head,e),e.tail||(e.tail=e.head),e.length++}var kCr=class{list;next;prev;value;constructor(t,r,n,i){this.list=i,this.value=t,r?(r.next=this,this.prev=r):this.prev=void 0,n?(n.prev=this,this.next=n):this.next=void 0}};var qMs=He(require("path"),1);var PIn=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(t,r){this.path=t||"./",this.absolute=r}},XYu=Buffer.alloc(1024),vIn=Symbol("onStat"),zCr=Symbol("ended"),Gce=Symbol("queue"),b_t=Symbol("current"),__t=Symbol("process"),QCr=Symbol("processing"),zMs=Symbol("processJob"),Hce=Symbol("jobs"),QMs=Symbol("jobDone"),EIn=Symbol("addFSEntry"),ZYu=Symbol("addTarEntry"),UMs=Symbol("stat"),LMs=Symbol("readdir"),OIn=Symbol("onreaddir"),wIn=Symbol("pipe"),eXu=Symbol("entry"),MMs=Symbol("entryOpt"),xIn=Symbol("writeEntryClass"),tXu=Symbol("write"),VMs=Symbol("ondrain"),QWe=class extends XT{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[xIn];onWriteEntry;[Gce];[Hce]=0;[QCr]=!1;[zCr]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=Od(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[xIn]=NCr,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new YPn(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new eIn(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new nIn(t.zstd)),!this.zip)throw new Error("impossible");let r=this.zip;r.on("data",n=>super.write(n)),r.on("end",()=>super.end()),r.on("drain",()=>this[VMs]()),this.on("resume",()=>r.resume())}else this.on("drain",this[VMs]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[Gce]=new _In,this[Hce]=0,this.jobs=Number(t.jobs)||4,this[QCr]=!1,this[zCr]=!1}[tXu](t){return super.write(t)}add(t){return this.write(t),this}end(t,r,n){return typeof t=="function"&&(n=t,t=void 0),typeof r=="function"&&(n=r,r=void 0),t&&this.add(t),this[zCr]=!0,this[__t](),n&&n(),this}write(t){if(this[zCr])throw new Error("write after end");return t instanceof GVt?this[ZYu](t):this[EIn](t),this.flowing}[ZYu](t){let r=Od(qMs.default.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let n=new PIn(t.path,r);n.entry=new bIn(t,this[MMs](n)),n.entry.on("end",()=>this[QMs](n)),this[Hce]+=1,this[Gce].push(n)}this[__t]()}[EIn](t){let r=Od(qMs.default.resolve(this.cwd,t));this[Gce].push(new PIn(t,r)),this[__t]()}[UMs](t){t.pending=!0,this[Hce]+=1;let r=this.follow?"stat":"lstat";MCr.default[r](t.absolute,(n,i)=>{t.pending=!1,this[Hce]-=1,n?this.emit("error",n):this[vIn](t,i)})}[vIn](t,r){this.statCache.set(t.absolute,r),t.stat=r,this.filter(t.path,r)?r.isFile()&&r.nlink>1&&t===this[b_t]&&!this.linkCache.get(`${r.dev}:${r.ino}`)&&!this.sync&&this[zMs](t):t.ignore=!0,this[__t]()}[LMs](t){t.pending=!0,this[Hce]+=1,MCr.default.readdir(t.absolute,(r,n)=>{if(t.pending=!1,this[Hce]-=1,r)return this.emit("error",r);this[OIn](t,n)})}[OIn](t,r){this.readdirCache.set(t.absolute,r),t.readdir=r,this[__t]()}[__t](){if(!this[QCr]){this[QCr]=!0;for(let t=this[Gce].head;t&&this[Hce]<this.jobs;t=t.next)if(this[zMs](t.value),t.value.ignore){let r=t.next;this[Gce].removeNode(t),t.next=r}this[QCr]=!1,this[zCr]&&!this[Gce].length&&this[Hce]===0&&(this.zip?this.zip.end(XYu):(super.write(XYu),super.end()))}}get[b_t](){return this[Gce]&&this[Gce].head&&this[Gce].head.value}[QMs](t){this[Gce].shift(),this[Hce]-=1,this[__t]()}[zMs](t){if(!t.pending){if(t.entry){t===this[b_t]&&!t.piped&&this[wIn](t);return}if(!t.stat){let r=this.statCache.get(t.absolute);r?this[vIn](t,r):this[UMs](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let r=this.readdirCache.get(t.absolute);if(r?this[OIn](t,r):this[LMs](t),!t.readdir)return}if(t.entry=this[eXu](t),!t.entry){t.ignore=!0;return}t===this[b_t]&&!t.piped&&this[wIn](t)}}}[MMs](t){return{onwarn:(r,n,i)=>this.warn(r,n,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[eXu](t){this[Hce]+=1;try{return new this[xIn](t.path,this[MMs](t)).on("end",()=>this[QMs](t)).on("error",n=>this.emit("error",n))}catch(r){this.emit("error",r)}}[VMs](){this[b_t]&&this[b_t].entry&&this[b_t].entry.resume()}[wIn](t){t.piped=!0,t.readdir&&t.readdir.forEach(i=>{let o=t.path,s=o==="./"?"":o.replace(/\/*$/,"/");this[EIn](s+i)});let r=t.entry,n=this.zip;if(!r)throw new Error("cannot pipe without source");n?r.on("data",i=>{n.write(i)||r.pause()}):r.on("data",i=>{super.write(i)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,r,n={}){m_t(this,t,r,n)}},v_t=class extends QWe{sync=!0;constructor(t){super(t),this[xIn]=AIn}pause(){}resume(){}[UMs](t){let r=this.follow?"statSync":"lstatSync";this[vIn](t,MCr.default[r](t.absolute))}[LMs](t){this[OIn](t,MCr.default.readdirSync(t.absolute))}[wIn](t){let r=t.entry,n=this.zip;if(t.readdir&&t.readdir.forEach(i=>{let o=t.path,s=o==="./"?"":o.replace(/\/*$/,"/");this[EIn](s+i)}),!r)throw new Error("Cannot pipe without source");n?r.on("data",i=>{n.write(i)}):r.on("data",i=>{super[tXu](i)})}};var Ukg=(e,t)=>{let r=new v_t(e),n=new qVt(e.file,{mode:e.mode||438});r.pipe(n),rXu(r,t)},Lkg=(e,t)=>{let r=new QWe(e),n=new Q2e(e.file,{mode:e.mode||438});r.pipe(n);let i=new Promise((o,s)=>{n.on("error",s),n.on("close",o),r.on("error",s)});return nXu(r,t),i},rXu=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?A_t({file:WMs.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:n=>e.add(n)}):e.add(r)}),e.end()},nXu=async(e,t)=>{for(let r=0;r<t.length;r++){let n=String(t[r]);n.charAt(0)==="@"?await A_t({file:WMs.default.resolve(String(e.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>{e.add(i)}}):e.add(n)}e.end()},qkg=(e,t)=>{let r=new v_t(e);return rXu(r,t),r},Wkg=(e,t)=>{let r=new QWe(e);return nXu(r,t),r},GMs=Vbe(Ukg,Lkg,qkg,Wkg,(e,t)=>{if(!t?.length)throw new TypeError("no paths specified to add to archive")});var lVs=He(require("fs"),1);var _Xu=He(require("assert"),1),uVs=require("crypto"),PA=He(require("fs"),1),aB=He(require("path"),1);var HMs=He(require("fs"),1),Gkg=process.env.__FAKE_PLATFORM__||process.platform,Hkg=Gkg==="win32",{O_CREAT:$kg,O_TRUNC:Kkg,O_WRONLY:Jkg}=HMs.default.constants,iXu=Number(process.env.__FAKE_FS_O_FILENAME__)||HMs.default.constants.UV_FS_O_FILEMAP||0,Ykg=Hkg&&!!iXu,Xkg=512*1024,Zkg=iXu|Kkg|$kg|Jkg,$Ms=Ykg?e=>e<Xkg?Zkg:"w":()=>"w";var VCr=He(require("fs"),1),$Vt=He(require("path"),1),KMs=(e,t,r)=>{try{return VCr.default.lchownSync(e,t,r)}catch(n){if(n?.code!=="ENOENT")throw n}},IIn=(e,t,r,n)=>{VCr.default.lchown(e,t,r,i=>{n(i&&i?.code!=="ENOENT"?i:null)})},ezg=(e,t,r,n,i)=>{if(t.isDirectory())JMs($Vt.default.resolve(e,t.name),r,n,o=>{if(o)return i(o);let s=$Vt.default.resolve(e,t.name);IIn(s,r,n,i)});else{let o=$Vt.default.resolve(e,t.name);IIn(o,r,n,i)}},JMs=(e,t,r,n)=>{VCr.default.readdir(e,{withFileTypes:!0},(i,o)=>{if(i){if(i.code==="ENOENT")return n();if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return n(i)}if(i||!o.length)return IIn(e,t,r,n);let s=o.length,a=null,c=u=>{if(!a){if(u)return n(a=u);if(--s===0)return IIn(e,t,r,n)}};for(let u of o)ezg(e,u,t,r,c)})},tzg=(e,t,r,n)=>{t.isDirectory()&&YMs($Vt.default.resolve(e,t.name),r,n),KMs($Vt.default.resolve(e,t.name),r,n)},YMs=(e,t,r)=>{let n;try{n=VCr.default.readdirSync(e,{withFileTypes:!0})}catch(i){let o=i;if(o?.code==="ENOENT")return;if(o?.code==="ENOTDIR"||o?.code==="ENOTSUP")return KMs(e,t,r);throw o}for(let i of n)tzg(e,i,t,r);return KMs(e,t,r)};var Eq=He(require("fs"),1),oXu=He(require("fs/promises"),1),LCr=He(require("path"),1);var UCr=class extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`),this.path=t,this.code=r}get name(){return"CwdError"}};var MWe=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=r}get name(){return"SymlinkError"}};var rzg=(e,t)=>{Eq.default.stat(e,(r,n)=>{(r||!n.isDirectory())&&(r=new UCr(e,r?.code||"ENOTDIR")),t(r)})},sXu=(e,t,r)=>{e=Od(e);let n=t.umask??18,i=t.mode|448,o=(i&n)!==0,s=t.uid,a=t.gid,c=typeof s=="number"&&typeof a=="number"&&(s!==t.processUid||a!==t.processGid),u=t.preserve,l=t.unlink,p=Od(t.cwd),m=(y,g)=>{y?r(y):g&&c?JMs(g,s,a,A=>m(A)):o?Eq.default.chmod(e,i,r):r()};if(e===p)return rzg(e,m);if(u)return oXu.default.mkdir(e,{mode:i,recursive:!0}).then(y=>m(null,y??void 0),m);let h=Od(LCr.default.relative(p,e)).split("/");XMs(p,h,i,l,p,void 0,m)},XMs=(e,t,r,n,i,o,s)=>{if(!t.length)return s(null,o);let a=t.shift(),c=Od(LCr.default.resolve(e+"/"+a));Eq.default.mkdir(c,r,aXu(c,t,r,n,i,o,s))},aXu=(e,t,r,n,i,o,s)=>a=>{a?Eq.default.lstat(e,(c,u)=>{if(c)c.path=c.path&&Od(c.path),s(c);else if(u.isDirectory())XMs(e,t,r,n,i,o,s);else if(n)Eq.default.unlink(e,l=>{if(l)return s(l);Eq.default.mkdir(e,r,aXu(e,t,r,n,i,o,s))});else{if(u.isSymbolicLink())return s(new MWe(e,e+"/"+t.join("/")));s(a)}}):(o=o||e,XMs(e,t,r,n,i,o,s))},nzg=e=>{let t=!1,r;try{t=Eq.default.statSync(e).isDirectory()}catch(n){r=n?.code}finally{if(!t)throw new UCr(e,r??"ENOTDIR")}},cXu=(e,t)=>{e=Od(e);let r=t.umask??18,n=t.mode|448,i=(n&r)!==0,o=t.uid,s=t.gid,a=typeof o=="number"&&typeof s=="number"&&(o!==t.processUid||s!==t.processGid),c=t.preserve,u=t.unlink,l=Od(t.cwd),p=y=>{y&&a&&YMs(y,o,s),i&&Eq.default.chmodSync(e,n)};if(e===l)return nzg(l),p();if(c)return p(Eq.default.mkdirSync(e,{mode:n,recursive:!0})??void 0);let f=Od(LCr.default.relative(l,e)).split("/"),h;for(let y=f.shift(),g=l;y&&(g+="/"+y);y=f.shift()){g=Od(LCr.default.resolve(g));try{Eq.default.mkdirSync(g,n),h=h||g}catch{let b=Eq.default.lstatSync(g);if(b.isDirectory())continue;if(u){Eq.default.unlinkSync(g),Eq.default.mkdirSync(g,n),h=h||g;continue}else if(b.isSymbolicLink())return new MWe(g,g+"/"+f.join("/"))}}return p(h)};var eVs=require("path");var ZMs=Object.create(null),uXu=1e4,KVt=new Set,lXu=e=>{KVt.has(e)?KVt.delete(e):ZMs[e]=e.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),KVt.add(e);let t=ZMs[e],r=KVt.size-uXu;if(r>uXu/10){for(let n of KVt)if(KVt.delete(n),delete ZMs[n],--r<=0)break}return t};var izg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,ozg=izg==="win32",szg=e=>e.split("/").slice(0,-1).reduce((r,n)=>{let i=r[r.length-1];return i!==void 0&&(n=(0,eVs.join)(i,n)),r.push(n||"/"),r},[]),CIn=class{#e=new Map;#t=new Map;#r=new Set;reserve(t,r){t=ozg?["win32 parallelization disabled"]:t.map(i=>kWe((0,eVs.join)(lXu(i))));let n=new Set(t.map(i=>szg(i)).reduce((i,o)=>i.concat(o)));this.#t.set(r,{dirs:n,paths:t});for(let i of t){let o=this.#e.get(i);o?o.push(r):this.#e.set(i,[r])}for(let i of n){let o=this.#e.get(i);if(!o)this.#e.set(i,[new Set([r])]);else{let s=o[o.length-1];s instanceof Set?s.add(r):o.push(new Set([r]))}}return this.#i(r)}#n(t){let r=this.#t.get(t);if(!r)throw new Error("function does not have any path reservations");return{paths:r.paths.map(n=>this.#e.get(n)),dirs:[...r.dirs].map(n=>this.#e.get(n))}}check(t){let{paths:r,dirs:n}=this.#n(t);return r.every(i=>i&&i[0]===t)&&n.every(i=>i&&i[0]instanceof Set&&i[0].has(t))}#i(t){return this.#r.has(t)||!this.check(t)?!1:(this.#r.add(t),t(()=>this.#o(t)),!0)}#o(t){if(!this.#r.has(t))return!1;let r=this.#t.get(t);if(!r)throw new Error("invalid reservation");let{paths:n,dirs:i}=r,o=new Set;for(let s of n){let a=this.#e.get(s);if(!a||a?.[0]!==t)continue;let c=a[1];if(!c){this.#e.delete(s);continue}if(a.shift(),typeof c=="function")o.add(c);else for(let u of c)o.add(u)}for(let s of i){let a=this.#e.get(s),c=a?.[0];if(!(!a||!(c instanceof Set)))if(c.size===1&&a.length===1){this.#e.delete(s);continue}else if(c.size===1){a.shift();let u=a[0];typeof u=="function"&&o.add(u)}else c.delete(t)}return this.#r.delete(t),o.forEach(s=>this.#i(s)),!0}};var pXu=()=>process.umask();var fXu=Symbol("onEntry"),iVs=Symbol("checkFs"),mXu=Symbol("checkFs2"),oVs=Symbol("isReusable"),JK=Symbol("makeFs"),sVs=Symbol("file"),aVs=Symbol("directory"),jIn=Symbol("link"),dXu=Symbol("symlink"),hXu=Symbol("hardlink"),WCr=Symbol("ensureNoSymlink"),yXu=Symbol("unsupported"),gXu=Symbol("checkPath"),tVs=Symbol("stripAbsolutePath"),VWe=Symbol("mkdir"),cR=Symbol("onError"),SIn=Symbol("pending"),AXu=Symbol("pend"),JVt=Symbol("unpend"),rVs=Symbol("ended"),nVs=Symbol("maybeClose"),cVs=Symbol("skip"),GCr=Symbol("doChown"),HCr=Symbol("uid"),$Cr=Symbol("gid"),KCr=Symbol("checkedCwd"),azg=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,JCr=azg==="win32",czg=1024,uzg=(e,t)=>{if(!JCr)return PA.default.unlink(e,t);let r=e+".DELETE."+(0,uVs.randomBytes)(16).toString("hex");PA.default.rename(e,r,n=>{if(n)return t(n);PA.default.unlink(r,t)})},lzg=e=>{if(!JCr)return PA.default.unlinkSync(e);let t=e+".DELETE."+(0,uVs.randomBytes)(16).toString("hex");PA.default.renameSync(e,t),PA.default.unlinkSync(t)},bXu=(e,t,r)=>e!==void 0&&e===e>>>0?e:t!==void 0&&t===t>>>0?t:r,YVt=class extends U2e{[rVs]=!1;[KCr]=!1;[SIn]=0;reservations=new CIn;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[rVs]=!0,this[nVs]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;t.preserveOwner===void 0&&typeof t.uid!="number"?this.preserveOwner=!!(process.getuid&&process.getuid()===0):this.preserveOwner=!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:czg,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||JCr,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Od(aB.default.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:pXu():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",r=>this[fXu](r))}warn(t,r,n={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(n.recoverable=!1),super.warn(t,r,n)}[nVs](){this[rVs]&&this[SIn]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[tVs](t,r){let n=t[r],{type:i}=t;if(!n||this.preservePaths)return!0;let o=n.split("/");if(o.includes("..")||JCr&&/^[a-z]:\.\.$/i.test(o[0]??"")){if(r==="path"||i==="Link")return this.warn("TAR_ENTRY_ERROR",`${r} contains '..'`,{entry:t,[r]:n}),!1;{let c=aB.default.posix.dirname(t.path),u=aB.default.posix.normalize(aB.default.posix.join(c,n));if(u.startsWith("../")||u==="..")return this.warn("TAR_ENTRY_ERROR",`${r} escapes extraction directory`,{entry:t,[r]:n}),!1}}let[s,a]=RCr(n);return s&&(t[r]=String(a),this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute ${r}`,{entry:t,[r]:n})),!0}[gXu](t){let r=Od(t.path),n=r.split("/");if(this.strip){if(n.length<this.strip)return!1;if(t.type==="Link"){let i=Od(String(t.linkpath)).split("/");if(i.length>=this.strip)t.linkpath=i.slice(this.strip).join("/");else return!1}n.splice(0,this.strip),t.path=n.join("/")}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:r,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this[tVs](t,"path")||!this[tVs](t,"linkpath"))return!1;if(aB.default.isAbsolute(t.path)?t.absolute=Od(aB.default.resolve(t.path)):t.absolute=Od(aB.default.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Od(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:i}=aB.default.win32.parse(String(t.absolute));t.absolute=i+CMs(String(t.absolute).slice(i.length));let{root:o}=aB.default.win32.parse(t.path);t.path=o+CMs(t.path.slice(o.length))}return!0}[fXu](t){if(!this[gXu](t))return t.resume();switch(_Xu.default.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[iVs](t);default:return this[yXu](t)}}[cR](t,r){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:r}),this[JVt](),r.resume())}[VWe](t,r,n){sXu(Od(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:r},n)}[GCr](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[HCr](t){return bXu(this.uid,t.uid,this.processUid)}[$Cr](t){return bXu(this.gid,t.gid,this.processGid)}[sVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=new Q2e(String(t.absolute),{flags:$Ms(t.size),mode:n,autoClose:!1});i.on("error",c=>{i.fd&&PA.default.close(i.fd,()=>{}),i.write=()=>!0,this[cR](c,t),r()});let o=1,s=c=>{if(c){i.fd&&PA.default.close(i.fd,()=>{}),this[cR](c,t),r();return}--o===0&&i.fd!==void 0&&PA.default.close(i.fd,u=>{u?this[cR](u,t):this[JVt](),r()})};i.on("finish",()=>{let c=String(t.absolute),u=i.fd;if(typeof u=="number"&&t.mtime&&!this.noMtime){o++;let l=t.atime||new Date,p=t.mtime;PA.default.futimes(u,l,p,m=>m?PA.default.utimes(c,l,p,f=>s(f&&m)):s())}if(typeof u=="number"&&this[GCr](t)){o++;let l=this[HCr](t),p=this[$Cr](t);typeof l=="number"&&typeof p=="number"&&PA.default.fchown(u,l,p,m=>m?PA.default.chown(c,l,p,f=>s(f&&m)):s())}s()});let a=this.transform&&this.transform(t)||t;a!==t&&(a.on("error",c=>{this[cR](c,t),r()}),t.pipe(a)),a.pipe(i)}[aVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.dmode;this[VWe](String(t.absolute),n,i=>{if(i){this[cR](i,t),r();return}let o=1,s=()=>{--o===0&&(r(),this[JVt](),t.resume())};t.mtime&&!this.noMtime&&(o++,PA.default.utimes(String(t.absolute),t.atime||new Date,t.mtime,s)),this[GCr](t)&&(o++,PA.default.chown(String(t.absolute),Number(this[HCr](t)),Number(this[$Cr](t)),s)),s()})}[yXu](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[dXu](t,r){let n=Od(aB.default.relative(this.cwd,aB.default.resolve(aB.default.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[WCr](t,this.cwd,n,()=>this[jIn](t,String(t.linkpath),"symlink",r),i=>{this[cR](i,t),r()})}[hXu](t,r){let n=Od(aB.default.resolve(this.cwd,String(t.linkpath))),i=Od(String(t.linkpath)).split("/");this[WCr](t,this.cwd,i,()=>this[jIn](t,n,"link",r),o=>{this[cR](o,t),r()})}[WCr](t,r,n,i,o){let s=n.shift();if(this.preservePaths||s===void 0)return i();let a=aB.default.resolve(r,s);PA.default.lstat(a,(c,u)=>{if(c)return i();if(u?.isSymbolicLink())return o(new MWe(a,aB.default.resolve(a,n.join("/"))));this[WCr](t,a,n,i,o)})}[AXu](){this[SIn]++}[JVt](){this[SIn]--,this[nVs]()}[cVs](t){this[JVt](),t.resume()}[oVs](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!JCr}[iVs](t){this[AXu]();let r=[t.path];t.linkpath&&r.push(t.linkpath),this.reservations.reserve(r,n=>this[mXu](t,n))}[mXu](t,r){let n=a=>{r(a)},i=()=>{this[VWe](this.cwd,this.dmode,a=>{if(a){this[cR](a,t),n();return}this[KCr]=!0,o()})},o=()=>{if(t.absolute!==this.cwd){let a=Od(aB.default.dirname(String(t.absolute)));if(a!==this.cwd)return this[VWe](a,this.dmode,c=>{if(c){this[cR](c,t),n();return}s()})}s()},s=()=>{PA.default.lstat(String(t.absolute),(a,c)=>{if(c&&(this.keep||this.newer&&c.mtime>(t.mtime??c.mtime))){this[cVs](t),n();return}if(a||this[oVs](t,c))return this[JK](null,t,n);if(c.isDirectory()){if(t.type==="Directory"){let u=this.chmod&&t.mode&&(c.mode&4095)!==t.mode,l=p=>this[JK](p??null,t,n);return u?PA.default.chmod(String(t.absolute),Number(t.mode),l):l()}if(t.absolute!==this.cwd)return PA.default.rmdir(String(t.absolute),u=>this[JK](u??null,t,n))}if(t.absolute===this.cwd)return this[JK](null,t,n);uzg(String(t.absolute),u=>this[JK](u??null,t,n))})};this[KCr]?o():i()}[JK](t,r,n){if(t){this[cR](t,r),n();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[sVs](r,n);case"Link":return this[hXu](r,n);case"SymbolicLink":return this[dXu](r,n);case"Directory":case"GNUDumpDir":return this[aVs](r,n)}}[jIn](t,r,n,i){PA.default[n](r,String(t.absolute),o=>{o?this[cR](o,t):(this[JVt](),t.resume()),i()})}},qCr=e=>{try{return[null,e()]}catch(t){return[t,null]}},YCr=class extends YVt{sync=!0;[JK](t,r){return super[JK](t,r,()=>{})}[iVs](t){if(!this[KCr]){let o=this[VWe](this.cwd,this.dmode);if(o)return this[cR](o,t);this[KCr]=!0}if(t.absolute!==this.cwd){let o=Od(aB.default.dirname(String(t.absolute)));if(o!==this.cwd){let s=this[VWe](o,this.dmode);if(s)return this[cR](s,t)}}let[r,n]=qCr(()=>PA.default.lstatSync(String(t.absolute)));if(n&&(this.keep||this.newer&&n.mtime>(t.mtime??n.mtime)))return this[cVs](t);if(r||this[oVs](t,n))return this[JK](null,t);if(n.isDirectory()){if(t.type==="Directory"){let s=this.chmod&&t.mode&&(n.mode&4095)!==t.mode,[a]=s?qCr(()=>{PA.default.chmodSync(String(t.absolute),Number(t.mode))}):[];return this[JK](a,t)}let[o]=qCr(()=>PA.default.rmdirSync(String(t.absolute)));this[JK](o,t)}let[i]=t.absolute===this.cwd?[]:qCr(()=>lzg(String(t.absolute)));this[JK](i,t)}[sVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=a=>{let c;try{PA.default.closeSync(o)}catch(u){c=u}(a||c)&&this[cR](a||c,t),r()},o;try{o=PA.default.openSync(String(t.absolute),$Ms(t.size),n)}catch(a){return i(a)}let s=this.transform&&this.transform(t)||t;s!==t&&(s.on("error",a=>this[cR](a,t)),t.pipe(s)),s.on("data",a=>{try{PA.default.writeSync(o,a,0,a.length)}catch(c){i(c)}}),s.on("end",()=>{let a=null;if(t.mtime&&!this.noMtime){let c=t.atime||new Date,u=t.mtime;try{PA.default.futimesSync(o,c,u)}catch(l){try{PA.default.utimesSync(String(t.absolute),c,u)}catch{a=l}}}if(this[GCr](t)){let c=this[HCr](t),u=this[$Cr](t);try{PA.default.fchownSync(o,Number(c),Number(u))}catch(l){try{PA.default.chownSync(String(t.absolute),Number(c),Number(u))}catch{a=a||l}}}i(a)})}[aVs](t,r){let n=typeof t.mode=="number"?t.mode&4095:this.dmode,i=this[VWe](String(t.absolute),n);if(i){this[cR](i,t),r();return}if(t.mtime&&!this.noMtime)try{PA.default.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch{}if(this[GCr](t))try{PA.default.chownSync(String(t.absolute),Number(this[HCr](t)),Number(this[$Cr](t)))}catch{}r(),t.resume()}[VWe](t,r){try{return cXu(Od(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:r})}catch(n){return n}}[WCr](t,r,n,i,o){if(this.preservePaths||!n.length)return i();let s=r;for(let a of n){s=aB.default.resolve(s,a);let[c,u]=qCr(()=>PA.default.lstatSync(s));if(c)return i();if(u.isSymbolicLink())return o(new MWe(s,aB.default.resolve(r,n.join("/"))))}i()}[jIn](t,r,n,i){let o=`${n}Sync`;try{PA.default[o](r,String(t.absolute)),i(),t.resume()}catch(s){return this[cR](s,t)}}};var pzg=e=>{let t=new YCr(e),r=e.file,n=lVs.default.statSync(r),i=e.maxReadSize||16*1024*1024;new $Pn(r,{readSize:i,size:n.size}).pipe(t)},fzg=(e,t)=>{let r=new YVt(e),n=e.maxReadSize||16*1024*1024,i=e.file;return new Promise((s,a)=>{r.on("error",a),r.on("close",s),lVs.default.stat(i,(c,u)=>{if(c)a(c);else{let l=new c_t(i,{readSize:n,size:u.size});l.on("error",a),l.pipe(r)}})})},pVs=Vbe(pzg,fzg,e=>new YCr(e),e=>new YVt(e),(e,t)=>{t?.length&&xMs(e,t)});var Oq=He(require("fs"),1),fVs=He(require("path"),1);var mzg=(e,t)=>{let r=new v_t(e),n=!0,i,o;try{try{i=Oq.default.openSync(e.file,"r+")}catch(c){if(c?.code==="ENOENT")i=Oq.default.openSync(e.file,"w+");else throw c}let s=Oq.default.fstatSync(i),a=Buffer.alloc(512);e:for(o=0;o<s.size;o+=512){for(let l=0,p=0;l<512;l+=p){if(p=Oq.default.readSync(i,a,l,a.length-l,o+l),o===0&&a[0]===31&&a[1]===139)throw new Error("cannot append to compressed archives");if(!p)break e}let c=new V9(a);if(!c.cksumValid)break;let u=512*Math.ceil((c.size||0)/512);if(o+u+512>s.size)break;o+=u,e.mtimeCache&&c.mtime&&e.mtimeCache.set(String(c.path),c.mtime)}n=!1,dzg(e,r,o,i,t)}finally{if(n)try{Oq.default.closeSync(i)}catch{}}},dzg=(e,t,r,n,i)=>{let o=new qVt(e.file,{fd:n,start:r});t.pipe(o),yzg(t,i)},hzg=(e,t)=>{t=Array.from(t);let r=new QWe(e),n=(o,s,a)=>{let c=(f,h)=>{f?Oq.default.close(o,y=>a(f)):a(null,h)},u=0;if(s===0)return c(null,0);let l=0,p=Buffer.alloc(512),m=(f,h)=>{if(f||typeof h>"u")return c(f);if(l+=h,l<512&&h)return Oq.default.read(o,p,l,p.length-l,u+l,m);if(u===0&&p[0]===31&&p[1]===139)return c(new Error("cannot append to compressed archives"));if(l<512)return c(null,u);let y=new V9(p);if(!y.cksumValid)return c(null,u);let g=512*Math.ceil((y.size??0)/512);if(u+g+512>s||(u+=g+512,u>=s))return c(null,u);e.mtimeCache&&y.mtime&&e.mtimeCache.set(String(y.path),y.mtime),l=0,Oq.default.read(o,p,0,512,u,m)};Oq.default.read(o,p,0,512,u,m)};return new Promise((o,s)=>{r.on("error",s);let a="r+",c=(u,l)=>{if(u&&u.code==="ENOENT"&&a==="r+")return a="w+",Oq.default.open(e.file,a,c);if(u||!l)return s(u);Oq.default.fstat(l,(p,m)=>{if(p)return Oq.default.close(l,()=>s(p));n(l,m.size,(f,h)=>{if(f)return s(f);let y=new Q2e(e.file,{fd:l,start:h});r.pipe(y),y.on("error",s),y.on("close",o),gzg(r,t)})})};Oq.default.open(e.file,a,c)})},yzg=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?A_t({file:fVs.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:n=>e.add(n)}):e.add(r)}),e.end()},gzg=async(e,t)=>{for(let r=0;r<t.length;r++){let n=String(t[r]);n.charAt(0)==="@"?await A_t({file:fVs.default.resolve(String(e.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>e.add(i)}):e.add(n)}e.end()},E_t=Vbe(mzg,hzg,()=>{throw new TypeError("file is required")},()=>{throw new TypeError("file is required")},(e,t)=>{if(!PYu(e))throw new TypeError("file is required");if(e.gzip||e.brotli||e.zstd||e.file.endsWith(".br")||e.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!t?.length)throw new TypeError("no paths specified to add/replace")});var Azg=Vbe(E_t.syncFile,E_t.asyncFile,E_t.syncNoFile,E_t.asyncNoFile,(e,t=[])=>{E_t.validate?.(e,t),bzg(e)}),bzg=e=>{let t=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=t?(r,n)=>t(r,n)&&!((e.mtimeCache?.get(r)??n.mtime??0)>(n.mtime??0)):(r,n)=>!((e.mtimeCache?.get(r)??n.mtime??0)>(n.mtime??0))};var PXu=He(lk(),1);var _zg=qke();async function IXu({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:n,cliVersion:i,settings:o,loadAPIWorkspace:s}){let a,c={type:Ed.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},u=t.dependencies[e];return u==null?c={type:Ed.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${Izg(u)}`},async l=>{switch(u.type){case"version":a=await xzg({context:l,dependency:u,cliVersion:i,settings:o,loadAPIWorkspace:s});return;case"local":a=await wzg({context:l,dependency:u,cliVersion:i,settings:o,loadAPIWorkspace:s});return;default:Ve(u)}}),a!=null?{didSucceed:!0,definition:a}:{didSucceed:!1,failure:c}}var CXu="dependencies";var vzg="metadata.json",Ezg=".fern";function Ozg(e){return Pt(Ar.of((0,OXu.homedir)()),Ke.of(Ezg),Ke.of(CXu),Ke.of(e.organization),Ke.of(e.apiName),Ke.of(e.version))}async function wzg({dependency:e,context:t,cliVersion:r,settings:n,loadAPIWorkspace:i}){if(i==null){t.failWithoutThrowing("Failed to load api definition");return}t.logger.info("Parsing...");let o=await i({absolutePathToWorkspace:e.absoluteFilepath,context:t,cliVersion:r,workspaceName:void 0});if(!o.didSucceed){t.failWithoutThrowing("Failed to load api definition",o.failures);return}t.logger.info("Modifying source filepath ...");let s=await o.workspace.getDefinition({context:t,relativePathToDependency:Ke.of(e.path)},n);return t.logger.info("Loaded..."),s}async function xzg({dependency:e,context:t,cliVersion:r,settings:n,loadAPIWorkspace:i}){let o=Ozg(e),s=Pt(o,Ke.of(CXu)),a=Pt(o,Ke.of(vzg)),c;if(!await qr(s)||!await qr(a)){t.logger.info("Downloading manifest...");let p=await _zg.definitionRegistry.get(mVs.FernFiddle.OrganizationId(e.organization),mVs.FernFiddle.ApiId(e.apiName),e.version);if(!p.ok){p.error._visit({orgDoesNotExistError:()=>{t.failWithoutThrowing("Organization does not exist")},apiDoesNotExistError:()=>{t.failWithoutThrowing("API does not exist")},versionDoesNotExistError:()=>{t.failWithoutThrowing("Version does not exist")},_other:y=>{t.failWithoutThrowing("Failed to download API manifest",y)}});return}let m=p.body.yamlSchemaVersion!=null?parseInt(p.body.yamlSchemaVersion):void 0,f=o_t(r),h=o_t(p.body.cliVersion);if(m!=null){if(m>1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a higher version of fern. Upgrade this workspace to ${p.body.cliVersion}`);return}else if(m<1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a lower version of fern. Upgrade it to ${r}`);return}}else if(f.major!==h.major||f.minor!==h.minor){t.failWithoutThrowing(`CLI version is ${p.body.cliVersion}. Expected ${f.major}.${f.minor}.x (to match current workspace).`);return}t.logger.info("Downloading..."),t.logger.debug("Remote URL: "+p.body.definitionS3DownloadUrl),await(0,XVt.mkdir)(s,{recursive:!0});try{await Pzg({s3PreSignedReadUrl:p.body.definitionS3DownloadUrl,absolutePathToLocalOutput:s})}catch(y){t.failWithoutThrowing("Failed to download API",y);return}c=p.body,await(0,XVt.writeFile)(a,JSON.stringify(c))}else c=JSON.parse((await(0,XVt.readFile)(a)).toString());if(t.logger.info("Parsing..."),i==null){t.failWithoutThrowing("Failed to load API");return}let u=await i({absolutePathToWorkspace:s,context:t,cliVersion:c.cliVersion,workspaceName:void 0});if(!u.didSucceed){t.failWithoutThrowing("Failed to parse dependency after downloading",u.failures);return}if(u.workspace.type==="oss"){t.failWithoutThrowing("Dependency must be a fern workspace.");return}return await u.workspace.getDefinition({context:t},n)}async function Pzg({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await wC.get(e,{responseType:"stream"}),n=await PXu.default.dir(),i=wXu.default.join(n.path,"api.tgz");await(0,xXu.pipeline)(r.data,(0,EXu.createWriteStream)(i)),await pVs({file:i,cwd:t})}function Izg(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:Ve(e)}}async function SXu({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:n,settings:i,loadAPIWorkspace:o}){let s={},a={},c={};return await Promise.all(II(t.packageMarkers).map(async([u,l])=>{if(l.contents.export==null)s[u]=l;else{let{export:p,...m}=l.contents;if(w0(m)>0)c[u]={type:Ed.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:u};else{let f=Ci(u);if(XM(t.namedDefinitionFiles).some(y=>y!==u&&y.startsWith(f)))c[u]={type:Ed.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:f};else{let y=await IXu({dependencyName:typeof l.contents.export=="string"?l.contents.export:l.contents.export.dependency,dependenciesConfiguration:e,context:r,rootApiFile:t.rootApiFile.contents,cliVersion:n,settings:i,loadAPIWorkspace:o});y.didSucceed?a[Ci(u)]={definition:y.definition,url:typeof l.contents.export=="object"?l.contents.export.url:void 0}:c[u]=y.failure}}}})),w0(c)>0?{didSucceed:!1,failures:c}:{didSucceed:!0,packageMarkers:s,importedDefinitions:a}}var jXu=He(require("path"),1);var dVs={};D(dVs,{additionalProperties:()=>Bzg,default:()=>Dzg,definitions:()=>Tzg,properties:()=>Szg,required:()=>jzg,type:()=>Czg});var Czg="object",Szg={docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"default-environment":{oneOf:[{type:"string"},{type:"null"}]},environments:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/environments.EnvironmentSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/auth.ApiAuthSchema"},{type:"null"}]},"auth-schemes":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/auth.AuthSchemeDeclarationSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},name:{type:"string"},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"error-discrimination":{oneOf:[{$ref:"#/definitions/file.ErrorDiscriminationSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},errors:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"idempotency-headers":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/variables.VariableDeclarationSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"null"}]},product:{oneOf:[{$ref:"#/definitions/products.ProductDeclarationSchema"},{type:"null"}]},version:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},jzg=["name"],Bzg=!1,Tzg={"environments.ServerVariableSchema":{type:"object",properties:{id:{type:"string"},default:{oneOf:[{type:"string"},{type:"null"}]},values:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]}},required:["id"],additionalProperties:!1},"environments.SingleBaseUrlEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},url:{type:"string"},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"url-template":{oneOf:[{type:"string"},{type:"null"}]},variables:{oneOf:[{type:"array",items:{$ref:"#/definitions/environments.ServerVariableSchema"}},{type:"null"}]}},required:["url"],additionalProperties:!1},"environments.MultipleBaseUrlsEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},urls:{type:"object",additionalProperties:{type:"string"}},"url-templates":{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"default-urls":{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/environments.ServerVariableSchema"}}},{type:"null"}]}},required:["urls"],additionalProperties:!1},"environments.EnvironmentSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/environments.SingleBaseUrlEnvironmentSchema"},{$ref:"#/definitions/environments.MultipleBaseUrlsEnvironmentSchema"}]},"auth.AuthSchemeReferenceSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{type:"string"}},required:["scheme"],additionalProperties:!1},"auth.AnyAuthItem":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"}]},"auth.AnyAuthSchemesSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},any:{type:"array",items:{$ref:"#/definitions/auth.AnyAuthItem"}}},required:["any"],additionalProperties:!1},"auth.EndpointSecuritySchemaDetails":{type:"object",additionalProperties:!1},"auth.EndpointSecuritySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"endpoint-security":{$ref:"#/definitions/auth.EndpointSecuritySchemaDetails"}},required:["endpoint-security"],additionalProperties:!1},"auth.ApiAuthSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"},{$ref:"#/definitions/auth.AnyAuthSchemesSchema"},{$ref:"#/definitions/auth.EndpointSecuritySchema"}]},"auth.AuthScope":{type:"string"},"auth.OAuthAccessTokenRequestPropertiesSchema":{type:"object",properties:{"client-id":{oneOf:[{type:"string"},{type:"null"}]},"client-secret":{oneOf:[{type:"string"},{type:"null"}]},scopes:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthAccessTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthGetTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthRefreshTokenRequestPropertiesSchema":{type:"object",properties:{"refresh-token":{type:"string"}},required:["refresh-token"],additionalProperties:!1},"auth.OAuthRefreshTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthRefreshTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"oauth"},type:{const:"client-credentials"},scopes:{oneOf:[{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}},{type:"null"}]},"client-id-env":{oneOf:[{type:"string"},{type:"null"}]},"client-secret-env":{oneOf:[{type:"string"},{type:"null"}]},"token-prefix":{oneOf:[{type:"string"},{type:"null"}]},"token-header":{oneOf:[{type:"string"},{type:"null"}]},"get-token":{$ref:"#/definitions/auth.OAuthGetTokenEndpointSchema"},"refresh-token":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenEndpointSchema"},{type:"null"}]}},required:["scheme","type","get-token"],additionalProperties:!1},"auth.HeaderAuthSchemeSchema":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},header:{type:"string"},type:{oneOf:[{type:"string"},{type:"null"}]},prefix:{oneOf:[{type:"string"},{type:"null"}]}},required:["header"],additionalProperties:!1},"auth.AuthVariable":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},omit:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"auth.BasicAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"basic"},username:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]},password:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.TokenBearerAuthSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},token:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.InferredAuthenticatedRequestHeader":{type:"object",properties:{"response-property":{type:"string"},"header-name":{type:"string"},"value-prefix":{oneOf:[{type:"string"},{type:"null"}]}},required:["response-property","header-name"],additionalProperties:!1},"auth.InferredGetTokenEndpointSchemaObject":{type:"object",properties:{endpoint:{type:"string"},"expiry-response-property":{oneOf:[{type:"string"},{type:"null"}]},"authenticated-request-headers":{oneOf:[{type:"array",items:{$ref:"#/definitions/auth.InferredAuthenticatedRequestHeader"}},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.InferredGetTokenEndpointSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.InferredGetTokenEndpointSchemaObject"}]},"auth.InferredBearerAuthSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},"get-token":{$ref:"#/definitions/auth.InferredGetTokenEndpointSchema"}},required:["scheme","get-token"],additionalProperties:!1},"auth.BearerAuthSchemeSchema":{anyOf:[{$ref:"#/definitions/auth.TokenBearerAuthSchema"},{$ref:"#/definitions/auth.InferredBearerAuthSchema"}]},"auth.AuthSchemeDeclarationSchema":{anyOf:[{$ref:"#/definitions/auth.OAuthSchemeSchema"},{$ref:"#/definitions/auth.HeaderAuthSchemeSchema"},{$ref:"#/definitions/auth.BasicAuthSchemeSchema"},{$ref:"#/definitions/auth.BearerAuthSchemeSchema"}]},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"file.PropertyBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"property"},"property-name":{type:"string"}},required:["strategy","property-name"],additionalProperties:!1},"file.StatusCodeBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"status-code"}},required:["strategy"],additionalProperties:!1},"file.ErrorDiscriminationSchema":{anyOf:[{$ref:"#/definitions/file.PropertyBasedErrorDiscrimination"},{$ref:"#/definitions/file.StatusCodeBasedErrorDiscrimination"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"variables.VariableDeclarationDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"variables.VariableDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/variables.VariableDeclarationDetailed"}]},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"versioning.VersionValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionValue":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionValueDetailed"}]},"versioning.VersionDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionDeclarationHeaderObjectSchema"}]},"versioning.VersionDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/versioning.VersionValue"}},header:{$ref:"#/definitions/versioning.VersionDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1},"products.ProductValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},versions:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"products.ProductValue":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductValueDetailed"}]},"products.ProductDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"products.ProductDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductDeclarationHeaderObjectSchema"}]},"products.ProductDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/products.ProductValue"}},header:{$ref:"#/definitions/products.ProductDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1}},Dzg={type:Czg,properties:Szg,required:jzg,additionalProperties:Bzg,definitions:Tzg};var hVs={};D(hVs,{additionalProperties:()=>Nzg,default:()=>zzg,definitions:()=>kzg,properties:()=>Fzg,type:()=>Rzg});var Rzg="object",Fzg={docs:{oneOf:[{type:"string"},{type:"null"}]},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]}},Nzg=!1,kzg={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminatorContext":{type:"string",enum:["data","protocol"]},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},context:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminatorContext"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE","HEAD"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"auth.AuthScope":{type:"string"},"service.HttpEndpointSecurityItem":{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}}},"service.HttpEndpointSecurity":{type:"array",items:{$ref:"#/definitions/service.HttpEndpointSecurityItem"}},"service.HttpEndpointAuth":{anyOf:[{type:"boolean"},{$ref:"#/definitions/service.HttpEndpointSecurity"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.RetriesDisabledSchema":{type:"object",properties:{disabled:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"service.RetriesConfiguration":{anyOf:[{$ref:"#/definitions/service.RetriesDisabledSchema"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/service.HttpEndpointAuth"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},retries:{oneOf:[{$ref:"#/definitions/service.RetriesConfiguration"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"webhooks.WebhookSignatureAlgorithmSchema":{type:"string",enum:["sha256","sha1","sha384","sha512"]},"webhooks.WebhookSignatureEncodingSchema":{type:"string",enum:["base64","hex"]},"webhooks.WebhookPayloadComponentSchema":{type:"string",enum:["body","timestamp","notification-url","message-id"]},"webhooks.WebhookPayloadFormatSchema":{type:"object",properties:{components:{type:"array",items:{$ref:"#/definitions/webhooks.WebhookPayloadComponentSchema"}},delimiter:{oneOf:[{type:"string"},{type:"null"}]}},required:["components"],additionalProperties:!1},"webhooks.WebhookTimestampFormatSchema":{type:"string",enum:["unix-seconds","unix-millis","iso8601"]},"webhooks.WebhookTimestampSchema":{type:"object",properties:{header:{type:"string"},format:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampFormatSchema"},{type:"null"}]},tolerance:{oneOf:[{type:"integer"},{type:"null"}]}},required:["header"],additionalProperties:!1},"webhooks.AsymmetricAlgorithmSchema":{type:"string",enum:["rsa-sha256","rsa-sha384","rsa-sha512","ecdsa-sha256","ecdsa-sha384","ecdsa-sha512","ed25519"]},"webhooks.WebhookSignatureSchema":{type:"object",properties:{type:{type:"string",enum:["hmac","asymmetric"]}},oneOf:[{properties:{type:{const:"hmac"},header:{type:"string"},algorithm:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureAlgorithmSchema"},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"payload-format":{oneOf:[{$ref:"#/definitions/webhooks.WebhookPayloadFormatSchema"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header"]},{properties:{type:{const:"asymmetric"},header:{type:"string"},"asymmetric-algorithm":{$ref:"#/definitions/webhooks.AsymmetricAlgorithmSchema"},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"jwks-url":{oneOf:[{type:"string"},{type:"null"}]},"key-id-header":{oneOf:[{type:"string"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header","asymmetric-algorithm"]}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},signature:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"method-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1}},zzg={type:Rzg,properties:Fzg,additionalProperties:Nzg,definitions:kzg};var yVs={};D(yVs,{additionalProperties:()=>Vzg,default:()=>Lzg,definitions:()=>Uzg,properties:()=>Mzg,type:()=>Qzg});var Qzg="object",Mzg={imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},navigation:{oneOf:[{$ref:"#/definitions/file.Navigation"},{type:"null"}]},export:{oneOf:[{$ref:"#/definitions/file.Export"},{type:"null"}]}},Vzg=!1,Uzg={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ListValidationSchema":{type:"object",properties:{minItems:{oneOf:[{type:"integer"},{type:"null"}]},maxItems:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.MapValidationSchema":{type:"object",properties:{minProperties:{oneOf:[{type:"integer"},{type:"null"}]},maxProperties:{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"},{$ref:"#/definitions/validation.ListValidationSchema"},{$ref:"#/definitions/validation.MapValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminatorContext":{type:"string",enum:["data","protocol"]},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},context:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminatorContext"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE","HEAD"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"auth.AuthScope":{type:"string"},"service.HttpEndpointSecurityItem":{type:"object",additionalProperties:{type:"array",items:{$ref:"#/definitions/auth.AuthScope"}}},"service.HttpEndpointSecurity":{type:"array",items:{$ref:"#/definitions/service.HttpEndpointSecurityItem"}},"service.HttpEndpointAuth":{anyOf:[{type:"boolean"},{$ref:"#/definitions/service.HttpEndpointSecurity"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.UriPaginationSchema":{type:"object",properties:{next_uri:{type:"string"},results:{type:"string"}},required:["next_uri","results"],additionalProperties:!1},"pagination.PathPaginationSchema":{type:"object",properties:{next_path:{type:"string"},results:{type:"string"}},required:["next_path","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"},{$ref:"#/definitions/pagination.UriPaginationSchema"},{$ref:"#/definitions/pagination.PathPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.RetriesDisabledSchema":{type:"object",properties:{disabled:{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"service.RetriesConfiguration":{anyOf:[{$ref:"#/definitions/service.RetriesDisabledSchema"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/service.HttpEndpointAuth"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},retries:{oneOf:[{$ref:"#/definitions/service.RetriesConfiguration"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"webhooks.WebhookSignatureAlgorithmSchema":{type:"string",enum:["sha256","sha1","sha384","sha512"]},"webhooks.WebhookSignatureEncodingSchema":{type:"string",enum:["base64","hex"]},"webhooks.WebhookPayloadComponentSchema":{type:"string",enum:["body","timestamp","notification-url","message-id"]},"webhooks.WebhookPayloadFormatSchema":{type:"object",properties:{components:{type:"array",items:{$ref:"#/definitions/webhooks.WebhookPayloadComponentSchema"}},delimiter:{oneOf:[{type:"string"},{type:"null"}]}},required:["components"],additionalProperties:!1},"webhooks.WebhookTimestampFormatSchema":{type:"string",enum:["unix-seconds","unix-millis","iso8601"]},"webhooks.WebhookTimestampSchema":{type:"object",properties:{header:{type:"string"},format:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampFormatSchema"},{type:"null"}]},tolerance:{oneOf:[{type:"integer"},{type:"null"}]}},required:["header"],additionalProperties:!1},"webhooks.AsymmetricAlgorithmSchema":{type:"string",enum:["rsa-sha256","rsa-sha384","rsa-sha512","ecdsa-sha256","ecdsa-sha384","ecdsa-sha512","ed25519"]},"webhooks.WebhookSignatureSchema":{type:"object",properties:{type:{type:"string",enum:["hmac","asymmetric"]}},oneOf:[{properties:{type:{const:"hmac"},header:{type:"string"},algorithm:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureAlgorithmSchema"},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"payload-format":{oneOf:[{$ref:"#/definitions/webhooks.WebhookPayloadFormatSchema"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header"]},{properties:{type:{const:"asymmetric"},header:{type:"string"},"asymmetric-algorithm":{$ref:"#/definitions/webhooks.AsymmetricAlgorithmSchema"},encoding:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureEncodingSchema"},{type:"null"}]},"signature-prefix":{oneOf:[{type:"string"},{type:"null"}]},"jwks-url":{oneOf:[{type:"string"},{type:"null"}]},"key-id-header":{oneOf:[{type:"string"},{type:"null"}]},timestamp:{oneOf:[{$ref:"#/definitions/webhooks.WebhookTimestampSchema"},{type:"null"}]}},required:["type","header","asymmetric-algorithm"]}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},signature:{oneOf:[{$ref:"#/definitions/webhooks.WebhookSignatureSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"method-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1},"file.Navigation":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"file.ExportDetailed":{type:"object",properties:{dependency:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]}},required:["dependency"],additionalProperties:!1},"file.Export":{anyOf:[{type:"string"},{$ref:"#/definitions/file.ExportDetailed"}]}},Lzg={type:Qzg,properties:Mzg,additionalProperties:Vzg,definitions:Uzg};var gVs=new Map,AVs=new Map,bVs=new Map;function BXu({files:e,absolutePathToDefinition:t,skipValidation:r}){let n,i={},o={},s={};for(let[a,c]of II(e)){let u=c.contents,l=p=>{s[a]={type:Ed.JSONSCHEMA_VALIDATION,error:p}};if(a===CC){let p=gVs.get(c.rawContents);if(p!=null&&(p.validated||r))n={defaultUrl:p.value["default-url"],contents:p.value,rawContents:c.rawContents};else if(r){let m=rP.serialization.RootApiFileSchema.parseOrThrow(u);gVs.set(c.rawContents,{value:m,validated:!1}),n={defaultUrl:m["default-url"],contents:m,rawContents:c.rawContents}}else{let m=Rae(u,dVs);if(m.success){let f=rP.serialization.RootApiFileSchema.parseOrThrow(u);gVs.set(c.rawContents,{value:f,validated:!0}),n={defaultUrl:f["default-url"],contents:f,rawContents:c.rawContents}}else l(m)}}else if(jXu.default.basename(a)===By){let p=bVs.get(c.rawContents);if(p!=null&&(p.validated||r))o[a]={defaultUrl:typeof p.value.export=="object"?p.value.export.url:void 0,contents:p.value,rawContents:c.rawContents};else if(r){let m=rP.serialization.PackageMarkerFileSchema.parseOrThrow(u);bVs.set(c.rawContents,{value:m,validated:!1}),o[a]={defaultUrl:typeof m.export=="object"?m.export.url:void 0,contents:m,rawContents:c.rawContents}}else{let m=Rae(u,yVs);if(m.success){let f=rP.serialization.PackageMarkerFileSchema.parseOrThrow(u);bVs.set(c.rawContents,{value:f,validated:!0}),o[a]={defaultUrl:typeof f.export=="object"?f.export.url:void 0,contents:f,rawContents:c.rawContents}}else l(m)}}else{let p=AVs.get(c.rawContents);if(p!=null&&(p.validated||r))i[a]={defaultUrl:void 0,contents:p.value,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)};else if(r){let m=rP.serialization.DefinitionFileSchema.parseOrThrow(u);AVs.set(c.rawContents,{value:m,validated:!1}),i[a]={defaultUrl:void 0,contents:m,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)}}else{let m=Rae(u,hVs);if(m.success){let f=rP.serialization.DefinitionFileSchema.parseOrThrow(u);AVs.set(c.rawContents,{value:f,validated:!0}),i[a]={defaultUrl:void 0,contents:f,rawContents:c.rawContents,absoluteFilePath:Pt(t,a)}}else l(m)}}}return n==null?{didSucceed:!1,failures:{[Ke.of(CC)]:{type:Ed.FILE_MISSING},...s}}:Object.keys(s).length>0?{didSucceed:!1,failures:s}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:n,packageMarkers:o}}var R2=class extends yce{type="fern";context;fernWorkspaces={};loadAPIWorkspace;constructor({context:t,loadAPIWorkspace:r,...n}){super(n),this.context=t,this.loadAPIWorkspace=r}async getDefinition({context:t},r){return(await this.toFernWorkspace({context:t},r)).definition}async toFernWorkspace({context:t,skipValidation:r},n){let i=(0,TXu.default)(n??{}),o=this.fernWorkspaces[i];if(o==null){let s=t||this.context,a=Pt(this.absoluteFilePath,Ke.of(nP)),c=await Yks({absolutePathToWorkspace:this.absoluteFilePath,context:s}),u=await AYu(a,"{yml,yaml}"),l=await bYu(u);if(!l.didSucceed)return qPn(l.failures,s.logger),s.failAndThrow();let p=BXu({files:l.files,absolutePathToDefinition:a,skipValidation:r});if(!p.didSucceed)return qPn(p.failures,s.logger),s.failAndThrow();let m=await SXu({dependenciesConfiguration:c,structuralValidationResult:p,context:s,cliVersion:this.cliVersion,settings:n,loadAPIWorkspace:this.loadAPIWorkspace});if(!m.didSucceed)return qPn(m.failures,s.logger),s.failAndThrow();let f={absoluteFilePath:a,rootApiFile:p.rootApiFile,namedDefinitionFiles:p.namedDefinitionFiles,packageMarkers:m.packageMarkers,importedDefinitions:m.importedDefinitions};n?.auth!=null&&(f={...f,rootApiFile:{...f.rootApiFile,contents:{...f.rootApiFile.contents,auth:n?.auth}}}),o=new Y3({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:c,workspaceName:this.workspaceName,definition:f,cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=o}return o}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var lel=require("fs/promises");var nel=He(rel(),1);async function S_t(e){return(await(0,nel.convertObj)(e,{})).openapi}var oel=require("fs/promises");var iel=require("fs/promises");async function sUt({absoluteFilePathToOverrides:e,data:t,context:r,allowNullKeys:n}){let i=null;try{let o=(await(0,iel.readFile)(e,"utf8")).toString();try{i=JSON.parse(o)}catch{i=Cn.load(o,{json:!0})}}catch{return r.failAndThrow(`Failed to read overrides from file ${e}`)}return Mcs({data:t,overrides:i,allowNullKeys:n})}async function UVs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let n=(await(0,oel.readFile)(t)).toString(),i=await Cn.load(n);return r!=null?await sUt({absoluteFilePathToOverrides:r,context:e,data:i}):i}var uel=require("fs/promises");var $In=require("fs/promises");var HIn=He(require("path"),1),sel=He(lk(),1),LVs;async function TQg(){return LVs===void 0&&(LVs=(await sel.default.dir({prefix:"fern-overlay-"})).path),LVs}async function ael({absoluteFilePathToOverlay:e,absoluteFilePathToOpenAPI:t,data:r,context:n}){let i=await DQg(e,n);if(!RQg(i,n))return r;n.logger.debug(`Applying overlay "${i.info.title}" v${i.info.version}`);let o=Tcs({data:r,overlay:i}),s=await TQg(),a=HIn.default.basename(t),c=`${HIn.default.parse(a).name}.overlaid.json`,u=HIn.default.join(s,c);return await(0,$In.writeFile)(u,JSON.stringify(o,null,2),"utf8"),n.logger.info(`Wrote overlaid OpenAPI spec to: ${u}`),o}async function DQg(e,t){let r;try{r=await(0,$In.readFile)(e,"utf8")}catch(n){return t.failAndThrow(`Failed to read overlay file at ${e}: ${n}`)}try{try{return JSON.parse(r)}catch{return Cn.load(r,{json:!0})}}catch(n){return t.failAndThrow(`Failed to parse overlay file at ${e}: ${n}`)}}function RQg(e,t){if(!e.overlay)return t.logger.error("Overlay file missing required 'overlay' version field"),!1;if(!e.info?.title||!e.info?.version)return t.logger.error("Overlay file missing required 'info.title' or 'info.version' field"),!1;if(!Array.isArray(e.actions)||e.actions.length===0)return t.logger.error("Overlay file must have at least one action"),!1;for(let r=0;r<e.actions.length;r++){let n=e.actions[r];if(!n?.target)return t.logger.error(`Overlay action at index ${r} missing required 'target' field`),!1;if(n.update===void 0&&!n.remove)return t.logger.error(`Overlay action at index ${r} must have either 'update' or 'remove'`),!1}return!0}var gSr=He(Fwn(),1);var cel=He(Fwn(),1),hSr=He(require("path"),1),ySr=class extends cel.BaseResolver{absolutePathToOpenAPIOverrides;absolutePathToOpenAPIOverlays;constructor({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r}){super(),this.absolutePathToOpenAPIOverrides=t,this.absolutePathToOpenAPIOverlays=r}resolveExternalRef(t,r){let n=super.resolveExternalRef(t,r);if(n.startsWith("http://")||n.startsWith("https://")||Wke(Ar.of(n)))return n;if(this.absolutePathToOpenAPIOverlays!=null){let i=hSr.default.resolve(hSr.default.dirname(this.absolutePathToOpenAPIOverlays),r);if(Wke(Ar.of(i)))return i}return this.absolutePathToOpenAPIOverrides!=null?hSr.default.resolve(hSr.default.dirname(this.absolutePathToOpenAPIOverrides),r):n}};async function qVs({absolutePathToOpenAPI:e,absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r,parsed:n}){return(n!=null?await(0,gSr.bundle)({...Nwn,doc:{source:new gSr.Source(e,"<openapi>"),parsed:n},externalRefResolver:new ySr({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r})}):await(0,gSr.bundle)({...Nwn,ref:e,externalRefResolver:new ySr({absolutePathToOpenAPIOverrides:t,absolutePathToOpenAPIOverlays:r})})).bundle.parsed}function FQg(e,t){if(t.includes(e))return e;for(let r of t){let n=r.replace(/\{[^}]+\}/g,"([^/]+)");if(new RegExp(`^${n}$`).test(e))return r}}var NQg=["examples","example",wi.EXAMPLES,Mk.REDOCLY_CODE_SAMPLES_CAMEL,Mk.REDOCLY_CODE_SAMPLES_KEBAB];async function j_t({context:e,absolutePathToOpenAPI:t,absolutePathToOpenAPIOverrides:r,absolutePathToOpenAPIOverlays:n,loadAiExamples:i=!1}){let o=await qVs({absolutePathToOpenAPI:t}),s;r!=null?s=r:typeof o=="object"&&o[wi.OPENAPI_OVERIDES_FILEPATH]!=null&&(s=Pt(Ci(t),Ke.of(o[wi.OPENAPI_OVERIDES_FILEPATH])));let a=o;if(s!=null&&(a=await sUt({absoluteFilePathToOverrides:s,context:e,data:a,allowNullKeys:NQg})),n!=null&&(a=await ael({absoluteFilePathToOverlay:n,absoluteFilePathToOpenAPI:t,context:e,data:a})),i){let c=Pt(Ci(t),Ke.of("ai_examples_override.yml"));try{let u=await(0,uel.readFile)(c,"utf-8"),l=Cn.load(u);if(l?.paths&&a.paths){for(let[p,m]of Object.entries(l.paths))if(m&&typeof m=="object")for(let[f,h]of Object.entries(m)){let y=f.toLowerCase(),g=a.paths[p];if(!g&&a.paths){let A=FQg(p,Object.keys(a.paths));A&&(g=a.paths[A],e.logger.debug(`Matched override path "${p}" to OpenAPI path "${A}" using pattern matching`))}if(g&&typeof g=="object"){let b=g[y];if(b&&typeof b=="object"){let v=b;!v["x-fern-examples"]&&h["x-fern-examples"]&&(v["x-fern-examples"]=h["x-fern-examples"],e.logger.debug(`Added AI examples for ${f.toUpperCase()} ${p} from override file`))}}}}e.logger.debug(`Processed AI examples from ${c}`)}catch{}}return s!=null||n!=null||a!==o?await qVs({absolutePathToOpenAPI:t,absolutePathToOpenAPIOverrides:s,absolutePathToOpenAPIOverlays:n,parsed:a}):a}var Kce=class{absoluteFilePath;constructor(t){this.absoluteFilePath=t}async loadDocuments({context:t,specs:r,loadAiExamples:n=!1}){return(await Promise.all(r.map(o=>this.loadDocument({context:t,spec:o,loadAiExamples:n})))).filter(o=>o!=null)}async loadDocument({context:t,spec:r,loadAiExamples:n}){try{let i=(await(0,lel.readFile)(r.absoluteFilepath)).toString(),o=hl(this.absoluteFilePath,r.source.file);r.source.relativePathToDependency!=null&&(o=Pt(r.source.relativePathToDependency,o));let s=r.source.type==="protobuf"?A2.protobuf({file:o}):A2.openapi({file:o});if(i.includes("openapi")||i.includes("swagger"))try{let a=await j_t({absolutePathToOpenAPI:r.absoluteFilepath,context:t,absolutePathToOpenAPIOverrides:r.absoluteFilepathToOverrides,absolutePathToOpenAPIOverlays:r.absoluteFilepathToOverlays,loadAiExamples:n});if(Jks(a))return{type:"openapi",value:a,source:s,namespace:r.namespace,settings:DK({options:r.settings})};if(Pbt(a))return(!a.schemes||a.schemes.length===0)&&(a.schemes=["https"]),{type:"openapi",value:await S_t(a),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.debug(`Failed to parse OpenAPI document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}if(i.includes("asyncapi"))try{return{type:"asyncapi",value:await UVs({context:t,absoluteFilePath:r.absoluteFilepath,absoluteFilePathToOverrides:r.absoluteFilepathToOverrides}),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.error(`Failed to parse AsyncAPI document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}if(i.includes("openrpc"))try{return{type:"asyncapi",value:await UVs({context:t,absoluteFilePath:r.absoluteFilepath,absoluteFilePathToOverrides:r.absoluteFilepathToOverrides}),source:s,namespace:r.namespace,settings:DK({options:r.settings})}}catch(a){t.logger.error(`Failed to parse OpenRPC document at ${r.absoluteFilepath}: ${a}. Skipping...`);return}t.logger.warn(`${r.absoluteFilepath} is not a valid OpenAPI, AsyncAPI, or OpenRPC file. Skipping...`);return}catch(i){t.logger.error(`Failed to read or process file ${r.absoluteFilepath}: ${i}. Skipping...`);return}}};var ds=class e{breadcrumbs=[];context;static STRING=_r.TypeReference.primitive({v1:"STRING",v2:_r.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=_r.TypeReference.container(_r.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var fel=require("fs/promises");var WVs=class{_map;_path;_lastScalar;_fragments;_count;constructor(){this._map={},this._path=[],this._lastScalar="",this._fragments=[],this._count=0}get map(){return this._map}resolveNode(t,r){if(t.path==="."&&(r="."),!this._map[r]){let{line:n,position:i,lineStart:o}=t;this._map[r]={line:n,position:i,lineStart:o}}t.children&&t.children.length>0&&t.children.forEach(n=>{this.resolveNode(n,(r==="."?"":r)+"."+n.path)})}iterFragments(t,r){for(let n=this._fragments.length-1;n>=0;n--){if(!this._fragments[n].path.startsWith(t)||this._fragments[n].path===t)continue;let i=this._fragments.pop();r(i)}}handleState(t,r){if(t==="close"){let n=r.result,i=r.kind,o=this._path.join(".");if(i==="scalar"){this._path.pop(),this._lastScalar=`${n}`;let{line:s,position:a,lineStart:c}=r;this._path.length===0?this._map["."+n]={line:s,position:a,lineStart:c}:this._fragments.push({path:this._path.join(".")+"."+n,line:s,position:a,lineStart:c})}else if(i==="mapping"){let s={path:o,children:[],line:0,position:0,lineStart:0},a=0;this.iterFragments(o,c=>{a++,!((!c.children||c.children.length===0)&&a%2===1)&&(this._path.length===1?this.resolveNode(c,c.path):(s.children.push({...c,path:c.path.slice(o.length+1)}),s.line=c.line,s.position=c.position,s.lineStart=c.lineStart))}),s.children&&s.children.length>0&&this._fragments.push(s),this._path.pop()}else if(i==="sequence"){let s={path:o,children:[],line:0,position:0,lineStart:0},a=new Set,c=n.length;this.iterFragments(o,u=>{a.has(u.position)||(c--,a.add(u.position),this._path.length===1?this.resolveNode(u,`${o}.${c}`):(s.children.push({...u,path:c.toString()}),s.line=u.line,s.position=u.position,s.lineStart=u.lineStart))}),s.children&&s.children.length>0&&this._fragments.push(s),this._path.pop()}else this._path.pop()}if(t==="open"){if(this._count===0){let{line:n,position:i,lineStart:o}=r;this._map["."]={line:n,position:i,lineStart:o}}this._path.push(this._lastScalar),this._count++}}listen(){return this.handleState.bind(this)}lookup(t){let r=t instanceof Array?t.map(i=>`${i}`).join("."):`${t}`;r.startsWith(".")||(r="."+r),r.startsWith("..")&&(r=r.slice(1)),r=r.replace(/\[/g,".").replace(/\]/g,"");let n=this._map[r];if(n)return{line:n.line+1,column:n.position-n.lineStart+1,position:n.position}}},pel=WVs;var cB;(function(e){e.WARNING="warning",e.ERROR="error"})(cB||(cB={}));var XK=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new GVs({logger:t,relativePathToFile:Ke.of(r)}))}collect(t){this.errors.push(t)}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}dedupe(){let t=[],r=new Set,n=0;for(let i of this.errors){let o=i.path?i.path.join("->"):"",s=`${i.message}|${i.level||cB.WARNING}|${o}`;r.has(s)?n++:(r.add(s),t.push(i))}return this.errors=t,n}getErrorStats(){this.dedupe();let t=0,r=0;for(let n of this.errors)n.level===cB.ERROR?t++:(n.level===cB.WARNING||n.level===void 0)&&r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors){let n=r.level??cB.WARNING;if(!(n===cB.WARNING&&!t))switch(n){case cB.ERROR:if(this.logger.log(to.Debug,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),o=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(to.Debug,` - at location (${o})`)}break;case cB.WARNING:if(this.logger.log(to.Warn,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),o=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(to.Warn,` - at location (${o})`)}r.resolution&&this.logger.log(to.Warn,` - resolution: ${r.resolution}`);break}}}},GVs=class{logger;relativePathToFile;map=new pel;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,fel.readFile)(this.relativePathToFile,"utf-8");Cn.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(to.Warn,`Failed to initialize line number mapping for ${this.relativePathToFile}: ${JSON.stringify(t)}`)}}async getSourceLocation(t){return this.initialized||await this.initialize(),this.map.lookup(t)}};var aP=class e{args;spec;settings;errorCollector;logger;generationLanguage;smartCasing;casingsGenerator;namespace;exampleGenerationArgs;authOverrides;environmentOverrides;globalHeaderOverrides;enableUniqueErrorsPerEndpoint;generateV1Examples;documentBaseDir;constructor(t){this.args=t,this.spec=t.spec,this.settings=t.settings,this.errorCollector=t.errorCollector,this.logger=t.logger,this.generationLanguage=t.generationLanguage,this.smartCasing=t.smartCasing,this.namespace=t.namespace,this.casingsGenerator=d1({generationLanguage:t.generationLanguage,keywords:void 0,smartCasing:t.smartCasing}),this.exampleGenerationArgs=t.exampleGenerationArgs,this.authOverrides=t.authOverrides,this.environmentOverrides=t.environmentOverrides,this.globalHeaderOverrides=t.globalHeaderOverrides,this.enableUniqueErrorsPerEndpoint=t.enableUniqueErrorsPerEndpoint,this.generateV1Examples=t.generateV1Examples,this.documentBaseDir=t.documentBaseDir}static BREADCRUMBS_TO_IGNORE=["properties","allOf","anyOf"];convertBreadcrumbsToName(t){let r=t.filter((i,o)=>!(/^\d+$/.test(i)||e.BREADCRUMBS_TO_IGNORE.includes(i)||o===0&&i==="components"||o===1&&i==="schemas"||t[0]==="paths"&&(o===0||o===1&&["get","post","put","delete","patch"].includes(i)||o===2&&t[1]!=null&&["get","post","put","delete","patch"].includes(t[1])&&i==="parameters"))),n=eo(r.join("_"));return n.charAt(0).toUpperCase()+n.slice(1)}createFernFilepath(t={}){let r=this.namespace!=null?[this.casingsGenerator.generateName(this.namespace)]:[],n=t.name!=null?this.casingsGenerator.generateName(t.name):void 0;return{allParts:n?[...r,n]:r,packagePath:r,file:n}}resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:n}){let i=this.spec,o=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(s=>s.replace(/~1/g,"/"));for(let s of o){if(typeof i!="object"||i==null)return n||this.errorCollector.collect({level:cB.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};i=i[s]}return i==null?(n||this.errorCollector.collect({level:cB.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1}):{resolved:!0,value:i}}getErrorMessageForMissingRef({reference:t}){let r=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/");return r.length>=3&&r[0]==="components"&&r[1]==="schemas"?`Schema ${r[2]} does not exist`:`${t.$ref} does not exist`}async resolveMaybeExternalReference(t){let r=this.spec,n,i=!1,o=null,s;if(this.isExternalReference(t.$ref)){i=!0;let u=t.$ref.split("#"),l=u[0];if(n=u[1],!l)return{resolved:!1};s=l;let p=await fetch(l);if(!p.ok)return{resolved:!1};try{let m=await p.text();try{o=JSON.parse(m),r=o}catch{o=Cn.load(m),r=o}if(r==null)return{resolved:!1}}catch{return{resolved:!1}}if(!n)return{resolved:!0,value:r}}let a=n??t.$ref;if(a==null||typeof a!="string")return{resolved:!1};let c=a.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(u=>u.replace(/~1/g,"/"));for(let u of c){if(typeof r!="object"||r==null)return{resolved:!1};r=r[u]}if(r==null)return{resolved:!1};if(i&&typeof r=="object"&&r!==null){let u=new Set;u.add(t.$ref),r=await this.resolveNestedExternalReferences(r,o,u,s)}return{resolved:!0,value:r}}async resolveNestedExternalReferences(t,r,n,i){if(t===null||typeof t!="object")return t;if(Array.isArray(t)){let s=[];for(let a of t)s.push(await this.resolveNestedExternalReferences(a,r,n,i));return s}if(this.isReferenceObject(t)){let s=t.$ref;if(this.isExternalReference(s)){if(n.has(s))return t;n.add(s);let a=await this.resolveMaybeExternalReference({$ref:s});if(n.delete(s),a.resolved)return a.value}else{let a=`${i}${s}`;if(n.has(a))return t;n.add(a);let c=r,u=s.substring(2).split("/").map(l=>l.replace(/~1/g,"/").replace(/~0/g,"~"));for(let l of u){if(typeof c!="object"||c===null)return t;c=c[l]}if(c!=null){let l=await this.resolveNestedExternalReferences(c,r,n,i);return n.delete(s),l}n.delete(s)}return t}let o={};for(let[s,a]of Object.entries(t))typeof a=="object"&&a!==null?o[s]=await this.resolveNestedExternalReferences(a,r,n,i):o[s]=a;return o}getExamplesFromSchema({schema:t,breadcrumbs:r}){if(t==null)return[];let n=t.example!=null?[t.example]:[];return t.examples!=null&&(Array.isArray(t.examples)?n.push(...t.examples):this.errorCollector.collect({message:"Received non-array schema examples",path:r})),n}getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:r,defaultExampleName:n}){if(t==null)return[];let i=[];if(t.example!=null){let o=this.generateUniqueName({prefix:n??`${r.join("_")}_example`,existingNames:[]});i.push([o,{value:t.example}])}return t.examples!=null&&i.push(...Object.entries(t.examples)),i}resolveMaybeReference({schemaOrReference:t,breadcrumbs:r,skipErrorCollector:n}){if(this.isReferenceObject(t)){let i=this.resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:n});return i.resolved?i.value:void 0}return t}resolveExampleRecursively({example:t,breadcrumbs:r,maxDepth:n=10}){let i=t,o=0;for(;this.isReferenceObject(i);){if(o>=n){this.errorCollector.collect({message:`Maximum reference depth (${n}) exceeded while resolving example reference`,path:r});return}let s=this.resolveReference({reference:i,breadcrumbs:r,skipErrorCollector:!0});if(!s.resolved)return;i=s.value,o++}return i}resolveExample(t){if(!this.isReferenceObject(t))return t;let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}resolveExampleWithValue(t){if(!this.isReferenceObject(t))return this.returnExampleValue(t);let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}returnExampleValue(t){return this.isExampleWithValue(t)?t.value:t}getPropertyAccess(t){let r=t;for(;this.isReferenceObject(r);){let o=this.resolveReference({reference:r});if(!o.resolved)return;r=o.value}let{readOnly:n,writeOnly:i}=this.getReadOnlyWriteOnlyFromSchema(r);if(!(n&&i)){if(n)return _r.ObjectPropertyAccess.ReadOnly;if(i)return _r.ObjectPropertyAccess.WriteOnly}}getReadOnlyWriteOnlyFromSchema(t){if(t.allOf&&t.allOf.length>0){let r=!0,n=!0;for(let i of t.allOf){let o=i;if(this.isReferenceObject(i)){let a=this.resolveReference({reference:i});if(!a.resolved)continue;o=a.value}let s=this.getReadOnlyWriteOnlyFromSchema(o);r=r&&s.readOnly,n=n&&s.writeOnly}return{readOnly:r,writeOnly:n}}else return{readOnly:!!t.readOnly,writeOnly:!!t.writeOnly}}getAudiences({operation:t,breadcrumbs:r}){let i=new h1.AudienceExtension({operation:t,breadcrumbs:r,context:this}).convert();if(i!=null)return i.audiences}getAvailability({node:t,breadcrumbs:r}){for(;this.isReferenceObject(t);){let o=this.resolveReference({reference:t});if(!o.resolved)return;t=o.value}let i=new h1.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(i!=null)return{status:i,message:void 0};if(t.deprecated===!0)return{status:Kj.Deprecated,message:void 0}}getTypeIdFromSchemaReference(t){let r=t.$ref.match(/\/schemas\/(.+)$/);if(!(!r||!r[1]))return r[1]}createNamedTypeReference(t,r){return Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(t),typeId:t,displayName:r,default:void 0,inline:!1})}typeReferenceToDeclaredTypeName(t){if(t.type!=="named")return;let r=t.typeId;return{typeId:r,fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(r),displayName:t.displayName}}removeSchemaFromInlinedTypes({id:t,inlinedTypes:r}){return Object.fromEntries(Object.entries(r).filter(([n])=>n!==t))}static maybeTrimPrefix(t,r){return t.startsWith(r)?t.slice(r.length):t}generateUniqueName({prefix:t,existingNames:r}){if(!r.includes(t))return t;let n=0;for(;r.includes(`${t}_${n}`);)n++;return`${t}_${n}`}isReferenceObject(t){return typeof t=="object"&&t!==null&&"$ref"in t}isExternalReference(t){return typeof t=="string"&&(t.startsWith("http://")||t.startsWith("https://"))}isReferenceObjectWithIdentifier(t){return this.isReferenceObject(t)&&("title"in t||"name"in t||"messageId"in t||"summary"in t)}isExampleWithSummary(t){return typeof t=="object"&&t!=null&&"summary"in t&&typeof t.summary=="string"&&t.summary.length>0}isExampleWithValue(t){return typeof t=="object"&&t!=null&&"value"in t}isOptional(t){return t.type==="container"&&t.container.type==="optional"}isNullable(t){return t.type==="container"&&t.container.type==="nullable"}isList(t){return t.type==="container"&&t.container.type==="list"}isFile(t){return t.type==="primitive"&&t.primitive.v2?.type==="string"&&t.primitive.v2.validation?.format==="binary"}getAsString(t){if(typeof t=="string")return t}getAsInteger(t){if(typeof t=="number"&&Number.isInteger(t))return t}getAsNumber(t){if(typeof t=="number")return t}getAsBoolean(t){if(typeof t=="boolean")return t}getAsArray(t){if(Array.isArray(t))return t}getAsObject(t){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}getGroup({groupParts:t,namespace:r}){let n=[];return r!=null&&n.push(r),n.push(...t??[]),n}isObjectSchemaType(t){return t.type==="object"||t.properties!=null}};var ll=class{breadcrumbs;context;constructor(t){this.breadcrumbs=t.breadcrumbs,this.context=t.context}getExtensionValue(t,r){if(typeof t!="object"||t==null)return;let n=t[this.key];if(n!=null)return n;if(r!=null)return t[r]}};var h1={};D(h1,{AudienceExtension:()=>aUt,FernAvailabilityExtension:()=>KIn,FernEnumExtension:()=>JIn,FernIgnoreExtension:()=>B_t,FernOptionalExtension:()=>YIn,FernTypeExtension:()=>tCn,FernTypeNameExtension:()=>rCn,SdkGroupNameExtension:()=>XIn,SdkMethodNameExtension:()=>ZIn,ServerFromOperationNameExtension:()=>eCn});var aUt=class extends ll{operation;key="x-fern-audiences";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(n=>typeof n=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{audiences:r}}};var KIn=class extends ll{node;key="x-fern-availability";constructor({breadcrumbs:t,node:r,context:n}){super({breadcrumbs:t,context:n}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t==null||typeof t!="string")return;switch(t.toUpperCase().replace(/[-_\s]/g,"_")){case"IN_DEVELOPMENT":return Kj.InDevelopment;case"PRE_RELEASE":case"BETA":return Kj.PreRelease;case"GENERAL_AVAILABILITY":case"GA":return Kj.GeneralAvailability;case"DEPRECATED":return Kj.Deprecated;default:return}}};var kQg=$t.object({snake:$t.string().optional(),camel:$t.string().optional(),screamingSnake:$t.string().optional(),pascal:$t.string().optional()}),zQg=$t.object({description:$t.string().optional(),name:$t.string().optional(),casing:kQg.optional()}),mel=$t.record(zQg);var JIn=class extends ll{schema;key="x-fern-enum";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t==null)return;let r=mel.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-enum extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data}};var B_t=class extends ll{operation;key="x-fern-ignore";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-ignore",path:this.breadcrumbs});return}return t}}};var YIn=class extends ll{parameter;key="x-fern-optional";constructor({breadcrumbs:t,parameter:r,context:n}){super({breadcrumbs:t,context:n}),this.parameter=r}convert(){let t=this.getExtensionValue(this.parameter);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-optional",path:this.breadcrumbs});return}return t}}};var XIn=class extends ll{operation;key="x-fern-sdk-group-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(n=>typeof n=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{groups:r}}};var ZIn=class extends ll{operation;key="x-fern-sdk-method-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null&&typeof t=="string")return{methodName:t}}};var eCn=class extends ll{operation;key="x-fern-server-name";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation,"x-name");if(!(t==null||typeof t!="string"))return t}};var tCn=class extends ll{schema;key="x-fern-type";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t!=null&&typeof t=="string")return t}};var rCn=class extends ll{schema;key="x-fern-type-name";constructor({breadcrumbs:t,schema:r,context:n}){super({breadcrumbs:t,context:n}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(typeof t=="string")return t}};var Jce=class extends ds{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:n}){super({breadcrumbs:t,context:r}),this.audiences=n,this.irGraph=new Gbt(n),this.ir={auth:{docs:void 0,requirement:_r.AuthSchemesRequirement.All,schemes:[]},selfHosted:!1,types:{},services:{},errors:{},webhookGroups:{},websocketChannels:void 0,headers:[],idempotencyHeaders:[],apiVersion:void 0,apiDisplayName:void 0,apiDocs:void 0,basePath:void 0,pathParameters:[],errorDiscriminationStrategy:_r.ErrorDiscriminationStrategy.statusCode(),variables:[],serviceTypeReferenceInfo:{sharedTypes:[],typesReferencedOnlyByService:{}},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0,environments:void 0,fdrApiDefinitionId:void 0,rootPackage:this.createPackage(),subpackages:{},sdkConfig:{hasFileDownloadEndpoints:!1,hasPaginatedEndpoints:!1,hasStreamingEndpoints:!1,isAuthMandatory:!0,platformHeaders:{language:"",sdkName:"",sdkVersion:"",userAgent:void 0}},audiences:void 0,generationMetadata:void 0,apiPlayground:void 0}}removeXFernIgnores({document:t,breadcrumbs:r=[]}){return Array.isArray(t)?t.filter((n,i)=>!new B_t({breadcrumbs:[...r,String(i)],operation:n,context:this.context}).convert()).map((n,i)=>this.removeXFernIgnores({document:n,breadcrumbs:[...r,String(i)]})):t!=null&&typeof t=="object"?Object.fromEntries(Object.entries(t).filter(([n,i])=>!new B_t({breadcrumbs:[...r,n],operation:i,context:this.context}).convert()).map(([n,i])=>[n,this.removeXFernIgnores({document:i,breadcrumbs:[...r,n]})])):t}finalizeIr(){let t={...this.ir,apiName:this.context.casingsGenerator.generateName(this.ir.apiDisplayName??""),constants:{errorInstanceIdKey:this.context.casingsGenerator.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})},audiences:this.audiences.type==="select"?this.audiences.audiences:void 0};this.irGraph.hasNoAudiences()||(t=this.filterIrForAudiences(t));let r=this.context.exampleGenerationArgs,n=C2s({ir:t,exampleGeneration:r});if(this.context.generateV1Examples){let i=sCr({ir:t,exampleGeneration:r});return{...t,...i,...n}}return{...t,...n}}filterIrForAudiences(t){let r=this.irGraph.getFilteredEndpoints(),n=this.irGraph.getFilteredChannels(),i=this.irGraph.getFilteredWebhooks();for(let o of Object.values(t.services)){let s=[];for(let a of o.endpoints)r.has(a.id)&&s.push(a);o.endpoints=s}return t.websocketChannels=Object.fromEntries(Object.entries(t.websocketChannels??{}).filter(([o])=>n.has(o))),t.webhookGroups=Object.fromEntries(Object.entries(t.webhookGroups).map(([o,s])=>{let a=s.filter(c=>c.id!=null&&i.has(c.id));return[o,a]})),t}async resolveAllExternalRefs({spec:t}){let r=[t];for(;r.length>0;){let n=r.shift();n!=null&&(Array.isArray(n)?await this.resolveExternalRefsInArray(n,r):typeof n=="object"&&await this.resolveExternalRefsInObject(n,r))}return t}async resolveExternalRefsInArray(t,r){for(let n=0;n<t.length;n++)t[n]=await this.resolveReferenceChain(t[n],r)}async resolveExternalRefsInObject(t,r){for(let[n,i]of Object.entries(t))t[n]=await this.resolveReferenceChain(i,r)}async resolveReferenceChain(t,r){let n=t;if(!this.context.isReferenceObject(n))return r.push(n),t;for(;this.context.isReferenceObject(n);){let i=this.context.isExternalReference(n.$ref),o=await this.context.resolveMaybeExternalReference(n);if(o.resolved){if(n=o.value,i)return n}else return t}return t}shouldAddServerToCollectedServers({server:t,currentServers:r,specType:n="openapi"}){return n==="openapi"?!r.some(i=>i.url===t.url&&"x-fern-server-name"in i&&"x-fern-server-name"in t&&i["x-fern-server-name"]===t["x-fern-server-name"]):!r.some(i=>i.url===t.url&&"name"in i&&"name"in t&&i.name===t.name)}addEndpointToIr({endpoint:t,audiences:r,endpointGroup:n,endpointGroupDisplayName:i,serviceName:o}){let s=this.context.getGroup({groupParts:n,namespace:this.context.namespace}),a=this.getOrCreatePackage({group:n}),c=[...s].map(p=>this.context.casingsGenerator.generateName(p)),u=c[c.length-1];a.service==null&&(a.service=o??`service_${s.map(p=>eo(p)).join("/")}`),this.ir.services[a.service]==null&&(this.ir.services[a.service]=this.createNewService({allParts:c,finalpart:u,endpointGroupDisplayName:i})),this.ir.services[a.service]?.endpoints.push(t);let l=this.ir.services[a.service];l!=null&&(this.irGraph.addEndpoint(l,t),this.irGraph.markEndpointForAudience(l.name,[t],r))}addWebhookToIr({webhook:t,operationId:r,audiences:n,group:i}){let o=i?.join(".")??r,s=this.getOrCreatePackage({group:i});this.ir.webhookGroups[o]==null&&(this.ir.webhookGroups[o]=[]),this.ir.webhookGroups[o].push(t),s.webhooks=o;let a=this.context.createFernFilepath();this.irGraph.addWebhook(a,t),n!=null&&this.irGraph.markWebhookForAudiences(a,t,n)}addWebsocketChannelToIr({websocketChannel:t,channelPath:r,audiences:n,websocketGroup:i}){let o=eo(i?.join(".")),s=eo(r),a=this.context.namespace?`${eo(this.context.namespace)}/`:"",c=o?`channel_${a}${o}`:`channel_${a}${s}`,u=i?this.getOrCreatePackage({group:i}):this.getOrCreatePackage({group:[s]});this.ir.websocketChannels={...this.ir.websocketChannels,[c]:t},c!==""?u.websocket==null&&(u.websocket=c):this.ir.rootPackage.websocket="";let l=this.context.createFernFilepath();this.irGraph.addChannel(l,c,t),n!=null&&this.irGraph.markChannelForAudiences(l,c,n)}addAuthToIR(t){this.ir.auth=t}addErrorsToIr(t){this.ir.errors=t;for(let r of Object.values(t))this.irGraph.addError(r)}addGlobalHeadersToIr(t){this.ir.headers=t}addEnvironmentsToIr({environmentConfig:t,audiences:r}){if(this.ir.environments=t,r!=null)for(let[n,i]of Object.entries(t??{}))r[n]!=null&&this.irGraph.markEnvironmentForAudiences(i,r[n])}addTypeToRootPackage(t){this.ir.rootPackage.types.push(t)}addSchemaOutputToIr(t,r){let{convertedSchema:n,inlinedTypes:i}=r,s=Object.keys(i).some(a=>a===t)?`${t}Wrapper`:t;this.addTypeToPackage(s),this.addTypesToIr({...i,[s]:n})}addTypeToPackage(t){let r=this.context.getGroup({groupParts:[],namespace:this.context.namespace});this.getOrCreatePackage({group:r}).types.push(t)}addTypesToIr(t){Object.assign(this.ir.types,Object.fromEntries(Object.entries(t).map(([r,n])=>[r,n.typeDeclaration])));for(let r of Object.values(t))this.irGraph.addType({declaredTypeName:r.typeDeclaration.name,descendantTypeIds:r.typeDeclaration.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:r.propertiesByAudience,descendantFilepaths:new Set}),this.irGraph.markTypeForAudiences(r.typeDeclaration.name,r.audiences)}updateEndpointsWithDefaultUrl(t){if(t!=null)for(let r of Object.values(this.ir.services))for(let n of r.endpoints)n.baseUrl==null&&(n.baseUrl=t)}createNewService({allParts:t,finalpart:r,endpointGroupDisplayName:n}){return{name:{fernFilepath:{allParts:t,packagePath:t.slice(0,-1),file:r}},displayName:n,basePath:JP(""),headers:[],pathParameters:[],availability:void 0,endpoints:[],transport:void 0,encoding:void 0,audiences:void 0}}createPackage(t={}){return{fernFilepath:this.context.createFernFilepath(t),service:void 0,types:[],errors:[],subpackages:[],docs:void 0,webhooks:void 0,websocket:void 0,hasEndpointsInTree:!1,navigationConfig:void 0}}getOrCreatePackage({group:t}){let r=[];if(this.context.namespace!=null&&r.push(this.context.namespace),r.push(...(t??[]).map(i=>eo(i))),r.length==0)return this.ir.rootPackage;let n=this.ir.rootPackage;for(let i=0;i<r.length;i++){let o=r[i]??"",a=`subpackage_${r.slice(0,i+1).join("/")}`;this.ir.subpackages[a]==null&&(this.ir.subpackages[a]={name:this.context.casingsGenerator.generateName(o),displayName:void 0,...this.createPackage({name:o})});let c=this.ir.subpackages[a];n.subpackages.includes(a)||n.subpackages.push(a),n=c}return n}};var zb={};D(zb,{AbstractConverters:()=>$Vs,ExampleConverter:()=>lR,SchemaConverters:()=>HVs,ServersConverter:()=>L9});var $Vs={};D($Vs,{AbstractMediaTypeObjectConverter:()=>oCn,AbstractParameterConverter:()=>sCn});var QQg=/^literal<\s*(?:"(.*)"|(true|false))\s*>$/;function MQg(e){return e.type==="array"||e.properties||e.oneOf||e.anyOf||e.allOf||e.additionalProperties?!1:!!(e.type==="string"||e.type==="number"||e.type==="integer"||e.type==="boolean"||e.const!==void 0||Array.isArray(e.enum)&&e.enum.length>0)}function del(e){if(e.const!==void 0)return e.const;if(Array.isArray(e.enum)&&e.enum.length>0)return e.enum[0]}var lR=class e extends ds{MAX_DEPTH=12;EXAMPLE_STRING=Ho.STRING;EXAMPLE_NUMBER=Ho.DOUBLE;EXAMPLE_BOOLEAN=Ho.BOOLEAN;EXAMPLE_INTEGER=Ho.INT;EXAMPLE_DATE=Ho.DATE;EXAMPLE_DATE_TIME=Ho.DATE_TIME;schema;example;depth;exampleGenerationStrategy;generateOptionalProperties;seenRefs;constructor({breadcrumbs:t,context:r,schema:n,example:i,depth:o=0,exampleGenerationStrategy:s,generateOptionalProperties:a=!1,seenRefs:c=new Set}){super({breadcrumbs:t,context:r}),this.example=i,this.schema=n,this.depth=o,this.exampleGenerationStrategy=s,this.generateOptionalProperties=a,this.seenRefs=c}convert(){if(this.depth>this.MAX_DEPTH)return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:typeof this.example<"u"?this.example:{},errors:[]};if(this.context.isReferenceObject(this.schema)){let n=this.schema.$ref;if(this.seenRefs.has(n))return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}}let t=this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(t==null)return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:"Schema is not resolvable",path:this.breadcrumbs}]};if(typeof t!="object")return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Schema should be an object: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]};if("nullable"in t&&t.nullable===!0&&this.example===null)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let r=this.maybeConvertLiteralFernType(t);return r??(Array.isArray(t.type)?this.convertSchemaTypeArray({resolvedSchema:t}):t.type=="null"?this.convertNull():t.type=="boolean"?this.convertBoolean():t.enum!=null?this.convertEnum(t):t.type=="number"?this.convertNumber():t.type=="string"?this.convertString():t.type=="integer"?this.convertInteger():t.type=="array"?this.convertArray({resolvedSchema:t}):"oneOf"in t&&t.oneOf!=null?this.convertOneOf({resolvedSchema:t}):"anyOf"in t&&t.anyOf!=null?this.convertAnyOf({resolvedSchema:t}):t.type=="object"||t.properties!=null||t.allOf!=null?this.convertObject({resolvedSchema:t}):typeof t=="object"&&Object.keys(t).length===0?{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Unsupported schema type: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]})}convertNull(){let t=this.example===null;return t?{isValid:t,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[{message:`Example is not null: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertBoolean(){let t=typeof this.example=="boolean";if(t)return{isValid:t,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs})?.default:this.schema.default,n=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs})?.const:this.schema.const;return typeof r=="boolean"||typeof n=="boolean"?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n??r,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_BOOLEAN,errors:[{message:`Example is not a boolean: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertEnum(t){let r=t.enum?.includes(this.example)??!1;if(r)return{isValid:r,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let n=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return n!==void 0&&t.enum?.includes(n)?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n,errors:[]}:{isValid:r,coerced:!1,usedProvidedExample:!1,validExample:t.enum?.[0],errors:[{message:`Example is not one of the allowed enum values: ${JSON.stringify(t.enum,null,2)}`,path:this.breadcrumbs}]}}convertNumber(){if(typeof this.example=="number")return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};let t=Number(this.example);if(!isNaN(t))return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0}):this.schema,n=r?.default;return typeof n=="number"?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.adjustNumberToConstraints(this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_NUMBER,r),errors:[{message:`Example is not a number: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}adjustNumberToConstraints(t,r){if(r==null)return this.context.logger.debug("[ExampleConverter.adjustNumberToConstraints] Schema object is null, returning original number","number:",t.toString()),t;let{minimum:n,maximum:i,exclusiveMinimum:o,exclusiveMaximum:s}=r,a;o!=null?typeof o=="boolean"?a=n!=null?n+Math.max(Number.EPSILON,Math.abs(n)*1e-10):void 0:a=o+Math.max(Number.EPSILON,Math.abs(o)*1e-10):n!=null&&(a=n);let c;return s!=null?typeof s=="boolean"?c=i!=null?i-Math.max(Number.EPSILON,Math.abs(i)*Number.EPSILON):void 0:c=s-Math.max(Number.EPSILON,Math.abs(s)*Number.EPSILON):i!=null&&(c=i),a!==void 0&&c!==void 0?(t<a||t>c)&&(t=a+(c-a)/2):a!==void 0&&t<a?t=a+Math.abs(a*.1):c!==void 0&&t>c&&(t=c-Math.abs(c*.1)),Number(Number(t).toPrecision(3))}convertString(){if(typeof this.example=="string")return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};if(typeof this.example!="object"&&!Array.isArray(this.example)&&this.example!=null)return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:String(this.example),errors:[]};let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;if(typeof t=="string")return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0}):this.schema,n=r?.format==="date"?this.EXAMPLE_DATE:r?.format==="date-time"?this.EXAMPLE_DATE_TIME:this.EXAMPLE_STRING;return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??n,errors:[{message:`Example cannot be converted to string: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertInteger(){if(typeof this.example=="number"&&Number.isInteger(this.example))return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:this.example,errors:[]};if(typeof this.example=="string"){let r=Number(this.example);if(!isNaN(r)&&Number.isInteger(r))return{isValid:!0,coerced:!0,usedProvidedExample:!0,validExample:r,errors:[]}}let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="number"&&Number.isInteger(t)?{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_INTEGER,errors:[{message:`Example is not an integer: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertArray({resolvedSchema:t}){if(t.type!="array")return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};t.items==null&&(t.items={type:"string"});let r=this.example==null,n=this.example??t.example,o=(Array.isArray(n)?n:[n]).map(c=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:c,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()),s=o.every(c=>c?.isValid??!1)&&!r,a=!r&&o.some(c=>c.usedProvidedExample);return{isValid:s,coerced:!1,usedProvidedExample:a,validExample:o.map(c=>c.validExample),errors:s?[]:o.flatMap(c=>c.errors)}}convertObject({resolvedSchema:t}){if(t.type=="object"&&t.properties==null&&t.allOf==null)return{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example??{},errors:[]};let r=typeof this.example!="object"||this.example==null?{}:this.example,n=Object.entries(t.properties??{}).map(([p,m])=>{if(typeof m!="object")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(m)&&!this.isRequiredProperty({key:p,resolvedSchema:t}))return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("readOnly"in m&&m.readOnly===!0&&"writeOnly"in m&&m.writeOnly===!0)return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("readOnly"in m&&m.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};if("writeOnly"in m&&m.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}};let f=!(p in r)||!("nullable"in m)&&r[p]==null||"nullable"in m&&m.nullable===!0&&r[p]===void 0,h=!t.required?.includes(p);if(f&&h){if(this.example===void 0&&this.generateOptionalProperties){let y=this.maybeResolveSchemaExample(m),g=new e({breadcrumbs:[...this.breadcrumbs,p],context:this.context,schema:m,example:y,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()});return{key:p,result:g.convert()}}return{key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:void 0,errors:[]}}}else{let y=r[p],g=y!==void 0?y:this.maybeResolveSchemaExample(m),b=new e({breadcrumbs:[...this.breadcrumbs,p],context:this.context,schema:m,example:g,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();return{key:p,result:b}}}),i=(t.allOf??[]).map((p,m)=>{let f=this.context.resolveMaybeReference({schemaOrReference:p,breadcrumbs:[...this.breadcrumbs,`allOf[${m}]`],skipErrorCollector:!0});return f&&this.isConstraintOnlySchema(f)?{isValid:!0,coerced:!1,usedProvidedExample:this.example!==void 0,validExample:this.example,errors:[]}:new e({breadcrumbs:[...this.breadcrumbs,`allOf[${m}]`],context:this.context,schema:{...t,...p,allOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()}),o=this.example!==void 0&&(n.some(({result:p})=>p.usedProvidedExample)||i.some(p=>p.usedProvidedExample)),s=Object.fromEntries(n.map(({key:p,result:m})=>[p,m.validExample]).filter(([p,m])=>m!==void 0));for(let p of i)if(typeof p.validExample=="object"&&p.validExample!==null){let m=p.validExample;s={...s,...Object.fromEntries(Object.entries(m).filter(([f,h])=>h!==void 0))}}let a=[],c=this.collectAllPropertyKeys(t),u=Object.keys(r).filter(p=>!c.has(p));if(u.length>0)if(t.additionalProperties===!1)u.forEach(p=>{let m=[...this.breadcrumbs,p].join("."),f={message:`Found unexpected property '${p}' in example. This property does not exist in the schema${m?` at path: ${m}`:""}`,path:[...this.breadcrumbs,p]};a.push({key:p,result:{isValid:!1,coerced:!1,usedProvidedExample:!0,validExample:void 0,errors:[f]}})});else if(t.additionalProperties===!0||t.additionalProperties===void 0)u.forEach(p=>{a.push({key:p,result:{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:r[p],errors:[]}})});else{let p=t.additionalProperties;u.forEach(m=>{let h=new e({breadcrumbs:[...this.breadcrumbs,m],context:this.context,schema:p,example:r[m],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();a.push({key:m,result:h})})}for(let{key:p,result:m}of a)m.validExample!==void 0&&s[p]===void 0&&(s[p]=m.validExample);let l=n.every(p=>p.result.isValid)&&i.every(p=>p.isValid)&&a.every(({result:p})=>p.isValid);if(Object.keys(s).length===0){let p=i.find(m=>m.validExample!==void 0&&(typeof m.validExample!="object"||m.validExample===null));p&&(s=p.validExample)}return{isValid:l,coerced:!1,usedProvidedExample:o,validExample:s,errors:[...n.flatMap(({result:p})=>p.errors),...i.flatMap(p=>p.errors),...a.flatMap(({result:p})=>p.errors)]}}convertSchemaTypeArray({resolvedSchema:t}){if(!Array.isArray(t.type))return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};if(t.type.length===1)return new e({breadcrumbs:this.breadcrumbs,context:this.context,schema:{...t,type:t.type[0]},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();let r=t.type.map((a,c)=>new e({breadcrumbs:[...this.breadcrumbs,`type[${c}]`],context:this.context,schema:{...t,type:a},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert()),n=r.some(a=>a?.isValid??!1),o=r.find(a=>a.isValid)?.validExample??r[0]?.validExample??null,s=r.some(a=>a.usedProvidedExample);return{isValid:n,coerced:!1,usedProvidedExample:s,validExample:o,errors:n?[]:r.flatMap(a=>a?.errors??[])}}convertUnion({resolvedSchema:t,unionType:r}){let n=r==="oneOf"?t.oneOf:t.anyOf;if(!(r in t)||n==null)return{isValid:!1,coerced:!1,usedProvidedExample:!1,validExample:null,errors:[]};let i=this.example??this.maybeResolveSchemaExample(t);if(this.example===void 0){let m=[];for(let h of n){if(!h)continue;let y=this.context.resolveMaybeReference({schemaOrReference:h,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});y&&m.push(y)}if(m.length>0&&m.every(h=>MQg(h))){let h=m.findIndex(y=>del(y)!==void 0);if(h!==-1){let y=n[h],g=m[h];if(y&&g){let A=del(g),v=new e({breadcrumbs:[...this.breadcrumbs,`${r}[${h}]`],context:this.context,schema:r==="oneOf"?{...t,...y,oneOf:void 0}:y,example:A,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();if(v.isValid)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:v.validExample,errors:[]}}}}}let o=[],s=null,a=null;for(let m=0;m<n.length;m++){let f=n[m];if(!f)continue;let h=r==="oneOf"?{...t,...f,oneOf:void 0}:f,y=i??this.maybeResolveSchemaExample(h),A=new e({breadcrumbs:[...this.breadcrumbs,`${r}[${m}]`],context:this.context,schema:h,example:y,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy,seenRefs:this.getMaybeUpdatedSeenRefs()}).convert();if(A.isValid&&!A.coerced&&A.usedProvidedExample)return{isValid:!0,coerced:!1,usedProvidedExample:!0,validExample:A.validExample,errors:[]};if(A.isValid&&!A.coerced)return{isValid:!0,coerced:!1,usedProvidedExample:A.usedProvidedExample,validExample:A.validExample,errors:[]};o.push(A),A.isValid&&A.usedProvidedExample&&a===null&&(a=A),A.isValid&&s===null&&(s=A)}let c=a??s,u=c!==null,l=c?.validExample??o[0]?.validExample,p=c?.usedProvidedExample??!1;return{isValid:u,coerced:!1,usedProvidedExample:p,validExample:l,errors:u?[]:o.flatMap(m=>m.errors)}}convertOneOf({resolvedSchema:t}){return this.convertUnion({resolvedSchema:t,unionType:"oneOf"})}convertAnyOf({resolvedSchema:t}){return this.convertUnion({resolvedSchema:t,unionType:"anyOf"})}getMaybeUpdatedSeenRefs(){let t=new Set(this.seenRefs);return this.context.isReferenceObject(this.schema)&&t.add(this.schema.$ref),t}maybeResolveSchemaExample(t){if("example"in t)return t.example;if("examples"in t){let n=t.examples;if(Array.isArray(n)&&n.length>0)return n[0];if(n!=null&&typeof n=="object")return Object.values(n)[0]}let r=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(r!=null){if("example"in r)return r.example;if("examples"in r){let n=r.examples;return Array.isArray(n)&&n.length>0?n[0]:Object.values(n??{})[0]}}}maybeConvertLiteralFernType(t){let r=t["x-fern-type"];if(typeof r!="string")return;let n=r.match(QQg);if(n!=null){if(n[1]!=null)return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n[1],errors:[]};if(n[2]!=null)return{isValid:!0,coerced:!1,usedProvidedExample:!1,validExample:n[2]==="true",errors:[]}}}isConstraintOnlySchema(t){if(t.type!==void 0||t.properties!==void 0||t.allOf!==void 0||t.oneOf!==void 0||t.anyOf!==void 0||"items"in t||t.additionalProperties!==void 0||t.enum!==void 0||t.const!==void 0)return!1;let r=new Set(["required","description","title","deprecated","readOnly","writeOnly","nullable","example","examples","default","minLength","maxLength","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","uniqueItems","pattern","format"]),n=Object.keys(t);return n.length>0&&n.every(i=>r.has(i))}isDeprecatedProperty(t){return t!=null&&"availability"in t&&t.availability==="deprecated"}isRequiredProperty({key:t,resolvedSchema:r}){return r.required?.includes(t)??!1}collectAllPropertyKeys(t,r=new Set){let n=new Set;if(t.properties)for(let i of Object.keys(t.properties))n.add(i);for(let i of t.allOf??[]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}for(let i of[...t.oneOf??[],...t.anyOf??[]]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}return n}};var HVs={};D(HVs,{ArraySchemaConverter:()=>pUt,EnumSchemaConverter:()=>cUt,ObjectSchemaConverter:()=>uUt,OneOfSchemaConverter:()=>T_t,PrimitiveSchemaConverter:()=>lUt,SchemaConverter:()=>KWe,SchemaOrReferenceConverter:()=>z2});function hel(e){return wS({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return Bn.primitive({v1:"BASE_64",v2:io.base64({})});case"BOOLEAN":return Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})});case"DATE":return Bn.primitive({v1:"DATE",v2:io.date({})});case"DATE_TIME":return Bn.primitive({v1:"DATE_TIME",v2:io.dateTime({})});case"FLOAT":return Bn.primitive({v1:"FLOAT",v2:io.float({default:void 0,validation:void 0})});case"DOUBLE":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:void 0,validation:void 0})});case"UINT":return Bn.primitive({v1:"UINT",v2:io.uint({default:void 0,validation:void 0})});case"UINT_64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:void 0,validation:void 0})});case"INTEGER":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:void 0,validation:void 0})});case"LONG":return Bn.primitive({v1:"LONG",v2:io.long({default:void 0,validation:void 0})});case"STRING":return Bn.primitive({v1:"STRING",v2:io.string({default:void 0,validation:void 0})});case"UUID":return Bn.primitive({v1:"UUID",v2:io.uuid({})});case"BIG_INTEGER":return Bn.primitive({v1:"BIG_INTEGER",v2:io.bigInteger({default:void 0})});default:return}},unknown:()=>Bn.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return Bn.container(Xc.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return Bn.container(Xc.list(t))},optional:t=>{if(t!=null)return Bn.container(Xc.optional(t))},nullable:t=>{if(t!=null)return Bn.container(Xc.nullable(t))},set:t=>{if(t!=null)return Bn.container(Xc.set(t))},literal:t=>Bn.container(Xc.literal(t._visit({string:r=>BD.string(r),boolean:r=>BD.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var cUt=class extends ds{schema;maybeFernEnum;constructor({context:t,breadcrumbs:r,schema:n,maybeFernEnum:i}){super({context:t,breadcrumbs:r}),this.schema=n,this.maybeFernEnum=i}convert(){if(!this.schema.enum)return;let r=this.schema.enum.filter(i=>typeof i=="string"||typeof i=="number").map(i=>{let o=i.toString(),s=this.maybeFernEnum?.[o],a=s?.name??o;return{name:this.context.casingsGenerator.generateNameAndWireValue({name:a,wireValue:o}),docs:s?.description,availability:void 0,casing:s?.casing}});if(r.length===0){this.context.errorCollector.collect({message:`Received enum schema with no valid values: ${JSON.stringify(this.schema)}`,path:this.breadcrumbs});return}let n=this.context.getAsString(this.schema.default);return{type:Sl.enum({default:n!=null?r.find(i=>i.name.wireValue===n):void 0,values:r})}}};var nCn=class extends ds{schemaOrReferenceOrBoolean;constructor({context:t,breadcrumbs:r,schemaOrReferenceOrBoolean:n}){super({context:t,breadcrumbs:r}),this.schemaOrReferenceOrBoolean=n}convert(){let t=this.tryConvertUnknownMap();if(t!=null)return t;let r=this.tryConvertTypedMap();if(r!=null)return r}tryConvertUnknownMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean"){let t=Bn.container(Xc.map({keyType:ds.STRING,valueType:Bn.unknown()}));return{type:Sl.alias({aliasOf:t,resolvedType:t}),referencedTypes:new Set,inlinedTypes:{}}}}tryConvertTypedMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean")return;let r=new z2({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schemaOrReferenceOrBoolean}).convert();if(r!=null){let n=Bn.container(Xc.map({keyType:ds.STRING,valueType:r.type})),i=new Set;for(let o of r.schema?.typeDeclaration.referencedTypes??[])i.add(o);for(let o of Object.keys(r.inlinedTypes))i.add(o);return{type:Sl.alias({aliasOf:n,resolvedType:n}),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}};function ASr({properties:e,required:t,breadcrumbs:r,context:n,errorCollector:i}){let o=[],s={},a={},c=new Set;for(let[u,l]of Object.entries(e??{})){let p=[...r,"properties",u];if(typeof l!="object"){i.collect({message:`Schema property ${u} should be an object`,path:p});continue}let m=VQg(r,l,n)??n.convertBreadcrumbsToName(p),f="nullable"in l?l.nullable:!1,y=new z2({context:n,breadcrumbs:p,schemaOrReference:l,schemaIdOverride:m,wrapAsOptional:!t.includes(u),wrapAsNullable:f}).convert();if(y!=null){o.push({name:n.casingsGenerator.generateNameAndWireValue({name:u,wireValue:u}),valueType:y.type,docs:l.description,availability:y.availability,propertyAccess:n.getPropertyAccess(l),v2Examples:y.schema?.typeDeclaration?.v2Examples??{userSpecifiedExamples:{},autogeneratedExamples:{}}}),s={...s,...y.inlinedTypes},y.schema?.typeDeclaration.referencedTypes!=null&&y.schema.typeDeclaration.referencedTypes.forEach(g=>{c.add(g)});for(let g of y.schema?.audiences??[])a[g]==null&&(a[g]=new Set),a[g].add(u)}}for(let u of Object.keys(s))c.add(u);return{convertedProperties:o,propertiesByAudience:a,inlinedTypesFromProperties:s,referencedTypes:c}}function VQg(e,t,r){return r.isReferenceObject(t)?void 0:new h1.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var uUt=class extends ds{schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){let t=typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties;if(!this.schema.properties&&!this.schema.allOf)return{type:Sl.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:n,referencedTypes:i,propertiesByAudience:o}=ASr({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),s=[],a=i,c=this.schema.required!=null&&this.schema.required.length>0,u=n,l=o;for(let[p,m]of(this.schema.allOf??[]).entries()){let f=[...this.breadcrumbs,"allOf",p.toString()],h;if(this.context.isReferenceObject(m)){let v=this.context.resolveMaybeReference({schemaOrReference:m,breadcrumbs:f});if(v==null){this.context.logger.debug?.(`[ObjectSchemaConverter] allOf[${p}] reference could not be resolved. Skipping: ${JSON.stringify(m)}`);continue}if(h=v,typeof h.additionalProperties=="boolean"&&h.additionalProperties&&(t=!0),!c||Object.keys(h.properties??{}).every(_=>!this.schema.required?.includes(_))){this.addTypeReferenceToExtends({reference:m,breadcrumbs:f,extends_:s,referencedTypes:a});continue}}else h=m;typeof h.additionalProperties=="boolean"&&h.additionalProperties&&(t=!0);let{convertedProperties:y,inlinedTypesFromProperties:g,referencedTypes:A,propertiesByAudience:b}=ASr({properties:h.properties??{},required:[...this.schema.required??[],...h.required??[]],breadcrumbs:f,context:this.context,errorCollector:this.context.errorCollector});r.push(...y),u={...u,...g},l={...l,...b},A.forEach(v=>{a.add(v)})}for(let p of Object.keys(u))a.add(p);return{type:Sl.object({properties:r,extends:s.map(p=>this.context.typeReferenceToDeclaredTypeName(p)).filter(Yc),extendedProperties:[],extraProperties:t}),propertiesByAudience:l,referencedTypes:a,inlinedTypes:u}}addTypeReferenceToExtends({reference:t,breadcrumbs:r,extends_:n,referencedTypes:i}){let o=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:r});o.ok&&n.push(o.reference);let s=this.context.getTypeIdFromSchemaReference(t);s!=null&&i.add(s)}};var iCn=class extends ll{node;key="x-fern-discriminated";constructor({breadcrumbs:t,node:r,context:n}){super({breadcrumbs:t,context:n}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t!=null&&typeof t=="boolean")return t}};var T_t=class extends ds{schema;id;constructor({context:t,breadcrumbs:r,schema:n,id:i,inlinedTypes:o}){super({context:t,breadcrumbs:r}),this.schema=n,this.id=i}convert(){return this.shouldConvertAsNullableSchemaOrReference()?this.convertAsNullableSchemaOrReference():new iCn({context:this.context,breadcrumbs:this.breadcrumbs,node:this.schema}).convert()===!1?this.convertAsUndiscriminatedUnion():this.schema.discriminator!=null?this.convertAsDiscriminatedUnion():this.convertAsUndiscriminatedUnion()}filterDiscriminantFromSchema(t,r){if(t.properties==null||!(r in t.properties))return t;let{[r]:n,...i}=t.properties,o=t.required?.filter(s=>s!==r);return{...t,properties:i,required:o}}convertAsDiscriminatedUnion(){if(this.schema.discriminator==null)return;let t=this.schema.discriminator.propertyName,r=[],n=new Set,i={};for(let[u,l]of Object.entries(this.schema.discriminator.mapping??{})){let p=this.context.getTypeIdFromSchemaReference({$ref:l}),m=[...this.breadcrumbs,"discriminator","mapping",u],f=this.context.resolveReference({reference:{$ref:l},breadcrumbs:m}),h={$ref:l};f.resolved&&f.value.properties!=null&&t in f.value.properties&&(h=this.filterDiscriminantFromSchema(f.value,t));let y=new z2({context:this.context,schemaOrReference:h,schemaIdOverride:p??void 0,breadcrumbs:m});p!=null&&n.add(p);let g=y.convert();if(g?.type!=null&&p!=null){for(let b of Object.keys(g?.inlinedTypes??{}))n.add(b);for(let b of g.schema?.typeDeclaration.referencedTypes??[])n.add(b);let A=this.context.casingsGenerator.generateNameAndWireValue({name:u,wireValue:u});r.push({docs:void 0,discriminantValue:A,availability:g.availability,displayName:u,shape:TD.samePropertiesAsObject({typeId:p,name:this.context.casingsGenerator.generateName(p),fernFilepath:{allParts:[],packagePath:[],file:void 0},displayName:u})}),i={...i,...g.inlinedTypes}}}let{convertedProperties:o,referencedTypes:s,inlinedTypesFromProperties:a}=ASr({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector});n=new Set([...n,...s]);let c=[];for(let[u,l]of(this.schema.allOf??[]).entries()){let p=[...this.breadcrumbs,"allOf",u.toString()];if(this.context.isReferenceObject(l)){let m=this.context.convertReferenceToTypeReference({reference:l,breadcrumbs:p});if(m.ok){let h=this.context.typeReferenceToDeclaredTypeName(m.reference);h!=null&&c.push(h)}let f=this.context.getTypeIdFromSchemaReference(l);f!=null&&n.add(f);continue}}for(let u of Object.keys({...i,...a}))n.add(u);return{type:Sl.union({baseProperties:o,discriminant:this.context.casingsGenerator.generateNameAndWireValue({name:this.schema.discriminator.propertyName,wireValue:this.schema.discriminator.propertyName}),extends:c,types:r,discriminatorContext:void 0}),referencedTypes:n,inlinedTypes:{...i,...a}}}convertAsUndiscriminatedUnion(){if(!this.schema.oneOf&&!this.schema.anyOf||this.schema.anyOf?.length===0&&this.schema.oneOf?.length===0)return;let t=[],r=new Set,n={},i=[...this.schema.oneOf??[],...this.schema.anyOf??[]].filter(o=>!this.context.isReferenceObject(o));for(let[o,s]of[...(this.schema.oneOf??[]).entries(),...(this.schema.anyOf??[]).entries()]){if(this.context.isReferenceObject(s)){let m;if(this.context.isReferenceObjectWithIdentifier(s))m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:s.summary??s.title??s.name??s.messageId,displayNameOverrideSource:"reference_identifier"});else if(this.getDiscriminatorKeyForRef(s)!=null){let h=this.getDiscriminatorKeyForRef(s);m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:h,displayNameOverrideSource:"discriminator_key"})}else m=this.context.convertReferenceToTypeReference({reference:s,displayNameOverride:s.$ref.split("/").pop(),displayNameOverrideSource:"schema_identifier"});m.ok&&t.push({type:m.reference,docs:s.description});let f=this.context.getTypeIdFromSchemaReference(s);f!=null&&r.add(f);continue}let a=this.extendSubSchema(s),c=this.context.convertBreadcrumbsToName([`${this.id}_${o}`]),u=s.title,p=new KWe({context:this.context,id:c,nameOverride:u,breadcrumbs:[...this.breadcrumbs,`oneOf[${o}]`],schema:a??s}).convert();if(p!=null){let m=p.convertedSchema.typeDeclaration.shape;m.type==="alias"&&this.typeReferenceIsWrappedPrimitive(m.aliasOf)?t.push({type:m.aliasOf,docs:s.description}):m.type==="object"&&m.properties.length===0&&m.extends.length===0?t.push({type:Bn.container(Xc.map({keyType:ds.STRING,valueType:Bn.unknown()})),docs:s.description}):(t.push({type:this.context.createNamedTypeReference(c,u),docs:s.description}),n={...n,...p.inlinedTypes,[c]:p.convertedSchema}),p.convertedSchema.typeDeclaration.referencedTypes.forEach(f=>{r.add(f)})}}return{type:Sl.undiscriminatedUnion({members:t}),referencedTypes:r,inlinedTypes:n}}shouldConvertAsNullableSchemaOrReference(){return this.schema.oneOf!=null?this.schema.oneOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):this.schema.anyOf!=null?this.schema.anyOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):!1}removeNullFromOneOfOrAnyOf(){let t=this.schema.oneOf??this.schema.anyOf,r=this.schema.oneOf!=null?"oneOf":"anyOf";if(t==null)return;let n=t.filter(i=>!("type"in i&&i.type==="null"));if(n.length===0){this.context.errorCollector.collect({message:`Received ${r} schema with no valid non-null types`,path:this.breadcrumbs});return}return n.length===1?{...this.schema,[r]:void 0,...n[0]}:{...this.schema,[r]:n}}convertAsNullableSchemaOrReference(){let t=this.removeNullFromOneOfOrAnyOf();if(t==null)return;let n=new z2({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(n==null)return;let i=this.wrapInNullable(n.type);return{type:Sl.alias({aliasOf:i,resolvedType:i}),referencedTypes:n.schema?.typeDeclaration.referencedTypes??new Set,inlinedTypes:n.inlinedTypes}}typeReferenceIsWrappedPrimitive(t){switch(t.type){case"container":return this.containerTypeIsWrappedPrimitive(t.container);case"named":return!1;case"primitive":return!0;case"unknown":return!0;default:return!1}}containerTypeIsWrappedPrimitive(t){switch(t.type){case"list":return this.typeReferenceIsWrappedPrimitive(t.list);case"map":return this.typeReferenceIsWrappedPrimitive(t.keyType)&&this.typeReferenceIsWrappedPrimitive(t.valueType);case"nullable":return this.typeReferenceIsWrappedPrimitive(t.nullable);case"optional":return this.typeReferenceIsWrappedPrimitive(t.optional);case"set":return this.typeReferenceIsWrappedPrimitive(t.set);case"literal":return!0;default:return!1}}wrapInNullable(t){return Bn.container(Xc.nullable(t))}mergeIntoObjectSchema(t,r){return{...t,properties:{...r,...t.properties??{}}}}extendSubSchema(t){if(Object.entries(this.schema.properties??{}).length===0)return t;if(t.type==="object")return this.mergeIntoObjectSchema(t,this.schema.properties??{});this.context.isObjectSchemaType(t)||this.context.errorCollector.collect({message:"Received additional object properties for oneOf/anyOf that are not objects",path:this.breadcrumbs})}getDiscriminatorKeyForRef(t){return Object.entries(this.schema.discriminator?.mapping??{}).find(([r,n])=>n===t.$ref)?.[0]}};var lUt=class extends ds{schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){switch(this.schema.type){case"string":{let t=this.context.getAsString(this.schema.const);if(t!=null)return Bn.container(Xc.literal(BD.string(t)));if(this.context.settings.typeDatesAsStrings===!1){if(this.schema.format==="date")return Bn.primitive({v1:xc.Date,v2:io.date({})});if(this.schema.format==="date-time")return Bn.primitive({v1:xc.DateTime,v2:io.dateTime({})})}return Bn.primitive({v1:"STRING",v2:io.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":switch(this.schema.format){case"double":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Bn.primitive({v1:"FLOAT",v2:io.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Bn.primitive({v1:"LONG",v2:io.long({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint32":return Bn.primitive({v1:"UINT",v2:io.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"integer":switch(this.schema.format){case"double":return Bn.primitive({v1:"DOUBLE",v2:io.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Bn.primitive({v1:"FLOAT",v2:io.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Bn.primitive({v1:"LONG",v2:io.long({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint32":return Bn.primitive({v1:"UINT",v2:io.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Bn.primitive({v1:"UINT_64",v2:io.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Bn.primitive({v1:"INTEGER",v2:io.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"boolean":{let t=this.context.getAsBoolean(this.schema.const);return t!=null?Bn.container(Xc.literal(BD.boolean(t))):Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:this.schema.default})})}default:return}}getNumberValidation(t){let r=t.minimum,n=t.maximum,i,o;return typeof t.exclusiveMinimum=="boolean"?i=t.exclusiveMinimum:typeof t.exclusiveMinimum=="number"&&(r=t.exclusiveMinimum,i=!0),typeof t.exclusiveMaximum=="boolean"?o=t.exclusiveMaximum:typeof t.exclusiveMaximum=="number"&&(n=t.exclusiveMaximum,o=!0),{max:n,min:r,exclusiveMax:o,exclusiveMin:i,multipleOf:t.multipleOf}}getStringValidation(t){return{minLength:t.minLength,maxLength:t.maxLength,pattern:t.pattern,format:t.format}}};var UQg=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],KWe=class e extends ds{schema;id;inlined;audiences;nameOverride;constructor({context:t,breadcrumbs:r,schema:n,id:i,inlined:o=!1,nameOverride:s}){super({context:t,breadcrumbs:r}),this.schema=n,this.id=i,this.inlined=o,this.nameOverride=s,this.audiences=this.context.getAudiences({operation:this.schema,breadcrumbs:this.breadcrumbs})??[]}convert(){let t=this.tryConvertFernTypeDeclaration();if(t!=null)return t;let r=this.tryConvertEnumSchema();if(r!=null)return r;let n=this.tryConvertSingularAllOfSchema();if(n!=null)return n;let i=this.tryConvertPrimitiveSchema();if(i!=null)return i;let o=this.tryConvertArraySchema();if(o!=null)return o;let s=this.tryConvertTypeArraySchema();if(s!=null)return s;let a=this.tryConvertOneOfAnyOfSchema();if(a!=null)return a;let c=this.tryConvertMapSchema();if(c!=null)return c;let u=this.tryConvertDiscriminatorMappingSchema();if(u!=null)return u;let l=this.tryConvertObjectAllOfSchema();if(l!=null)return l;let p=this.tryConvertUntypedSchema();if(p!=null)return p;this.context.errorCollector.collect({message:`Failed to convert schema object: ${JSON.stringify(this.schema,null,2)}`,path:this.breadcrumbs})}tryConvertEnumSchema(){if(!this.schema.enum?.length)return;let r=new h1.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),i=new cUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,maybeFernEnum:r}).convert();if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:i.type,referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertSingularAllOfSchema(){if(this.schemaOnlyHasAllowedKeys(["allOf","type","title"])&&this.schema.allOf?.length===1&&this.schema.allOf[0]!=null){let r=this.context.resolveMaybeReference({schemaOrReference:this.schema.allOf[0],breadcrumbs:this.breadcrumbs});if(r!=null){let i=new e({context:this.context,breadcrumbs:[...this.breadcrumbs,"allOf","0"],schema:r,id:this.id,inlined:!0}).convert();if(i?.convertedSchema.typeDeclaration?.shape.type!=="object")return i}}if(this.schemaOnlyHasAllowedKeys(["allOf","type","title"])&&Array.isArray(this.schema.allOf)&&this.schema.allOf.length>=1){let r={};for(let i of this.schema.allOf??[]){if(this.context.isReferenceObject(i))return;r=TDt(r,i,(o,s)=>{if(s===i)return o;if(Array.isArray(o)&&Array.isArray(s))return[...o,...s]})}return new e({context:this.context,breadcrumbs:this.breadcrumbs,schema:r,id:this.id,inlined:!0}).convert()}}tryConvertPrimitiveSchema(){let r=new lUt({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new pUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:r.typeReference,resolvedType:r.typeReference}),referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertTypeArraySchema(){if(Array.isArray(this.schema.type)&&this.schema.type.length>0)return this.schema.type.length===1?this.schema.type=this.schema.type[0]:(this.schema.oneOf=this.schema.type.map(t=>({type:t})),this.schema.type=void 0),this.convert()}tryConvertOneOfAnyOfSchema(){if(this.schema.oneOf!=null||this.schema.anyOf!=null){let r=new T_t({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,inlinedTypes:{}}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertMapSchema(){if((typeof this.schema.additionalProperties=="object"||typeof this.schema.additionalProperties=="boolean")&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){if(typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties===!1)return;let r=new nCn({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReferenceOrBoolean:this.schema.additionalProperties}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertDiscriminatorMappingSchema(){if(this.schema.discriminator?.mapping!=null&&Object.keys(this.schema.discriminator.mapping).length>0&&this.schema.oneOf==null&&this.schema.anyOf==null){let t={...this.schema,oneOf:Object.values(this.schema.discriminator.mapping).map(i=>({$ref:i}))},n=new T_t({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:t,inlinedTypes:{}}).convert();if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:n.type,referencedTypes:n.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:n.inlinedTypes}}}tryConvertObjectAllOfSchema(){if(this.schema.type==="object"||this.schema.properties!=null||this.schema.allOf!=null){let r=new uUt({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:r.propertiesByAudience},inlinedTypes:r.inlinedTypes}}}tryConvertUntypedSchema(){if(this.isUntypedSchema())return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:Bn.unknown(),resolvedType:Bn.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new h1.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let n=hel(r);if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:Sl.alias({aliasOf:n,resolvedType:n}),referencedTypes:new Set,omitV2Examples:!0}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}createTypeDeclaration({shape:t,referencedTypes:r,omitV2Examples:n}){return{name:this.convertDeclaredTypeName(),shape:t,autogeneratedExamples:[],userProvidedExamples:[],encoding:void 0,availability:this.context.getAvailability({node:this.schema,breadcrumbs:this.breadcrumbs}),docs:this.schema.description,referencedTypes:r,source:void 0,inline:this.inlined,v2Examples:n?void 0:this.convertSchemaExamples()}}convertDeclaredTypeName(){return{typeId:this.id,fernFilepath:this.context.createFernFilepath(),name:this.context.casingsGenerator.generateName(this.id),displayName:this.nameOverride}}schemaOnlyHasAllowedKeys(t){let r=[...UQg,...t];return Object.keys(this.schema).every(i=>r.includes(i))}isUntypedSchema(){return!!(this.schema&&typeof this.schema=="object"&&!("oneOf"in this.schema)&&!("anyOf"in this.schema)&&!("allOf"in this.schema)&&!("items"in this.schema)&&!("properties"in this.schema))}convertSchemaExamples(){let t={userSpecifiedExamples:{},autogeneratedExamples:{}},r=this.context.getExamplesFromSchema({schema:this.schema,breadcrumbs:this.breadcrumbs});if(r.length===0){let n=this.generateOrValidateExample({example:void 0,ignoreErrors:!0});return t.autogeneratedExamples={[`${this.id}_example_autogenerated`]:n},t}return t.userSpecifiedExamples=this.convertUserSpecifiedExamples(r),t}convertUserSpecifiedExamples(t){let r={};for(let[n,i]of t.entries()){let o=this.context.resolveExample(i),s=`${this.id}_example_${n}`,a=this.generateOrValidateExample({example:o,exampleName:s});r[s]=a}return r}generateOrValidateExample({example:t}){let r=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:this.schema,example:t}),{validExample:n}=r.convert();return n}};var z2=class extends ds{schemaOrReference;schemaIdOverride;wrapAsOptional;wrapAsNullable;constructor({context:t,breadcrumbs:r,schemaOrReference:n,schemaIdOverride:i,wrapAsOptional:o=!1,wrapAsNullable:s=!1}){super({context:t,breadcrumbs:r}),this.schemaOrReference=n,this.schemaIdOverride=i,this.wrapAsOptional=o,this.wrapAsNullable=s}convert(){let t=this.maybeConvertReferenceObject({schemaOrReference:this.schemaOrReference});if(t!=null)return t;let r=this.maybeConvertSingularAllOfReferenceObject();return r??this.convertSchemaObject({schema:this.schemaOrReference})}maybeConvertReferenceObject({schemaOrReference:t}){if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:r.inlinedTypes??{}}}}maybeConvertSingularAllOfReferenceObject(){if(this.context.isReferenceObject(this.schemaOrReference)||this.schemaOrReference.allOf==null||this.schemaOrReference.allOf.length!==1)return;let t=this.schemaOrReference.allOf[0];if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}convertSchemaObject({schema:t}){let r=this.schemaIdOverride??this.context.convertBreadcrumbsToName(this.breadcrumbs),n=new KWe({context:this.context,breadcrumbs:this.breadcrumbs,schema:t,id:r}),i=this.context.getAvailability({node:t,breadcrumbs:this.breadcrumbs}),o=n.convert();if(o!=null){let s=o.convertedSchema.typeDeclaration.shape;return s.type==="alias"?{type:this.wrapTypeReference(s.aliasOf),schema:o.convertedSchema,inlinedTypes:o.inlinedTypes,availability:i}:{type:this.wrapTypeReference(this.context.createNamedTypeReference(r)),schema:o.convertedSchema,inlinedTypes:{...o.inlinedTypes,[r]:o.convertedSchema},availability:i}}}wrapTypeReference(t){return this.wrapAsOptional&&this.wrapAsNullable?this.wrapInOptional(this.wrapInNullable(t)):this.wrapAsOptional?this.wrapInOptional(t):this.wrapAsNullable?this.wrapInNullable(t):t}wrapInOptional(t){return Bn.container(Xc.optional(t))}wrapInNullable(t){return Bn.container(Xc.nullable(t))}};var pUt=class e extends ds{static LIST_UNKNOWN=Bn.container(Xc.list(Bn.unknown()));schema;constructor({context:t,breadcrumbs:r,schema:n}){super({context:t,breadcrumbs:r}),this.schema=n}convert(){if(this.schema.items!=null){Array.isArray(this.schema.items)&&(this.schema.items={oneOf:this.schema.items});let r=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs,"items"],schemaOrReference:this.schema.items}).convert();if(r!=null){let n=new Set;for(let i of r.schema?.typeDeclaration.referencedTypes??[])n.add(i);return r.inlinedTypes!=null&&Object.values(r.inlinedTypes).forEach(i=>{i.typeDeclaration.referencedTypes.forEach(o=>{n.add(o)})}),{typeReference:Bn.container(Xc.list(r.type)),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var oCn=class extends ds{group;method;constructor({context:t,breadcrumbs:r,group:n,method:i}){super({context:t,breadcrumbs:r}),this.group=n,this.method=i}parseMediaTypeObject({mediaTypeObject:t,resolveSchema:r,contentType:n,schemaId:i}){if(t.schema==null)return;if(r){let c=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",n]});if(c==null)return;t.schema=c}let s=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs,"content",n,"schema"],schemaOrReference:t.schema,schemaIdOverride:i}).convert();if(s==null)return;let a=t.examples!=null?Object.fromEntries(Object.entries(t.examples).map(([c,u])=>{if(this.context.isReferenceObject(u)){let l=this.context.resolveReference({reference:u,breadcrumbs:[...this.breadcrumbs,"content",n,"examples"],skipErrorCollector:!0});return l.resolved?[c,l.value.value??l.value]:null}return[c,u.value??u]}).filter(c=>c!=null)):void 0;return{...s,examples:a}}parseMediaTypeSchemaOrReference({schemaOrReference:t,schemaId:r}){let i=new z2({context:this.context,breadcrumbs:[...this.breadcrumbs],schemaOrReference:t,schemaIdOverride:r}).convert();if(i!=null)return{...i,examples:void 0}}getIdForExample({key:t,example:r,usedExampleNames:n}){if(this.context.isExampleWithSummary(r)){let i=r.summary;if(!n.has(i))return i;let o=`${i} (${t})`;return n.has(o)?t:o}return t}convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:r,exampleGenerationStrategy:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t?.schema,s=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_example`}),a=new Set;for(let[c,u]of s){let l=this.context.resolveExampleWithValue(u),p=this.context.resolveExampleRecursively({example:u,breadcrumbs:this.breadcrumbs}),m=this.getIdForExample({key:c,example:p,usedExampleNames:a});a.add(m),l!=null&&(o!=null?i.userSpecifiedExamples[m]=this.generateOrValidateExample({schema:o,example:l,exampleGenerationStrategy:n,exampleName:m}):i.userSpecifiedExamples[m]=l)}if(Object.keys(i.userSpecifiedExamples).length===0&&o!=null){let c=eo(`${[...this.group,this.method].join("_")}_example`);i.autogeneratedExamples[c]=this.generateOrValidateExample({schema:o,example:void 0,ignoreErrors:!0,generateOptionalProperties:r,exampleGenerationStrategy:n,exampleName:c})}return i}generateOrValidateExample({schema:t,example:r,generateOptionalProperties:n,exampleGenerationStrategy:i}){let o=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(o==null)return;let s=this.context.getExamplesFromSchema({schema:o,breadcrumbs:this.breadcrumbs}),a=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:o,example:r??s[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:i}),{validExample:c}=a.convert();return c}};var sCn=class extends ds{parameter;constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r}),this.parameter=n}convertToOutput({schema:t,typeReference:r,inlinedTypes:n}){let i=this.context.getAvailability({node:this.parameter,breadcrumbs:this.breadcrumbs}),o=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs}),s=this.getParameterSchemaWithExampleOverride({schema:o});switch(this.parameter.in){case"query":return{type:"query",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??ds.OPTIONAL_STRING,allowMultiple:this.parameter.explode??!1,v2Examples:this.convertParameterExamples({schema:s??t}),availability:i,explode:this.getExplodeForQueryParameter()},inlinedTypes:n};case"header":return{type:"header",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??ds.OPTIONAL_STRING,env:void 0,v2Examples:this.convertParameterExamples({schema:s??t}),availability:i},inlinedTypes:n};case"path":return{type:"path",parameter:{name:this.context.casingsGenerator.generateName(this.parameter.name),docs:this.parameter.description,valueType:r??ds.STRING,location:"ENDPOINT",variable:void 0,v2Examples:this.convertParameterExamples({schema:s??t}),explode:this.getExplodeForPathParameter()},inlinedTypes:n};default:return}}getParameterSchemaWithExampleOverride({schema:t}){if(t!=null)return t.type==="string"&&t.example==null?{...t,example:this.parameter.name}:t}convertParameterExamples({schema:t}){let r={userSpecifiedExamples:{},autogeneratedExamples:{}},n=this.parameter.example,i=this.parameter.examples;for(let[o,s]of Object.entries(i??{})){let a=this.context.resolveExampleWithValue(s);a!=null&&(r.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:t,example:a,exampleName:o}))}if(n!=null){let o=this.context.generateUniqueName({prefix:`${this.parameter.name}_example`,existingNames:Object.keys(r.userSpecifiedExamples)});r.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:t,example:n,exampleName:o})}if(Object.keys(r.userSpecifiedExamples).length===0){let o=`${this.parameter.name}_example`;r.autogeneratedExamples[o]=this.generateOrValidateExample({schema:t,example:void 0,ignoreErrors:!0,exampleName:o})}return r}generateOrValidateExample({schema:t,example:r}){let n=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:i}=n.convert();return i}getExplodeForQueryParameter(){let t=this.parameter.style??"form",r=this.parameter.explode;if(r!==void 0)return t==="form"?r===!0?void 0:r:r===!1?void 0:r}getExplodeForPathParameter(){let t=this.parameter.explode;if(t!==void 0)return t===!1?void 0:t}};var aCn=class extends ll{server;key="x-fern-server-name";constructor({breadcrumbs:t,server:r,context:n}){super({breadcrumbs:t,context:n}),this.server=r}convert(){let t=this.getExtensionValue(this.server,"x-name");if(!(t==null||typeof t!="string"))return t}};var yel="Base",LQg="x-fern-default-url",L9=class e extends ds{servers;endpointLevelServers;constructor({breadcrumbs:t,context:r,servers:n,endpointLevelServers:i}){super({breadcrumbs:t,context:r}),this.servers=n,this.endpointLevelServers=i}convert(){if(this.servers==null||this.servers.length===0||this.servers[0]==null)return;if(this.endpointLevelServers!=null&&this.endpointLevelServers.length>0){let n=this.getDefaultBaseUrlName(),i={id:n,name:this.context.casingsGenerator.generateName(n)},o=this.endpointLevelServers.map(c=>{let u=e.getServerName({server:c,context:this.context});return{id:u,name:this.context.casingsGenerator.generateName(u)}}).filter((c,u,l)=>l.findIndex(p=>p.id===c.id)===u),s=[i,...o],a=this.servers.map(c=>{let u=e.getServerName({server:c,context:this.context}),l=this.endpointLevelServers?.map(y=>[e.getServerName({server:y,context:this.context}),this.getServerUrl(y)]),p=e.getServerAudiences({server:c,context:this.context}),{defaultUrls:m,urlTemplates:f,urlVariables:h}=this.buildMultiUrlTemplateFields({defaultBaseUrlId:n,topLevelServer:c,endpointServers:this.endpointLevelServers??[]});return{id:u,name:this.context.casingsGenerator.generateName(u),urls:{[n]:this.getServerUrl(c),...Object.fromEntries(l??[])},docs:c.description,audiences:p,defaultUrls:m,urlTemplates:f,urlVariables:h}});return{value:{defaultEnvironment:a[0]?.id,environments:LP.multipleBaseUrls({baseUrls:s,environments:a})},defaultUrl:i.id}}let t=this.extractFernDefaultUrl(),r=this.servers.map(n=>{let i=e.getServerName({server:n,context:this.context}),o=e.getServerAudiences({server:n,context:this.context});return n.variables!=null&&Object.keys(n.variables).length>0&&n.variables!=null?{id:i,name:this.context.casingsGenerator.generateName(i),url:this.maybeRemoveTrailingSlashIfNotEmpty(this.getServerUrl(n)),audiences:o,defaultUrl:t,urlTemplate:this.maybeRemoveTrailingSlashIfNotEmpty(n.url),urlVariables:this.convertServerVariables(n.variables),docs:n.description}:{id:i,name:this.context.casingsGenerator.generateName(i),url:this.maybeRemoveTrailingSlashIfNotEmpty(this.getServerUrl(n)),audiences:o,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0,docs:n.description}}).filter(Yc);return{value:{defaultEnvironment:r[0]?.id,environments:LP.singleBaseUrl({environments:r})},defaultUrl:r[0]?.id}}convertServerVariables(t){return Object.entries(t).map(([r,n])=>({id:r,name:this.context.casingsGenerator.generateName(r),default:n.default,values:n.enum}))}static getServerExtensionName({server:t,context:r}){return new aCn({breadcrumbs:[],server:t,context:r}).convert()}static getServerAudiences({server:t,context:r}){return new aUt({breadcrumbs:[],operation:t,context:r}).convert()?.audiences}static getServerName({server:t,context:r}){return t.name!=null?t.name:e.getServerExtensionName({server:t,context:r})??t.description??t.url}getServerUrl(t){if(t.variables==null)return t.url;let r=t.url;for(let[n,i]of Object.entries(t.variables))i.default!=null&&(r=r.replace(`{${n}}`,encodeURIComponent(i.default)));return r}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?yel:e.getServerExtensionName({server:this.servers[0],context:this.context})??yel}maybeRemoveTrailingSlashIfNotEmpty(t){return t.endsWith("/")&&t!=="/"?t.slice(0,-1):t}buildMultiUrlTemplateFields({defaultBaseUrlId:t,topLevelServer:r,endpointServers:n}){let i={},o={},s={},a=!1;if(r.variables!=null&&Object.keys(r.variables).length>0){a=!0;let c=this.extractFernDefaultUrlFromServer(r);c!=null&&(i[t]=c),o[t]=this.maybeRemoveTrailingSlashIfNotEmpty(r.url),s[t]=this.convertServerVariables(r.variables)}for(let c of n){let u=e.getServerName({server:c,context:this.context});if(c.variables!=null&&Object.keys(c.variables).length>0){a=!0;let l=this.extractFernDefaultUrlFromServer(c);l!=null&&(i[u]=l),o[u]=this.maybeRemoveTrailingSlashIfNotEmpty(c.url),s[u]=this.convertServerVariables(c.variables)}}return a?{defaultUrls:Object.keys(i).length>0?i:void 0,urlTemplates:o,urlVariables:s}:{defaultUrls:void 0,urlTemplates:void 0,urlVariables:void 0}}extractFernDefaultUrlFromServer(t){let r=t[LQg];if(typeof r=="string")return this.maybeRemoveTrailingSlashIfNotEmpty(r)}extractFernDefaultUrl(){if(this.servers!=null)for(let t of this.servers){let r=this.extractFernDefaultUrlFromServer(t);if(r!=null)return r}}};var D_t=class{context;constructor({context:t}){this.context=t}validateExample({example:t,schema:r,breadcrumbs:n,exampleGenerationStrategy:i}){return new lR({breadcrumbs:n,context:this.context,schema:r,example:t,depth:0,exampleGenerationStrategy:i,generateOptionalProperties:!1}).convert()}validateEndpointExample({exampleToValidate:t}){let r=[],n=[],i=!0,o=!1,s,a=[t.endpointPath,t.method];if(t.requestExample!==void 0&&t.requestSchema!==void 0){let u=this.validateExample({example:t.requestExample,schema:t.requestSchema,breadcrumbs:[...a,"request"],exampleGenerationStrategy:"request"});if(!u.isValid){i=!1;let l=t.exampleSource==="human"?cB.WARNING:cB.ERROR;r.push(...u.errors.map(p=>({...p,level:l,message:`Invalid request example: ${p.message}`})))}u.coerced&&(o=!0,n.push({level:cB.WARNING,message:"Request example was coerced to match schema",path:[...a,"request"]})),s={request:u.validExample}}let c=this.getResponseSchemaForValidation(t);if(t.responseExample!==void 0&&c!==void 0){let u=this.validateExample({example:t.responseExample,schema:c,breadcrumbs:[...a,"response"],exampleGenerationStrategy:"response"});if(!u.isValid){i=!1;let l=t.exampleSource==="human"?cB.WARNING:cB.ERROR;r.push(...u.errors.map(p=>({...p,level:l,message:`Invalid response example: ${p.message}`})))}u.coerced&&(o=!0,n.push({level:cB.WARNING,message:"Response example was coerced to match schema",path:[...a,"response"]})),s={...typeof s=="object"&&s!==null?s:{},response:u.validExample}}return{isValid:i,errors:r,warnings:n,endpointPath:t.endpointPath,method:t.method,exampleSource:t.exampleSource,exampleName:t.exampleName,validExample:s,coerced:o}}getResponseSchemaForValidation(t){let{responseStatusCode:r,responseSchemas:n,responseSchema:i}=t;return n&&Object.keys(n).length>0?r&&n[r]?n[r]:n[200]??n[201]:i}validateAiExamples({aiExamples:t,spec:r}){let n=[],i=[];for(let o of t){let{requestSchema:s,responseSchema:a,responseSchemas:c}=this.getSchemasForEndpoint({spec:r,endpointPath:o.endpointPath,method:o.method}),u={endpointPath:o.endpointPath,method:o.method,exampleSource:"ai",requestExample:o.request?.body,responseExample:o.response?.body,requestSchema:s,responseSchema:a,responseSchemas:c},l=this.validateEndpointExample({exampleToValidate:u}),p=this.hasUnexpectedProperties({requestExample:o.request?.body,responseExample:o.response?.body,requestSchema:s,responseSchema:a}),m=l.errors.length>0||l.warnings.length>0;!l.isValid||m||p?i.push({example:o,validationResult:l}):n.push(o)}return{validExamples:n,invalidExamples:i}}hasUnexpectedProperties({requestExample:t,responseExample:r,requestSchema:n,responseSchema:i}){return!!(t&&n&&this.exampleHasUnexpectedProperties(t,n)||r&&i&&this.exampleHasUnexpectedProperties(r,i))}exampleHasUnexpectedProperties(t,r){if(!t||typeof t!="object"||t===null)return!1;let n=this.context.resolveMaybeReference({schemaOrReference:r,breadcrumbs:[],skipErrorCollector:!0});if(!n||!n.properties&&!n.allOf&&!n.oneOf&&!n.anyOf)return!1;let i=t,o=this.collectAllPropertyKeys(n);return Object.keys(i).some(a=>!o.has(a))}collectAllPropertyKeys(t,r=new Set){let n=new Set;if(t.properties)for(let i of Object.keys(t.properties))n.add(i);for(let i of t.allOf??[]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[],skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}for(let i of[...t.oneOf??[],...t.anyOf??[]]){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[],skipErrorCollector:!0});if(o){let s=this.context.isReferenceObject(i)?i.$ref:JSON.stringify(o);if(!r.has(s)){r.add(s);let a=this.collectAllPropertyKeys(o,r);for(let c of a)n.add(c)}}}return n}validateHumanExamples({spec:t}){let r=[],n=0,i=0,o=0,s=[],a=[];if(!t.paths)return{endpoints:r,totalExamples:n,validExamples:i,invalidExamples:o,hasInvalidHumanExamples:!1,hasInvalidAiExamples:!1,invalidHumanExamples:s,invalidAiExamples:a};for(let[c,u]of Object.entries(t.paths)){if(!u)continue;let l=["get","post","put","delete","patch","options","head","trace"];for(let p of l){let m=u[p];if(!m)continue;let f=[],{requestSchema:h,responseSchema:y,responseSchemas:g}=this.getSchemasForOperation({operation:m}),A=this.extractExamplesFromOperation({operation:m,path:c,method:p});for(let b of A){n++;let v={endpointPath:c,method:p,exampleName:b.name,exampleSource:b.source,requestExample:b.request,responseExample:b.response,requestSchema:h,responseSchema:y,responseStatusCode:b.statusCode,responseSchemas:g},_=this.validateEndpointExample({exampleToValidate:v});f.push(_),_.isValid?i++:(o++,b.source==="human"?s.push(_):b.source==="ai"&&a.push(_))}f.length>0&&r.push({endpointPath:c,method:p,results:f,hasInvalidExamples:f.some(b=>!b.isValid),invalidExampleCount:f.filter(b=>!b.isValid).length})}}return{endpoints:r,totalExamples:n,validExamples:i,invalidExamples:o,hasInvalidHumanExamples:s.length>0,hasInvalidAiExamples:a.length>0,invalidHumanExamples:s,invalidAiExamples:a}}getSchemasForEndpoint({spec:t,endpointPath:r,method:n}){let i=t.paths?.[r];if(!i)return{responseSchemas:{}};let o=i[n.toLowerCase()];return!o||typeof o!="object"||!("responses"in o)?{responseSchemas:{}}:this.getSchemasForOperation({operation:o})}getSchemasForOperation({operation:t}){let r,n,i={};if(t.requestBody&&!this.context.isReferenceObject(t.requestBody)){let s=t.requestBody.content?.["application/json"];s?.schema&&(r=s.schema)}if(t.responses){for(let[o,s]of Object.entries(t.responses)){if(!s||this.context.isReferenceObject(s))continue;let c=s.content?.["application/json"];c?.schema&&(i[o]=c.schema)}n=i[200]??i[201]}return{requestSchema:r,responseSchema:n,responseSchemas:i}}extractExamplesFromOperation({operation:t,path:r,method:n}){let i=[];if(t.requestBody&&!this.context.isReferenceObject(t.requestBody)){let a=t.requestBody.content?.["application/json"];if(a?.example!==void 0&&i.push({name:`${n}_${r}_request_example`,source:"openapi",request:a.example}),a?.examples)for(let[c,u]of Object.entries(a.examples)){let l=this.context.isReferenceObject(u)?this.context.resolveExample(u):u;l&&typeof l=="object"&&"value"in l&&i.push({name:c,source:"human",request:l.value})}}if(t.responses)for(let[s,a]of Object.entries(t.responses)){if(!a||this.context.isReferenceObject(a))continue;let u=a.content?.["application/json"];if(u?.example!==void 0){let l=i.find(p=>p.request!==void 0&&p.response===void 0);l?(l.response=u.example,l.statusCode=s):i.push({name:`${n}_${r}_response_${s}_example`,source:"openapi",response:u.example,statusCode:s})}if(u?.examples)for(let[l,p]of Object.entries(u.examples)){let m=this.context.isReferenceObject(p)?this.context.resolveExample(p):p;if(m&&typeof m=="object"&&"value"in m){let f=i.find(h=>h.name===l);f?(f.response=m.value,f.statusCode=s):i.push({name:l,source:"human",response:m.value,statusCode:s})}}}let o=t["x-fern-examples"];if(Array.isArray(o)){for(let s of o)if(typeof s=="object"&&s!==null){let a=s;i.push({name:a.name,source:"human",request:a.request?.body,response:a.response?.body})}}return i}};var cCn={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},qQg=new Set(Object.values(cCn));var WQg=$t.object({type:$t.string(),channelId:$t.string().optional(),messageId:$t.string(),value:$t.any()}),GQg=$t.object({summary:$t.string().optional(),description:$t.string().optional(),"query-parameters":$t.record($t.string()).optional(),headers:$t.record($t.string()).optional(),messages:$t.array(WQg)}),gel=$t.array(GQg);var uCn=class extends ll{channel;baseDir;key="x-fern-examples";constructor({breadcrumbs:t,channel:r,context:n,baseDir:i}){super({breadcrumbs:t??[],context:n}),this.channel=r,this.baseDir=i}convert(){let t=this.getExtensionValue(this.channel);if(t==null)return;let r=gel.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-examples extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data.map(n=>({summary:n.summary,description:n.description,queryParameters:n["query-parameters"],headers:n.headers,messages:n.messages.map(i=>({type:i.type,channelId:i.channelId,messageId:i.messageId,value:i.value}))}))}};var fUt=class extends ds{channel;channelPath;inlinedTypes={};websocketGroup;constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}){super({context:t,breadcrumbs:r}),this.websocketGroup=n,this.channel=i,this.channelPath=o}convertExamples({fullPath:t,baseUrl:r,asyncApiVersion:n}){let o=new uCn({context:this.context,breadcrumbs:this.breadcrumbs,channel:this.channel,baseDir:this.context.documentBaseDir}).convert();return o==null?{}:Object.fromEntries(o.map((s,a)=>[a.toString(),{channel:{method:"GET",path:t},baseUrl:t,environment:r,auth:void 0,pathParameters:{},queryParameters:s.queryParameters,headers:s.headers,messages:s.messages.map(c=>({type:n==="v2"?c.type:c.messageId,body:c.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var JWe=class extends zb.AbstractConverters.AbstractParameterConverter{parameterNamePrefix;constructor({context:t,breadcrumbs:r,parameter:n,parameterNamePrefix:i}){super({context:t,breadcrumbs:r,parameter:n}),this.parameterNamePrefix=i}convert(){let t,r={},i=new h1.FernOptionalExtension({breadcrumbs:this.breadcrumbs,parameter:this.parameter,context:this.context}).convert()??this.parameter.required===!1,o=this.parameter.schema??{...this.parameter,type:"string",enum:this.parameter.enum,default:this.parameter.default,example:this.parameter.example??this.parameter.name,examples:Object.values(this.parameter.examples??{}),deprecated:this.parameter.deprecated,required:void 0},a=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaIdOverride:this.parameterNamePrefix?`${this.parameterNamePrefix}_${this.parameter.name}`:this.parameter.name,schemaOrReference:o,wrapAsOptional:i}).convert();return a!=null&&(t=a.type,r=a.inlinedTypes??{}),this.convertToOutput({schema:o,typeReference:t,inlinedTypes:r})}};var lCn=class extends ll{channel;key="x-fern-address";constructor({breadcrumbs:t,channel:r,context:n}){super({breadcrumbs:t,context:n}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var mUt=class extends ll{channel;key="x-fern-display-name";constructor({breadcrumbs:t,channel:r,context:n}){super({breadcrumbs:t,context:n}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var pCn=class extends fUt{inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}){super({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o})}convert(){let t=[],r=[],n=[],o=new mUt({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".");this.channel.parameters&&this.convertPathParameters({context:this.context,pathParameters:t}),this.channel.bindings?.ws!=null&&(this.convertHeaders({context:this.context,headers:n}),this.convertBindingQueryParameters({context:this.context,queryParameters:r}));let s;this.channel.subscribe!=null&&(s=this.convertMessage({context:this.context,operation:this.channel.subscribe,origin:"server"}));let a;this.channel.publish!=null&&(a=this.convertMessage({context:this.context,operation:this.channel.publish,origin:"client"}));let c=[];s!=null&&c.push(s),a!=null&&c.push(a);let l=new lCn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert(),p=this.transformToValidPath(l??this.channelPath),m=this.channel.servers?.[0]??Object.keys(this.context.spec.servers??{})[0],f=JP(p),h=eo(this.channelPath),y=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(h),displayName:o,baseUrl:m,path:f,auth:!1,headers:n,queryParameters:r,pathParameters:t,messages:c,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:p,baseUrl:m,asyncApiVersion:"v2"})}},audiences:y,inlinedTypes:this.inlinedTypes}}convertMessage({context:t,operation:r,origin:n}){let i,o=n==="server"?"subscribe":"publish",s=[...this.breadcrumbs,o],a=t.resolveMaybeReference({schemaOrReference:r.message,breadcrumbs:s});a!=null&&(r.message=a);let c=oyt(eo(`${this.channelPath}_${o}`)).replace(/ /g,"");if("oneOf"in r.message){let l=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:s,schemaOrReference:r.message,schemaIdOverride:c}).convert();l!=null&&l.schema!=null&&(i=l.schema,this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes})}else if(t.isMessageWithPayload(r.message)){let u=t.resolveMaybeReference({schemaOrReference:r.message.payload,breadcrumbs:s});if(u!=null){let p=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:s,schemaOrReference:u,schemaIdOverride:c}).convert();p!=null&&p.schema!=null&&(i=p.schema,this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes})}}if(i!=null){let u=i,l=Bn.named({fernFilepath:t.createFernFilepath(),name:u.typeDeclaration.name.name,typeId:u.typeDeclaration.name.typeId,displayName:void 0,default:void 0,inline:!1}),p=Dk.reference({bodyType:l,docs:r.description}),m=n==="server"?"subscribe":"publish";return{type:m,displayName:m,origin:n,body:p,availability:t.getAvailability({node:r,breadcrumbs:this.breadcrumbs}),docs:r.description,methodName:void 0}}}convertPathParameters({context:t,pathParameters:r}){for(let[n,i]of Object.entries(this.channel.parameters??{})){let o=t.resolveMaybeReference({schemaOrReference:i,breadcrumbs:this.breadcrumbs});if(o==null)continue;let a=new JWe({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...o,name:n,in:"path",description:o.description,required:o.required??!0}}).convert();a!=null&&(this.inlinedTypes={...this.inlinedTypes,...a.inlinedTypes},a.type==="path"&&r.push(a.parameter))}}convertHeaders({context:t,headers:r}){if(this.channel.bindings?.ws?.headers!=null){let n=this.channel.bindings.ws.headers.required??[];for(let[i,o]of Object.entries(this.channel.bindings.ws.headers.properties??{})){let s=t.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,i]});if(s==null)continue;let c=new JWe({context:this.context,breadcrumbs:[...this.breadcrumbs,i],parameter:{name:i,in:"header",required:n.includes(i),schema:s,description:"description"in s?s.description:void 0}}).convert();c!=null&&c.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},r.push(c.parameter))}}}convertBindingQueryParameters({context:t,queryParameters:r}){if(this.channel.bindings?.ws?.query!=null){let n=this.channel.bindings.ws.query.required??[];for(let[i,o]of Object.entries(this.channel.bindings.ws.query.properties??{})){let s=t.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,i]});if(s==null)continue;let c=new JWe({context:this.context,breadcrumbs:[...this.breadcrumbs,i],parameter:{name:i,in:"query",required:n.includes(i),schema:s,description:"description"in s?s.description:void 0,deprecated:s.deprecated??!1}}).convert();c!=null&&c.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},r.push(c.parameter))}}}};var dUt=class extends ds{servers;constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r}),this.servers=n}convert(){if(this.servers==null||Object.keys(this.servers).length===0)return;let t=[],r;for(let[n,i]of Object.entries(this.servers)){let o=this.buildSingleBaseUrlEnvironment(this.context,n,i);t.push(o),r==null&&(r=o.id)}return{defaultEnvironment:r,environments:LP.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var fCn=class extends dUt{constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r,servers:n})}buildSingleBaseUrlEnvironment(t,r,n){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(n.protocol,n.url),docs:void 0,audiences:void 0,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0}}};var KVs="$message.",Ael="#/channels/",bel="#/servers/",mCn=class extends fUt{operations;inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o,operations:s}){super({context:t,breadcrumbs:r,websocketGroup:n,channel:i,channelPath:o}),this.operations=s}convert(){let t=[],r=[],n=[],o=new mUt({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".")??this.channelPath;this.channel.parameters&&this.convertChannelParameters({pathParameters:t,queryParameters:r,headers:n,channelPath:this.channelPath});let s=Object.entries(this.operations).reduce((m,[f,h])=>{try{this.getChannelPathFromOperation(h)===this.channelPath&&(m[f]=h)}catch{}return m},{}),a=[];for(let[m,f]of Object.entries(s))for(let h of f.messages){let y=this.context.convertReferenceToTypeReference({reference:h});if(y.ok){let g=Dk.reference({bodyType:y.reference,docs:f.description});a.push({type:m,displayName:m,origin:f.action==="send"?"client":"server",body:g,availability:this.context.getAvailability({node:f,breadcrumbs:this.breadcrumbs}),docs:f.description,methodName:void 0})}}let c=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],u=this.transformToValidPath(this.channel.address??this.channelPath),l=JP(u),p=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(o),displayName:o,baseUrl:c,path:l,auth:!1,headers:n,queryParameters:r,pathParameters:t,messages:a,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:u,baseUrl:c,asyncApiVersion:"v3"})}},audiences:p,inlinedTypes:this.inlinedTypes}}convertChannelParameters({pathParameters:t,queryParameters:r,headers:n,channelPath:i}){for(let o of Object.values(this.channel.parameters??{})){let s=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:[...this.breadcrumbs,"parameters"]});if(s==null)continue;let a=this.convertChannelParameterLocation(s.location);if(a==null)continue;let{type:c,parameterKey:u}=a,p=new JWe({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...s,name:u,in:c},parameterNamePrefix:this.channelPath}).convert();if(p!=null)switch(this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes},p.type){case"path":t.push(p.parameter);break;case"query":r.push(p.parameter);break;case"header":n.push(p.parameter);break}}}convertChannelParameterLocation(t){try{let[r,n]=t.split("#/");if(r==null||n==null){this.context.errorCollector.collect({message:`Invalid location format: ${t}; unable to parse message type and parameter key`,path:this.breadcrumbs});return}if(!r.startsWith(KVs)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${KVs} prefix`,path:this.breadcrumbs});return}let i=r.substring(KVs.length);if(i!=="header"&&i!=="path"&&i!=="payload"){this.context.errorCollector.collect({message:`Invalid message type: ${i}. Must be one of: header, path, payload`,path:this.breadcrumbs});return}return i==="payload"?{type:"query",parameterKey:n}:{type:i,parameterKey:n}}catch{this.context.errorCollector.collect({message:`Invalid location format: ${t}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`,path:this.breadcrumbs});return}}resolveChannelServersFromReference(t){if(t==null||t.length===0||t[0]==null)return;let r=t[0];if(!r.$ref.startsWith(bel)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let n=r.$ref.substring(bel.length);if(n==null){this.context.errorCollector.collect({message:`Failed to find server with name ${n}`,path:this.breadcrumbs});return}return n}getChannelPathFromOperation(t){if(!t.channel.$ref.startsWith(Ael))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(Ael.length)}};var dCn=class extends dUt{constructor({context:t,breadcrumbs:r,servers:n}){super({context:t,breadcrumbs:r,servers:n})}buildSingleBaseUrlEnvironment(t,r,n){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(n.protocol,n.host),docs:void 0,audiences:void 0,defaultUrl:void 0,urlTemplate:void 0,urlVariables:void 0}}};var bSr=class extends Jce{constructor({context:t,breadcrumbs:r,audiences:n}){super({context:t,breadcrumbs:r,audiences:n})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.isAsyncAPIV3(this.context)?this.convertChannelMessages():this.convertComponentMessages(),this.convertSchemas(),this.convertServers(),this.convertChannels(),this.finalizeIr()}isAsyncAPIV3(t){return parseFloat(t.spec.asyncapi)>=3}convertChannelMessages(){let t=this.context.spec;for(let[r,n]of Object.entries(t.channels??{}))for(let[i,o]of Object.entries(n.messages??{})){if(!this.context.isMessageWithPayload(o)&&!this.context.isReferenceObject(o))continue;let s=["channels",r,"messages",i],a=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:s});if(!this.context.isMessageWithPayload(a))continue;let c=this.context.resolveMaybeReference({schemaOrReference:a.payload,breadcrumbs:s});if(c==null)continue;let u=`${r}_${i}`;this.convertSchema({id:u,breadcrumbs:s,schema:c})}}convertComponentMessages(){for(let[t,r]of Object.entries(this.context.spec.components?.messages??{})){if(r.payload==null)continue;let n=["components","messages",t],i=this.context.resolveMaybeReference({schemaOrReference:r.payload,breadcrumbs:n});i!=null&&this.convertSchema({id:t,breadcrumbs:n,schema:i})}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{}))this.convertSchema({id:t,breadcrumbs:["components","schemas",t],schema:r})}convertSchema({id:t,breadcrumbs:r,schema:n}){let o=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:r,schema:n}).convert();o!=null&&this.addSchemaOutputToIr(t,o)}convertServers(){let t;if(this.isAsyncAPIV3(this.context)){let r=this.context.spec.servers;t=new dCn({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new fCn({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}this.addEnvironmentsToIr({environmentConfig:t})}convertChannels(){for(let[t,r]of Object.entries(this.context.spec.channels??{})){let i=new h1.SdkGroupNameExtension({breadcrumbs:["channels",t],operation:r,context:this.context}).convert()?.groups,o;if(this.isAsyncAPIV3(this.context)){let a=this.context.spec.operations??{};o=new mCn({context:this.context,breadcrumbs:["channels",t],websocketGroup:i,channel:r,channelPath:t,operations:a}).convert()}else o=new pCn({context:this.context,breadcrumbs:["channels",t],websocketGroup:i,channel:r,channelPath:t}).convert();o!=null&&(this.addWebsocketChannelToIr({websocketChannel:o.channel,channelPath:t,audiences:o.audiences,websocketGroup:i}),this.addTypesToIr(o.inlinedTypes))}}};var _Sr=class extends aP{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}getTypeIdFromMessageReference(t){let r=t.$ref.match(/\/messages\/(.+)$/);if(!(!r||!r[1]))return r[1]}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o,s=t.$ref.match(/^.*\/schemas\/(.+)$/),a=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),c=t.$ref.match(/^.*\/messages\/(.+)$/);if(s&&s[1])return o=s[1],this.convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o});if(a&&a[2]){let u=a[1],l=a[2];return o=`${u}_${l}`,this.convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o})}else return c&&c[1]?(o=c[1],this.convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o})):{ok:!1}}convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.title:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.title??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.name:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.name??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i,typeId:o}){let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.messageId??s.value.name:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.messageId??s.value.name??n),{ok:!0,reference:Bn.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}};var Pel=He(hCn(),1);var yCn=class extends ll{document;key="x-fern-base-path";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(typeof t!="string"){this.context.errorCollector.collect({message:"Received unexpected non-string value for x-fern-base-path",path:this.breadcrumbs});return}return t}}};var gCn=class extends ll{document;key="x-fern-global-headers";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(!Array.isArray(t)){this.context.errorCollector.collect({message:"Received unexpected non-array value for x-fern-global-headers",path:this.breadcrumbs});return}return t}}};function _el({globalHeaders:e,context:t}){return e.map(r=>({name:t.casingsGenerator.generateNameAndWireValue({name:r.name??"",wireValue:r.header}),valueType:r.optional?ds.OPTIONAL_STRING:ds.STRING,env:r.env,v2Examples:r.optional?void 0:KQg({header:r,context:t}),availability:void 0,docs:void 0}))}function KQg({header:e,context:t}){let r=new lR({breadcrumbs:[],context:t,schema:{type:"string"},example:e.header}),{validExample:n}=r.convert();return{userSpecifiedExamples:{},autogeneratedExamples:{globalHeaderExample:n}}}var ACn=class extends zb.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r,parameter:n})}convert(){let t,r={};if(this.parameter.schema!=null){let n=this.context.convertBreadcrumbsToName([...this.breadcrumbs,this.parameter.name]),o=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,this.parameter.name,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required,schemaIdOverride:n}).convert();o!=null&&(t=o.type,r=o.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var bCn=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{contentType;mediaType;description;required;schemaId;streamingExtension;queryParameters;constructor({context:t,breadcrumbs:r,contentType:n,mediaType:i,description:o,required:s,group:a,method:c,streamingExtension:u,queryParameters:l}){super({context:t,breadcrumbs:r,group:a,method:c}),this.contentType=n,this.mediaType=i,this.description=o,this.required=s,this.schemaId=[...this.group,this.method,"Request"].join("_"),this.streamingExtension=u,this.queryParameters=l??[]}convert(){return this.streamingExtension?.type=="streamCondition"?this.convertStreamConditionRequestBody():this.convertNonStreamConditionRequestBody()}convertStreamConditionRequestBody(){if(this.isOrderedJsonOrFormContentType())return this.handleStreamConditionJsonOrFormContent({contentType:this.contentType})}convertNonStreamConditionRequestBody(){if(this.isOrderedJsonOrFormContentType())return this.handleJsonOrFormContent({contentType:this.contentType});if(GA.parse(this.contentType)?.isMultipart())return this.handleMultipartContent({contentType:this.contentType});if(this.isBinaryContentType())return this.handleBinaryContent({contentType:this.contentType})}isOrderedJsonOrFormContentType(){let t=GA.parse(this.contentType);return t?t.isJSON()||t.isURLEncoded()||t.isPlainText()||t.isCSV()||t.isHTML()||t.isXML()||t.isDNS()||t.isApplicationText():!1}isBinaryContentType(){let t=GA.parse(this.contentType);return t?t.isBinary():!1}handleJsonOrFormContent({contentType:t}){let r=this.mediaType;if(r==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});if(n==null)return;let i=n.schema?.typeDeclaration.shape;return i?.type==="object"?this.hasBodyQueryParameterOverlap(i.properties)?{requestBody:Sb.reference({contentType:t,docs:this.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n.inlinedTypes??{}}:{requestBody:Sb.inlinedRequestBody({contentType:t,docs:this.description,name:this.context.casingsGenerator.generateName(this.schemaId),extendedProperties:i.extendedProperties,extends:i.extends,properties:i.properties,extraProperties:i.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:n.inlinedTypes})}:{requestBody:Sb.reference({contentType:t,docs:this.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.mediaType;if(r==null||r.schema==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,resolveSchema:!0,contentType:t});if(n==null)return;let i=n.schema?.typeDeclaration.shape;if(i?.type==="object")return{requestBody:Sb.fileUpload({contentType:t,docs:this.description,name:this.context.casingsGenerator.generateName(this.schemaId),properties:i.properties.map(o=>{let s=r.encoding?.[o.name.wireValue];return this.convertRequestBodyProperty({property:o,contentType:t,encoding:s})}),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:n.inlinedTypes}),examples:n.examples}}handleBinaryContent({contentType:t}){let r=this.mediaType;if(r==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});return{requestBody:Sb.bytes({contentType:t,isOptional:this.required===!1,docs:this.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:n?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r,encoding:n}){let{isFile:i,isOptional:o,isArray:s}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?s?Yj.file(W3.fileArray({key:t.name,isOptional:o,contentType:r,docs:t.docs})):Yj.file(W3.file({key:t.name,isOptional:o,contentType:r,docs:t.docs})):Yj.bodyProperty({...t,contentType:n?.contentType??r,style:YQg({encoding:n}),name:t.name})}handleStreamConditionJsonOrFormContent({contentType:t}){if(this.streamingExtension?.type!=="streamCondition")return;let r=this.mediaType;if(r==null||r.schema==null)return;let n=this.context.resolveMaybeReference({schemaOrReference:r.schema,breadcrumbs:[...this.breadcrumbs,"content",t,"schema"]});if(n==null)return;let i=n.properties?.[this.streamingExtension.streamConditionProperty];if(i==null||this.context.isReferenceObject(i))return;let o=this.buildStreamConditionInlinedRequestBody({streamConditionProperty:i,resolvedMediaTypeSchema:n,isStreaming:!0,contentType:t,mediaTypeObject:r}),s=this.buildStreamConditionInlinedRequestBody({streamConditionProperty:i,resolvedMediaTypeSchema:n,isStreaming:!1,contentType:t,mediaTypeObject:r});if(!(o==null||s==null))return{requestBody:s.requestBody,streamRequestBody:o.requestBody,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:{...o.inlinedTypes,...s.inlinedTypes}})}}buildStreamConditionInlinedRequestBody({streamConditionProperty:t,resolvedMediaTypeSchema:r,isStreaming:n,contentType:i,mediaTypeObject:o}){if(this.streamingExtension==null||this.streamingExtension.type!=="streamCondition")return;let s={...r,properties:{...r.properties,[this.streamingExtension.streamConditionProperty]:{type:"boolean",const:n,...t}},required:[...r.required??[],this.streamingExtension.streamConditionProperty]},a={...o,schema:s},c=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:this.schemaId,contentType:i});if(c==null)return;let u=c.schema?.typeDeclaration.shape;if(u?.type==="object")return{requestBody:Sb.inlinedRequestBody({contentType:i,docs:void 0,name:this.context.casingsGenerator.generateName(n?`${this.schemaId}_streaming`:this.schemaId),extendedProperties:u.extendedProperties,extends:u.extends,properties:u.properties,extraProperties:u.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:a,exampleGenerationStrategy:"request"})}),inlinedTypes:c.inlinedTypes}}recursivelyCheckTypeReferenceIsFile({typeReference:t,isOptional:r,isArray:n}){return this.context.isList(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.list,isOptional:r,isArray:!0}):this.context.isOptional(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.optional,isOptional:!0,isArray:n}):this.context.isNullable(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.nullable,isOptional:r,isArray:n}):{isFile:this.context.isFile(t),isOptional:r??!1,isArray:n??!1}}hasBodyQueryParameterOverlap(t){if(this.queryParameters.length===0)return!1;let r=new Set(this.queryParameters.map(n=>n.name.wireValue.toLowerCase()));return t.some(n=>r.has(n.name.wireValue.toLowerCase()))}},JQg={"application/json":"json"};function YQg({encoding:e}){if(e){if(e.explode)return"exploded";if(e.style==="form")return"form";if(e.contentType)return JQg[e.contentType]}}var XQg=/{([^}]+)}/g,ZQg=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),hUt=class extends ds{operation;method;path;inlinedTypes={};constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o}){super({context:t,breadcrumbs:r}),this.operation=n,this.method=i,this.path=o}convertHttpMethod(){switch(this.method){case"get":return iw.Get;case"post":return iw.Post;case"put":return iw.Put;case"delete":return iw.Delete;case"patch":return iw.Patch;case"head":return iw.Head;default:return}}convertParameters({breadcrumbs:t}){let r=[],n=[],i=[];if(!this.operation.parameters)return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:n,headers:i};for(let o of this.operation.parameters){let s=this.context.resolveMaybeReference({schemaOrReference:o,breadcrumbs:t});if(s==null)continue;let c=new ACn({context:this.context,breadcrumbs:t,parameter:s}).convert();if(c!=null)switch(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},c.type){case"path":r.push(c.parameter);break;case"query":n.push(c.parameter);break;case"header":{let u=c.parameter.name.name.originalName,l=c.parameter.name.wireValue,p=!1,m=this.context.authOverrides?.["auth-schemes"];if(m!=null){for(let h of Object.values(m))if(nMg(h)&&h.header.toLowerCase()===l.toLowerCase()){p=!0;break}}let f=this.context.globalHeaderNames;if(f!=null){for(let h of f)if(h.toLowerCase()===l.toLowerCase()){p=!0;break}}!ZQg.has(u.toLowerCase())&&!p&&i.push(c.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:n,headers:i}}checkMissingPathParameters(t){let n=[...this.path.matchAll(XQg)].map(i=>i[1]).filter(i=>!t.some(o=>o.name.originalName===i));for(let i of n){if(i==null)continue;let o=`${i}_example`;t.push({name:this.context.casingsGenerator.generateName(i),valueType:ds.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[o]:this.generateStringParameterExample({example:i})}},explode:void 0})}}convertRequestBody({breadcrumbs:t,group:r,method:n,streamingExtension:i,queryParameters:o}){if(this.operation.requestBody==null)return;let s=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(s==null)return null;let a=[];for(let[c,u]of Object.entries(s.content)){let p=new bCn({context:this.context,breadcrumbs:t,contentType:c,mediaType:u,description:s.description,required:s.required,group:r??[],method:n,streamingExtension:i,queryParameters:o}).convert();p!=null&&(this.inlinedTypes={...this.inlinedTypes,...p.inlinedTypes},a.push({requestBody:p.requestBody,streamRequestBody:p.streamRequestBody,examples:p.examples}))}return a}computeGroupNameAndLocationFromExtensions(){let r=new h1.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,i=new h1.SdkGroupNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.groups??[];if(r!=null)return{group:i,method:r}}evaluateMethodNameFromOperation(){let t=this.operation.operationId;return t??(this.operation.summary!=null?eo(this.operation.summary):eo(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let n=vel(t),i=vel(r);return _C(n,i)?{method:t}:this.computeGroupAndMethodFromTokens({tag:t,tagTokens:n,methodName:r,methodNameTokens:i})}computeGroupAndMethodFromTokens({tag:t,tagTokens:r,methodName:n,methodNameTokens:i}){if(r.some((a,c)=>a!==i[c]))return{group:[t],method:n};let s=i.slice(r.length);return{group:[t],method:eo(s.join("_"))}}generateStringParameterExample({example:t}){let r=new zb.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:n}=r.convert();return n}};function vel(e){let t=eMg(e)?tMg(e):rMg(e);return t=t.map(r=>r.toLowerCase()),t=E$(t),t}function eMg(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function tMg(e){return e.split(/(?=[A-Z])/)}function rMg(e){return e.split(/[^a-zA-Z0-9]+/)}function nMg(e){return e?.header!=null}var yUt=class extends hUt{constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o}){super({context:t,breadcrumbs:r,operation:n,method:i,path:o})}convert(){if(this.operation.requestBody==null){this.context.errorCollector.collect({message:"Skipping webhook because no request body present",path:this.breadcrumbs});return}let t=this.convertHttpMethod();if(t==null)return;if(t!=="POST"&&t!=="GET"){this.context.errorCollector.collect({message:"Skipping webhook because non-POST or GET method",path:this.breadcrumbs});return}let{group:r,method:n}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),i=[...this.breadcrumbs,"Payload"],{headers:o,queryParameters:s}=this.convertParameters({breadcrumbs:i}),a=this.convertRequestBody({breadcrumbs:i,group:r,method:n,streamingExtension:void 0,queryParameters:s});if(a==null)return;let c=a[0]?.requestBody;if(c==null)return;let u,l;if(c.type==="inlinedRequestBody")u=DD.inlinedPayload({name:c.name,extends:c.extends,properties:c.properties});else if(c.type==="reference")u=DD.reference({payloadType:c.requestBodyType,docs:c.docs});else if(c.type==="fileUpload")l={name:c.name,properties:c.properties,docs:c.docs,v2Examples:c.v2Examples,contentType:c.contentType},u=DD.inlinedPayload({name:c.name,extends:[],properties:[]});else return;let p=this.convertWebhookResponses();return{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,webhook:{id:`${r?.join(".")??""}.${n}`,name:this.context.casingsGenerator.generateName(n),displayName:this.operation.summary,method:t,headers:o,payload:u,signatureVerification:void 0,fileUploadPayload:l,responses:p.length>0?p:void 0,examples:[],availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,v2Examples:{autogeneratedExamples:this.getWebhookV2ExamplesFromRequestBodyV2Examples(c.v2Examples?.autogeneratedExamples??{}),userSpecifiedExamples:this.getWebhookV2ExamplesFromRequestBodyV2Examples(c.v2Examples?.userSpecifiedExamples??{})}},inlinedTypes:this.inlinedTypes}}convertWebhookResponses(){let t=[];if(this.operation.responses==null)return t;for(let[r,n]of Object.entries(this.operation.responses)){let i=/^\d[Xx]{2}$/.test(r),o;if(i)o=parseInt(r.charAt(0))*100;else if(o=parseInt(r),isNaN(o))continue;let a=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:[...this.breadcrumbs,"responses",r]})?.description;t.push({statusCode:o,isWildcardStatusCode:i?!0:void 0,body:void 0,docs:a})}return t}getWebhookV2ExamplesFromRequestBodyV2Examples(t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,{name:r,payload:n}]))}};var XVs=He(hCn(),1);var Eel=["get","post","put","delete","patch","head"];var _Cn=class extends ll{operation;key="x-fern-idempotent";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-idempotent",path:this.breadcrumbs});return}return t}}};var iMg=$t.object({cursor:$t.string(),next_cursor:$t.string(),results:$t.string()}),oMg=$t.object({offset:$t.string(),results:$t.string(),step:$t.string().optional(),"has-next-page":$t.string().optional()}),sMg=$t.object({next_uri:$t.string(),results:$t.string()}),aMg=$t.object({next_path:$t.string(),results:$t.string()}),JVs=$t.union([$t.boolean(),iMg,oMg,sMg,aMg]);var YVs="$request.",XWe="$response.",vCn=class extends ll{operation;document;key="x-fern-pagination";constructor({breadcrumbs:t,operation:r,document:n,context:i}){super({breadcrumbs:t,context:i}),this.operation=r,this.document=n}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=JVs.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean"){let n=this.getExtensionValue(this.document);if(n==null)return;if(typeof n=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.",path:this.breadcrumbs});return}let i=JVs.safeParse(n);if(!i.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${i.error.message}`,path:this.breadcrumbs});return}if(typeof i.data=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:i.data})}if(typeof r.data=="boolean"){this.context.errorCollector.collect({message:"Pagination extension is a boolean with no global configuration.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:r.data})}convertPaginationConfig({config:t}){let r=t;if("cursor"in r)return{type:"cursor",cursor:aP.maybeTrimPrefix(r.cursor,YVs),nextCursor:aP.maybeTrimPrefix(r.next_cursor,XWe),results:aP.maybeTrimPrefix(r.results,XWe)};let n=t;if("next_uri"in n)return{type:"uri",nextUri:aP.maybeTrimPrefix(n.next_uri,XWe),results:aP.maybeTrimPrefix(n.results,XWe)};let i=t;if("next_path"in i)return{type:"path",nextPath:aP.maybeTrimPrefix(i.next_path,XWe),results:aP.maybeTrimPrefix(i.results,XWe)};let o=t;return{type:"offset",offset:aP.maybeTrimPrefix(o.offset,YVs),results:aP.maybeTrimPrefix(o.results,XWe),step:o.step!=null?aP.maybeTrimPrefix(o.step,YVs):void 0,hasNextPage:o["has-next-page"]!=null?aP.maybeTrimPrefix(o["has-next-page"],XWe):void 0}}};var cMg="$request.",uMg=$t.object({"stream-condition":$t.string().optional(),format:$t.enum(["sse","json"]).optional(),"stream-description":$t.string().optional(),"response-stream":$t.any(),response:$t.any(),terminator:$t.string().optional()}),lMg=$t.union([$t.boolean(),uMg]),ECn=class extends ll{operation;key="x-fern-streaming";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=lMg.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-streaming extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean")return r.data?{type:"stream",format:"json",terminator:void 0}:void 0;if(r.data["stream-condition"]==null&&r.data.format!=null)return{type:"stream",format:r.data.format,terminator:r.data.terminator};if(r.data["stream-condition"]==null){this.context.errorCollector.collect({message:"Missing stream-condition property without specified format.",path:this.breadcrumbs});return}return{type:"streamCondition",format:r.data.format??"json",terminator:r.data.terminator,streamDescription:r.data["stream-description"],streamConditionProperty:aP.maybeTrimPrefix(r.data["stream-condition"],cMg),responseStream:r.data["response-stream"],response:r.data.response}}};var OCn=class extends ll{operation;key="x-fern-webhook";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-webhook",path:this.breadcrumbs});return}return t}}};var xCn=require("fs"),Oel=require("path");function pMg(e){return cl(e)&&typeof e.$ref=="string"}function fMg(e,t){if(e!=null){if(typeof e=="string")return e;if(pMg(e)){let r=(0,Oel.resolve)(t??process.cwd(),e.$ref);if((0,xCn.existsSync)(r))try{return(0,xCn.readFileSync)(r,"utf-8")}catch{return}}}}var wCn=class extends ll{operation;baseDir;key="x-codeSamples";constructor({context:t,breadcrumbs:r,operation:n,baseDir:i}){super({breadcrumbs:r,context:t}),this.operation=n,this.baseDir=i}convert(){let t=cl(this.operation)?this.operation:{},r=t["x-codeSamples"],n=t["x-code-samples"],i=Array.isArray(r)?r:[],o=Array.isArray(n)?n:[],s=[...i,...o];if(s.length===0)return;let a=[];for(let c of s){if(!cl(c))continue;let u=c,l=u.lang,p=u.label,m=u.source;if(typeof l!="string")continue;let f=fMg(m,this.baseDir);f!=null&&a.push({name:typeof p=="string"?p:l,language:l,code:f,install:void 0,docs:void 0})}if(a.length!==0)return[{"code-samples":a}]}};var ICn=require("fs"),wel=require("path");function mMg(e){return cl(e)&&typeof e.$ref=="string"}function dMg(e,t){if(e!=null){if(typeof e=="string")return e;if(mMg(e)){let r=(0,wel.resolve)(t??process.cwd(),e.$ref);if((0,ICn.existsSync)(r))try{return(0,ICn.readFileSync)(r,"utf-8")}catch{return}}}}function hMg(e,t){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!cl(n))continue;let o=dMg(n.code,t);o!=null&&r.push({...n,code:o})}return r}var PCn=class extends ll{operation;baseDir;key="x-fern-examples";constructor({context:t,breadcrumbs:r,operation:n,baseDir:i}){super({breadcrumbs:r,context:t}),this.operation=n,this.baseDir=i}convert(){let t=this.getExtensionValue(this.operation);return t==null?void 0:(Array.isArray(t)?t:[]).map(o=>{if(!cl(o))return o;let a=o["code-samples"];if(a!=null){let c=hMg(a,this.baseDir);return{...o,"code-samples":c}}return o}).filter(o=>{let s=rP.serialization.ExampleEndpointCallSchema.parse(o);return s.ok||this.context.errorCollector.collect({message:`Failed to parse x-fern-example in ${this.breadcrumbs.join(".")}`,path:this.breadcrumbs}),s.ok})}};var vSr=class extends ll{document;key="x-fern-explorer";constructor({breadcrumbs:t,document:r,context:n}){super({breadcrumbs:t,context:n}),this.document=r}convert(){let t=this.getExtensionValue(this.document);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-explorer",path:this.breadcrumbs});return}return t}}};var ESr=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{responseBody;statusCode;streamingExtension;constructor({context:t,breadcrumbs:r,responseBody:n,group:i,method:o,statusCode:s,streamingExtension:a}){super({context:t,breadcrumbs:r,group:i,method:o}),this.responseBody=n,this.statusCode=s,this.streamingExtension=a}convert(){return this.shouldConvertAsStreaming()?this.convertStreamingResponseBody():this.convertNonStreamingResponseBody()}convertStreamingResponseBody(){if(this.streamingExtension!=null){if(this.streamingExtension.type=="streamCondition"){let t=this.streamingExtension.responseStream,r=this.streamingExtension.response,n=[...this.group,this.method,"Response",this.statusCode].join("_"),i=`${n}_streaming`,o=this.parseMediaTypeSchemaOrReference({schemaOrReference:t,schemaId:i}),s=this.parseMediaTypeSchemaOrReference({schemaOrReference:r,schemaId:n});return this.convertStreamConditionResponse({convertedStreamingSchema:o,convertedNonStreamingSchema:s})}if(this.streamingExtension.type==="stream"){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{});for(let n of r){let i=this.responseBody.content?.[n];if(i==null)continue;let o=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:t,contentType:this.streamingExtension.format});if(o!=null)return this.convertStreamingResponse({mediaTypeObject:i,convertedSchema:o})}}}}convertNonStreamingResponseBody(){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{}).filter(o=>o.includes("json"));for(let o of r){let s=this.responseBody.content?.[o];if(s==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:s,schemaId:t,contentType:o});if(a!=null&&this.shouldReturnJsonResponse(o))return this.returnJsonResponse({mediaTypeObject:s,convertedSchema:a})}let n=Object.keys(this.responseBody.content??{}).filter(o=>!o.includes("json"));for(let o of n){let s=this.responseBody.content?.[o];if(s==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:s,schemaId:t,contentType:o});if(a!=null){if(this.isBinarySchema(a))return this.shouldReturnBytesResponse()?this.returnBytesResponse({mediaTypeObject:s}):this.returnFileDownloadResponse({mediaTypeObject:s});if(this.shouldReturnTextResponse(o))return this.returnTextResponse({mediaTypeObject:s})}}let i=parseInt(this.statusCode);if(!isNaN(i)&&i>=200&&i<300){let o={schema:{type:"object",description:"Empty response body"}},s=this.parseMediaTypeObject({mediaTypeObject:o,schemaId:t,contentType:"application/json",resolveSchema:!0});if(s!=null)return this.returnJsonResponse({mediaTypeObject:o,convertedSchema:s})}}convertStreamConditionResponse({convertedStreamingSchema:t,convertedNonStreamingSchema:r}){if(t==null||r==null)return;let n=this.responseBody.description;return this.streamingExtension?.type==="streamCondition"&&this.streamingExtension.streamDescription!=null&&(n=this.streamingExtension.streamDescription),{responseBody:nm.json(ES.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:r.schema?.typeDeclaration.v2Examples})),streamResponseBody:nm.streaming(IC.json({docs:n,payload:t.type,terminator:this.streamingExtension?.terminator,v2Examples:t.schema?.typeDeclaration.v2Examples})),inlinedTypes:{...t.inlinedTypes,...r.inlinedTypes},headers:this.convertResponseHeaders()}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:nm.streaming(IC.json({docs:this.responseBody.description,payload:r.type,terminator:this.streamingExtension?.terminator,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()};case"sse":return{responseBody:nm.streaming(IC.sse({docs:this.responseBody.description,payload:r.type,terminator:this.streamingExtension?.terminator,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:nm.json(ES.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples,headers:this.convertResponseHeaders()}}returnBytesResponse({mediaTypeObject:t}){return{responseBody:nm.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:nm.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}returnTextResponse({mediaTypeObject:t}){return{responseBody:nm.text({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{},headers:this.convertResponseHeaders()}}isBinarySchema(t){let r=t.type;switch(r.type){case"container":case"named":case"unknown":return!1;case"primitive":return r.primitive.v2==null?!1:r.primitive.v2.type==="string"&&r.primitive.v2.validation?.format==="binary";default:return!1}}shouldConvertAsStreaming(){return this.streamingExtension!=null}shouldReturnJsonResponse(t){return t.includes("json")}shouldReturnBytesResponse(){return this.context.settings.useBytesForBinaryResponse&&this.streamingExtension==null}shouldReturnTextResponse(t){return GA.parse(t)?.isText()??!1}convertResponseHeaders(){let t=[],r=this.responseBody.headers;if(r==null)return t;for(let[n,i]of Object.entries(r)){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[...this.breadcrumbs,"headers",n]});if(o==null)continue;let s=o.schema,a=ds.OPTIONAL_STRING;if(s!=null){let u=this.context.resolveMaybeReference({schemaOrReference:s,breadcrumbs:[...this.breadcrumbs,"headers",n,"schema"]});u!=null&&(u.type==="number"||u.type==="integer"?a=Bn.primitive({v1:u.type==="integer"?"INTEGER":"DOUBLE",v2:u.type==="integer"?io.integer({default:void 0,validation:void 0}):io.double({default:void 0,validation:void 0})}):u.type==="boolean"&&(a=Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})})))}let c=this.convertHeaderExamples({header:o,headerName:n,schema:s});t.push({name:this.context.casingsGenerator.generateNameAndWireValue({name:n,wireValue:n}),docs:o.description,valueType:a,env:void 0,v2Examples:c,availability:void 0})}return t}convertHeaderExamples({header:t,headerName:r,schema:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t.example,s=t.examples;for(let[a,c]of Object.entries(s??{})){let u=this.context.resolveExampleWithValue(c);u!=null&&(i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:u}))}if(o!=null){let a=this.context.generateUniqueName({prefix:`${r}_example`,existingNames:Object.keys(i.userSpecifiedExamples)});i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:o})}if(Object.keys(i.userSpecifiedExamples).length===0&&n!=null){let a=`${r}_example`;i.autogeneratedExamples[a]=this.generateHeaderExample({schema:n,example:void 0,ignoreErrors:!0})}return i}generateHeaderExample({schema:t,example:r,ignoreErrors:n}){if(t==null)return r;let i=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:o,errors:s}=i.convert();return n||s.forEach(a=>{this.context.errorCollector.collect({message:a.message,path:a.path})}),o}};var CCn=class extends zb.AbstractConverters.AbstractMediaTypeObjectConverter{responseError;statusCode;methodName;isWildcardStatusCode;constructor({context:t,breadcrumbs:r,responseError:n,group:i,method:o,methodName:s,statusCode:a,isWildcardStatusCode:c}){super({context:t,breadcrumbs:r,group:i,method:o}),this.responseError=n,this.statusCode=a,this.methodName=s,this.isWildcardStatusCode=c}convert(){if(!this.responseError.content){let n=this.getErrorNameForStatusCode(this.statusCode,this.isWildcardStatusCode);if(n==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let i=this.getErrorIdFromErrorName(n);return{error:{error:{name:this.context.casingsGenerator.generateName(i),fernFilepath:{allParts:[],packagePath:[],file:void 0},errorId:i},docs:this.responseError.description},errorType:Bn.unknown(),displayName:n,statusCode:this.statusCode,isWildcardStatusCode:this.isWildcardStatusCode,inlinedTypes:{},examples:{},headers:this.convertResponseHeaders()}}let t=Object.keys(this.responseError.content).filter(n=>n.includes("json")),r=this.getErrorNameForStatusCode(this.statusCode,this.isWildcardStatusCode);if(r==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}for(let n of[...t]){let i=this.responseError.content?.[n];if(i==null)continue;let o=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:xel(`${this.methodName}Request${r}`),contentType:n});if(o==null)continue;let s=this.getErrorIdFromErrorName(r);if(o.schema!=null)return this.constructErrorConverterOutput({errorName:r,errorId:s,fernFilepath:o.schema.typeDeclaration.name.fernFilepath,convertedSchema:o,mediaTypeObject:i});if(o.type.type==="named")return this.constructErrorConverterOutput({errorName:r,errorId:s,fernFilepath:o.type.fernFilepath,convertedSchema:o,mediaTypeObject:i})}}constructErrorConverterOutput({errorName:t,errorId:r,fernFilepath:n,convertedSchema:i,mediaTypeObject:o}){return{error:{error:{name:this.context.casingsGenerator.generateName(r),fernFilepath:n,errorId:r},docs:this.responseError.description},errorType:i.type,displayName:t,statusCode:this.statusCode,isWildcardStatusCode:this.isWildcardStatusCode,inlinedTypes:i.inlinedTypes,examples:this.convertErrorExamples({mediaTypeObject:o}),headers:this.convertResponseHeaders()}}convertErrorExamples({mediaTypeObject:t}){let r=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_error_example`});if(r.length===0)return;let n=new Set,i={};for(let[o,s]of r){let a=this.context.resolveExampleWithValue(s),c=this.context.resolveExampleRecursively({example:s,breadcrumbs:this.breadcrumbs}),u=this.getIdForErrorExample({key:o,example:c,usedExampleNames:n});n.add(u),a!=null&&(i[u]=a)}return Object.keys(i).length>0?i:void 0}getIdForErrorExample({key:t,example:r,usedExampleNames:n}){if(this.context.isExampleWithSummary(r)){let i=r.summary;if(!n.has(i))return i;let o=`${i} (${t})`;return n.has(o)?t:o}return t}getErrorNameForStatusCode(t,r){if(r){if(t===400)return"ClientRequestError";if(t===500)return"ServerError"}return cCn[t]}getErrorIdFromErrorName(t){return this.context.enableUniqueErrorsPerEndpoint?xel(`${this.methodName}Request${t}`):t}convertResponseHeaders(){let t=[],r=this.responseError.headers;if(r==null)return t;for(let[n,i]of Object.entries(r)){let o=this.context.resolveMaybeReference({schemaOrReference:i,breadcrumbs:[...this.breadcrumbs,"headers",n]});if(o==null)continue;let s=o.schema,a=ds.OPTIONAL_STRING;if(s!=null){let u=this.context.resolveMaybeReference({schemaOrReference:s,breadcrumbs:[...this.breadcrumbs,"headers",n,"schema"]});u!=null&&(u.type==="number"||u.type==="integer"?a=Bn.primitive({v1:u.type==="integer"?"INTEGER":"DOUBLE",v2:u.type==="integer"?io.integer({default:void 0,validation:void 0}):io.double({default:void 0,validation:void 0})}):u.type==="boolean"&&(a=Bn.primitive({v1:"BOOLEAN",v2:io.boolean({default:void 0})})))}let c=this.convertHeaderExamples({header:o,headerName:n,schema:s});t.push({name:this.context.casingsGenerator.generateNameAndWireValue({name:n,wireValue:n}),docs:o.description,valueType:a,env:void 0,v2Examples:c,availability:void 0})}return t}convertHeaderExamples({header:t,headerName:r,schema:n}){let i={userSpecifiedExamples:{},autogeneratedExamples:{}},o=t.example,s=t.examples;for(let[a,c]of Object.entries(s??{})){let u=this.context.resolveExampleWithValue(c);u!=null&&(i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:u}))}if(o!=null){let a=this.context.generateUniqueName({prefix:`${r}_example`,existingNames:Object.keys(i.userSpecifiedExamples)});i.userSpecifiedExamples[a]=this.generateHeaderExample({schema:n,example:o})}if(Object.keys(i.userSpecifiedExamples).length===0&&n!=null){let a=`${r}_example`;i.autogeneratedExamples[a]=this.generateHeaderExample({schema:n,example:void 0,ignoreErrors:!0})}return i}generateHeaderExample({schema:t,example:r,ignoreErrors:n}){if(t==null)return r;let i=new lR({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:r}),{validExample:o,errors:s}=i.convert();return n||s.forEach(a=>{this.context.errorCollector.collect({message:a.message,path:a.path})}),o}};function xel(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var SCn=class e extends hUt{idempotent;idToAuthScheme;topLevelServers;pathLevelServers;streamingExtension;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:n,method:i,path:o,idempotent:s,idToAuthScheme:a,topLevelServers:c,pathLevelServers:u,streamingExtension:l}){super({context:t,breadcrumbs:r,operation:n,method:i,path:o}),this.idempotent=s,this.idToAuthScheme=a,this.topLevelServers=c,this.pathLevelServers=u,this.streamingExtension=l}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:n}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),i=this.getGroupDisplayName(r),{headers:o,pathParameters:s,queryParameters:a}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),c=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:n,streamingExtension:this.streamingExtension,queryParameters:a}),u=c?.[0]?.requestBody,l=c?.[0]?.streamRequestBody,p={requestBodies:c?.map(ee=>ee.requestBody)},m=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:n,streamingExtension:this.streamingExtension}),f=m?.response,h=m?.streamResponse,y=m!=null?m.errors:[],g={},A=y.map(ee=>ee.error),b=JP(this.path),v=this.getEndpointBaseUrl(),_=this.getEndpointBaseUrls(),E=this.convertExamples({httpPath:b,httpMethod:t,baseUrl:v}),O=new Set(this.operation.security?.flatMap(ee=>Object.keys(ee))??[]),P=this.authSchemeToHeaders(Array.from(O));P.length>0&&o.push(...P);for(let ee of y){let Ge=ee.error,Je=ee.errorType,J=Ge.error.errorId,K=ee.examples;g[J]={name:Ge.error,displayName:ee.displayName,discriminantValue:{name:Ge.error.name,wireValue:J},type:Je,statusCode:ee.statusCode,isWildcardStatusCode:ee.isWildcardStatusCode,docs:Ge.docs,examples:[],v2Examples:{userSpecifiedExamples:K??{},autogeneratedExamples:{}},headers:ee.headers}}let x=this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],F=new vSr({context:this.context,breadcrumbs:this.breadcrumbs,document:this.context.spec}).convert(),G=new vSr({context:this.context,breadcrumbs:this.breadcrumbs,document:this.operation}).convert()??F,re={displayName:this.operation.summary,method:t,baseUrl:v,v2BaseUrls:_,path:b,pathParameters:s,queryParameters:a,headers:o.filter((ee,Ge,Je)=>Ge===Je.findIndex(J=>J.name.wireValue===ee.name.wireValue)),responseHeaders:m?.responseHeaders,sdkRequest:void 0,errors:A,auth:this.computeEndpointAuth(),security:this.computeEndpointSecurity(),availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),userSpecifiedExamples:[],autogeneratedExamples:[],idempotent:this.idempotent??!1,basePath:void 0,fullPath:b,allPathParameters:s,pagination:void 0,transport:void 0,source:p2.openapi(),audiences:x,retries:void 0,apiPlayground:G},oe=this.context.namespace!=null?[this.context.namespace]:[],H=r?.map(ee=>eo(ee));return oe.push(...H??[]),{audiences:x,group:r,groupDisplayName:i,errors:g,endpoint:{...re,id:`endpoint_${oe.join("/")}.${n}`,name:this.context.casingsGenerator.generateName(n),requestBody:u,v2RequestBodies:p,response:f,docs:this.operation.description,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:E.examples},v2Responses:{responses:m?.v2Responses}},streamEndpoint:h!=null&&h.body!=null?{...re,id:`endpoint_${oe.join("/")}.${n}_stream`,name:this.context.casingsGenerator.generateName(`${n}_stream`),requestBody:l,v2RequestBodies:void 0,response:h,docs:this.streamingExtension?.type==="streamCondition"?this.streamingExtension.streamDescription??this.operation.description:this.operation.description,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:E.streamExamples},v2Responses:{responses:[{statusCode:200,isWildcardStatusCode:void 0,body:h.body,docs:h.docs}]}}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??this.pathLevelServers??[])}}convertResponseBody({breadcrumbs:t,group:r,method:n,streamingExtension:i}){if(this.operation.responses==null)return;let o,s=!1;for(let[a,c]of Object.entries(this.operation.responses)){let u=/^[45]XX$/i.test(a),l,p=!1;if(u)l=parseInt(a.charAt(0))*100,p=!0;else{if(l=parseInt(a),isNaN(l)||l<200||l>=300&&l<400)continue;p=l>=400&&l<600}if(o==null&&(o={response:void 0,v2Responses:void 0,streamResponse:void 0,errors:[],examples:{},responseHeaders:[]}),l>=200&&l<300){let m=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:[...t,a]});if(m==null)continue;let h=new ESr({context:this.context,breadcrumbs:[...t,a],responseBody:m,group:r??[],method:n,statusCode:a,streamingExtension:i}).convert();h!=null&&(this.inlinedTypes={...this.inlinedTypes,...h.inlinedTypes},s||(s=!0,o.response={statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.responseBody,docs:m.description},o.streamResponse={statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.streamResponseBody,docs:m.description},h.headers!=null&&(o.responseHeaders=h.headers)),o.v2Responses=[...o.v2Responses??[],{statusCode:l,isWildcardStatusCode:u?!0:void 0,body:h.responseBody,docs:m.description}])}if(p){let m=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:[...t,a]});if(m==null)continue;let h=new CCn({context:this.context,breadcrumbs:[...t,a],responseError:m,group:r??[],method:n,methodName:this.evaluateMethodNameFromOperation(),statusCode:l,isWildcardStatusCode:u?!0:void 0}).convert();h!=null&&(this.inlinedTypes={...this.inlinedTypes,...h.inlinedTypes},o.errors.push(h))}}if(this.streamingExtension!=null){o==null&&(o={response:void 0,v2Responses:void 0,streamResponse:void 0,errors:[],examples:{},responseHeaders:[]});let c=new ESr({context:this.context,breadcrumbs:[...t,"stream"],responseBody:{description:""},group:r??[],method:n,statusCode:"stream",streamingExtension:i}).convert();c!=null&&(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},o.response={statusCode:200,isWildcardStatusCode:void 0,body:c.responseBody,docs:void 0},o.streamResponse={statusCode:200,isWildcardStatusCode:void 0,body:c.streamResponseBody,docs:void 0},o.v2Responses=[{statusCode:200,isWildcardStatusCode:void 0,body:c.responseBody,docs:void 0}])}return o}computeEndpointAuth(){return this.operation.security!=null&&this.operation.security.length===0?!1:this.operation.security!=null&&this.operation.security.length>0?!0:this.context.spec.security!=null&&this.context.spec.security.length>0||this.shouldApplyDefaultAuthOverrides()}computeEndpointSecurity(){return this.operation.security!=null&&this.operation.security.length===0?[]:this.context.authOverrides?.auth!=null?this.getDefaultSecurityFromAuthOverrides():this.operation.security??this.context.spec.security}shouldApplyDefaultAuthOverrides(){if(!this.context.authOverrides?.auth)return!1;let t=this.context.spec.security!=null&&this.context.spec.security.length>0,r=this.operation.security!=null&&this.operation.security.length>0;return!(t||r)}getDefaultSecurityFromAuthOverrides(){if(!this.context.authOverrides?.auth)return;let t=this.context.authOverrides.auth;if(typeof t=="string"){let r={};return r[t]=[],[r]}if(typeof t=="object"&&"any"in t){let r=t.any;if(Array.isArray(r))return r.map(n=>{let i=typeof n=="string"?n:n.scheme,o={};return o[i]=[],o})}}authSchemeToHeaders(t){let r=[];for(let n of t){let i=this.idToAuthScheme?.[n];if(i==null)continue;let o={valueType:ds.STRING,availability:void 0,docs:void 0,env:void 0,v2Examples:void 0};switch(i.type){case"bearer":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...o});break;case"basic":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...o});break;case"header":r.push({name:i.name,...o});break}}return r}convertExamples({httpPath:t,httpMethod:r,baseUrl:n}){let o=new PCn({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation,baseDir:this.context.documentBaseDir}).convert()??[],a=new wCn({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation,baseDir:this.context.documentBaseDir}).convert()??[],u=o.some(l=>Array.isArray(l["code-samples"])&&l["code-samples"].length>0)?o:[...o,...a];return u.length===0?{examples:{},streamExamples:{}}:this.streamingExtension?.type==="streamCondition"?this.convertStreamConditionExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:u}):{examples:this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:u}),streamExamples:{}}}convertStreamConditionExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:i}){let o=i.filter(u=>!(u.response!=null&&"stream"in u.response)),s=i.filter(u=>u.response!=null&&"stream"in u.response),a=this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:o}),c=this.convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:s});return{examples:a,streamExamples:c}}convertEndpointExamples({httpPath:t,httpMethod:r,baseUrl:n,fernExamples:i}){return Object.fromEntries(i.map((o,s)=>[this.getExampleName({example:o,exampleIndex:s}),{displayName:void 0,request:o.request!=null||o["path-parameters"]!=null||o["query-parameters"]!=null||o.headers!=null?{docs:void 0,endpoint:{method:r,path:this.buildExamplePath(t,o["path-parameters"]??{})},baseUrl:void 0,environment:n,auth:void 0,pathParameters:o["path-parameters"]??{},queryParameters:o["query-parameters"]??{},headers:o.headers??{},requestBody:o.request??void 0}:void 0,response:o.response!=null?{docs:void 0,statusCode:void 0,body:this.getExampleResponseBody({example:o})}:void 0,codeSamples:o["code-samples"]?.map(a=>{let c=("language"in a?a.language:a.sdk)??void 0;return{name:a.name,docs:void 0,language:c,code:a.code}})}]))}getExampleName({example:t,exampleIndex:r}){return t.name??t["code-samples"]?.[0]?.name??`Example_${r}`}getExampleResponseBody({example:t}){if(t.response!=null){if("stream"in t.response)return _r.V2HttpEndpointResponseBody.stream(t.response.stream);if("body"in t.response)return _r.V2HttpEndpointResponseBody.json(t.response.body)}}getEndpointBaseUrl(){let r=new h1.ServerFromOperationNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert();if(r!=null)return this.context.logger.debug(`[getEndpointBaseUrl] Endpoint ${this.method.toUpperCase()} ${this.path} specifies a server with "${wi.SERVER_NAME_V2}" extension. Returning server type: ${r}`),r;let n=this.operation.servers?.[0]??this.pathLevelServers?.[0];if(n==null)return;let o=this.topLevelServers?.find(s=>s.url===n.url)??n;return L9.getServerName({server:o,context:this.context})}getEndpointBaseUrls(){let t=this.operation.servers??this.pathLevelServers;return t?.map(n=>{let o=this.topLevelServers?.find(s=>s.url===n.url)??n;return L9.getServerName({server:o,context:this.context})})}buildExamplePath(t,r){return t.head+t.parts.map(n=>`${r[n.pathParameter]?.toString()??n.pathParameter}${n.tail}`).join("")}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers?.some(n=>n.url===r.url))}getGroupDisplayName(t){let r=this.operation.tags?.[0];r!=null&&(r=this.context.getDisplayNameForTag(r));let n=t?.[t.length-1];if(n!=null&&r!=null)return r.toLowerCase().replaceAll(" ","")===n?r:void 0}};var jCn=class extends ds{pathItem;path;idToAuthScheme;topLevelServers;constructor({context:t,breadcrumbs:r,pathItem:n,path:i,idToAuthScheme:o,topLevelServers:s}){super({context:t,breadcrumbs:r}),this.pathItem=n,this.path=i,this.idToAuthScheme=o,this.topLevelServers=s}convert(){let t=[],r=[],n={};for(let i of Eel){let o=this.pathItem[i];if(o==null)continue;let s=[...this.breadcrumbs,i],a=this.tryParseAsWebhook({operationBreadcrumbs:s,operation:o,method:i,context:this.context});if(a!=null){r.push(a),Object.assign(n,a.inlinedTypes);continue}let u=new ECn({breadcrumbs:s,operation:o,context:this.context}).convert(),l=this.tryParseAsHttpEndpoint({operationBreadcrumbs:s,operation:o,method:i,streamingExtension:u});l!=null&&(t.push(l),Object.assign(n,l.inlinedTypes))}return{endpoints:t,webhooks:r,inlinedTypes:n}}tryParseAsWebhook({operation:t,method:r,operationBreadcrumbs:n,context:i}){return new OCn({breadcrumbs:n,operation:t,context:i}).convert()?new yUt({context:this.context,breadcrumbs:n,operation:t,method:XVs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:n,streamingExtension:i}){new vCn({breadcrumbs:n,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let c=new _Cn({breadcrumbs:n,operation:t,context:this.context}).convert();return new SCn({context:this.context,breadcrumbs:n,operation:t,method:XVs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:c,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers,pathLevelServers:this.pathItem.servers,streamingExtension:i}).convert()}};var BCn=class extends ds{securityScheme;schemeId;constructor({context:t,breadcrumbs:r,securityScheme:n,schemeId:i}){super({context:t,breadcrumbs:r}),this.securityScheme=n,this.schemeId=i}getExtension(t){return this.securityScheme[t]}convert(){switch(this.securityScheme.type){case"http":{if(this.securityScheme.scheme?.toLowerCase()==="bearer"){let t=this.getExtension("x-fern-bearer"),r=t?.name??"token",n=t?.env;return nv.bearer({key:this.schemeId,token:this.context.casingsGenerator.generateName(r),tokenEnvVar:n,docs:this.securityScheme.description})}if(this.securityScheme.scheme?.toLowerCase()==="basic"){let t=this.getExtension("x-fern-basic"),r=t?.username?.name??"username",n=t?.password?.name??"password",i=t?.username?.env,o=t?.password?.env;return nv.basic({key:this.schemeId,username:this.context.casingsGenerator.generateName(r),password:this.context.casingsGenerator.generateName(n),usernameEnvVar:i,passwordEnvVar:o,usernameOmit:!1,passwordOmit:!1,docs:this.securityScheme.description})}break}case"apiKey":{if(this.securityScheme.in==="header"){let t=this.getExtension("x-fern-header"),r=t?.name??"apiKey",n=t?.env,i=t?.prefix;return nv.header({key:this.schemeId,name:{name:this.context.casingsGenerator.generateName(r),wireValue:this.securityScheme.name},valueType:ds.OPTIONAL_STRING,prefix:i,headerEnvVar:n,docs:this.securityScheme.description})}break}case"oauth2":return nv.bearer({key:this.schemeId,token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var OSr=class extends Jce{constructor({breadcrumbs:t,context:r,audiences:n}){super({breadcrumbs:t,context:r,audiences:n})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.overrideOpenApiAuthWithGeneratorsAuth(),this.convertSecuritySchemes(),this.convertGlobalHeaders(),this.convertBasePath(),this.convertSchemas(),this.convertWebhooks();let{endpointLevelServers:t,errors:r}=this.convertPaths();this.addErrorsToIr(r);let{defaultUrl:n}=this.convertServers({endpointLevelServers:t});this.updateEndpointsWithDefaultUrl(n);let i=this.context.spec.info?.title?.trim();return i&&i!=='""'&&(this.ir.apiDisplayName=i),this.finalizeIr()}convertGlobalHeaders(){this.context.globalHeaderOverrides;let r=new gCn({breadcrumbs:["x-fern-global-headers"],document:this.context.spec,context:this.context}).convert();if(r!=null){let n=_el({globalHeaders:r,context:this.context});this.addGlobalHeadersToIr(n),this.context.setGlobalHeaders(n)}}convertBasePath(){let r=new yCn({breadcrumbs:["x-fern-base-path"],document:this.context.spec,context:this.context}).convert();r!=null&&(this.ir.basePath=JP(r))}convertSecuritySchemes(){if(this.context.authOverrides){let r=v2s({rawApiFileSchema:this.context.authOverrides,casingsGenerator:this.context.casingsGenerator});this.addAuthToIR({requirement:r.requirement,schemes:r.schemes,docs:r.docs});return}let t=this.convertOpenApiSecuritySchemes();t.length>0&&this.addAuthToIR({requirement:t.length===1?"ALL":"ANY",schemes:t,docs:void 0})}convertOpenApiSecuritySchemes(){let t=[];for(let[r,n]of Object.entries(this.context.spec.components?.securitySchemes??{})){let i=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:["components","securitySchemes",r]});if(i==null)continue;let s=new BCn({context:this.context,breadcrumbs:["components","securitySchemes",r],securityScheme:i,schemeId:r}).convert();s!=null&&t.push(s)}return t}convertServers({endpointLevelServers:t}){if(this.context.environmentOverrides){let i=iCr({rawApiFileSchema:this.context.environmentOverrides,casingsGenerator:this.context.casingsGenerator});return i!=null&&this.addEnvironmentsToIr({environmentConfig:i.environmentsConfig,audiences:i.audiences}),{defaultUrl:this.context.environmentOverrides["default-url"]}}let n=new L9({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:n?.value}),{defaultUrl:n?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let i=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();i!=null&&this.addSchemaOutputToIr(t,i)}}convertWebhooks(){for(let[,t]of Object.entries(this.context.spec.webhooks??{})){if(t==null){this.context.errorCollector.collect({message:"Skipping empty webhook",path:this.breadcrumbs});continue}if(!("post"in t)){this.context.errorCollector.collect({message:"Skipping webhook as it is not a POST method",path:this.breadcrumbs});continue}if(t.post?.operationId==null){this.context.errorCollector.collect({message:"Skipping webhook as no operationId is present",path:this.breadcrumbs});continue}let r=t.post.operationId,i=new yUt({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:Pel.OpenAPIV3.HttpMethods.POST,path:r}).convert();i!=null&&(this.addWebhookToIr({webhook:i.webhook,operationId:r,audiences:i.audiences,group:i.group}),this.addTypesToIr(i.inlinedTypes))}}convertPaths(){let t=[],r={};for(let[n,i]of Object.entries(this.context.spec.paths??{})){if(i==null)continue;let s=new jCn({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:i,path:n}).convert();if(s!=null){for(let a of s.endpoints){if(a.streamEndpoint!=null&&this.addEndpointToIr({endpoint:a.streamEndpoint,audiences:a.audiences,endpointGroup:a.group,endpointGroupDisplayName:a.groupDisplayName}),this.addEndpointToIr({endpoint:a.endpoint,audiences:a.audiences,endpointGroup:a.group,endpointGroupDisplayName:a.groupDisplayName}),a.servers)for(let c of a.servers)this.shouldAddServerToCollectedServers({server:c,currentServers:t})&&t.push(c);if(a.errors)for(let[c,u]of Object.entries(a.errors))r[c]=u}for(let a of s.webhooks){let c=this.context.getGroup({groupParts:a.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:a.webhook,operationId:c.join("."),group:c,audiences:a.audiences})}this.addTypesToIr(s.inlinedTypes)}}return{endpointLevelServers:t,errors:r}}overrideOpenApiAuthWithGeneratorsAuth(){if(!this.context.authOverrides?.["auth-schemes"])return;this.context.spec.components||(this.context.spec.components={}),this.context.spec.components.securitySchemes={};let t={};for(let r of Object.keys(this.context.authOverrides["auth-schemes"]))this.context.spec.components.securitySchemes[r]={type:"http",scheme:"bearer"},t[r]=[];this.context.spec.security=[t],this.removeEndpointSpecificAuth()}removeEndpointSpecificAuth(){if(this.context.spec.paths)for(let t of Object.values(this.context.spec.paths)){if(!t)continue;let r=["get","post","put","patch","delete","options","head","trace"];for(let n of r){let i=t[n];i?.security&&delete i.security}}}};var TCn=class extends ll{tag;key="x-displayName";constructor({breadcrumbs:t,tag:r,context:n}){super({breadcrumbs:t,context:n}),this.tag=r}convert(){if(typeof this.tag!="object"||this.tag==null)return;let t=this.tag[this.key];if(t!=null){if(typeof t!="string"){this.context.errorCollector.collect({message:"x-displayName extension must be a string",path:this.breadcrumbs});return}if(t.trim().length!==0)return{displayName:t}}}};var H2e=class extends aP{globalHeaderNames;tagToDisplayName={};isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o=this.getTypeIdFromSchemaReference(t);if(o==null)return{ok:!1};let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;i==="reference_identifier"?a=n??s.value.title:i==="discriminator_key"?a=s.value.title??n:i==="schema_identifier"&&(a=s.value.title);let c;if(o.includes("/")){let l=new zb.SchemaConverters.SchemaConverter({context:this,breadcrumbs:r??[],schema:s.value,id:o}).convert();l!=null&&(c={[o]:l.convertedSchema})}return{ok:!0,reference:Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(o),typeId:o,default:void 0,inline:!1,displayName:a}),inlinedTypes:c}}setGlobalHeaders(t){this.globalHeaderNames=t.map(r=>r.name.wireValue)}getDisplayNameForTag(t){if(Object.keys(this.tagToDisplayName).length===0)for(let r of this.spec.tags??[]){let i=new TCn({breadcrumbs:["tags",r.name],tag:r,context:this}).convert()?.displayName??r.name;this.tagToDisplayName[r.name]=i}return this.tagToDisplayName[t]??t}};var yMg=$t.object({description:$t.string().optional(),required:$t.boolean().optional(),deprecated:$t.boolean().optional(),allowEmptyValue:$t.boolean().optional(),style:$t.string().optional(),explode:$t.boolean().optional(),allowReserved:$t.boolean().optional(),schema:$t.any().optional(),example:$t.any().optional(),examples:$t.record($t.string(),$t.any()).optional(),content:$t.record($t.string(),$t.any()).optional()}),gMg=yMg.extend({name:$t.string(),in:$t.string()}),AMg=$t.array(gMg),DCn=class extends ll{operation;key="x-fern-parameters";constructor({breadcrumbs:t,operation:r,context:n}){super({breadcrumbs:t,context:n}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null)try{return AMg.parse(t)}catch(r){this.context.errorCollector.collect({message:`Failed to parse x-fern-parameters extension: ${r instanceof Error?r.message:String(r)}`,path:this.breadcrumbs});return}}};var RCn=class extends ds{method;pathParameters;queryParameters;headers;topLevelServers;constructor({context:t,breadcrumbs:r,method:n,pathParameters:i=[],queryParameters:o=[],headers:s=[],topLevelServers:a=[]}){super({context:t,breadcrumbs:r}),this.method=n,this.pathParameters=i,this.queryParameters=o,this.headers=s,this.topLevelServers=a}convert(){let t={},r="";for(let u of this.pathParameters)r+=`/{${u.name.originalName}}`;let n=JP(r),i=[];for(let[u,l]of this.method.params.entries()){let p;if(this.context.isReferenceObject(l)){let y=this.context.resolveReference({reference:l});if(y.resolved)p=y.value;else continue}else p=l;let m=[this.method.name,"Param",p.name].join("_"),h=new zb.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"Param",p.name],schemaIdOverride:m,context:this.context,schemaOrReference:p.schema,wrapAsOptional:!p.required}).convert();h!=null&&(i.push({docs:p.description,availability:this.context.getAvailability({node:l,breadcrumbs:[...this.breadcrumbs,"parameters"]}),name:this.context.casingsGenerator.generateNameAndWireValue({name:p.name,wireValue:p.name}),valueType:h.type,v2Examples:h.schema?.typeDeclaration.v2Examples,propertyAccess:void 0}),t={...h.inlinedTypes,...t,...h.schema!=null?{[m]:h.schema}:{}})}let o;if(this.method.result!=null){let u=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(u!=null){let l=new zb.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:u.schema}),p=[this.method.name,"Result"].join("_"),m=l.convert();m!=null&&(o={docs:u.description,v2Examples:m.schema?.typeDeclaration.v2Examples,responseBodyType:m.type},t={...m.inlinedTypes,...t,...m.schema!=null?{[p]:m.schema}:{}})}}let s=this.getEndpointBaseUrls(),a=this.context.getAudiences({operation:this.method,breadcrumbs:this.breadcrumbs})??[];return{endpoint:{baseUrl:void 0,v2BaseUrls:s,basePath:void 0,auth:!1,security:void 0,method:"POST",id:this.method.name,docs:this.method.description,name:this.context.casingsGenerator.generateName(this.method.name),headers:this.headers,displayName:this.method.name,pathParameters:this.pathParameters,queryParameters:this.queryParameters,allPathParameters:this.pathParameters,path:n,fullPath:n,requestBody:i.length>0?Sb.inlinedRequestBody({name:this.context.casingsGenerator.generateName([this.method.name,"Request"].join("_")),docs:void 0,properties:i,extends:[],extendedProperties:[],contentType:"application/json",extraProperties:!1,v2Examples:void 0}):void 0,v2RequestBodies:void 0,sdkRequest:void 0,response:o!=null?{body:nm.json(ES.response(o)),statusCode:void 0,isWildcardStatusCode:void 0,docs:o.docs}:void 0,v2Responses:void 0,errors:[],idempotent:!1,pagination:void 0,userSpecifiedExamples:[],autogeneratedExamples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples()},transport:void 0,availability:void 0,source:p2.openrpc(),audiences:a,retries:void 0,apiPlayground:void 0,responseHeaders:[]},audiences:a,inlinedTypes:t,servers:this.filterOutTopLevelServers(this.method.servers??[])}}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers.some(n=>n.url===r.url))}getEndpointBaseUrls(){let t=this.method.servers;return t?.map(n=>{if(this.topLevelServers.find(a=>a.name===n.name&&a.url!==n.url)!=null)return n.url;let s=this.topLevelServers.find(a=>a.url===n.url)??n;return L9.getServerName({server:s,context:this.context})})}convertExamples(){let t={},r=0;if(this.method.examples&&this.method.examples.length>0){for(let n of this.method.examples??[]){let i;if(this.context.isReferenceObject(n)){let c=this.context.resolveReference({reference:n});if(c.resolved)i=c.value;else continue}else i=n;let o;if(i.result)if(this.context.isReferenceObject(i.result)){let c=this.context.resolveReference({reference:i.result});c.resolved&&(o=c.value)}else o=i.result;let s=i.name??`Example ${r+1}`,a=[];if(i.params&&Array.isArray(i.params)){a=[];for(let c of i.params)if(this.context.isReferenceObject(c)){let u=this.context.resolveReference({reference:c});if(u.resolved)a.push(u.value);else continue}else a.push(c)}t[s]={displayName:void 0,request:{docs:void 0,endpoint:{method:"POST",path:"/{apiKey}"},baseUrl:void 0,environment:void 0,auth:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:a.map(c=>c.value)??void 0},response:{docs:void 0,statusCode:void 0,body:o?.value?_r.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:i.examplePairedRequest?.id||"1",result:o.value}):void 0},codeSamples:[]}}++r}return t}};var FCn=class extends zb.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:n}){super({context:t,breadcrumbs:r,parameter:n})}convert(){let t,r={};if(this.parameter.schema!=null){let i=new zb.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();i!=null&&(t=i.type,r=i.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var wSr=class extends Jce{constructor({context:t,breadcrumbs:r,audiences:n}){super({context:t,breadcrumbs:r,audiences:n})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.convertSchemas();let{endpointLevelServers:t}=this.convertMethods(),{defaultUrl:r}=this.convertServers({endpointLevelServers:t});return this.updateEndpointsWithDefaultUrl(r),this.finalizeIr()}convertServers({endpointLevelServers:t}){let n=new L9({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:n?.value}),{defaultUrl:n?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let i=new zb.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();i!=null&&this.addSchemaOutputToIr(t,i)}}convertMethods(){let t=[],n=new DCn({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],o=[],s=[];if(n&&n.length>0)for(let[c,u]of n.entries()){let p=new FCn({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${c}]`],parameter:u}).convert();if(p!=null)switch(p.type){case"path":{i.push(p.parameter);break}case"query":{o.push(p.parameter);break}case"header":{s.push(p.parameter);break}}}let a=this.context.getGroup({groupParts:[],namespace:this.context.namespace});for(let c of this.context.spec.methods??[]){let u=this.context.resolveMaybeReference({schemaOrReference:c,breadcrumbs:["methods"]});if(u==null)continue;let p=new RCn({context:this.context,breadcrumbs:["methods"],method:u,pathParameters:i,queryParameters:o,headers:s,topLevelServers:this.context.spec.servers}).convert();if(p!=null&&(this.addEndpointToIr({endpoint:p.endpoint,audiences:p.audiences,endpointGroup:a,serviceName:"service_root"}),this.addTypesToIr(p.inlinedTypes),p.servers))for(let m of p.servers)this.shouldAddServerToCollectedServers({server:m,currentServers:t,specType:"openrpc"})&&t.push(this.maybeDeduplicateServerName(m))}return{endpointLevelServers:t}}maybeDeduplicateServerName(t){return this.context.spec.servers?.find(n=>n.name===t.name&&n.url!==t.url)?{...t,name:t.url}:t}};var xSr=class extends aP{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:n,displayNameOverrideSource:i}){let o=this.getTypeIdFromSchemaReference(t);if(o==null)return{ok:!1};let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let a;return i==="reference_identifier"?a=n??s.value.title:(i==="discriminator_key"||i==="schema_identifier")&&(a=s.value.title??n),{ok:!0,reference:Bn.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(o),typeId:o,displayName:a,default:void 0,inline:!1})}}};var fnl=require("fs/promises");var Iel=require("fs/promises");async function ZVs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let n=(await(0,Iel.readFile)(t)).toString(),i;try{i=JSON.parse(n)}catch{i=Cn.load(n)}return r!=null?await sUt({absoluteFilePathToOverrides:r,context:e,data:i}):i}var kV=require("fs/promises"),kel=He(require("path"),1),tUs=He(lk(),1);var R_t=require("fs/promises"),Cel=He(lk(),1);function ISr(e){return e.includes("server hosted at that remote is unavailable")||e.includes("fetch failed")||e.includes("failed to connect")||e.includes("network")||e.includes("ENOTFOUND")||e.includes("ETIMEDOUT")||e.includes("TIMEDOUT")||e.includes("timed out")||e.includes("ECONNREFUSED")||e.includes("ECONNRESET")||e.includes("socket hang up")}var PSr,eUs;async function CSr(e,t,r=5e3){return PSr!==void 0?PSr:(eUs==null&&(eUs=bMg(e,t,r)),eUs)}async function bMg(e,t,r){t.debug(`Detecting air-gapped mode by checking connectivity to ${e}`);try{return await fetch(e,{method:"GET",signal:AbortSignal.timeout(r)}),PSr=!1,t.debug("Network check succeeded - not in air-gapped mode"),!1}catch(n){let i=n instanceof Error?n.message:String(n);return ISr(i)?(PSr=!0,t.debug(`Network check failed - entering air-gapped mode: ${i}`),!0):(PSr=!1,!1)}}async function NCn(e,t){let r=Pt(e,Ke.of("buf.lock")),n=!1;try{await(0,R_t.access)(r),n=!0,t.debug(`Found buf.lock at: ${r}`)}catch{t.debug(`No buf.lock found at: ${r}`)}if(!n)return!1;let i=Ar.of((await Cel.default.dir()).path);try{let o=Pt(e,Ke.of("buf.yaml"));try{await(0,R_t.cp)(o,Pt(i,Ke.of("buf.yaml"))),await(0,R_t.cp)(r,Pt(i,Ke.of("buf.lock")))}catch{return!1}try{return await rK(t,"buf",["dep","update"],{cwd:i,stdio:"pipe",timeout:3e4}),t.debug("Network check succeeded - not in air-gapped mode"),!1}catch(s){let a=s instanceof Error?s.message:String(s);return ISr(a)?(t.debug(`Network check failed - entering air-gapped mode: ${a.substring(0,100)}`),!0):!1}}finally{try{await(0,R_t.rm)(i,{recursive:!0,force:!0})}catch{}}}var Sel="buf.gen.yaml",_Mg="output",jel=`${_Mg}/ir.json`,Bel="protoc-gen-fern",Tel=`version: v1
|
|
1555
1555
|
`,Del=`version: v2
|
|
1556
1556
|
`,kCn=e=>{let t=`version: v1
|
|
1557
1557
|
`;if(e.length>0){t+=`deps:
|
|
@@ -1963,7 +1963,7 @@ https://buildwithfern.com/learn/docs/getting-started/project-structure#api-defin
|
|
|
1963
1963
|
Learn more about project structure:
|
|
1964
1964
|
https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`;throw new Error(r)}async toRootNode(){let t=er.V1.SlugGenerator.init(er.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),n=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:n,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(i=>er.RoleId(i)),featureFlags:void 0}}async toRootChild(t){return Mj(this.parsedDocsConfig.navigation)._visit({untabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),tabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),versioned:r=>this.toVersionedNode(r,t),productgroup:r=>this.toProductGroupNode({landingPageConfig:this.parsedDocsConfig.landingPage,productGroup:r,parentSlug:t})})}toLandingPageNode(t,r){let n=er.PageId(this.toRelativeFilepath(t.absolutePath)),i=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(n),title:t.title,slug:i.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:n,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:n}){let i=this.#e.get("unversioned"),o=t!=null?this.toLandingPageNode(t,n):void 0,s=r.type==="tabbed"?await this.convertTabbedNavigation(i,r.items,n):await this.toSidebarRootNode(i,r.items,n);return{type:"unversioned",id:i,landingPage:o,child:s}}async toVersionedNode(t,r){let n=this.#e.get("versioned"),i=t.versions[0];if(i?.hidden===!0)throw new Error(`The default version "${i.version}" cannot be hidden. Please set a non-hidden version as the first version in your versions list, or remove the hidden flag from the default version.`);let o=5,s=[];for(let a=0;a<t.versions.length;a+=o){let c=t.versions.slice(a,a+o),u=await Promise.all(c.map((l,p)=>this.toVersionNode(l,r,a+p===0)));s.push(...u)}return{id:n,type:"versioned",children:s}}async toProductGroupNode({productGroup:t,landingPageConfig:r,parentSlug:n}){let i=this.#e.get("productgroup"),o=r!=null?this.toLandingPageNode(r,n):void 0;return{id:i,type:"productgroup",landingPage:o,children:await Promise.all(t.products.map(s=>this.toProductNode(s,n)))}}async toProductNode(t,r){if(t.type==="internal"){let n=r.setProductSlug(t.slug??O0(t.product)),i;switch(t.navigation.type){case"tabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.convertTabbedNavigation(this.#e.get(t.product),t.navigation.items,n)};break;case"untabbed":i={type:"unversioned",id:this.#e.get(t.product),landingPage:void 0,child:await this.toSidebarRootNode(this.#e.get(t.product),t.navigation.items,n)};break;case"versioned":i=await this.toVersionedNode(t.navigation,n);break;default:Ve(t.navigation)}return{type:"product",id:this.#e.get(t.product),productId:er.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",slug:n.get(),child:i,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,pointsTo:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}else return{type:"productLink",id:this.#e.get(t.product),productId:er.V1.ProductId(t.product),title:t.product,subtitle:t.subtitle??"",href:zM.Url(t.href??""),target:t.target,default:!1,hidden:void 0,authed:void 0,icon:this.resolveIconFileId(t.icon),image:t.image!=null?this.getFileId(t.image):void 0,viewers:t.viewers,orphaned:t.orphaned}}async toVersionNode(t,r,n){let i=this.#e.get(t.version),o=r.setVersionSlug(t.slug??O0(t.version)),s=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(i,t.navigation.items,o):await this.toSidebarRootNode(i,t.navigation.items,o);return{type:"version",id:i,versionId:er.VersionId(t.version),title:t.version,slug:o.get(),child:s,default:n,availability:t.availability!=null?yWg(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,o):void 0,hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags,announcement:t.announcement!=null?{text:t.announcement.message}:void 0}}async toSidebarRootNode(t,r,n){let i=this.#e.get(`${t}/root`),s=(await Promise.all(r.map(c=>this.toNavigationChild({prefix:i,item:c,parentSlug:n})))).filter(c=>c!=null),a=[];return s.forEach(c=>{if(c.type==="apiReference"){a.push(c);return}if(c.type==="section"&&!c.collapsed){a.push(c);return}let u=a.length>0?a[a.length-1]:void 0,l;u?.type==="sidebarGroup"?l=u:(l={id:this.#e.get(`${i}/group`),type:"sidebarGroup",children:[]},a.push(l)),l.children.push(c)}),{type:"sidebarRoot",id:i,children:a}}async toSidebarRootNodeWithVariants(t,r,n){let i=this.#e.get(`${t}/root`);return{type:"sidebarRoot",id:i,children:[{type:"varianted",id:i,children:await Promise.all(r.map(o=>this.toVariantNode(o,i,n)))}]}}async toVariantNode(t,r,n){let i=this.#e.get(`${r}/variant/${t.slug??O0(t.title)}`),o=n.apply({urlSlug:t.slug??O0(t.title),skipUrlSlug:t.skipUrlSlug}),a=(await Promise.all(t.layout.map(c=>this.toVariantChild(c,i,o)))).filter(c=>c!=null);return{type:"variant",id:i,variantId:er.V1.VariantId(t.title),subtitle:t.subtitle??"",default:t.default??!1,image:void 0,children:a,title:t.title,slug:o.get(),icon:this.resolveIconFileId(t.icon),hidden:t.hidden,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags,pointsTo:void 0}}async toVariantChild(t,r,n){return Mj(t)._visit({page:async i=>this.toPageNode({item:i,parentSlug:n}),apiSection:async i=>this.toApiSectionNode({item:i,parentSlug:n}),section:async i=>this.toSectionNode({prefix:r,item:i,parentSlug:n}),link:async i=>this.toLinkNode(i),changelog:async i=>this.toChangelogNode(i,n),librarySection:async i=>this.handleLibrarySection(i,n)})}async toNavigationChild({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){return Mj(r)._visit({page:async s=>this.toPageNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),apiSection:async s=>this.toApiSectionNode({item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),section:async s=>this.toSectionNode({prefix:t,item:s,parentSlug:n,hideChildren:i,parentAvailability:o}),link:async s=>this.toLinkNode(s),changelog:async s=>this.toChangelogNode(s,n,i),librarySection:async s=>this.handleLibrarySection(s,n)})}async toApiSectionNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=wcl(t.snippetsConfiguration),s,a,c,u,l=this.parsedDocsConfig.experimental?.openapiParserV3,p=l==null||l;if(p)try{c=this.getOpenApiWorkspaceForApiSection(t),s=await c.getIntermediateRepresentation({context:this.taskContext,audiences:t.audiences,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1})}catch(_){u=_}let m;if(t.tagDescriptionPages&&p)try{let E=await(c??this.getOpenApiWorkspaceForApiSection(t)).getOpenAPIIr({context:this.taskContext,loadAiExamples:!0});E.tags.tagsById&&(m=Object.fromEntries(Object.entries(E.tags.tagsById).filter(([O,P])=>P.description&&P.description.trim().length>0).map(([O,P])=>[eo(O),{id:String(P.id),description:P.description}])))}catch(_){this.taskContext.logger.warn("Failed to extract OpenAPI tags for tag description pages",String(_))}if(s==null){if(this.apiWorkspaces.length===0&&u!=null)throw u;a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0}),s=pw({workspace:a,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new eO(this.taskContext,a)})}else if(Object.keys(o).length>0)try{a=await this.getFernWorkspaceForApiSection(t).toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,objectQueryParameters:!0,preserveSchemaIds:!0})}catch(_){this.taskContext.logger.debug(`Could not load workspace for dynamic snippets: ${_}. Dynamic snippets may not be available.`)}this.docsWorkspace.config.settings?.substituteEnvVars&&(s=ZT(s,{onError:_=>this.taskContext.failAndThrow(`Error substituting environment variables in API spec: ${_}`)},{substituteAsEmpty:!1}));let f=await this.extractGraphQLData(),h=t.apiName??a?.workspaceName??c?.workspaceName,y=(c??a)?.getSources().find(_=>_.type==="openapi"),g=await this.registerApi({ir:s,snippetsConfig:o,playgroundConfig:{oauth:t.playground?.oauth},apiName:h,workspace:a,openApiSourceFilePath:y?.absoluteFilePath,graphqlOperations:f.operations,graphqlTypes:f.types}),A=kjr({ir:s,apiDefinitionId:g,playgroundConfig:{oauth:t.playground?.oauth},context:this.taskContext,graphqlOperations:f.operations,graphqlTypes:f.types}),b=new tBn(t,A,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,this.#e,this.collectedFileIds,a,n,i??t.availability,m,f.namespacesByOperationId),v=b.getTagDescriptionContent();for(let[_,E]of v.entries()){let O=_.split("/").pop()||_,P=Ke.of(O),x=E;this.docsWorkspace.config.settings?.substituteEnvVars&&(x=ZT(E,{onError:I=>this.taskContext.logger.error(`Error in tag description environment variable substitution: ${I}`)},{substituteAsEmpty:!1})),this.rawMarkdownFiles[P]=x,this.parsedDocsConfig.pages[P]=x}return b.get()}async toChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:n||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:er.V1.Url(t.url),icon:this.resolveIconFileId(t.icon),target:t.target}}async extractGraphQLData(){let t={},r={},n=new Map;for(let i of this.ossWorkspaces){let o=i.allSpecs.filter(s=>s.type==="graphql");for(let s of o)try{let c=await new IUt({context:this.taskContext,filePath:s.absoluteFilepath,namespace:s.namespace}).convert();if(Object.assign(t,c.graphqlOperations),Object.assign(r,c.types),s.namespace)for(let u of Object.keys(c.graphqlOperations))n.set(An.GraphQlOperationId(u),s.namespace)}catch(a){this.taskContext.logger.error(`Failed to process GraphQL spec ${s.absoluteFilepath}:`,String(a))}}return{operations:t,types:r,namespacesByOperationId:n}}async handleLibrarySection(t,r){let n=this.parsedDocsConfig.libraries?.[t.libraryName];if(n==null)return this.taskContext.logger.warn(`Library '${t.libraryName}' not found in libraries config. Skipping.`),null;let i=ya(this.docsWorkspace.absoluteFilePath,n.output.path),o=await this.loadLibraryNavNodes(t.libraryName,i);if(o==null)return null;let s=t.title??t.libraryName,a=r.apply({urlSlug:t.slug??O0(s)}),c=this.#e.get(`library/${t.libraryName}`),u;if(o.length>0){let p=o[0]?.slug.split("/").slice(0,-1).join("/");p&&(u=await this.registerLibraryMdxPage(i,`${p}.mdx`))}let l=await this.convertLibraryNavNodes(o,i,a);return{id:c,type:"section",overviewPageId:u,slug:a.get(),title:s,icon:void 0,collapsed:void 0,hidden:!1,viewers:t.viewers,orphaned:t.orphaned,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:t.featureFlags,availability:void 0}}async loadLibraryNavNodes(t,r){let n=Pt(r,Ke.of("_navigation.yml"));if(!(0,Y3s.existsSync)(n))return this.taskContext.logger.warn(`No _navigation.yml found for library '${t}' at ${n}. Run 'fern docs md generate' first.`),null;let o=(await(0,v9e.readFile)(n,"utf-8")).split(`
|
|
1965
1965
|
`).filter(s=>!s.startsWith("#")).join(`
|
|
1966
|
-
`);try{return Cn.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Pt(t,Ke.of(r));if(!(0,Y3s.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=hl(this.docsWorkspace.absoluteFilePath,n),o=await(0,v9e.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,er.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)}),a=this.#e.get(`library-section/${o.slug}`),c=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),u=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(u,r,s);i.push({id:a,type:"section",overviewPageId:c,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=er.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),c=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:c??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?er.PageId(s):void 0,c=this.#e.get(a??`${t}/section`),u=n.apply({urlSlug:r.slug??O0(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,m=i||r.hidden,h=(await Promise.all(r.contents.map(y=>this.toNavigationChild({prefix:c,item:y,parentSlug:u,hideChildren:m,parentAvailability:r.availability??o})))).filter(y=>y!=null);if(a==null){let y=h.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);y!=null&&(a=y.overviewPageId)}return{id:c,type:"section",overviewPageId:a,slug:u.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:m,viewers:r.viewers,orphaned:r.orphaned,children:h,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return Mj(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:er.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):zM.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(Yc),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:zM.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,...i}=this.parsedDocsConfig.metadata;return{...i,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n)}}convertFileIdOrUrl(t){if(t!=null)return Mj(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:zM.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function hWg(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${KV(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function yWg(e){switch(e){case"beta":return er.V1.NavigationV1Availability.Beta;case"deprecated":return er.V1.NavigationV1Availability.Deprecated;case"ga":return er.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return er.V1.NavigationV1Availability.Stable;default:Ve(e)}}async function tz(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof nb?t:null))).filter(Yc)}async function X3s(e,t,r){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return $V({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Tu={};D(Tu,{AlgoliaSearchIndex:()=>qcl,ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,IndexSegmentId:()=>Wcl,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PayloadLocation:()=>nll,PropertyKey:()=>Pul,PullRequestState:()=>Xul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul,algolia:()=>Z3s,api:()=>uqs,commons:()=>lqs,diff:()=>Bul,docs:()=>bqs,generators:()=>vqs,git:()=>Eqs,navigation:()=>xqs,sdks:()=>Iqs,snippets:()=>tll,snippetsFactory:()=>rll,templates:()=>Cqs,tokens:()=>ill});var Z3s={};D(Z3s,{AlgoliaSearchIndex:()=>qcl,IndexSegmentId:()=>Wcl});function qcl(e){return e}function Wcl(e){return e}var uqs={};D(uqs,{latest:()=>rqs,v1:()=>cqs});var rqs={};D(rqs,{AuthSchemeId:()=>Gcl,WebhookHttpMethod:()=>Jcl,auth:()=>eqs,commons:()=>Hcl,endpoint:()=>$cl,type_:()=>Kcl,webhook:()=>tqs,websocket:()=>Ycl});var eqs={};D(eqs,{AuthSchemeId:()=>Gcl});function Gcl(e){return e}var Hcl={};var $cl={};var Kcl={};var tqs={};D(tqs,{WebhookHttpMethod:()=>Jcl});var Jcl={Get:"GET",Post:"POST"};var Ycl={};var cqs={};D(cqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul,commons:()=>aqs,db:()=>nqs,read:()=>oqs,register:()=>sqs});var nqs={};D(nqs,{endpoint:()=>Xcl});var Xcl={};var oqs={};D(oqs,{SupportedLanguage:()=>Zcl,endpoint:()=>iqs,type_:()=>eul,webhook:()=>tul,websocket:()=>rul});var iqs={};D(iqs,{SupportedLanguage:()=>Zcl});var Zcl={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var eul={};var tul={};var rul={};var sqs={};D(sqs,{SourceId:()=>gWg,endpoint:()=>nul,type_:()=>iul,webhook:()=>oul,websocket:()=>sul});var nul={};var iul={};var oul={};var sul={};function gWg(e){return e}var aqs={};D(aqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul});function aul(e){return e}function cul(e){return e}var uul={Client:"client",Server:"server"};var lul={Get:"GET",Post:"POST"};var lqs={};D(lqs,{ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PropertyKey:()=>Pul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul});function pul(e){return e}function ful(e){return e}function mul(e){return e}function dul(e){return e}function hul(e){return e}function yul(e){return e}function gul(e){return e}function Aul(e){return e}function bul(e){return e}function _ul(e){return e}function vul(e){return e}function Eul(e){return e}function Oul(e){return e}function wul(e){return e}function xul(e){return e}function Pul(e){return e}function Iul(e){return e}function Cul(e){return e}var Sul={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var jul={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Bul={};var bqs={};D(bqs,{latest:()=>mqs,v1:()=>gqs,v2:()=>Aqs});var mqs={};D(mqs,{Layout:()=>Dul,MdxEngine:()=>AWg,TwitterCardSetting:()=>Rul,commons:()=>Tul,frontmatter:()=>pqs,seo:()=>fqs});var AWg={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var Tul={};var pqs={};D(pqs,{Layout:()=>Dul});var Dul={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var fqs={};D(fqs,{TwitterCardSetting:()=>Rul});var Rul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var gqs={};D(gqs,{commons:()=>yqs,db:()=>Ful,read:()=>Nul,write:()=>dqs});var Ful={};var Nul={};var dqs={};D(dqs,{DocsRegistrationId:()=>_Wg,FilePath:()=>bWg});function bWg(e){return e}function _Wg(e){return e}var yqs={};D(yqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul,commons:()=>hqs});var hqs={};D(hqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul});var kul={Typescript:"typescript",Javascript:"javascript",Python:"python",Java:"java",Go:"go",Ruby:"ruby",Csharp:"csharp",Nodets:"nodets",Nodejs:"nodejs",Dotnet:"dotnet",Curl:"curl",Jvm:"jvm",Ts:"ts",Js:"js"};var zul={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var Qul={Header:"HEADER",Sidebar:"SIDEBAR"};var Mul={Center:"CENTER",Left:"LEFT"};var Vul={Fixed:"FIXED",Absolute:"ABSOLUTE"};var Uul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Lul={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var qul={Normal:"normal",Italic:"italic"};var Wul={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Aqs={};D(Aqs,{read:()=>Gul,write:()=>Hul});var Gul={};var Hul={};var vqs={};D(vqs,{ChangelogEntryType:()=>Kul,GeneratorId:()=>vWg,GeneratorLanguage:()=>EWg,ReleaseType:()=>Jul,cli:()=>$ul,commons:()=>_qs,versions:()=>Yul});var $ul={};var _qs={};D(_qs,{ChangelogEntryType:()=>Kul,ReleaseType:()=>Jul});var Kul={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var Jul={Ga:"GA",Rc:"RC"};var Yul={};function vWg(e){return e}var EWg={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Eqs={};D(Eqs,{PullRequestState:()=>Xul});var Xul={Open:"open",Closed:"closed",Merged:"merged"};var xqs={};D(xqs,{latest:()=>Oqs,v1:()=>wqs});var Oqs={};D(Oqs,{NodeId:()=>xWg,ProductId:()=>PWg,Slug:()=>OWg,TabId:()=>wWg});function OWg(e){return e}function wWg(e){return e}function xWg(e){return e}function PWg(e){return e}var wqs={};D(wqs,{NavigationV1Availability:()=>BWg,NodeId:()=>SWg,ProductId:()=>jWg,Slug:()=>IWg,TabId:()=>CWg});function IWg(e){return e}function CWg(e){return e}function SWg(e){return e}function jWg(e){return e}var BWg={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Iqs={};D(Iqs,{Language:()=>Zul,VersionBump:()=>ell,versions:()=>Pqs});var Pqs={};D(Pqs,{Language:()=>Zul,VersionBump:()=>ell});var Zul={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var ell={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var tll={};var rll={};var Cqs={};D(Cqs,{PayloadLocation:()=>nll});var nll={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var ill={};var pBn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function oll({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=Tu.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:ez(o)},i.push(o)})}),r}var fBn=class{input;context;constructor(t,r){this.input=t,this.context=r}errors(){return this.context.errors.errors}warnings(){return this.context.errors.warnings}};function sll(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var ta=class extends fBn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${sll(this.accessPath)}`)}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}},MS=class extends ta{},Fq=class extends MS{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var all="x-fern-base-path",cll="x-fern-availability",mBn="x-fern-sdk-group-name",ull="x-fern-global-headers",lll="x-fern-sdk-method-name";var pll="x-fern-webhook",fll="x-fern-access-token-locator",mll="x-fern-basic",dll="x-fern-username-variable-name",hll="x-fern-password-variable-name",yll="x-fern-bearer",gll="x-fern-token-variable-name",All="x-fern-header",bll="x-fern-header-variable-name",_ll="x-fern-server-name",vll="x-fern-examples";var dBn=class extends ta{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_ll]}convert(){if(this.serverName!=null)return this.serverName}};var hBn=class extends ta{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new dBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.serverName?.convert()??this.url;if(!(this.url==null||t==null))return{id:Tu.EnvironmentId(t),baseUrl:this.url}}};function E9e(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,c)=>new hBn({input:a,context:r,accessPath:n,pathId:["servers",`${c}`]}));return[...i,...s]}function hg(e){return typeof e=="object"&&ba(e)&&"$ref"in e&&typeof e.$ref=="string"}function rz(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(hg(i)&&(i=rz(i,t,r)),i)}function yBn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return hg(r)?rz(r,t,void 0):r}var Vll=He(FP());var gBn=class extends ta{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[mll];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var ABn=class extends ta{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[hll]}convert(){return this.passwordVariableName}};var bBn=class extends ta{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[dll]}convert(){return this.usernameVariableName}};var _Bn=class extends ta{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[yll];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var vBn=class extends ta{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[gll]}convert(){return this.tokenVariableName}};function Ell(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Oll="x-bearer-format",wll="x-code-samples",xll="x-codeSamples";var EBn=class extends ta{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Oll]}convert(){return this.bearerFormat}};var OBn=class extends ta{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[All];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var wBn=class extends ta{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[bll]}convert(){return this.headerVariableName}};function Pll(e){return e.type==="apiKey"}var o4t=class extends ta{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){Pll(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new OBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new wBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new EBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};z$o();Nuc();function xBn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function s4t(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function lvt(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(lvt).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function PBn(e){if(Array.isArray(e))return e.map(s4t);if(typeof e=="symbol")return[e];e=lvt(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function zjr(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(pLr(t))return r;let n=e[t];return n===void 0?xBn(t)?zjr(e,PBn(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=s4t(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return TWg(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),pLr(t))return r;let n=e[t];return n===void 0?r:n}}}function TWg(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||pLr(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function Ill(e){return function(t){return zjr(t,e)}}function Cll(e){return e!==null&&(typeof e=="object"||typeof e=="function")}hHo();function Sqs(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Bqs(e,t,r){return typeof r!="function"?Bqs(e,t,()=>{}):jqs(e,t,function n(i,o,s,a,c,u){let l=r(i,o,s,a,c,u);return l!==void 0?!!l:jqs(i,o,n,u)},new Map)}function jqs(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return DWg(e,t,r,n);case"function":return Object.keys(t).length>0?jqs(e,{...t},r,n):Sqs(e,t);default:return Cll(e)?typeof t=="string"?t==="":!0:Sqs(e,t)}}function DWg(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Sll(e,t,r,n);if(t instanceof Map)return RWg(e,t,r,n);if(t instanceof Set)return FWg(e,t,r,n);let i=Object.keys(t);if(e==null||Jhr(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!Jhr(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function RWg(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function Sll(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let u=e[c],l=!1;if(r(u,s,o,e,t,n)&&(l=!0),l){i.add(c),a=!0;break}}if(!a)return!1}return!0}function FWg(e,t,r,n){return t.size===0?!0:e instanceof Set?Sll([...e],[...t],r,n):!1}function IBn(e,t){return Bqs(e,t,()=>{})}Fuc();function jll(e){return e=Ruc(e),t=>IBn(t,e)}gHo();oLr();yHo();function Bll(e,t){return Duc(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(qjt(e)===lLr&&typeof e.constructor!="function"){let a={};return o.set(e,a),mH(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case aLr:case sLr:case cLr:{let a=new e.constructor(e?.valueOf());return mH(a,e),a}case uLr:{let a={};return mH(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function Tll(e){return Bll(e)}var NWg=/^(?:0|[1-9]\d*)$/;function Dll(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return NWg.test(e)}}oLr();function Rll(e){return e!==null&&typeof e=="object"&&qjt(e)==="[object Arguments]"}function Fll(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&xBn(t)&&e?.[t]==null?r=PBn(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||Rll(n))&&Dll(o)&&o<n.length))return!1;n=n[o]}return!0}function Nll(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=s4t(e);break}}return t=Tll(t),function(r){let n=zjr(r,e);return n===void 0?Fll(r,e):t===void 0?n===void 0:IBn(n,t)}}function kll(e){if(e==null)return x3r;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?Nll(e[0],e[1]):jll(e);case"string":case"symbol":case"number":return Ill(e)}}z$o();AHo();function CBn(e,t=x3r){return e==null?{}:zN(e,kll(t))}oyc();function zll(e){return iyc(lvt(e))}Muc();function Qll(e){return typeof e!="string"&&(e=lvt(e)),e.replace(/['\u2019]/g,"")}function lue(e){return Quc(Qll(zll(e)))}function rE(e){if(e!=null)return Array.isArray(e)?e:[e]}function SBn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${kWg(s)}${zWg(e)}.${QWg(n,i,o,a)}`}function kWg(e){return e?"webhook_":"endpoint_"}function zWg(e){return e!=null?rE(e)?.map(t=>lue(t)).join("/"):""}function QWg(e,t,r,n){return e||t||lue(r??"")||lue(n??"")}function Mll(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jBn=class extends ta{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[fll],this.accessTokenLocator!=null&&(Mll(this.accessTokenLocator)||(this.context.errors.error({message:"Invalid access token locator, must be a valid jq path",path:this.accessPath}),this.accessTokenLocator=void 0))}convert(){return this.accessTokenLocator}};var BBn=class extends ta{authorizationUrl;headerAuthNode;accessTokenLocatorNode;constructor(t){super(t),this.safeParse()}parse(){if(this.input.flows.clientCredentials!=null){let t=this.input.flows.clientCredentials;this.authorizationUrl=t.tokenUrl,this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.headerAuthNode=new o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.accessTokenLocatorNode?.accessTokenLocator==null&&this.context.errors.error({message:"Expected 'x-fern-access-token-locator' property to be specified",path:this.accessPath})}}convert(){let t=this.accessTokenLocatorNode?.convert();if(t==null||this.authorizationUrl==null)return{type:"bearerAuth",tokenName:void 0};let r=SBn({namespace:void 0,path:this.authorizationUrl,method:"POST",sdkMethodName:void 0,operationId:void 0,displayName:void 0,isWebhook:void 0});if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:Tu.EndpointId(r),accessTokenLocator:Tu.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var a4t=class extends ta{authScheme;headerAuthNode;bearerTokenNode;bearerTokenVariableNameNode;basicAuthNode;basicUsernameVariableNameNode;basicPasswordVariableNameNode;oauth2Node;constructor(t){super(t),this.safeParse()}parse(){switch(this.input.type){case"http":switch(this.input.scheme){case"basic":{this.authScheme="basic",this.basicAuthNode=new gBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new bBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new ABn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),(this.basicAuthNode==null||this.basicAuthNode.username==null&&this.basicUsernameVariableNameNode?.usernameVariableName==null||this.basicAuthNode.password==null&&this.basicPasswordVariableNameNode?.passwordVariableName==null)&&this.context.errors.warning({message:"Basic auth should specify either a username or a username variable name",path:this.accessPath});break}case"bearer":{this.authScheme="bearer",this.bearerTokenNode=new _Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new vBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}default:{this.context.errors.warning({message:`Unsupported HTTP auth scheme: ${this.input.scheme}`,path:this.accessPath});break}}break;case"apiKey":{Ell(this.input)?(this.authScheme="header",this.headerAuthNode=new o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})):this.context.errors.error({message:`Unsupported API key location: ${this.input.in}`,path:this.accessPath});break}case"oauth2":{this.authScheme="oauth",this.oauth2Node=new BBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}case"openIdConnect":{this.authScheme="bearer";break}}}convert(){switch(this.authScheme){case"basic":{let t=this.basicAuthNode?.convert();return{type:"basicAuth",usernameName:t?.username?.name??this.basicUsernameVariableNameNode?.convert(),passwordName:t?.password?.name??this.basicPasswordVariableNameNode?.convert()}}case"bearer":return{type:"bearerAuth",tokenName:this.bearerTokenNode?.convert()?.tokenVariableName??this.bearerTokenVariableNameNode?.convert()};case"header":return this.headerAuthNode?.convert();case"oauth":return this.oauth2Node?.convert();case void 0:return;default:new Vll.UnreachableCaseError(this.authScheme);return}}};var c4t=class extends ta{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=yBn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter(ba))}};var TBn=class extends ta{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[all],this.basePath!=null?(this.basePath.startsWith("/")&&(this.basePath=this.basePath.slice(1)),this.basePath.endsWith("/")&&(this.basePath=this.basePath.slice(0,-1))):this.basePath=void 0}convert(){return this.basePath}};function Ull(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function Lll(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function u4t(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>rE(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!Ull(i))&&(s=Lll(s,s.type==="enum"?s.default:void 0)),{key:Tu.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter(ba)).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function DBn(e,t){return hg(e)?rz(e,t,void 0):e}function O9e(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function qll(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function Wll(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var Gll=He(FP());var Tqs=["decimal","decimal128","double-int","double","float","sf-decimal"],Dqs=["int16","int32","int64","int8","sf-integer","uint8"],Rqs=["base64url","binary","byte","char","commonmark","date-time","date","decimal","decimal128","duration","email","hostname","html","http-date","idn-email","idn-hostname","int64","ipv4","ipv6","iri-reference","iri","json-pointer","media-range","password","regex","relative-json-pointer","sf-binary","sf-boolean","sf-string","sf-token","time","uri-reference","uri-template","uri","uuid"],Fqs=["beta","pre-release","in-development","generally-available","deprecated"];function VS(e,t){return hg(e)?rz(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var hJ=class extends ta{availability;constructor(t){super(t),this.safeParse()}parse(){if(VS(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[cll];r!=null&&(Fqs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Fqs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Tu.Availability.Beta;case"in-development":return Tu.Availability.InDevelopment;case"generally-available":return Tu.Availability.GenerallyAvailable;case"deprecated":return Tu.Availability.Deprecated;case void 0:return;default:new Gll.UnreachableCaseError(this.availability);return}}};var FBn=He(FP());function Hll(e){return typeof e=="object"&&e!=null&&"language"in e}function $ll(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Kll(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Jll(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function RBn(e){return typeof e=="object"&&e!=null&&"event"in e}function Nqs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(RBn)}function w9e(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Yll(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var NBn=class extends ta{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[vll]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return w9e(s)?[i,{type:"filenameWithData",filename:s.filename,data:Tu.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>w9e(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:Tu.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new FBn.UnreachableCaseError(o.multipartType);return}}).filter(ba))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=Yll(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new FBn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{Kll(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{Nqs(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!Nqs(r.response)&&Jll(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new FBn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{Hll(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):$ll(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let c=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),u=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,m])=>[Tu.PropertyKey(p),m]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(c).length>0?c:void 0,queryParameters:Object.keys(u).length>0?u:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var Qjr=class extends ta{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[mBn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Tu.api.v1.SubpackageId(lue(r)))}};var kBn=class extends ta{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[lll]}convert(){return this.sdkMethodName}};var zBn=class extends ta{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[pll]}convert(){return this.isWebhook}};var QBn=class extends ta{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[wll]??[],...this.input[xll]??[]],this.codeSamples.forEach(t=>{[...Object.values(Tu.api.v1.read.SupportedLanguage),"Kotlin","Swift","PHP"].map(r=>r.toLowerCase()).includes(t.lang.toLowerCase())||this.context.errors.warning({message:`Unsupported language: ${t.lang}. This may not render correctly.`,path:this.accessPath})})}convert(){let t={};if(this.codeSamples?.forEach(r=>{t[r.lang.toLowerCase()]??=[],t[r.lang.toLowerCase()]?.push({name:r.label,language:r.lang,code:r.source,install:void 0,generated:!1,description:void 0})}),Object.keys(t).length!==0)return t}};var pvt=He(FP());function kqs(e,t){return hg(e)?rz(e,t,void 0):e}function Xll(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var mR="",a_e=class extends ta{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(w9e(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>w9e(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new pvt.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=kqs(this.input?.requestExample,this.context.document)??(t!=null?{value:t}:void 0);let r=this.shapes.responseBody?.schema?.example({includeOptionals:!1,override:void 0});if(this.resolvedResponseInput=kqs(this.input?.responseExample,this.context.document)??(r!=null?{value:r}:void 0),this.summary=this.input?.requestExample?.summary??this.input?.responseExample?.summary,this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody?.contentType){case"json":{if(typeof this.resolvedRequestInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break}case"bytes":{if(typeof this.resolvedRequestInput.value!="string"){this.context.errors.error({message:"Invalid example, expected string for bytes",path:this.accessPath});return}break}case"form-data":{if(!this.validateFormDataRequestExample()){this.context.errors.error({message:"Invalid example, expected valid form-data",path:this.accessPath});return}break}case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.requestBody?.contentType),this.context.errors.error({message:"Invalid example, unsupported content type",path:this.accessPath});return}if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody?.contentType){case"application/json":if(this.resolvedResponseInput!=null&&typeof this.resolvedResponseInput!="object"||this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break;case"text/event-stream":if(this.resolvedResponseInput.value!=null&&!Array.isArray(this.resolvedResponseInput.value)&&!this.resolvedResponseInput.value.every(RBn)){this.context.errors.error({message:"Invalid example, expected array of SSE events for event-stream",path:this.accessPath});return}break;case"application/octet-stream":if(this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="string"&&!Array.isArray(this.resolvedResponseInput.value)){this.context.errors.error({message:"Invalid example, expected string or array for octet-stream",path:this.accessPath});return}break;case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return w9e(i)?[r,{type:"filenameWithData",filename:i.filename,data:Tu.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>w9e(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:Tu.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new pvt.UnreachableCaseError(n.multipartType);return}}).filter(ba))};case"json":return{type:"json",value:this.resolvedRequestInput.value};case"bytes":return typeof this.resolvedRequestInput.value=="string"?{type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}}:void 0;default:return}}convertDescription(){if(this.resolvedRequestInput!=null&&this.resolvedResponseInput!=null)return this.resolvedResponseInput.description;if(this.resolvedRequestInput!=null)return this.resolvedRequestInput.description;if(this.resolvedResponseInput!=null)return this.resolvedResponseInput.description}convert(){let t;if(this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody.contentType){case"form-data":t=this.convertFormDataExampleRequest();break;case"json":t={type:"json",value:this.resolvedRequestInput.value};break;case"bytes":t={type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}};break;case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.requestBody?.contentType);break}let r;if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody.contentType){case"application/json":{r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break}case"text/event-stream":r={type:"sse",value:this.resolvedResponseInput?.value};break;case"application/octet-stream":r={type:typeof this.resolvedResponseInput?.value=="string"?"filename":"stream",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;case void 0:r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;default:new pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:Xll(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?ez(this.name):this.summary!=null?ez(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function Zll(e,t){return hg(e)?rz(e,t,void 0):e}var fpl=He(FP());var epl="#/components/schemas/";function l4t(e){if(e.$ref.startsWith(epl))return e.$ref.replace(epl,"")}function hQe(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function x9e(e){return typeof e.type=="string"&&e.type==="array"}function tpl(e){return e.type==="boolean"}function rpl(e){return e.type==="integer"}function P9e(e){return!Array.isArray(e.type)&&!x9e(e)}function npl(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||P9e(t)||x9e(t))}function ipl(e){return"nullable"in e&&typeof e.nullable=="boolean"}function opl(e){return e.type==="null"}function spl(e){return e.type==="number"}function zqs(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function apl(e){return e.type==="string"}var MBn=class extends Fq{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new hw({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return rE(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(t){return this.input.example??this.input.examples?.[0]??[this.item?.example(t)]}};var VBn=class extends MS{constValue;description;availability;constructor(t){super(t),this.safeParse()}parse(){this.input.const!=null&&(typeof this.input.const=="string"||typeof this.input.const=="number"||typeof this.input.const=="boolean")?this.constValue=this.input.const.toString():this.context.errors.warning({message:`Unsupported const type: ${typeof this.input}`,path:this.accessPath}),this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"})}convert(){if(this.constValue!=null)return{type:"enum",default:this.constValue,values:[{value:this.constValue,description:this.description,availability:this.availability?.convert()}]}}example(){return this.input.example??this.input.examples?.[0]??this.constValue}};var UBn=class extends Fq{typeNodes;nullable;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(ba)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>rE(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter(ba).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(hQe).filter(ba):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function LBn(e){return e!=null&&e.length>0?e:[void 0]}var p4t=class extends Fq{description;extends=[];properties;extraProperties;requiredProperties;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:["properties",t],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new hw({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:["additionalProperties"],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map((t,r)=>{if(hg(t))return l4t(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new hw({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(ba))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return u4t(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:{type:"alias",value:{type:"unknown",displayName:this.extraProperties}}}]:rE(this.extraProperties.convert())?.map(r=>({type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:r})).filter(ba)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>LBn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>Tu.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=VS(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new hw({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var qBn=class extends Fq{isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>VS(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>VS(t,this.context.document)?.type!=="null"?new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(ba);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([n,i])=>{let o=VS({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new hw({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter(ba);return this.isNullable&&i!=null?i.map(hQe).filter(ba):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Tu.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>rE(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??ez(i),availability:o.availability?.convert(),description:o.description,...a}}).filter(ba)).filter(ba)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>rE(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?ez(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?ez(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter(ba)).filter(ba)}:void 0,n=this.isNullable?hQe(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var WBn=class extends MS{default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.input.default!=null&&typeof this.input.default!="boolean"&&this.context.errors.warning({message:`Expected default value to be a boolean. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default}convert(){return{type:"alias",value:{type:"primitive",value:{type:"boolean",default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:!1)}};var I9e=class extends MS{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(hg(r)){let i=VS(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter(ba),this.values=Array.from(new Set(this.values))}this.default=this.input.default}convert(){return{type:"enum",values:this.values.map(t=>({value:t,description:void 0,availability:void 0})),default:this.default}}example(){return this.input.example??this.input.examples?.[0]??this.default??this.values[0]??(this.nullable?null:void 0)}};var cpl=He(FP());function MWg(e){return Dqs.includes(e)}var GBn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be an integer. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(MWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Dqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="integer";if(this.format!=null)switch(this.format){case"int64":t="long";break;case"int8":case"int16":case"int32":case"uint8":case"sf-integer":case void 0:t="integer";break;default:new cpl.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var HBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return hQe({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var upl=He(FP());function VWg(e){return Tqs.includes(e)}var $Bn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be a number. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(VWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Tqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="double";if(this.format!=null)switch(this.format){case"decimal":case"decimal128":case"double-int":case"double":case"float":case"sf-decimal":case void 0:t="double";break;default:new upl.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var lpl=He(FP());function UWg(e){return Rqs.includes(e)}var KBn=class extends MS{format;regex;default;minLength;maxLength;enum;mimeType;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}mapToFdrType(t){switch(t){case"base64url":case"binary":case"byte":case"sf-binary":return"base64";case"date-time":return"datetime";case"int64":return"bigInteger";case"date":return"date";case"uuid":return"uuid";case"char":case"commonmark":case"decimal":case"decimal128":case"duration":case"email":case"hostname":case"html":case"http-date":case"idn-email":case"idn-hostname":case"ipv4":case"ipv6":case"iri-reference":case"iri":case"json-pointer":case"media-range":case"password":case"regex":case"relative-json-pointer":case"sf-boolean":case"sf-string":case"sf-token":case"time":case"uri-reference":case"uri-template":case"uri":case void 0:return"string";default:return new lpl.UnreachableCaseError(t),"string"}}parse(){this.regex=this.input.pattern,this.minLength=this.input.minLength,this.maxLength=this.input.maxLength,this.mimeType=this.input.contentMediaType,this.input.default!=null&&typeof this.input.default!="string"&&this.context.errors.warning({message:`Expected default value to be a string. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(UWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Rqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum",nullable:this.nullable}))}convert(){if(this.enum!=null)return this.enum.convert();let t="string";return this.format!=null&&(t=this.mapToFdrType(this.format)),{type:"alias",value:{type:"primitive",value:t==="base64"?{type:t,mimeType:this.mimeType,default:this.default}:{type:t,format:t==="string"?this.format:void 0,regex:this.regex,minLength:this.minLength,maxLength:this.maxLength,default:this.default}}}}example({override:t}){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:t??"string")}};var ppl=He(FP());var JBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ppl.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var fvt=class extends Fq{description;availability;schemaId;maybeEnumConverterNode;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.description=t.description,this.availability=t.availability,this.safeParse()}parse(){this.schemaId=l4t(this.input);let t=VS(this.input,this.context.document);t?.enum!=null&&P9e(t)&&(this.maybeEnumConverterNode=new I9e({input:t,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",nullable:this.nullable})),this.schemaId==null&&this.context.errors.error({message:`Unprocessable reference: ${this.input.$ref}`,path:this.accessPath})}convert(){if(this.schemaId!=null)return{type:"alias",value:{type:"id",id:Tu.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=VS(this.input,this.context.document);if(r!=null)return new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var hw=class e extends Fq{typeShapeNode;description;name;examples;availability;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),P9e(this.input)&&ipl(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),hg(this.input)){let t=l4t(this.input);if(t==null){this.context.errors.error({message:"Reference object does not have a valid schema ID",path:this.accessPath});return}if(this.seenSchemas.has(t)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(t),this.typeShapeNode=new fvt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName,description:this.description,availability:this.availability})}else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new VBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(npl(this.input))this.typeShapeNode=new UBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new qBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(zqs(this.input)&&this.input.allOf!=null)this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&this.input.enum!=null)this.typeShapeNode=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable});else if(typeof this.input.type=="string"||Array.isArray(this.input.type)&&this.input.type.length===1){if(this.input.type=Array.isArray(this.input.type)?this.input.type[0]:this.input.type,!Array.isArray(this.input.type))switch(this.input.type){case"object":zqs(this.input)&&(this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":x9e(this.input)&&(this.typeShapeNode=new MBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":tpl(this.input)&&(this.typeShapeNode=new WBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":rpl(this.input)&&(this.typeShapeNode=new GBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":spl(this.input)&&(this.typeShapeNode=new $Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":apl(this.input)&&(this.typeShapeNode=new KBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":opl(this.input)&&(this.typeShapeNode=new HBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new fpl.UnreachableCaseError(this.input.type);break}}else if(Array.isArray(this.input.type)&&this.input.type.includes("null")&&this.input.type.length===2){let t=this.input.type.filter(r=>r!=="null")[0];t!=="array"&&(this.typeShapeNode=new e({input:{...this.input,type:t},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:!0,schemaName:this.schemaName}))}else this.input.properties!=null&&(this.typeShapeNode=new p4t({input:{...this.input,type:"object"},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));this.typeShapeNode==null&&(this.typeShapeNode=new JBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!hg(this.input)&&(!x9e(this.input)&&this.input==null||x9e(this.input)&&this.input.items==null)&&this.context.errors.error({message:"Expected type declaration. Received: null",path:this.accessPath}))}convert(){let t=this.typeShapeNode?.convert();if(t==null)return;let r=rE(t)?.map(n=>this.nullable?hQe(n):n).filter(ba);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function C9e(e){if(e!=null)return u4t(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(ba))}var c_e=class extends MS{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;hg(this.input)?r=this.input:this.input.schema!=null?(r=this.input.schema,this.required=this.input.required):(r={type:"string"},this.required=!1),this.availability=new hJ({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=Zll(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function mpl(e,t){return hg(e)?rz(e,t,void 0):e}var Qqs=He(FP());function YBn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[Tu.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var dpl=He(zcs(),1),f4t=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=dpl.default.parse(t);return r==null?null:new e(r.type,r.subtype,r.essence,r.parameters,r,t)}toString(){return this.input}isText(){return this.type==="text"}isImage(){return this.type==="image"}isAudio(){return this.type==="audio"}isVideo(){return this.type==="video"}isFont(){return this.type==="font"}isMultipart(){return this.type==="multipart"}isApplication(){return this.type==="application"}isMessage(){return this.type==="message"}isModel(){return this.type==="model"}isCSS(){return this.isText()&&this.subtype==="css"}isCSV(){return this.isText()&&this.subtype==="csv"}isMarkdown(){return this.isText()&&this.subtype==="markdown"}isPlainText(){return this.isText()&&this.subtype==="plain"}isEventStream(){return this.isText()&&this.subtype==="event-stream"}isMultiPartFormData(){return this.isMultipart()&&this.subtype==="form-data"}isJSON(){return this.isApplication()&&this.subtype==="json"}containsJSON(){return this.isApplication()&&this.subtype.includes("json")}isURLEncoded(){return this.isApplication()&&this.subtype==="x-www-form-urlencoded"}isOctetStream(){return this.isApplication()&&this.subtype==="octet-stream"}isPDF(){return this.isApplication()&&this.subtype==="pdf"}isZip(){return this.isApplication()&&this.subtype==="zip"}isGzip(){return this.isApplication()&&this.subtype==="gzip"}isTar(){return this.isApplication()&&this.subtype==="tar"}isBrotli(){return this.isApplication()&&this.subtype==="br"}isDeflate(){return this.isApplication()&&this.subtype==="deflate"}isProtobuf(){return this.isApplication()&&this.subtype==="protobuf"}isAvif(){return this.isImage()&&this.subtype==="avif"}isWebP(){return this.isImage()&&this.subtype==="webp"}isSVG(){return this.isImage()&&this.subtype==="svg+xml"}isPNG(){return this.isImage()&&this.subtype==="png"}isJPEG(){return this.isImage()&&this.subtype==="jpeg"}isGIF(){return this.isImage()&&this.subtype==="gif"}isMPEG(){return this.isAudio()&&this.subtype==="mpeg"}isWAV(){return this.isAudio()&&this.subtype==="wav"}isHTML(){return this.mimeType.isHTML()}isXML(){return this.mimeType.isXML()}isJavaScript(){return this.mimeType.isJavaScript()}};function LWg(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var XBn=class extends ta{typeSchemas;securitySchemes;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas!=null&&(this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),LWg(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(hg(r)?i=yBn(r.$ref,this.context.document):i=r,i!=null)return[t,new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter(ba)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[Tu.api.latest.AuthSchemeId(t),n]}).filter(ba)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=rE(r.convert());return i==null?[t,void 0]:[Tu.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>ba(r))):void 0}}};var ZBn=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=VS(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${hg(this.input)?`Received undefined reference: ${this.input.$ref}`:""}`,path:this.accessPath});return}if(t.type==="string"&&t.format==="binary")this.multipartType="file",this.contentType=t.contentMediaType;else if(t.type==="array"){let r=VS(t.items,this.context.document);r?.type==="string"&&r?.format==="binary"?(this.multipartType="files",this.contentType=r?.contentMediaType):(this.context.errors.warning({message:"Expected multipart form data files definition with array type with internal string type and binary format.",path:this.accessPath}),this.multipartType=void 0,this.contentType=void 0)}else this.multipartType="property",this.contentType=t.contentMediaType}};var eTn=class extends ta{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=VS(this.input.schema,this.context.document);this.availability=new hJ({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=hg(this.input.schema)?new fvt({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=f4t.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new ZBn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter(ba))):this.context.errors.warning({message:`Expected request body of reference or object with json, streaming or form-data content types. Received: ${t}`,path:this.accessPath})}let r=this.schema?.example({includeOptionals:!0,override:void 0});this.examples={...this.input.example!=null?{[mR]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[mR]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:rE(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=lue([this.method,this.path,this.contentType,"request"].join("_"));return YBn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new Qqs.UnreachableCaseError(i);return}}).filter(ba)}convert(){if(this.schema instanceof fvt)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=rE(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:Tu.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new Qqs.UnreachableCaseError(i.multipartType),[]}}).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var tTn=class extends ta{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=mpl(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new eTn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>rE(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter(ba)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>rE(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter(ba)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var hpl={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function ypl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var rTn=He(FP());var gpl="application/json";var Apl="application/octet-stream";function bpl(e,t){return e===t||t===mR||e===mR}var Mjr=class extends ta{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,c){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=c,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,c]of Object.entries(r))for(let u of c)bpl(a,o)&&(n.add(a),this.examples?.push(new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[c,u,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new a_e({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,O9e(u,s),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,c,u]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new a_e({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,O9e(c,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,c]of r.slice(t.length))this.examples?.push(...c.map(u=>new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[mR];if(o!=null)for(let s of o)this.examples?.push(new a_e({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,O9e(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=f4t.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=gpl,this.input.schema==null?(this.streamingFormat==null||this.streamingFormat==="json")&&this.context.errors.error({message:"Expected schema for JSON response body. Received null",path:this.accessPath}):this.schema=new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=Apl,this.contentSubtype=VS(this.input.schema,this.context.document)?.contentMediaType;else if(this.unsupportedContentType=t,this.input.schema==null){this.context.errors.error({message:"Expected schema for plain text response body. Received null",path:this.accessPath});return}else this.schema=new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"})}let r={};this.input.examples!=null&&(r=CBn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]=[{value:this.input.example}]);let n=VS(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=CBn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[mR]??=[],r[mR]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([c])=>!i.has(c)&&c!==mR).map(([c,u])=>[a,c,u]));let s=Object.entries(r).filter(([a,c])=>!i.has(a)&&ba(c)&&a!==mR);Object.keys(r).every(a=>a===mR)||this.matchExamplesByIndex(o,s),!i.has(mR)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return rE(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new rTn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return rE(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=lue([this.method,this.path,this.statusCode,"response"].join("_"));return YBn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new rTn.UnreachableCaseError(n);return}}).filter(ba)}convert(){if(this.empty)return{type:"empty"};if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?this.convertJsonLike():this.convertStreamingFormat();case"application/octet-stream":return{type:"fileDownload",contentType:this.contentSubtype};case"text/event-stream":return this.convertStreamingFormat();case void 0:return;default:new rTn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var Vjr=class extends ta{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=ypl(this.input,this.context.document);if(r==null){this.context.errors.error({message:hg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new Mjr({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new Mjr({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(ba)}};var nTn=class extends ta{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new Vjr({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new Vjr({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return LBn(C9e(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter(ba))})))}).filter(ba)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=rE(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??hpl[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let c=a.convert();if(c!=null&&c.responseBody?.type==="json")return{name:c.name,description:c.description,responseBody:c.responseBody}}).filter(ba)})).filter(ba)})).filter(ba)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var S9e=class extends ta{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new a_e({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,O9e(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=E9e(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new zBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(hg(n)){let o=DBn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new QBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new tTn({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody",method:this.method,path:this.path}):void 0,this.responses=this.input.responses!=null?new nTn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new Qjr({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new Qjr({input:{[mBn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new kBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>SBn({namespace:rE(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(ba),this.xFernExamplesNode=new NBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-examples"},this.path,t,this.requests?.requestBodiesByContentType,this.responses?.responsesByStatusCode?.[t]?.responses)}extractPathParameterIds(){if(this.path!=null)return this.path.split("/").map(t=>{if(t.startsWith("{")&&t.endsWith("}"))return t.slice(1,-1).trim()}).filter(ba)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:Tu.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter(ba),i=Wll(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:qll(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Tu.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(m=>m.value.toString())??[],queryParameters:C9e(this.queryParameters)?.flat(),headers:C9e(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(ba)}}).filter(ba);let o=this.servers?.map(l=>l.convert()).filter(ba),s=this.convertPathToPathParts();if(s==null)return;let a,c=this.auth?.convert();c!=null&&(a=Object.keys(c));let u=t?.flatMap(l=>l.headers).filter(ba);return this.endpointIds.map((l,p)=>({id:Tu.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(m=>Tu.api.v1.SubpackageId(m)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(m=>Tu.api.latest.AuthSchemeId(m)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:C9e(this.pathParameters)?.flat(),queryParameters:C9e(this.queryParameters)?.flat(),requestHeaders:C9e(this.requestHeaders)?.flat(),responseHeaders:u!=null&&u.length>0?u:void 0,requests:this.requests?.convert(),responses:t?.map(m=>m.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var m4t=class extends ta{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=E9e(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new S9e({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new S9e({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new S9e({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new S9e({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new S9e({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(ba)}};function iTn(e){return"payloads"in e}var oTn=class extends ta{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new m4t({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:E9e(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter(ba)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{iTn(o)?r[Tu.WebhookId(o.id)]=o:t[Tu.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var sTn=class extends ta{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ull]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||DBn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return u4t(this.globalHeaders,this.requiredProperties)?.flat()}};function _pl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var aTn=class extends ta{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=_pl(o,this.context.document);if(s!=null)return new m4t({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter(ba)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{iTn(n)&&(t[Tu.WebhookId(n.id)]=n)}),t),{})}};var cTn=class extends ta{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=E9e(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new TBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});this.input.paths==null&&this.input.webhooks==null&&this.context.errors.warning({message:"Expected 'paths' or 'webhooks' property to be specified",path:this.accessPath}),this.input.paths!=null&&(this.paths=new oTn({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths",basePath:r,servers:t,globalAuth:this.auth})),this.input.webhooks!=null&&(this.webhooks=new aTn({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks",basePath:r,servers:t,globalAuth:this.auth})),this.input.components!=null&&(this.components=new XBn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new sTn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=wD(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=oll({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:Tu.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Mqs(e,t){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let r=new Kce(e.absoluteFilePath),n=await ZK({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new pBn,generatedTypes:{}},c=new cTn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=DDt(o,c.convert())}return o}JO();var BEl=He(Lqs(),1),TEl=He($Tn(),1),TDn=require("fs/promises"),DEl=He(require("http"),1),REl=He(require("path"),1);var Ayl=require("events"),ZTn=He(require("fs"),1),Evt=He(require("path"),1);var eyl=He(require("os"),1),tyl=300,N9e=20,fBr=1e7,ryl=eyl.default.platform();var iYg=ryl==="darwin",c8s=ryl==="win32",k9e=iYg||c8s,nyl=3e3,iyl=2e4,u8s=1250;var f_e;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(f_e||(f_e={}));var vvt;(function(e){e.CHANGE="change",e.RENAME="rename"})(vvt||(vvt={}));var mBr;(function(e){e.CHANGE="change",e.ERROR="error"})(mBr||(mBr={}));var Ql;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(Ql||(Ql={}));var XV;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(XV||(XV={}));var oYg=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let _=Date.now(),E=_-c,O=_-u,P=E>=t||O>=o;return[_,P]},p=_=>{if(u=_,!s)return;let E=s;s=void 0,e.apply(void 0,E)},m=()=>{b(0)},f=()=>{a&&(m(),p(Date.now()))},h=_=>{if(u=_,n)return p(_)},y=_=>{if(i&&s)return p(_);s=void 0},g=()=>{a=void 0;let[_,E]=l();return E?y(_):A(_)},A=_=>{let E=_-c,O=_-u,P=t-E,x=o-O,I=Math.min(P,x);return b(I)},b=_=>{a&&clearTimeout(a),!(_<=0)&&(a=setTimeout(g,_))},v=(..._)=>{let[E,O]=l(),P=!!a;if(s=_,c=E,(O||!a)&&b(t),O)return P?p(E):h(E)};return v.cancel=m,v.flush=f,v},KTn=oYg;var m8s=He(require("fs"),1),YTn=He(require("path"),1);var ib=He(require("fs"),1),nz=require("util");var gQe=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},m_e=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var l8s=He(require("process"),1),oyl=l8s.default.getuid?!l8s.default.getuid():!1,syl=1e4,Qq=()=>{};var dBr={isChangeErrorOk:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!oyl&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!dBr.isNodeError(e))throw e;if(!dBr.isChangeErrorOk(e))throw e}},US=dBr;var p8s=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=syl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},ayl=new p8s;var AQe=(e,t)=>function(n){return function i(...o){return ayl.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(m=>setTimeout(m,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},bQe=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var sYg={attempt:{chmod:gQe((0,nz.promisify)(ib.default.chmod),US.onChangeError),chown:gQe((0,nz.promisify)(ib.default.chown),US.onChangeError),close:gQe((0,nz.promisify)(ib.default.close),Qq),fsync:gQe((0,nz.promisify)(ib.default.fsync),Qq),mkdir:gQe((0,nz.promisify)(ib.default.mkdir),Qq),realpath:gQe((0,nz.promisify)(ib.default.realpath),Qq),stat:gQe((0,nz.promisify)(ib.default.stat),Qq),unlink:gQe((0,nz.promisify)(ib.default.unlink),Qq),chmodSync:m_e(ib.default.chmodSync,US.onChangeError),chownSync:m_e(ib.default.chownSync,US.onChangeError),closeSync:m_e(ib.default.closeSync,Qq),existsSync:m_e(ib.default.existsSync,Qq),fsyncSync:m_e(ib.default.fsync,Qq),mkdirSync:m_e(ib.default.mkdirSync,Qq),realpathSync:m_e(ib.default.realpathSync,Qq),statSync:m_e(ib.default.statSync,Qq),unlinkSync:m_e(ib.default.unlinkSync,Qq)},retry:{close:AQe((0,nz.promisify)(ib.default.close),US.isRetriableError),fsync:AQe((0,nz.promisify)(ib.default.fsync),US.isRetriableError),open:AQe((0,nz.promisify)(ib.default.open),US.isRetriableError),readFile:AQe((0,nz.promisify)(ib.default.readFile),US.isRetriableError),rename:AQe((0,nz.promisify)(ib.default.rename),US.isRetriableError),stat:AQe((0,nz.promisify)(ib.default.stat),US.isRetriableError),write:AQe((0,nz.promisify)(ib.default.write),US.isRetriableError),writeFile:AQe((0,nz.promisify)(ib.default.writeFile),US.isRetriableError),closeSync:bQe(ib.default.closeSync,US.isRetriableError),fsyncSync:bQe(ib.default.fsyncSync,US.isRetriableError),openSync:bQe(ib.default.openSync,US.isRetriableError),readFileSync:bQe(ib.default.readFileSync,US.isRetriableError),renameSync:bQe(ib.default.renameSync,US.isRetriableError),statSync:bQe(ib.default.statSync,US.isRetriableError),writeSync:bQe(ib.default.writeSync,US.isRetriableError),writeFileSync:bQe(ib.default.writeFileSync,US.isRetriableError)}},cyl=sYg;var JTn=He(require("fs"),1),hBr=He(require("path"),1);var f8s=()=>{};var aYg=()=>{let e=f8s,t=f8s,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},uyl=aYg;var cYg=()=>{let{promise:e,resolve:t,isPending:r}=uyl(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},lyl=cYg;var pyl={then:e=>{e()}};var fyl=e=>Array.isArray(e)?e:[e],myl=e=>typeof e=="function";var uYg=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=fyl(o).map(J=>myl(J)?J:K=>J.test(K)),a=J=>s.some(K=>K(J)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,m={},f=[],h=new Set,y={},g=[],A=new Set,b={},v={},_=new Set,E={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},O={directories:l,directoriesNames:p,directoriesNamesToPaths:m,files:f,filesNames:h,filesNamesToPaths:y,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:P,increment:x,decrement:I}=lyl(),F=0,q=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.directories.push(K),J.directoriesNames.add(Pe),l.push(K),p.add(Pe),m.propertyIsEnumerable(Pe)||(m[Pe]=[]),m[Pe].push(K),_.add(K),!(we>=n)&&(F>=i||ee(K,we+1)))},W=(J,K,Pe)=>{_.has(K)||F>=i||(F+=1,J.files.push(K),J.filesNames.add(Pe),f.push(K),h.add(Pe),y.propertyIsEnumerable(Pe)||(y[Pe]=[]),y[Pe].push(K),_.add(K))},G=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.symlinks.push(K),J.symlinksNames.add(Pe),g.push(K),A.add(Pe),b.propertyIsEnumerable(Pe)||(b[Pe]=[]),b[Pe].push(K),_.add(K),r&&(we>=n||F>=i||Ge(K,we+1)))},re=(J,K,Pe,we,Me)=>{c.aborted||a(K)||(we.isDirectory()?q(J,K,Pe,Me):we.isFile()?W(J,K,Pe):we.isSymbolicLink()&&G(J,K,Pe,Me))},oe=(J,K,Pe,we)=>{if(c.aborted)return;let Me=K===hBr.default.sep?"":hBr.default.sep,Ze=Pe.name,Oe=`${K}${Me}${Ze}`;a(Oe)||(Pe.isDirectory()?q(J,Oe,Ze,we):Pe.isFile()?W(J,Oe,Ze):Pe.isSymbolicLink()&&G(J,Oe,Ze,we))},H=(J,K,Pe,we)=>{for(let Me=0,Ze=Pe.length;Me<Ze;Me++)oe(J,K,Pe[Me],we)},ee=(J,K)=>{c.aborted||K>n||F>=i||(x(),JTn.default.readdir(J,{withFileTypes:!0},(Pe,we)=>{if(Pe||c.aborted||!we.length)return I();(u(we)||pyl).then(()=>{let Ze=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Ze,J,we,K),I()})}))},Ge=(J,K)=>{x(),JTn.default.realpath(J,(Pe,we)=>{if(Pe||c.aborted)return I();JTn.default.stat(we,(Me,Ze)=>{if(Me||c.aborted)return I();let Oe=hBr.default.basename(we),de=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};re(de,we,Oe,Ze,K),I()})})};return(async(J,K=1)=>(J=hBr.default.normalize(J),_.add(J),ee(J,K),await P,c.aborted?E:O))(e)},dyl=uYg;var d_e={lang:{debounce:KTn,attempt:e=>{try{return e()}catch(t){return d_e.lang.castError(t)}},castArray:e=>d_e.lang.isArray(e)?e:[e],castError:e=>d_e.lang.isError(e)?e:d_e.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(d_e.lang.isNaN(e))return d_e.lang.isNaN(t);if(d_e.lang.isPrimitive(e)||d_e.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(YTn.default.sep).length-1),getRealPath:(e,t)=>{try{return t?m8s.default.realpathSync.native(e):m8s.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===YTn.default.sep&&t.length-e.length>YTn.default.sep.length,poll:(e,t=iyl)=>cyl.retry.stat(t)(e,{bigint:!0}).catch(d_e.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await dyl(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Gd=d_e;var XTn=He(require("path"),1);var d8s=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Gd.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=tyl){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=Gd.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Ql.CHANGE&&a===Ql.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Ql.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Ql.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),s=this.options.limit??fBr,[a,c]=await Gd.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())Gd.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Ql.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!k9e&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(Ql.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Ql.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Ql.ADD?this.onTargetAdd(n):r===Ql.ADD_DIR?this.onTargetAddDir(n):r===Ql.CHANGE?this.onTargetChange(n):r===Ql.UNLINK?this.onTargetUnlink(n):r===Ql.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=vvt.CHANGE,r){if(this.watcher.isClosed())return;let n=XTn.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){c8s&&t.code==="EPERM"?this.onWatcherChange(vvt.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(mBr.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(mBr.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(vvt.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&k9e&&this.options.native!==!1?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),n=this.options.limit??fBr,[i,o]=await Gd.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(vvt.CHANGE,a,t)}))}}},hyl=d8s;var ZV={interval:100,intervalId:void 0,fns:new Map,init:()=>{ZV.intervalId||(ZV.intervalId=setInterval(ZV.resolve,ZV.interval))},reset:()=>{ZV.intervalId&&(clearInterval(ZV.intervalId),delete ZV.intervalId)},add:(e,t)=>{ZV.fns.set(e,Date.now()+t),ZV.init()},remove:e=>{ZV.fns.delete(e)},resolve:()=>{if(!ZV.fns.size)return ZV.reset();let e=Date.now();for(let[t,r]of ZV.fns)r>=e||(ZV.remove(t),t())}},yBr=ZV;var gBr=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,m=>m!==i);if(p&&p!==i){if(Gd.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let m=p();i===m?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,m,i)};s.add.set(n,l),l()}getLockUnlink(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD,f_e.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD_DIR,f_e.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK,f_e.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK_DIR,f_e.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};gBr.DIR_EVENTS={add:Ql.ADD_DIR,rename:Ql.RENAME_DIR,unlink:Ql.UNLINK_DIR};gBr.FILE_EVENTS={add:Ql.ADD,change:Ql.CHANGE,rename:Ql.RENAME,unlink:Ql.UNLINK};var yyl=gBr;var h8s=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gd.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(Gd.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Gd.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Gd.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},y8s=h8s;var g8s=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},gyl=g8s;var A8s=class{constructor(){this.inos={},this.paths=new y8s,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await Gd.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new gyl(n)}reset(){this.inos={},this.paths=new y8s,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Ql.ADD,i),[Ql.ADD];if(i.isDirectory())return this.updateIno(t,Ql.ADD_DIR,i),[Ql.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Ql.UNLINK,n),[Ql.UNLINK];if(n.isDirectory())return this.updateIno(t,Ql.UNLINK_DIR,n),[Ql.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Ql.CHANGE,i),[Ql.CHANGE]);if(i.isDirectory())return this.updateIno(t,Ql.UNLINK,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK,Ql.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD,i),[Ql.UNLINK_DIR,Ql.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK_DIR,Ql.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?f_e.FILE:f_e.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},b8s=A8s;var _8s=class e extends Ayl.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(XV.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(XV.CLOSE,i)),this._readyWait=new Promise(i=>this.on(XV.READY,i)),this._locker=new yyl(this),this._roots=new Set,this._poller=new b8s,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gd.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(XV.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gd.lang.castError(t);return this.emit(XV.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(XV.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(XV.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)Gd.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new hyl(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gd.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=Evt.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??N9e))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&k9e&&l.options.native!==!1)))return!0;if(!k9e)break;let u=Evt.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Gd.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||k9e&&r.native!==!1?r:{...r,recursive:!1},l={watcher:ZTn.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},h=Evt.default.dirname(a),y=a;await this.watchDirectories([h],f,n,y,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||k9e&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??N9e,a=r.limit??fBr,[c]=await Gd.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=Gd.fs.getDepth(t);for(let p of c){let m=Gd.fs.getDepth(p),f=Math.max(0,s-(m-l)),h={...r,depth:f};await this.watchDirectories([p],h,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(XV.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(XV.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=Evt.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new b8s,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return Gd.lang.noop;if(this.pollerExists(t,r))return Gd.lang.noop;let i={...r,interval:r.pollingInterval??nyl},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(XV.CLOSE,a),ZTn.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(XV.CLOSE,a),ZTn.default.unwatchFile(t,n)};return Gd.lang.attempt(s),()=>Gd.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=Gd.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Gd.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=Evt.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Gd.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=Evt.default.dirname(t);return(await Gd.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Gd.lang.noop){if(Gd.lang.isFunction(t))return this.watch([],{},t);if(Gd.lang.isUndefined(t))return this.watch([],r,n);if(Gd.lang.isFunction(r))return this.watch(t,{},r);if(Gd.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Gd.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Gd.lang.noop&&this.on(XV.ALL,n),r.readdirMap=void 0,this.ready())}},e1n=_8s;d1n();var k4t=require("fs/promises"),wgl=require("os"),xgl=He(require("path"),1),TXg=".fern",DXg="logs";function RXg(){return"cli@3.85.2"}var IBr=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Pt(Ar.of((0,wgl.homedir)()),Ke.of(TXg)),r=Pt(t,Ke.of(DXg));await qr(r)||await(0,k4t.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Pt(r,Ke.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${xgl.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
|
|
1966
|
+
`);try{return Cn.load(o)??[]}catch(s){return this.taskContext.logger.warn(`Failed to parse _navigation.yml for library '${t}': ${s instanceof Error?s.message:String(s)}`),null}}async registerLibraryMdxPage(t,r){let n=Pt(t,Ke.of(r));if(!(0,Y3s.existsSync)(n)){this.taskContext.logger.warn(`Library MDX file not found: ${n}`);return}let i=hl(this.docsWorkspace.absoluteFilePath,n),o=await(0,v9e.readFile)(n,"utf-8");return this.parsedDocsConfig.pages[i]=o,er.PageId(i)}async convertLibraryNavNodes(t,r,n){let i=[];for(let o of t)if(o.type==="page"&&o.pageId!=null){let s=await this.registerLibraryMdxPage(r,o.pageId);if(s==null)continue;let a=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)});i.push({id:this.#e.get(s),type:"page",slug:a.get(),title:o.title,icon:void 0,hidden:!1,viewers:void 0,orphaned:void 0,pageId:s,authed:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}else if(o.type==="section"){let s=n.apply({fullSlug:o.slug.split("/"),urlSlug:O0(o.title)}),a=this.#e.get(`library-section/${o.slug}`),c=await this.registerLibraryMdxPage(r,`${o.slug}.mdx`),u=(o.children??[]).filter(p=>!(p.type==="page"&&p.slug===o.slug)),l=await this.convertLibraryNavNodes(u,r,s);i.push({id:a,type:"section",overviewPageId:c,slug:s.get(),title:o.title,icon:void 0,collapsed:void 0,hidden:!1,viewers:void 0,orphaned:void 0,children:l,authed:void 0,pointsTo:void 0,noindex:void 0,featureFlags:void 0,availability:void 0})}return i}async toPageNode({item:t,parentSlug:r,hideChildren:n,parentAvailability:i}){let o=er.PageId(this.toRelativeFilepath(t.absolutePath)),s=r.apply({urlSlug:t.slug??O0(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")}),a=this.#e.get(o),c=this.markdownFilesToAvailability.get(t.absolutePath);return{id:a,type:"page",slug:s.get(),title:this.markdownFilesToSidebarTitle.get(t.absolutePath)??t.title,icon:this.resolveIconFileId(t.icon),hidden:n||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:o,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags,availability:c??t.availability??i}}async toSectionNode({prefix:t,item:r,parentSlug:n,hideChildren:i,parentAvailability:o}){let s=this.toRelativeFilepath(r.overviewAbsolutePath),a=s?er.PageId(s):void 0,c=this.#e.get(a??`${t}/section`),u=n.apply({urlSlug:r.slug??O0(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),l=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,p=r.overviewAbsolutePath!=null?this.markdownFilesToAvailability.get(r.overviewAbsolutePath):void 0,m=i||r.hidden,h=(await Promise.all(r.contents.map(y=>this.toNavigationChild({prefix:c,item:y,parentSlug:u,hideChildren:m,parentAvailability:r.availability??o})))).filter(y=>y!=null);if(a==null){let y=h.find(g=>g.type==="apiReference"&&g.hideTitle===!0&&g.overviewPageId!=null);y!=null&&(a=y.overviewPageId)}return{id:c,type:"section",overviewPageId:a,slug:u.get(),title:r.overviewAbsolutePath!=null?this.markdownFilesToSidebarTitle.get(r.overviewAbsolutePath)??r.title:r.title,icon:this.resolveIconFileId(r.icon),collapsed:r.collapsed,hidden:m,viewers:r.viewers,orphaned:r.orphaned,children:h,authed:void 0,pointsTo:void 0,noindex:l,featureFlags:r.featureFlags,availability:p??r.availability??o}}async convertTabbedNavigation(t,r,n){let i=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:i,children:await Promise.all(r.map(o=>this.toTabChild(i,o,n)))}}async toTabChild(t,r,n){return Mj(r.child)._visit({link:({href:i,target:o})=>this.toTabLinkNode(r,i,o),layout:({layout:i})=>this.toTabNode(t,r,i,n),changelog:({changelog:i})=>this.toTabChangelogNode(r,i,n),variants:({variants:i})=>this.toTabNodeWithVariants(t,r,i,n)})}async toTabChangelogNode(t,r,n){return new uvt(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.markdownFilesToTags,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:n,title:t.title,icon:this.resolveIconFileId(t.icon),viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r,n){return{type:"link",id:this.#e.get(r),title:t.title,url:er.V1.Url(r),target:n,icon:this.resolveIconFileId(t.icon)}}async toTabNode(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(o,n,s),featureFlags:r.featureFlags}}async toTabNodeWithVariants(t,r,n,i){let o=this.#e.get(`${t}/tab`),s=i.apply({urlSlug:r.slug??O0(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:o,title:r.title,slug:s.get(),icon:this.resolveIconFileId(r.icon),hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNodeWithVariants(o,n,s),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):zM.FileId(r)}resolveIconFileId(t){if(t!=null)return this.collectedFileIds.has(t)?`file:${this.getFileId(t)}`:t}convertPageActions(){if(this.parsedDocsConfig.pageActions!=null)return{default:this.parsedDocsConfig.pageActions.default,options:{askAi:this.parsedDocsConfig.pageActions.options.askAi,copyPage:this.parsedDocsConfig.pageActions.options.copyPage,viewAsMarkdown:this.parsedDocsConfig.pageActions.options.viewAsMarkdown,openAi:this.parsedDocsConfig.pageActions.options.openAi,claude:this.parsedDocsConfig.pageActions.options.claude,cursor:this.parsedDocsConfig.pageActions.options.cursor,vscode:this.parsedDocsConfig.pageActions.options.vscode,custom:this.parsedDocsConfig.pageActions.options.custom.map(t=>({title:t.title,subtitle:t.subtitle,url:t.url,icon:this.resolveIconFileId(t.icon),default:t.default}))}}}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:n}=this.parsedDocsConfig,i=r?.[t],o=n?.[t];return{logo:this.getFileId(i),backgroundImage:this.getFileId(o)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let n=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${n}`,variants:t.variants.map(i=>({fontFile:this.getFileId(i.absolutePath),weight:i.weight,style:i.style!=null?[i.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(Yc),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:zM.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":n,...i}=this.parsedDocsConfig.metadata;return{...i,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(n)}}convertFileIdOrUrl(t){if(t!=null)return Mj(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:zM.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function hWg(e,t){let r=e?.launch??"github";if(e?.github==null)return{url:void 0,launch:r};let{owner:n,repo:i,branch:o="main",host:s="https://github.com"}=e.github;return{url:`${KV(s)}/${n}/${i}/blob/${o}/fern/${t}?plain=1`,launch:r}}function yWg(e){switch(e){case"beta":return er.V1.NavigationV1Availability.Beta;case"deprecated":return er.V1.NavigationV1Availability.Deprecated;case"ga":return er.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return er.V1.NavigationV1Availability.Stable;default:Ve(e)}}async function tz(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof nb?t:null))).filter(Yc)}async function X3s(e,t,r){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let n=await e.getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});return $V({ir:n,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:{oauth:!0},context:t})}var Tu={};D(Tu,{AlgoliaSearchIndex:()=>qcl,ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,IndexSegmentId:()=>Wcl,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PayloadLocation:()=>nll,PropertyKey:()=>Pul,PullRequestState:()=>Xul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul,algolia:()=>Z3s,api:()=>uqs,commons:()=>lqs,diff:()=>Bul,docs:()=>bqs,generators:()=>vqs,git:()=>Eqs,navigation:()=>xqs,sdks:()=>Iqs,snippets:()=>tll,snippetsFactory:()=>rll,templates:()=>Cqs,tokens:()=>ill});var Z3s={};D(Z3s,{AlgoliaSearchIndex:()=>qcl,IndexSegmentId:()=>Wcl});function qcl(e){return e}function Wcl(e){return e}var uqs={};D(uqs,{latest:()=>rqs,v1:()=>cqs});var rqs={};D(rqs,{AuthSchemeId:()=>Gcl,WebhookHttpMethod:()=>Jcl,auth:()=>eqs,commons:()=>Hcl,endpoint:()=>$cl,type_:()=>Kcl,webhook:()=>tqs,websocket:()=>Ycl});var eqs={};D(eqs,{AuthSchemeId:()=>Gcl});function Gcl(e){return e}var Hcl={};var $cl={};var Kcl={};var tqs={};D(tqs,{WebhookHttpMethod:()=>Jcl});var Jcl={Get:"GET",Post:"POST"};var Ycl={};var cqs={};D(cqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul,commons:()=>aqs,db:()=>nqs,read:()=>oqs,register:()=>sqs});var nqs={};D(nqs,{endpoint:()=>Xcl});var Xcl={};var oqs={};D(oqs,{SupportedLanguage:()=>Zcl,endpoint:()=>iqs,type_:()=>eul,webhook:()=>tul,websocket:()=>rul});var iqs={};D(iqs,{SupportedLanguage:()=>Zcl});var Zcl={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var eul={};var tul={};var rul={};var sqs={};D(sqs,{SourceId:()=>gWg,endpoint:()=>nul,type_:()=>iul,webhook:()=>oul,websocket:()=>sul});var nul={};var iul={};var oul={};var sul={};function gWg(e){return e}var aqs={};D(aqs,{SubpackageId:()=>aul,WebSocketMessageId:()=>cul,WebSocketMessageOrigin:()=>uul,WebhookHttpMethod:()=>lul});function aul(e){return e}function cul(e){return e}var uul={Client:"client",Server:"server"};var lul={Get:"GET",Post:"POST"};var lqs={};D(lqs,{ApiDefinitionId:()=>pul,ApiId:()=>hul,Availability:()=>jul,DocsConfigId:()=>yul,EndpointId:()=>Aul,EndpointPathLiteral:()=>Cul,EnvironmentId:()=>gul,FileId:()=>Oul,HttpMethod:()=>Sul,JqString:()=>xul,OrgId:()=>mul,PageId:()=>Eul,PropertyKey:()=>Pul,RoleId:()=>Iul,TokenId:()=>dul,TypeId:()=>vul,Url:()=>wul,VersionId:()=>ful,WebSocketId:()=>bul,WebhookId:()=>_ul});function pul(e){return e}function ful(e){return e}function mul(e){return e}function dul(e){return e}function hul(e){return e}function yul(e){return e}function gul(e){return e}function Aul(e){return e}function bul(e){return e}function _ul(e){return e}function vul(e){return e}function Eul(e){return e}function Oul(e){return e}function wul(e){return e}function xul(e){return e}function Pul(e){return e}function Iul(e){return e}function Cul(e){return e}var Sul={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var jul={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Bul={};var bqs={};D(bqs,{latest:()=>mqs,v1:()=>gqs,v2:()=>Aqs});var mqs={};D(mqs,{Layout:()=>Dul,MdxEngine:()=>AWg,TwitterCardSetting:()=>Rul,commons:()=>Tul,frontmatter:()=>pqs,seo:()=>fqs});var AWg={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var Tul={};var pqs={};D(pqs,{Layout:()=>Dul});var Dul={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var fqs={};D(fqs,{TwitterCardSetting:()=>Rul});var Rul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var gqs={};D(gqs,{commons:()=>yqs,db:()=>Ful,read:()=>Nul,write:()=>dqs});var Ful={};var Nul={};var dqs={};D(dqs,{DocsRegistrationId:()=>_Wg,FilePath:()=>bWg});function bWg(e){return e}function _Wg(e){return e}var yqs={};D(yqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul,commons:()=>hqs});var hqs={};D(hqs,{ContentAlignment:()=>Mul,FontDisplay:()=>Wul,FontStyle:()=>qul,HeaderPosition:()=>Vul,JsScriptStrategy:()=>Lul,ProgrammingLanguage:()=>kul,SearchbarPlacement:()=>zul,TabsPlacement:()=>Qul,TwitterCardSetting:()=>Uul});var kul={Typescript:"typescript",Javascript:"javascript",Python:"python",Java:"java",Go:"go",Ruby:"ruby",Csharp:"csharp",Nodets:"nodets",Nodejs:"nodejs",Dotnet:"dotnet",Curl:"curl",Jvm:"jvm",Ts:"ts",Js:"js"};var zul={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var Qul={Header:"HEADER",Sidebar:"SIDEBAR"};var Mul={Center:"CENTER",Left:"LEFT"};var Vul={Fixed:"FIXED",Absolute:"ABSOLUTE"};var Uul={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Lul={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var qul={Normal:"normal",Italic:"italic"};var Wul={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Aqs={};D(Aqs,{read:()=>Gul,write:()=>Hul});var Gul={};var Hul={};var vqs={};D(vqs,{ChangelogEntryType:()=>Kul,GeneratorId:()=>vWg,GeneratorLanguage:()=>EWg,ReleaseType:()=>Jul,cli:()=>$ul,commons:()=>_qs,versions:()=>Yul});var $ul={};var _qs={};D(_qs,{ChangelogEntryType:()=>Kul,ReleaseType:()=>Jul});var Kul={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var Jul={Ga:"GA",Rc:"RC"};var Yul={};function vWg(e){return e}var EWg={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Eqs={};D(Eqs,{PullRequestState:()=>Xul});var Xul={Open:"open",Closed:"closed",Merged:"merged"};var xqs={};D(xqs,{latest:()=>Oqs,v1:()=>wqs});var Oqs={};D(Oqs,{NodeId:()=>xWg,ProductId:()=>PWg,Slug:()=>OWg,TabId:()=>wWg});function OWg(e){return e}function wWg(e){return e}function xWg(e){return e}function PWg(e){return e}var wqs={};D(wqs,{NavigationV1Availability:()=>BWg,NodeId:()=>SWg,ProductId:()=>jWg,Slug:()=>IWg,TabId:()=>CWg});function IWg(e){return e}function CWg(e){return e}function SWg(e){return e}function jWg(e){return e}var BWg={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var Iqs={};D(Iqs,{Language:()=>Zul,VersionBump:()=>ell,versions:()=>Pqs});var Pqs={};D(Pqs,{Language:()=>Zul,VersionBump:()=>ell});var Zul={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var ell={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var tll={};var rll={};var Cqs={};D(Cqs,{PayloadLocation:()=>nll});var nll={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var ill={};var pBn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function oll({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(n=>{let i=[];n.namespace?.forEach(o=>{let s=[...i,o],a=Tu.api.v1.SubpackageId(s.join("."));r[a]={id:a,name:o,displayName:ez(o)},i.push(o)})}),r}var fBn=class{input;context;constructor(t,r){this.input=t,this.context=r}errors(){return this.context.errors.errors}warnings(){return this.context.errors.warnings}};function sll(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var ta=class extends fBn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:n,pathId:i}){if(super(t,r),this.context=r,this.accessPath=[...n],this.pathId=i,i!=null){let o=Array.isArray(this.pathId)?this.pathId:[this.pathId];o.every((s,a)=>s===this.accessPath[this.accessPath.length-o.length+a])||this.accessPath.push(...o)}r.logger.debug(`Processing ${sll(this.accessPath)}`)}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}},MS=class extends ta{},Fq=class extends MS{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var all="x-fern-base-path",cll="x-fern-availability",mBn="x-fern-sdk-group-name",ull="x-fern-global-headers",lll="x-fern-sdk-method-name";var pll="x-fern-webhook",fll="x-fern-access-token-locator",mll="x-fern-basic",dll="x-fern-username-variable-name",hll="x-fern-password-variable-name",yll="x-fern-bearer",gll="x-fern-token-variable-name",All="x-fern-header",bll="x-fern-header-variable-name",_ll="x-fern-server-name",vll="x-fern-examples";var dBn=class extends ta{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[_ll]}convert(){if(this.serverName!=null)return this.serverName}};var hBn=class extends ta{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,n])=>t.replace(`{${r}}`,n.default),this.input.url)??this.input.url,this.serverName=new dBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.serverName?.convert()??this.url;if(!(this.url==null||t==null))return{id:Tu.EnvironmentId(t),baseUrl:this.url}}};function E9e(e,t,r,n){let i=e??[],o=new Set(i.map(a=>a.url)),s=(t??[]).filter(a=>!o.has(a.url)).map((a,c)=>new hBn({input:a,context:r,accessPath:n,pathId:["servers",`${c}`]}));return[...i,...s]}function hg(e){return typeof e=="object"&&ba(e)&&"$ref"in e&&typeof e.$ref=="string"}function rz(e,t,r){let n=e.$ref.substring(2).split("/").map(o=>o.replace(/~1/g,"/")),i=t;for(let o of n){if(typeof i!="object"||i==null)return r;i=i[o]}return i==null?r:(hg(i)&&(i=rz(i,t,r)),i)}function yBn(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return hg(r)?rz(r,t,void 0):r}var Vll=He(FP());var gBn=class extends ta{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[mll];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var ABn=class extends ta{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[hll]}convert(){return this.passwordVariableName}};var bBn=class extends ta{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[dll]}convert(){return this.usernameVariableName}};var _Bn=class extends ta{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[yll];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var vBn=class extends ta{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[gll]}convert(){return this.tokenVariableName}};function Ell(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Oll="x-bearer-format",wll="x-code-samples",xll="x-codeSamples";var EBn=class extends ta{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Oll]}convert(){return this.bearerFormat}};var OBn=class extends ta{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[All];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var wBn=class extends ta{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[bll]}convert(){return this.headerVariableName}};function Pll(e){return e.type==="apiKey"}var o4t=class extends ta{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){Pll(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new OBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new wBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new EBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};z$o();Nuc();function xBn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function s4t(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function lvt(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(lvt).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function PBn(e){if(Array.isArray(e))return e.map(s4t);if(typeof e=="symbol")return[e];e=lvt(e);let t=[],r=e.length;if(r===0)return t;let n=0,i="",o="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let a=e[n];o?a==="\\"&&n+1<r?(n++,i+=e[n]):a===o?o="":i+=a:s?a==='"'||a==="'"?o=a:a==="]"?(s=!1,t.push(i),i=""):i+=a:a==="["?(s=!0,i&&(t.push(i),i="")):a==="."?i&&(t.push(i),i=""):i+=a,n++}return i&&t.push(i),t}function zjr(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(pLr(t))return r;let n=e[t];return n===void 0?xBn(t)?zjr(e,PBn(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=s4t(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return TWg(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),pLr(t))return r;let n=e[t];return n===void 0?r:n}}}function TWg(e,t,r){if(t.length===0)return r;let n=e;for(let i=0;i<t.length;i++){if(n==null||pLr(t[i]))return r;n=n[t[i]]}return n===void 0?r:n}function Ill(e){return function(t){return zjr(t,e)}}function Cll(e){return e!==null&&(typeof e=="object"||typeof e=="function")}hHo();function Sqs(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function Bqs(e,t,r){return typeof r!="function"?Bqs(e,t,()=>{}):jqs(e,t,function n(i,o,s,a,c,u){let l=r(i,o,s,a,c,u);return l!==void 0?!!l:jqs(i,o,n,u)},new Map)}function jqs(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return DWg(e,t,r,n);case"function":return Object.keys(t).length>0?jqs(e,{...t},r,n):Sqs(e,t);default:return Cll(e)?typeof t=="string"?t==="":!0:Sqs(e,t)}}function DWg(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Sll(e,t,r,n);if(t instanceof Map)return RWg(e,t,r,n);if(t instanceof Set)return FWg(e,t,r,n);let i=Object.keys(t);if(e==null||Jhr(e))return i.length===0;if(i.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<i.length;o++){let s=i[o];if(!Jhr(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!r(e[s],t[s],s,e,t,n))return!1}return!0}finally{n?.delete(t)}}function RWg(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,o]of t.entries()){let s=e.get(i);if(r(s,o,i,e,t,n)===!1)return!1}return!0}function Sll(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let o=0;o<t.length;o++){let s=t[o],a=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let u=e[c],l=!1;if(r(u,s,o,e,t,n)&&(l=!0),l){i.add(c),a=!0;break}}if(!a)return!1}return!0}function FWg(e,t,r,n){return t.size===0?!0:e instanceof Set?Sll([...e],[...t],r,n):!1}function IBn(e,t){return Bqs(e,t,()=>{})}Fuc();function jll(e){return e=Ruc(e),t=>IBn(t,e)}gHo();oLr();yHo();function Bll(e,t){return Duc(e,(r,n,i,o)=>{let s=t?.(r,n,i,o);if(s!==void 0)return s;if(typeof e=="object"){if(qjt(e)===lLr&&typeof e.constructor!="function"){let a={};return o.set(e,a),mH(a,e,i,o),a}switch(Object.prototype.toString.call(e)){case aLr:case sLr:case cLr:{let a=new e.constructor(e?.valueOf());return mH(a,e),a}case uLr:{let a={};return mH(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function Tll(e){return Bll(e)}var NWg=/^(?:0|[1-9]\d*)$/;function Dll(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return NWg.test(e)}}oLr();function Rll(e){return e!==null&&typeof e=="object"&&qjt(e)==="[object Arguments]"}function Fll(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&xBn(t)&&e?.[t]==null?r=PBn(t):r=[t],r.length===0)return!1;let n=e;for(let i=0;i<r.length;i++){let o=r[i];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||Rll(n))&&Dll(o)&&o<n.length))return!1;n=n[o]}return!0}function Nll(e,t){switch(typeof e){case"object":{Object.is(e?.valueOf(),-0)&&(e="-0");break}case"number":{e=s4t(e);break}}return t=Tll(t),function(r){let n=zjr(r,e);return n===void 0?Fll(r,e):t===void 0?n===void 0:IBn(n,t)}}function kll(e){if(e==null)return x3r;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?Nll(e[0],e[1]):jll(e);case"string":case"symbol":case"number":return Ill(e)}}z$o();AHo();function CBn(e,t=x3r){return e==null?{}:zN(e,kll(t))}oyc();function zll(e){return iyc(lvt(e))}Muc();function Qll(e){return typeof e!="string"&&(e=lvt(e)),e.replace(/['\u2019]/g,"")}function lue(e){return Quc(Qll(zll(e)))}function rE(e){if(e!=null)return Array.isArray(e)?e:[e]}function SBn({namespace:e,path:t,method:r,sdkMethodName:n,operationId:i,displayName:o,isWebhook:s}){if(t==null)return;let a=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(n==null&&i==null&&o==null&&a==null))return`${kWg(s)}${zWg(e)}.${QWg(n,i,o,a)}`}function kWg(e){return e?"webhook_":"endpoint_"}function zWg(e){return e!=null?rE(e)?.map(t=>lue(t)).join("/"):""}function QWg(e,t,r,n){return e||t||lue(r??"")||lue(n??"")}function Mll(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var jBn=class extends ta{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[fll],this.accessTokenLocator!=null&&(Mll(this.accessTokenLocator)||(this.context.errors.error({message:"Invalid access token locator, must be a valid jq path",path:this.accessPath}),this.accessTokenLocator=void 0))}convert(){return this.accessTokenLocator}};var BBn=class extends ta{authorizationUrl;headerAuthNode;accessTokenLocatorNode;constructor(t){super(t),this.safeParse()}parse(){if(this.input.flows.clientCredentials!=null){let t=this.input.flows.clientCredentials;this.authorizationUrl=t.tokenUrl,this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.headerAuthNode=new o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new jBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.accessTokenLocatorNode?.accessTokenLocator==null&&this.context.errors.error({message:"Expected 'x-fern-access-token-locator' property to be specified",path:this.accessPath})}}convert(){let t=this.accessTokenLocatorNode?.convert();if(t==null||this.authorizationUrl==null)return{type:"bearerAuth",tokenName:void 0};let r=SBn({namespace:void 0,path:this.authorizationUrl,method:"POST",sdkMethodName:void 0,operationId:void 0,displayName:void 0,isWebhook:void 0});if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:Tu.EndpointId(r),accessTokenLocator:Tu.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var a4t=class extends ta{authScheme;headerAuthNode;bearerTokenNode;bearerTokenVariableNameNode;basicAuthNode;basicUsernameVariableNameNode;basicPasswordVariableNameNode;oauth2Node;constructor(t){super(t),this.safeParse()}parse(){switch(this.input.type){case"http":switch(this.input.scheme){case"basic":{this.authScheme="basic",this.basicAuthNode=new gBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new bBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new ABn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),(this.basicAuthNode==null||this.basicAuthNode.username==null&&this.basicUsernameVariableNameNode?.usernameVariableName==null||this.basicAuthNode.password==null&&this.basicPasswordVariableNameNode?.passwordVariableName==null)&&this.context.errors.warning({message:"Basic auth should specify either a username or a username variable name",path:this.accessPath});break}case"bearer":{this.authScheme="bearer",this.bearerTokenNode=new _Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new vBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}default:{this.context.errors.warning({message:`Unsupported HTTP auth scheme: ${this.input.scheme}`,path:this.accessPath});break}}break;case"apiKey":{Ell(this.input)?(this.authScheme="header",this.headerAuthNode=new o4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})):this.context.errors.error({message:`Unsupported API key location: ${this.input.in}`,path:this.accessPath});break}case"oauth2":{this.authScheme="oauth",this.oauth2Node=new BBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}case"openIdConnect":{this.authScheme="bearer";break}}}convert(){switch(this.authScheme){case"basic":{let t=this.basicAuthNode?.convert();return{type:"basicAuth",usernameName:t?.username?.name??this.basicUsernameVariableNameNode?.convert(),passwordName:t?.password?.name??this.basicPasswordVariableNameNode?.convert()}}case"bearer":return{type:"bearerAuth",tokenName:this.bearerTokenNode?.convert()?.tokenVariableName??this.bearerTokenVariableNameNode?.convert()};case"header":return this.headerAuthNode?.convert();case"oauth":return this.oauth2Node?.convert();case void 0:return;default:new Vll.UnreachableCaseError(this.authScheme);return}}};var c4t=class extends ta{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(n=>{let i=yBn(n,this.context.document);if(i==null){this.context.errors.warning({message:`No auth scheme found for ${n}. Inline security schemes are not supported.`,path:this.accessPath});return}let o=new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});o.convert()!=null?(this.authNodesMap??={},this.authNodesMap[n]=o):this.context.errors.warning({message:`No auth scheme found for ${n}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[t,n]}).filter(ba))}};var TBn=class extends ta{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[all],this.basePath!=null?(this.basePath.startsWith("/")&&(this.basePath=this.basePath.slice(1)),this.basePath.endsWith("/")&&(this.basePath=this.basePath.slice(0,-1))):this.basePath=void 0}convert(){return this.basePath}};function Ull(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function Lll(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function u4t(e,t){return e==null?void 0:Object.entries(e).map(([n,i])=>rE(i.convert())?.map(s=>((t!=null&&!t.includes(n)||t==null&&!Ull(i))&&(s=Lll(s,s.type==="enum"?s.default:void 0)),{key:Tu.PropertyKey(n),valueShape:s,description:i.description,availability:i.availability?.convert()})).filter(ba)).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]])}function DBn(e,t){return hg(e)?rz(e,t,void 0):e}function O9e(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function qll(e,t){let r={...e};for(let[n,i]of Object.entries(t??{}))r[n]=[...r[n]??[],...i];return Object.keys(r).length>0?r:void 0}function Wll(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let n of e)for(let i of t)r.push({path:n.path??i.path,responseStatusCode:n.responseStatusCode??i.responseStatusCode,name:n.name??i.name,description:n.description??i.description,pathParameters:n.pathParameters??i.pathParameters,queryParameters:n.queryParameters??i.queryParameters,headers:n.headers??i.headers,requestBody:n.requestBody??i.requestBody,responseBody:n.responseBody??i.responseBody,snippets:{...i.snippets,...n.snippets}});return r}var Gll=He(FP());var Tqs=["decimal","decimal128","double-int","double","float","sf-decimal"],Dqs=["int16","int32","int64","int8","sf-integer","uint8"],Rqs=["base64url","binary","byte","char","commonmark","date-time","date","decimal","decimal128","duration","email","hostname","html","http-date","idn-email","idn-hostname","int64","ipv4","ipv6","iri-reference","iri","json-pointer","media-range","password","regex","relative-json-pointer","sf-binary","sf-boolean","sf-string","sf-token","time","uri-reference","uri-template","uri","uuid"],Fqs=["beta","pre-release","in-development","generally-available","deprecated"];function VS(e,t){return hg(e)?rz(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var hJ=class extends ta{availability;constructor(t){super(t),this.safeParse()}parse(){if(VS(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[cll];r!=null&&(Fqs.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${Fqs.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return Tu.Availability.Beta;case"in-development":return Tu.Availability.InDevelopment;case"generally-available":return Tu.Availability.GenerallyAvailable;case"deprecated":return Tu.Availability.Deprecated;case void 0:return;default:new Gll.UnreachableCaseError(this.availability);return}}};var FBn=He(FP());function Hll(e){return typeof e=="object"&&e!=null&&"language"in e}function $ll(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Kll(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Jll(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function RBn(e){return typeof e=="object"&&e!=null&&"event"in e}function Nqs(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(RBn)}function w9e(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Yll(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var NBn=class extends ta{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,n,i,o){super(t),this.path=r,this.successResponseStatusCode=n,this.requestBodyByContentType=i,this.responseBodies=o,this.safeParse()}parse(){this.examples=this.input[vll]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([i,o])=>{let s=typeof r=="object"?r[i]:void 0;switch(o.multipartType){case"file":return w9e(s)?[i,{type:"filenameWithData",filename:s.filename,data:Tu.FileId(s.data)}]:s!=null?[i,{type:"filename",value:s}]:void 0;case"files":{if(Array.isArray(s)){if(s.every(a=>w9e(a)))return[i,{type:"filenamesWithData",value:s.map(a=>({filename:a.filename,data:Tu.FileId(a.data)}))}];if(s.every(a=>typeof a=="string"))return[i,{type:"filenames",value:s}]}return}case"property":return[i,{type:"json",value:s}];case void 0:return;default:new FBn.UnreachableCaseError(o.multipartType);return}}).filter(ba))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(n=>{let i=t!=null?this.requestBodyByContentType?.[t]:void 0,o;if(i!=null)switch(i.contentType){case"form-data":o=Yll(r.request)?this.convertFormDataExampleRequest(i,r.request):void 0;break;case"json":o=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":o=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new FBn.UnreachableCaseError(i.contentType);break}let s;switch(n.contentType){case"application/json":{Kll(r.response)&&(s={type:"json",value:r.response.body});break}case"text/event-stream":{Nqs(r.response)&&(s={type:"sse",value:r.response.stream.map(p=>({event:p.event,data:p.data}))});break}case"application/octet-stream":!Nqs(r.response)&&Jll(r.response)&&(s={type:"stream",value:r.response.stream});break;case void 0:break;default:new FBn.UnreachableCaseError(n.contentType);break}let a={};r["code-samples"]?.forEach(p=>{Hll(p)?p.language!=null&&(a[p.language]??=[],a[p.language]?.push({name:p.name,language:p.language,install:p.install,code:p.code,generated:!1,description:p.docs})):$ll(p)&&p.sdk!=null&&(a[p.sdk]??=[],a[p.sdk]?.push({name:p.name,language:p.sdk,install:void 0,code:p.code,generated:!1,description:p.docs}))});let c=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),u=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([p,m])=>[Tu.PropertyKey(p),m])),l=Object.fromEntries(Object.entries(r.headers??{}).map(([p,m])=>[Tu.PropertyKey(p),m]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(c).length>0?c:void 0,queryParameters:Object.keys(u).length>0?u:void 0,headers:Object.keys(l).length>0?l:void 0,requestBody:o,responseBody:s,snippets:a}}))}};var Qjr=class extends ta{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[mBn]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>Tu.api.v1.SubpackageId(lue(r)))}};var kBn=class extends ta{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[lll]}convert(){return this.sdkMethodName}};var zBn=class extends ta{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[pll]}convert(){return this.isWebhook}};var QBn=class extends ta{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[wll]??[],...this.input[xll]??[]],this.codeSamples.forEach(t=>{[...Object.values(Tu.api.v1.read.SupportedLanguage),"Kotlin","Swift","PHP"].map(r=>r.toLowerCase()).includes(t.lang.toLowerCase())||this.context.errors.warning({message:`Unsupported language: ${t.lang}. This may not render correctly.`,path:this.accessPath})})}convert(){let t={};if(this.codeSamples?.forEach(r=>{t[r.lang.toLowerCase()]??=[],t[r.lang.toLowerCase()]?.push({name:r.label,language:r.lang,code:r.source,install:void 0,generated:!1,description:void 0})}),Object.keys(t).length!==0)return t}};var pvt=He(FP());function kqs(e,t){return hg(e)?rz(e,t,void 0):e}function Xll(e,t){return e.replace(/{(\w+)}/g,(r,n)=>t[n]!=null&&typeof t[n]=="string"||typeof t[n]=="number"||typeof t[n]=="boolean"?`${t[n]}`:r)}var mR="",a_e=class extends ta{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,n,i,o){super(t),this.path=r,this.responseStatusCode=n,this.name=i,this.shapes=o,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,n])=>{let i=this.resolvedRequestInput?.value[r];switch(n.multipartType){case"file":return t&&(w9e(i)||typeof i=="string");case"files":return t&&Array.isArray(i)&&i.every(o=>w9e(o)||typeof o=="string");case"property":return t;case void 0:return t&&!1;default:return new pvt.UnreachableCaseError(n.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=kqs(this.input?.requestExample,this.context.document)??(t!=null?{value:t}:void 0);let r=this.shapes.responseBody?.schema?.example({includeOptionals:!1,override:void 0});if(this.resolvedResponseInput=kqs(this.input?.responseExample,this.context.document)??(r!=null?{value:r}:void 0),this.summary=this.input?.requestExample?.summary??this.input?.responseExample?.summary,this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody?.contentType){case"json":{if(typeof this.resolvedRequestInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break}case"bytes":{if(typeof this.resolvedRequestInput.value!="string"){this.context.errors.error({message:"Invalid example, expected string for bytes",path:this.accessPath});return}break}case"form-data":{if(!this.validateFormDataRequestExample()){this.context.errors.error({message:"Invalid example, expected valid form-data",path:this.accessPath});return}break}case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.requestBody?.contentType),this.context.errors.error({message:"Invalid example, unsupported content type",path:this.accessPath});return}if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody?.contentType){case"application/json":if(this.resolvedResponseInput!=null&&typeof this.resolvedResponseInput!="object"||this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break;case"text/event-stream":if(this.resolvedResponseInput.value!=null&&!Array.isArray(this.resolvedResponseInput.value)&&!this.resolvedResponseInput.value.every(RBn)){this.context.errors.error({message:"Invalid example, expected array of SSE events for event-stream",path:this.accessPath});return}break;case"application/octet-stream":if(this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="string"&&!Array.isArray(this.resolvedResponseInput.value)){this.context.errors.error({message:"Invalid example, expected string or array for octet-stream",path:this.accessPath});return}break;case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,n])=>{let i=this.resolvedRequestInput?.value?.[r];switch(n.multipartType){case"file":return w9e(i)?[r,{type:"filenameWithData",filename:i.filename,data:Tu.FileId(i.data)}]:[r,{type:"filename",value:i}];case"files":{if(Array.isArray(i)){if(i.every(o=>w9e(o)))return[r,{type:"filenamesWithData",value:i.map(o=>({filename:o.filename,data:Tu.FileId(o.data)}))}];if(i.every(o=>typeof o=="string"))return[r,{type:"filenames",value:i}]}return}case"property":return[r,{type:"json",value:i}];case void 0:return;default:new pvt.UnreachableCaseError(n.multipartType);return}}).filter(ba))};case"json":return{type:"json",value:this.resolvedRequestInput.value};case"bytes":return typeof this.resolvedRequestInput.value=="string"?{type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}}:void 0;default:return}}convertDescription(){if(this.resolvedRequestInput!=null&&this.resolvedResponseInput!=null)return this.resolvedResponseInput.description;if(this.resolvedRequestInput!=null)return this.resolvedRequestInput.description;if(this.resolvedResponseInput!=null)return this.resolvedResponseInput.description}convert(){let t;if(this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody.contentType){case"form-data":t=this.convertFormDataExampleRequest();break;case"json":t={type:"json",value:this.resolvedRequestInput.value};break;case"bytes":t={type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}};break;case void 0:break;default:new pvt.UnreachableCaseError(this.shapes.requestBody?.contentType);break}let r;if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody.contentType){case"application/json":{r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break}case"text/event-stream":r={type:"sse",value:this.resolvedResponseInput?.value};break;case"application/octet-stream":r={type:typeof this.resolvedResponseInput?.value=="string"?"filename":"stream",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;case void 0:r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;default:new pvt.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let n=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([s,a])=>[s,a.example({includeOptionals:!1,override:s})]));n=Object.keys(n).length>0?n:void 0;let i=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));i=Object.keys(i).length>0?i:void 0;let o=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([s,a])=>a.required||a.inputExample!=null?[s,a.example({includeOptionals:!1,override:s})]:void 0).filter(ba));if(o=Object.keys(o).length>0?o:void 0,!(this.path==null&&t==null&&r==null&&o==null&&i==null&&n==null))return{path:Xll(this.path,n??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?ez(this.name):this.summary!=null?ez(this.summary):void 0,description:this.convertDescription(),pathParameters:n,queryParameters:i,headers:o,requestBody:t,responseBody:r,snippets:void 0}}};function Zll(e,t){return hg(e)?rz(e,t,void 0):e}var fpl=He(FP());var epl="#/components/schemas/";function l4t(e){if(e.$ref.startsWith(epl))return e.$ref.replace(epl,"")}function hQe(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function x9e(e){return typeof e.type=="string"&&e.type==="array"}function tpl(e){return e.type==="boolean"}function rpl(e){return e.type==="integer"}function P9e(e){return!Array.isArray(e.type)&&!x9e(e)}function npl(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||P9e(t)||x9e(t))}function ipl(e){return"nullable"in e&&typeof e.nullable=="boolean"}function opl(e){return e.type==="null"}function spl(e){return e.type==="number"}function zqs(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function apl(e){return e.type==="string"}var MBn=class extends Fq{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new hw({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return rE(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(t){return this.input.example??this.input.examples?.[0]??[this.item?.example(t)]}};var VBn=class extends MS{constValue;description;availability;constructor(t){super(t),this.safeParse()}parse(){this.input.const!=null&&(typeof this.input.const=="string"||typeof this.input.const=="number"||typeof this.input.const=="boolean")?this.constValue=this.input.const.toString():this.context.errors.warning({message:`Unsupported const type: ${typeof this.input}`,path:this.accessPath}),this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"})}convert(){if(this.constValue!=null)return{type:"enum",default:this.constValue,values:[{value:this.constValue,description:this.description,availability:this.availability?.convert()}]}}example(){return this.input.example??this.input.examples?.[0]??this.constValue}};var UBn=class extends Fq{typeNodes;nullable;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(ba)}convert(){if(this.typeNodes==null)return;let n=this.typeNodes.map(i=>rE(i.convert())?.map(s=>({displayName:i.name,shape:s,description:i.description,availability:i.availability?.convert()}))).filter(ba).reduce((i,o)=>i.flatMap(s=>o.length>0?o.map(a=>[...s,a]):[[...s]]),[[]]).map(i=>({type:"undiscriminatedUnion",variants:i}));return this.nullable?n.map(hQe).filter(ba):n}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function LBn(e){return e!=null&&e.length>0?e:[void 0]}var p4t=class extends Fq{description;extends=[];properties;extraProperties;requiredProperties;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:["properties",t],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new hw({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:["additionalProperties"],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map((t,r)=>{if(hg(t))return l4t(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([n,i])=>[n,new hw({input:i,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",n],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(ba))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return u4t(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:{type:"alias",value:{type:"unknown",displayName:this.extraProperties}}}]:rE(this.extraProperties.convert())?.map(r=>({type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:r})).filter(ba)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(n=>LBn(r).map(i=>(this.extends==null||this.extends.length===0)&&n.length===0&&i!=null?{type:"alias",value:i}:{type:"object",extends:this.extends.map(o=>Tu.TypeId(o)),properties:n,extraProperties:i}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(n=>{let i=VS(n,this.context.document);i!=null&&(r={...r,...Object.fromEntries(Object.entries(i.properties??{}).map(([o,s])=>[o,new hw({input:s,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((n,i)=>{let o=r?.[i];return n[i]=o?.example({includeOptionals:t,override:i}),n},{}):Object.entries(r).reduce((n,[i,o])=>(n[i]=o?.example({includeOptionals:t,override:i}),n),{}))}};var qBn=class extends Fq{isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>VS(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>VS(t,this.context.document)?.type!=="null"?new hw({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(ba);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([n,i])=>{let o=VS({$ref:i},this.context.document);if(o==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${i}`,path:[...this.accessPath,"discriminator","mapping",n]});return}r[n]=new hw({input:o,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",n],pathId:n,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let i=this.undiscriminatedMapping?.flatMap(o=>o.convert()).filter(ba);return this.isNullable&&i!=null?i.map(hQe).filter(ba):i}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:Tu.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,o])=>rE(o.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{discriminantValue:i,displayName:o.name??ez(i),availability:o.availability?.convert(),description:o.description,...a}}).filter(ba)).filter(ba)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>rE(i.convert())?.map(s=>{if(s==null)return;t+=1;let a=s.type==="object"?ez(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:i.name??(s.type==="alias"&&s.value.type==="id"?ez(s.value.id):a),shape:s,description:i.description,availability:i.availability?.convert()}}).filter(ba)).filter(ba)}:void 0,n=this.isNullable?hQe(r):r;return n!=null?[n]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var WBn=class extends MS{default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.input.default!=null&&typeof this.input.default!="boolean"&&this.context.errors.warning({message:`Expected default value to be a boolean. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default}convert(){return{type:"alias",value:{type:"primitive",value:{type:"boolean",default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:!1)}};var I9e=class extends MS{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,n)=>{if(t){if(hg(r)){let i=VS(r,this.context.document);r=typeof i=="string"?i:typeof i?.default=="string"?i?.default:typeof i?.example=="string"?i.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${n}]`]}),t=!1;return}return r}}).filter(ba),this.values=Array.from(new Set(this.values))}this.default=this.input.default}convert(){return{type:"enum",values:this.values.map(t=>({value:t,description:void 0,availability:void 0})),default:this.default}}example(){return this.input.example??this.input.examples?.[0]??this.default??this.values[0]??(this.nullable?null:void 0)}};var cpl=He(FP());function MWg(e){return Dqs.includes(e)}var GBn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be an integer. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(MWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Dqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="integer";if(this.format!=null)switch(this.format){case"int64":t="long";break;case"int8":case"int16":case"int32":case"uint8":case"sf-integer":case void 0:t="integer";break;default:new cpl.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var HBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return hQe({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var upl=He(FP());function VWg(e){return Tqs.includes(e)}var $Bn=class extends MS{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be a number. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(VWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Tqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="double";if(this.format!=null)switch(this.format){case"decimal":case"decimal128":case"double-int":case"double":case"float":case"sf-decimal":case void 0:t="double";break;default:new upl.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var lpl=He(FP());function UWg(e){return Rqs.includes(e)}var KBn=class extends MS{format;regex;default;minLength;maxLength;enum;mimeType;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}mapToFdrType(t){switch(t){case"base64url":case"binary":case"byte":case"sf-binary":return"base64";case"date-time":return"datetime";case"int64":return"bigInteger";case"date":return"date";case"uuid":return"uuid";case"char":case"commonmark":case"decimal":case"decimal128":case"duration":case"email":case"hostname":case"html":case"http-date":case"idn-email":case"idn-hostname":case"ipv4":case"ipv6":case"iri-reference":case"iri":case"json-pointer":case"media-range":case"password":case"regex":case"relative-json-pointer":case"sf-boolean":case"sf-string":case"sf-token":case"time":case"uri-reference":case"uri-template":case"uri":case void 0:return"string";default:return new lpl.UnreachableCaseError(t),"string"}}parse(){this.regex=this.input.pattern,this.minLength=this.input.minLength,this.maxLength=this.input.maxLength,this.mimeType=this.input.contentMediaType,this.input.default!=null&&typeof this.input.default!="string"&&this.context.errors.warning({message:`Expected default value to be a string. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(UWg(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Rqs.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum",nullable:this.nullable}))}convert(){if(this.enum!=null)return this.enum.convert();let t="string";return this.format!=null&&(t=this.mapToFdrType(this.format)),{type:"alias",value:{type:"primitive",value:t==="base64"?{type:t,mimeType:this.mimeType,default:this.default}:{type:t,format:t==="string"?this.format:void 0,regex:this.regex,minLength:this.minLength,maxLength:this.maxLength,default:this.default}}}}example({override:t}){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:t??"string")}};var ppl=He(FP());var JBn=class extends MS{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,ppl.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var fvt=class extends Fq{description;availability;schemaId;maybeEnumConverterNode;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.description=t.description,this.availability=t.availability,this.safeParse()}parse(){this.schemaId=l4t(this.input);let t=VS(this.input,this.context.document);t?.enum!=null&&P9e(t)&&(this.maybeEnumConverterNode=new I9e({input:t,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",nullable:this.nullable})),this.schemaId==null&&this.context.errors.error({message:`Unprocessable reference: ${this.input.$ref}`,path:this.accessPath})}convert(){if(this.schemaId!=null)return{type:"alias",value:{type:"id",id:Tu.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=VS(this.input,this.context.document);if(r!=null)return new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var hw=class e extends Fq{typeShapeNode;description;name;examples;availability;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),P9e(this.input)&&ipl(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),hg(this.input)){let t=l4t(this.input);if(t==null){this.context.errors.error({message:"Reference object does not have a valid schema ID",path:this.accessPath});return}if(this.seenSchemas.has(t)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(t),this.typeShapeNode=new fvt({input:this.input,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName,description:this.description,availability:this.availability})}else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new VBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(npl(this.input))this.typeShapeNode=new UBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new qBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(zqs(this.input)&&this.input.allOf!=null)this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(P9e(this.input)&&this.input.enum!=null)this.typeShapeNode=new I9e({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable});else if(typeof this.input.type=="string"||Array.isArray(this.input.type)&&this.input.type.length===1){if(this.input.type=Array.isArray(this.input.type)?this.input.type[0]:this.input.type,!Array.isArray(this.input.type))switch(this.input.type){case"object":zqs(this.input)&&(this.typeShapeNode=new p4t({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":x9e(this.input)&&(this.typeShapeNode=new MBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":tpl(this.input)&&(this.typeShapeNode=new WBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":rpl(this.input)&&(this.typeShapeNode=new GBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":spl(this.input)&&(this.typeShapeNode=new $Bn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":apl(this.input)&&(this.typeShapeNode=new KBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":opl(this.input)&&(this.typeShapeNode=new HBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new fpl.UnreachableCaseError(this.input.type);break}}else if(Array.isArray(this.input.type)&&this.input.type.includes("null")&&this.input.type.length===2){let t=this.input.type.filter(r=>r!=="null")[0];t!=="array"&&(this.typeShapeNode=new e({input:{...this.input,type:t},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:!0,schemaName:this.schemaName}))}else this.input.properties!=null&&(this.typeShapeNode=new p4t({input:{...this.input,type:"object"},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));this.typeShapeNode==null&&(this.typeShapeNode=new JBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!hg(this.input)&&(!x9e(this.input)&&this.input==null||x9e(this.input)&&this.input.items==null)&&this.context.errors.error({message:"Expected type declaration. Received: null",path:this.accessPath}))}convert(){let t=this.typeShapeNode?.convert();if(t==null)return;let r=rE(t)?.map(n=>this.nullable?hQe(n):n).filter(ba);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function C9e(e){if(e!=null)return u4t(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(ba))}var c_e=class extends MS{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;hg(this.input)?r=this.input:this.input.schema!=null?(r=this.input.schema,this.required=this.input.required):(r={type:"string"},this.required=!1),this.availability=new hJ({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let n=Zll(this.input,this.context.document);this.inputExample=n?.example??Object.values(n?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function mpl(e,t){return hg(e)?rz(e,t,void 0):e}var Qqs=He(FP());function YBn(e){let{uniqueId:t,type:r,contextTypes:n,description:i,availability:o}=e;n[Tu.TypeId(t)]={name:t,shape:r,description:i,availability:o}}var dpl=He(zcs(),1),f4t=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,n,i,o,s){this.type=t,this.subtype=r,this.essence=n,this.parameters=i,this.mimeType=o,this.input=s}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=dpl.default.parse(t);return r==null?null:new e(r.type,r.subtype,r.essence,r.parameters,r,t)}toString(){return this.input}isText(){return this.type==="text"}isImage(){return this.type==="image"}isAudio(){return this.type==="audio"}isVideo(){return this.type==="video"}isFont(){return this.type==="font"}isMultipart(){return this.type==="multipart"}isApplication(){return this.type==="application"}isMessage(){return this.type==="message"}isModel(){return this.type==="model"}isCSS(){return this.isText()&&this.subtype==="css"}isCSV(){return this.isText()&&this.subtype==="csv"}isMarkdown(){return this.isText()&&this.subtype==="markdown"}isPlainText(){return this.isText()&&this.subtype==="plain"}isEventStream(){return this.isText()&&this.subtype==="event-stream"}isMultiPartFormData(){return this.isMultipart()&&this.subtype==="form-data"}isJSON(){return this.isApplication()&&this.subtype==="json"}containsJSON(){return this.isApplication()&&this.subtype.includes("json")}isURLEncoded(){return this.isApplication()&&this.subtype==="x-www-form-urlencoded"}isOctetStream(){return this.isApplication()&&this.subtype==="octet-stream"}isPDF(){return this.isApplication()&&this.subtype==="pdf"}isZip(){return this.isApplication()&&this.subtype==="zip"}isGzip(){return this.isApplication()&&this.subtype==="gzip"}isTar(){return this.isApplication()&&this.subtype==="tar"}isBrotli(){return this.isApplication()&&this.subtype==="br"}isDeflate(){return this.isApplication()&&this.subtype==="deflate"}isProtobuf(){return this.isApplication()&&this.subtype==="protobuf"}isAvif(){return this.isImage()&&this.subtype==="avif"}isWebP(){return this.isImage()&&this.subtype==="webp"}isSVG(){return this.isImage()&&this.subtype==="svg+xml"}isPNG(){return this.isImage()&&this.subtype==="png"}isJPEG(){return this.isImage()&&this.subtype==="jpeg"}isGIF(){return this.isImage()&&this.subtype==="gif"}isMPEG(){return this.isAudio()&&this.subtype==="mpeg"}isWAV(){return this.isAudio()&&this.subtype==="wav"}isHTML(){return this.mimeType.isHTML()}isXML(){return this.mimeType.isXML()}isJavaScript(){return this.mimeType.isJavaScript()}};function LWg(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var XBn=class extends ta{typeSchemas;securitySchemes;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas!=null&&(this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new hw({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),LWg(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],n)=>{let i;if(hg(r)?i=yBn(r.$ref,this.context.document):i=r,i!=null)return[t,new a4t({input:i,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${n}`]})]}).filter(ba)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let n=r.convert();if(n!=null)return[Tu.api.latest.AuthSchemeId(t),n]}).filter(ba)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let n=r.name??t,i=rE(r.convert());return i==null?[t,void 0]:[Tu.TypeId(t),{name:n,shape:i[0],description:r.description,availability:void 0}]}).filter(([t,r])=>ba(r))):void 0}}};var ZBn=class extends hw{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=VS(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${hg(this.input)?`Received undefined reference: ${this.input.$ref}`:""}`,path:this.accessPath});return}if(t.type==="string"&&t.format==="binary")this.multipartType="file",this.contentType=t.contentMediaType;else if(t.type==="array"){let r=VS(t.items,this.context.document);r?.type==="string"&&r?.format==="binary"?(this.multipartType="files",this.contentType=r?.contentMediaType):(this.context.errors.warning({message:"Expected multipart form data files definition with array type with internal string type and binary format.",path:this.accessPath}),this.multipartType=void 0,this.contentType=void 0)}else this.multipartType="property",this.contentType=t.contentMediaType}};var eTn=class extends ta{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let n=VS(this.input.schema,this.context.document);this.availability=new hJ({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=hg(this.input.schema)?new fvt({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let i=f4t.parse(t);i?.containsJSON()?(this.contentType="json",this.schema=this.schema??new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):i?.isOctetStream()?(this.contentType="bytes",this.isOptional=n?.required==null):i?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=n?.required,this.fields=Object.fromEntries(Object.entries(n?.properties??{}).map(([o,s])=>{if(s!=null)return[o,new ZBn({input:s,context:this.context,accessPath:this.accessPath,pathId:`schema.${o}`,seenSchemas:new Set,nullable:void 0,schemaName:o})]}).filter(ba))):this.context.errors.warning({message:`Expected request body of reference or object with json, streaming or form-data content types. Received: ${t}`,path:this.accessPath})}let r=this.schema?.example({includeOptionals:!0,override:void 0});this.examples={...this.input.example!=null?{[mR]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[mR]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:rE(t)?.map(n=>{let i=n.type;switch(i){case"object":case"alias":return n;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let o=lue([this.method,this.path,this.contentType,"request"].join("_"));return YBn({uniqueId:o,type:n,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(o),default:n.type==="enum"&&n.default!=null?{type:"enum",value:n.default}:void 0}}}case void 0:return;default:new Qqs.UnreachableCaseError(i);return}}).filter(ba)}convert(){if(this.schema instanceof fvt)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([n,i])=>{switch(i.multipartType){case"file":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"files":return[{type:i.multipartType,key:Tu.PropertyKey(n),isOptional:this.requiredFields?.includes(n)==null,contentType:i.contentType,description:i.description,availability:i.availability?.convert()}];case"property":{let o=rE(i.convert()),s=i.multipartType;return o?.map(a=>({type:s,key:Tu.PropertyKey(n),contentType:i.contentType,exploded:void 0,valueShape:a,description:i.description,availability:i.availability?.convert()}))}case void 0:return[];default:return new Qqs.UnreachableCaseError(i.multipartType),[]}}).filter(ba).reduce((n,i)=>n.flatMap(o=>i.length>0?i.map(s=>[...o,s]):[[...o]]),[[]]).map(n=>({type:"formData",fields:n,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var tTn=class extends ta{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let n=mpl(this.input,this.context.document);if(n==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(n.content).forEach(([i,o])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[i]=new eTn({input:o,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:i,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>rE(r.convert())?.map(i=>({description:this.description,contentType:t,body:i}))).filter(ba)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>rE(t.convert())?.map(n=>{if(!(n.type!=="alias"&&n.type!=="object"))return{description:this.description,shape:n}})).filter(ba)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var hpl={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function ypl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var rTn=He(FP());var gpl="application/json";var Apl="application/octet-stream";function bpl(e,t){return e===t||t===mR||e===mR}var Mjr=class extends ta{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,n,i,o,s,a,c){super(t),this.streamingFormat=n,this.path=i,this.method=o,this.statusCode=s,this.requests=a,this.shapes=c,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,n){for(let i of t)for(let[o,s]of Object.entries(i?.examples??{}))for(let[a,c]of Object.entries(r))for(let u of c)bpl(a,o)&&(n.add(a),this.examples?.push(new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let n=0;for(let i of t){let o=0;for(let[s,a]of r){if(o===n){let[c,u,l]=i??[void 0,void 0,void 0];this.examples?.push(...a.map(p=>new a_e({input:{requestExample:l,responseExample:p},context:this.context,accessPath:this.accessPath,pathId:u!=null&&u!==""?["examples",u]:"examples"},this.path,this.statusCode,O9e(u,s),{requestBody:c,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}o++}n++}if(t.length>r.length)for(let i of t.slice(r.length)){let[o,s]=r[r.length-1]??[void 0,void 0],[a,c,u]=i??[void 0,void 0,void 0];this.examples?.push(...(s??[void 0]).map(l=>new a_e({input:{requestExample:u,responseExample:l},context:this.context,accessPath:this.accessPath,pathId:c!=null&&c!==""?["examples",c]:"examples"},this.path,this.statusCode,O9e(c,o),{requestBody:a,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[i,o,s]=t[t.length-1]??[void 0,void 0,void 0];for(let[a,c]of r.slice(t.length))this.examples?.push(...c.map(u=>new a_e({input:{requestExample:s,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:o!=null&&o!==""?["examples",o]:"examples"},this.path,this.statusCode,O9e(o,a),{requestBody:i,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,n,i){let o=t[mR];if(o!=null)for(let s of o)this.examples?.push(new a_e({input:{requestExample:i,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:n!=null&&n!==""?["examples",n]:"examples"},this.path,this.statusCode,O9e(n,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let n of t)if(Object.keys(n.examples??{}).length===0)this.pushResponseExample(r,n,void 0,void 0);else for(let[i,o]of Object.entries(n.examples??{}))this.pushResponseExample(r,n,i,o)}parse(t){if(t==="empty")this.empty=!0;else{let a=f4t.parse(t);if(a?.isJSON()||a?.isEventStream())this.contentType=gpl,this.input.schema==null?(this.streamingFormat==null||this.streamingFormat==="json")&&this.context.errors.error({message:"Expected schema for JSON response body. Received null",path:this.accessPath}):this.schema=new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(a?.isOctetStream())this.contentType=Apl,this.contentSubtype=VS(this.input.schema,this.context.document)?.contentMediaType;else if(this.unsupportedContentType=t,this.input.schema==null){this.context.errors.error({message:"Expected schema for plain text response body. Received null",path:this.accessPath});return}else this.schema=new hw({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"})}let r={};this.input.examples!=null&&(r=CBn(this.input.examples,a=>[a])),this.input.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]=[{value:this.input.example}]);let n=VS(this.input.schema,this.context.document);if(n!=null&&(n.examples!=null&&Object.keys(r).length===0&&(r=CBn(n.examples,a=>[a])),n.example!=null&&Object.keys(r).length===0&&(r[mR]??=[],r[mR]?.push({value:n.example}))),Object.keys(r).length===0){let a=this.schema?.example({includeOptionals:!0,override:void 0});r[mR]??=[],r[mR]?.push(a!=null?{value:a}:void 0)}this.examples??=[];let i=new Set;this.matchRequestResponseExamplesByName(this.requests,r,i);let o=[];for(let a of this.requests)o.push(...Object.entries(a.examples??{}).filter(([c])=>!i.has(c)&&c!==mR).map(([c,u])=>[a,c,u]));let s=Object.entries(r).filter(([a,c])=>!i.has(a)&&ba(c)&&a!==mR);Object.keys(r).every(a=>a===mR)||this.matchExamplesByIndex(o,s),!i.has(mR)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return rE(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new rTn.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return rE(this.schema?.convert())?.map(r=>{let n=r.type;switch(n){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let i=lue([this.method,this.path,this.statusCode,"response"].join("_"));return YBn({uniqueId:i,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:Tu.TypeId(i),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new rTn.UnreachableCaseError(n);return}}).filter(ba)}convert(){if(this.empty)return{type:"empty"};if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?this.convertJsonLike():this.convertStreamingFormat();case"application/octet-stream":return{type:"fileDownload",contentType:this.contentSubtype};case"text/event-stream":return this.convertStreamingFormat();case void 0:return;default:new rTn.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var Vjr=class extends ta{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,n,i,o,s){super(t),this.path=r,this.method=n,this.statusCode=i,this.requests=o,this.shapes=s,this.safeParse()}parse(t){this.description=this.input.description;let r=ypl(this.input,this.context.document);if(r==null){this.context.errors.error({message:hg(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([n,i])=>{this.headers??={},this.headers[n]=new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:n})}),r.content==null?(this.responses??=[],this.responses.push(new Mjr({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([n,i])=>{this.responses??=[],this.responses.push(new Mjr({input:i,context:this.context,accessPath:this.accessPath,pathId:["content",n]},n,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(ba)}};var nTn=class extends ta{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,n,i,o){super(t),this.path=r,this.method=n,this.requests=i,this.shapes=o,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,n])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new Vjr({input:{...t,...n},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new Vjr({input:n,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let n=r.convert();if(n!=null)return LBn(C9e(r.headers)).flatMap(i=>n?.map(o=>({headers:i,response:{statusCode:parseInt(t),body:o,description:r.description},examples:(r.responses??[]).flatMap(s=>(s.examples??[]).map(a=>a.convert()).filter(ba))})))}).filter(ba)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(n=>{let i=n.schema,o=rE(i?.convert());if(i!=null)return o?.map(s=>({statusCode:parseInt(t),shape:s,description:r.description??i.description,availability:i.availability?.convert(),name:i.name??hpl[parseInt(t)]??"UNKNOWN ERROR",examples:n.examples?.map(a=>{let c=a.convert();if(c!=null&&c.responseBody?.type==="json")return{name:c.name,description:c.description,responseBody:c.responseBody}}).filter(ba)})).filter(ba)})).filter(ba)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var S9e=class extends ta{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,n){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new a_e({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,O9e(n,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new hJ({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=E9e(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new zBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((n,i)=>{if(hg(n)){let o=DBn(n,this.context.document);if(o!=null)n=o;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${n.$ref}`,path:[...this.accessPath,`parameters[${i}]`]});return}}n.in==="path"?n.schema!=null&&(this.pathParameters??={},this.pathParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="query"?n.schema!=null&&(this.queryParameters??={},this.queryParameters[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name})):n.in==="header"&&n.schema!=null&&(this.requestHeaders??={},this.requestHeaders[n.name]=new c_e({input:n,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${i}`],parameterName:n.name}))});for(let n of this.extractPathParameterIds()??[])this.pathParameters?.[n]==null&&this.context.errors.warning({message:`Path parameter not defined: ${n}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new QBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new tTn({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody",method:this.method,path:this.path}):void 0,this.responses=this.input.responses!=null?new nTn({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let n=this.requests?.requestBodiesByContentType;n==null||Object.keys(n).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(n).forEach(i=>{if(Object.keys(i.examples??{}).length===0){let o=i.schema?.example({includeOptionals:!1,override:void 0});o!=null&&this.pushEmptyResponseExample({value:o},i,void 0)}else Object.entries(i.examples??{}).forEach(([o,s])=>{this.pushEmptyResponseExample(s,i,o)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(n=>Number(n)>=200&&Number(n)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new Qjr({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(n=>n.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((n,i)=>new Qjr({input:{[mBn]:n},context:this.context,accessPath:this.accessPath,pathId:["tags",`${i}`]})));let r=new kBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(n=>SBn({namespace:rE(n?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(ba),this.xFernExamplesNode=new NBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-examples"},this.path,t,this.requests?.requestBodiesByContentType,this.responses?.responsesByStatusCode?.[t]?.responses)}extractPathParameterIds(){if(this.path!=null)return this.path.split("/").map(t=>{if(t.startsWith("{")&&t.endsWith("}"))return t.slice(1,-1).trim()}).filter(ba)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((i,o)=>(i.push({type:"literal",value:"/"}),o.startsWith("{")&&o.endsWith("}")?i.push({type:"pathParameter",value:Tu.PropertyKey(o.slice(1,-1).trim())}):i.push({type:"literal",value:o}),i),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},n=this.emptyResponseExamples?.map(l=>l.convert()).filter(ba),i=Wll(this.xFernExamplesNode?.convert(),[...n??[],...t?.flatMap(l=>l.examples)??[]])?.map(l=>({...l,snippets:qll(l.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((l,p)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:Tu.WebhookId(l),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[p]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(m=>m.value.toString())??[],queryParameters:C9e(this.queryParameters)?.flat(),headers:C9e(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(ba)}}).filter(ba);let o=this.servers?.map(l=>l.convert()).filter(ba),s=this.convertPathToPathParts();if(s==null)return;let a,c=this.auth?.convert();c!=null&&(a=Object.keys(c));let u=t?.flatMap(l=>l.headers).filter(ba);return this.endpointIds.map((l,p)=>({id:Tu.EndpointId(l),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[p]?.convert()?.map(m=>Tu.api.v1.SubpackageId(m)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:s,auth:a?.map(m=>Tu.api.latest.AuthSchemeId(m)),defaultEnvironment:o?.[0]?.id,environments:o,pathParameters:C9e(this.pathParameters)?.flat(),queryParameters:C9e(this.queryParameters)?.flat(),requestHeaders:C9e(this.requestHeaders)?.flat(),responseHeaders:u!=null&&u.length>0?u:void 0,requests:this.requests?.convert(),responses:t?.map(m=>m.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var m4t=class extends ta{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n,isWebhook:i}){this.description=this.input.description;let o=E9e(t,this.input.servers,this.context,this.accessPath),s=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new S9e({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:o,globalAuth:r,path:s,method:"GET",basePath:n,isWebhook:i})),this.input.post!=null&&(this.post=new S9e({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:o,globalAuth:r,path:s,method:"POST",basePath:n,isWebhook:i})),this.input.put!=null&&(this.put=new S9e({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:o,globalAuth:r,path:s,method:"PUT",basePath:n,isWebhook:!1})),this.input.patch!=null&&(this.patch=new S9e({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:o,globalAuth:r,path:s,method:"PATCH",basePath:n,isWebhook:!1})),this.input.delete!=null&&(this.delete=new S9e({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:o,globalAuth:r,path:s,method:"DELETE",basePath:n,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(ba)}};function iTn(e){return"payloads"in e}var oTn=class extends ta{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.paths=Object.entries(this.input).map(([i,o])=>{if(o!=null)return new m4t({input:o,context:this.context,accessPath:this.accessPath,pathId:i,servers:E9e(t,o.servers,this.context,this.accessPath),globalAuth:r,basePath:n,isWebhook:void 0})}).filter(ba)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(n=>{let i=n.convert();i?.forEach(o=>{iTn(o)?r[Tu.WebhookId(o.id)]=o:t[Tu.EndpointId(o.id)]=o})}),{endpoints:t,webhookEndpoints:r}}};var sTn=class extends ta{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[ull]?.map(r=>{let{header:n,...i}=r;return(i.optional!=null&&!i.optional||DBn(i,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(n)),[n,new c_e({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:n})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return u4t(this.globalHeaders,this.requiredProperties)?.flat()}};function _pl(e,t){if(hg(e)){let r=rz(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var aTn=class extends ta{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:n}){this.webhooks=Object.entries(this.input??{}).map(([i,o])=>{let s=_pl(o,this.context.document);if(s!=null)return new m4t({input:s,context:this.context,accessPath:this.accessPath,pathId:i,servers:t,globalAuth:r,basePath:n,isWebhook:!0})}).filter(ba)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(n=>{iTn(n)&&(t[Tu.WebhookId(n.id)]=n)}),t),{})}};var cTn=class extends ta{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=E9e(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new c4t({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new TBn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});this.input.paths==null&&this.input.webhooks==null&&this.context.errors.warning({message:"Expected 'paths' or 'webhooks' property to be specified",path:this.accessPath}),this.input.paths!=null&&(this.paths=new oTn({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths",basePath:r,servers:t,globalAuth:this.auth})),this.input.webhooks!=null&&(this.webhooks=new aTn({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks",basePath:r,servers:t,globalAuth:this.auth})),this.input.components!=null&&(this.components=new XBn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new sTn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=wD(),{webhookEndpoints:r,endpoints:n}=this.paths?.convert()??{},i={...this.webhooks?.convert()??{},...r??{}},o=oll({endpoints:n,webhookEndpoints:i}),{types:s,auths:a}=this.components?.convert()??{};return{id:Tu.ApiDefinitionId(t),endpoints:n??{},websockets:{},webhooks:i,types:{...s,...this.context.generatedTypes},subpackages:o,auths:{...a,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};async function Mqs(e,t){if(e instanceof R2){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof nb))return;let r=new Kce(e.absoluteFilePath),n=await ZK({context:t,specs:e.specs}),i=await r.loadDocuments({context:t,specs:n,loadAiExamples:!0}),o;for(let s of i){if(s.type!=="openapi")continue;let a={document:s.value,logger:t.logger,errors:new pBn,generatedTypes:{}},c=new cTn({input:s.value,context:a,accessPath:[],pathId:e.workspaceName??"openapi parser"});o=DDt(o,c.convert())}return o}JO();var BEl=He(Lqs(),1),TEl=He($Tn(),1),TDn=require("fs/promises"),DEl=He(require("http"),1),REl=He(require("path"),1);var Ayl=require("events"),ZTn=He(require("fs"),1),Evt=He(require("path"),1);var eyl=He(require("os"),1),tyl=300,N9e=20,fBr=1e7,ryl=eyl.default.platform();var iYg=ryl==="darwin",c8s=ryl==="win32",k9e=iYg||c8s,nyl=3e3,iyl=2e4,u8s=1250;var f_e;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(f_e||(f_e={}));var vvt;(function(e){e.CHANGE="change",e.RENAME="rename"})(vvt||(vvt={}));var mBr;(function(e){e.CHANGE="change",e.ERROR="error"})(mBr||(mBr={}));var Ql;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(Ql||(Ql={}));var XV;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(XV||(XV={}));var oYg=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let _=Date.now(),E=_-c,O=_-u,P=E>=t||O>=o;return[_,P]},p=_=>{if(u=_,!s)return;let E=s;s=void 0,e.apply(void 0,E)},m=()=>{b(0)},f=()=>{a&&(m(),p(Date.now()))},h=_=>{if(u=_,n)return p(_)},y=_=>{if(i&&s)return p(_);s=void 0},g=()=>{a=void 0;let[_,E]=l();return E?y(_):A(_)},A=_=>{let E=_-c,O=_-u,P=t-E,x=o-O,I=Math.min(P,x);return b(I)},b=_=>{a&&clearTimeout(a),!(_<=0)&&(a=setTimeout(g,_))},v=(..._)=>{let[E,O]=l(),P=!!a;if(s=_,c=E,(O||!a)&&b(t),O)return P?p(E):h(E)};return v.cancel=m,v.flush=f,v},KTn=oYg;var m8s=He(require("fs"),1),YTn=He(require("path"),1);var ib=He(require("fs"),1),nz=require("util");var gQe=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},m_e=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var l8s=He(require("process"),1),oyl=l8s.default.getuid?!l8s.default.getuid():!1,syl=1e4,Qq=()=>{};var dBr={isChangeErrorOk:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!oyl&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!dBr.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!dBr.isNodeError(e))throw e;if(!dBr.isChangeErrorOk(e))throw e}},US=dBr;var p8s=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=syl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},ayl=new p8s;var AQe=(e,t)=>function(n){return function i(...o){return ayl.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(m=>setTimeout(m,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},bQe=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var sYg={attempt:{chmod:gQe((0,nz.promisify)(ib.default.chmod),US.onChangeError),chown:gQe((0,nz.promisify)(ib.default.chown),US.onChangeError),close:gQe((0,nz.promisify)(ib.default.close),Qq),fsync:gQe((0,nz.promisify)(ib.default.fsync),Qq),mkdir:gQe((0,nz.promisify)(ib.default.mkdir),Qq),realpath:gQe((0,nz.promisify)(ib.default.realpath),Qq),stat:gQe((0,nz.promisify)(ib.default.stat),Qq),unlink:gQe((0,nz.promisify)(ib.default.unlink),Qq),chmodSync:m_e(ib.default.chmodSync,US.onChangeError),chownSync:m_e(ib.default.chownSync,US.onChangeError),closeSync:m_e(ib.default.closeSync,Qq),existsSync:m_e(ib.default.existsSync,Qq),fsyncSync:m_e(ib.default.fsync,Qq),mkdirSync:m_e(ib.default.mkdirSync,Qq),realpathSync:m_e(ib.default.realpathSync,Qq),statSync:m_e(ib.default.statSync,Qq),unlinkSync:m_e(ib.default.unlinkSync,Qq)},retry:{close:AQe((0,nz.promisify)(ib.default.close),US.isRetriableError),fsync:AQe((0,nz.promisify)(ib.default.fsync),US.isRetriableError),open:AQe((0,nz.promisify)(ib.default.open),US.isRetriableError),readFile:AQe((0,nz.promisify)(ib.default.readFile),US.isRetriableError),rename:AQe((0,nz.promisify)(ib.default.rename),US.isRetriableError),stat:AQe((0,nz.promisify)(ib.default.stat),US.isRetriableError),write:AQe((0,nz.promisify)(ib.default.write),US.isRetriableError),writeFile:AQe((0,nz.promisify)(ib.default.writeFile),US.isRetriableError),closeSync:bQe(ib.default.closeSync,US.isRetriableError),fsyncSync:bQe(ib.default.fsyncSync,US.isRetriableError),openSync:bQe(ib.default.openSync,US.isRetriableError),readFileSync:bQe(ib.default.readFileSync,US.isRetriableError),renameSync:bQe(ib.default.renameSync,US.isRetriableError),statSync:bQe(ib.default.statSync,US.isRetriableError),writeSync:bQe(ib.default.writeSync,US.isRetriableError),writeFileSync:bQe(ib.default.writeFileSync,US.isRetriableError)}},cyl=sYg;var JTn=He(require("fs"),1),hBr=He(require("path"),1);var f8s=()=>{};var aYg=()=>{let e=f8s,t=f8s,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},uyl=aYg;var cYg=()=>{let{promise:e,resolve:t,isPending:r}=uyl(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},lyl=cYg;var pyl={then:e=>{e()}};var fyl=e=>Array.isArray(e)?e:[e],myl=e=>typeof e=="function";var uYg=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=fyl(o).map(J=>myl(J)?J:K=>J.test(K)),a=J=>s.some(K=>K(J)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,m={},f=[],h=new Set,y={},g=[],A=new Set,b={},v={},_=new Set,E={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},O={directories:l,directoriesNames:p,directoriesNamesToPaths:m,files:f,filesNames:h,filesNamesToPaths:y,symlinks:g,symlinksNames:A,symlinksNamesToPaths:b,map:v},{promise:P,increment:x,decrement:I}=lyl(),F=0,q=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.directories.push(K),J.directoriesNames.add(Pe),l.push(K),p.add(Pe),m.propertyIsEnumerable(Pe)||(m[Pe]=[]),m[Pe].push(K),_.add(K),!(we>=n)&&(F>=i||ee(K,we+1)))},W=(J,K,Pe)=>{_.has(K)||F>=i||(F+=1,J.files.push(K),J.filesNames.add(Pe),f.push(K),h.add(Pe),y.propertyIsEnumerable(Pe)||(y[Pe]=[]),y[Pe].push(K),_.add(K))},G=(J,K,Pe,we)=>{_.has(K)||F>=i||(F+=1,J.symlinks.push(K),J.symlinksNames.add(Pe),g.push(K),A.add(Pe),b.propertyIsEnumerable(Pe)||(b[Pe]=[]),b[Pe].push(K),_.add(K),r&&(we>=n||F>=i||Ge(K,we+1)))},re=(J,K,Pe,we,Me)=>{c.aborted||a(K)||(we.isDirectory()?q(J,K,Pe,Me):we.isFile()?W(J,K,Pe):we.isSymbolicLink()&&G(J,K,Pe,Me))},oe=(J,K,Pe,we)=>{if(c.aborted)return;let Me=K===hBr.default.sep?"":hBr.default.sep,Ze=Pe.name,Oe=`${K}${Me}${Ze}`;a(Oe)||(Pe.isDirectory()?q(J,Oe,Ze,we):Pe.isFile()?W(J,Oe,Ze):Pe.isSymbolicLink()&&G(J,Oe,Ze,we))},H=(J,K,Pe,we)=>{for(let Me=0,Ze=Pe.length;Me<Ze;Me++)oe(J,K,Pe[Me],we)},ee=(J,K)=>{c.aborted||K>n||F>=i||(x(),JTn.default.readdir(J,{withFileTypes:!0},(Pe,we)=>{if(Pe||c.aborted||!we.length)return I();(u(we)||pyl).then(()=>{let Ze=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};H(Ze,J,we,K),I()})}))},Ge=(J,K)=>{x(),JTn.default.realpath(J,(Pe,we)=>{if(Pe||c.aborted)return I();JTn.default.stat(we,(Me,Ze)=>{if(Me||c.aborted)return I();let Oe=hBr.default.basename(we),de=v[J]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};re(de,we,Oe,Ze,K),I()})})};return(async(J,K=1)=>(J=hBr.default.normalize(J),_.add(J),ee(J,K),await P,c.aborted?E:O))(e)},dyl=uYg;var d_e={lang:{debounce:KTn,attempt:e=>{try{return e()}catch(t){return d_e.lang.castError(t)}},castArray:e=>d_e.lang.isArray(e)?e:[e],castError:e=>d_e.lang.isError(e)?e:d_e.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(d_e.lang.isNaN(e))return d_e.lang.isNaN(t);if(d_e.lang.isPrimitive(e)||d_e.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(YTn.default.sep).length-1),getRealPath:(e,t)=>{try{return t?m8s.default.realpathSync.native(e):m8s.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===YTn.default.sep&&t.length-e.length>YTn.default.sep.length,poll:(e,t=iyl)=>cyl.retry.stat(t)(e,{bigint:!0}).catch(d_e.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await dyl(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Gd=d_e;var XTn=He(require("path"),1);var d8s=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Gd.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=tyl){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=Gd.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Ql.CHANGE&&a===Ql.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Ql.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Ql.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),s=this.options.limit??fBr,[a,c]=await Gd.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())Gd.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Ql.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!k9e&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(Ql.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Ql.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(XTn.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(Ql.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Ql.ADD?this.onTargetAdd(n):r===Ql.ADD_DIR?this.onTargetAddDir(n):r===Ql.CHANGE?this.onTargetChange(n):r===Ql.UNLINK?this.onTargetUnlink(n):r===Ql.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=vvt.CHANGE,r){if(this.watcher.isClosed())return;let n=XTn.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){c8s&&t.code==="EPERM"?this.onWatcherChange(vvt.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(mBr.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(mBr.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(vvt.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&k9e&&this.options.native!==!1?this.options.depth??N9e:Math.min(1,this.options.depth??N9e),n=this.options.limit??fBr,[i,o]=await Gd.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(vvt.CHANGE,a,t)}))}}},hyl=d8s;var ZV={interval:100,intervalId:void 0,fns:new Map,init:()=>{ZV.intervalId||(ZV.intervalId=setInterval(ZV.resolve,ZV.interval))},reset:()=>{ZV.intervalId&&(clearInterval(ZV.intervalId),delete ZV.intervalId)},add:(e,t)=>{ZV.fns.set(e,Date.now()+t),ZV.init()},remove:e=>{ZV.fns.delete(e)},resolve:()=>{if(!ZV.fns.size)return ZV.reset();let e=Date.now();for(let[t,r]of ZV.fns)r>=e||(ZV.remove(t),t())}},yBr=ZV;var gBr=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,m=>m!==i);if(p&&p!==i){if(Gd.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let m=p();i===m?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,m,i)};s.add.set(n,l),l()}getLockUnlink(t,r=u8s){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),yBr.remove(u)},u=()=>{c(),a()};yBr.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD,f_e.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Ql.ADD_DIR,f_e.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK,f_e.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Ql.UNLINK_DIR,f_e.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};gBr.DIR_EVENTS={add:Ql.ADD_DIR,rename:Ql.RENAME_DIR,unlink:Ql.UNLINK_DIR};gBr.FILE_EVENTS={add:Ql.ADD,change:Ql.CHANGE,rename:Ql.RENAME,unlink:Ql.UNLINK};var yyl=gBr;var h8s=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Gd.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(Gd.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(Gd.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Gd.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Gd.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},y8s=h8s;var g8s=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},gyl=g8s;var A8s=class{constructor(){this.inos={},this.paths=new y8s,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await Gd.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new gyl(n)}reset(){this.inos={},this.paths=new y8s,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Ql.ADD,i),[Ql.ADD];if(i.isDirectory())return this.updateIno(t,Ql.ADD_DIR,i),[Ql.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Ql.UNLINK,n),[Ql.UNLINK];if(n.isDirectory())return this.updateIno(t,Ql.UNLINK_DIR,n),[Ql.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Ql.CHANGE,i),[Ql.CHANGE]);if(i.isDirectory())return this.updateIno(t,Ql.UNLINK,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK,Ql.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD,i),[Ql.UNLINK_DIR,Ql.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Ql.UNLINK_DIR,n),this.updateIno(t,Ql.ADD_DIR,i),[Ql.UNLINK_DIR,Ql.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?f_e.FILE:f_e.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},b8s=A8s;var _8s=class e extends Ayl.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(XV.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(XV.CLOSE,i)),this._readyWait=new Promise(i=>this.on(XV.READY,i)),this._locker=new yyl(this),this._roots=new Set,this._poller=new b8s,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Gd.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(XV.CLOSE))}error(t){if(this.isClosed())return!1;let r=Gd.lang.castError(t);return this.emit(XV.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(XV.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(XV.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Gd.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)Gd.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new hyl(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Gd.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=Evt.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??N9e))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&k9e&&l.options.native!==!1)))return!0;if(!k9e)break;let u=Evt.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Gd.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||k9e&&r.native!==!1?r:{...r,recursive:!1},l={watcher:ZTn.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},h=Evt.default.dirname(a),y=a;await this.watchDirectories([h],f,n,y,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||k9e&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??N9e,a=r.limit??fBr,[c]=await Gd.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=Gd.fs.getDepth(t);for(let p of c){let m=Gd.fs.getDepth(p),f=Math.max(0,s-(m-l)),h={...r,depth:f};await this.watchDirectories([p],h,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(XV.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(XV.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=Evt.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new b8s,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return Gd.lang.noop;if(this.pollerExists(t,r))return Gd.lang.noop;let i={...r,interval:r.pollingInterval??nyl},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(XV.CLOSE,a),ZTn.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(XV.CLOSE,a),ZTn.default.unwatchFile(t,n)};return Gd.lang.attempt(s),()=>Gd.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=Gd.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Gd.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=Evt.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Gd.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=Evt.default.dirname(t);return(await Gd.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Gd.lang.noop){if(Gd.lang.isFunction(t))return this.watch([],{},t);if(Gd.lang.isUndefined(t))return this.watch([],r,n);if(Gd.lang.isFunction(r))return this.watch(t,{},r);if(Gd.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Gd.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Gd.lang.noop&&this.on(XV.ALL,n),r.readdirMap=void 0,this.ready())}},e1n=_8s;d1n();var k4t=require("fs/promises"),wgl=require("os"),xgl=He(require("path"),1),TXg=".fern",DXg="logs";function RXg(){return"cli@3.85.4"}var IBr=class{logFilePath=null;initialized=!1;sessionStartTime;constructor(){this.sessionStartTime=Date.now()}async initialize(){if(this.initialized)return;let t=Pt(Ar.of((0,wgl.homedir)()),Ke.of(TXg)),r=Pt(t,Ke.of(DXg));await qr(r)||await(0,k4t.mkdir)(r,{recursive:!0});let i=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Pt(r,Ke.of(i));let o=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${xgl.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
|
|
1967
1967
|
`);await(0,k4t.writeFile)(this.logFilePath,o,"utf-8"),this.initialized=!0}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
|
|
1968
1968
|
`;try{await(0,k4t.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let n={timestamp:t.timestamp,source:RXg(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(n)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let n={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliDocsGeneration(t,r){let n={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliValidation(t,r){let n={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(n)}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var EWs=He(J8s(),1),OEl=He(lWs(),1),Mq=require("fs/promises"),wEl=require("os"),xEl=He(lk(),1),PEl=He(vEl(),1),PDn=process.platform==="win32",vWs=st.cyan("[docs]:"),lnA="etag",pnA=23,EEl=e=>e.padEnd(pnA," "),fnA="preview",mnA="app-preview",dnA="bundle",hnA=".next",ynA="standalone",gnA=".fern",AnA="packages/fern-docs/bundle/.next/server/instrumentation.js",bnA=".npmrc",_nA=".pnpmfile.cjs",vnA="pnpm-workspace.yaml",EnA='Cannot find matching keyid: {"signatures":';function OnA(){return Pt(Ar.of((0,wEl.homedir)()),Ke.of(gnA))}function tLt({app:e=!1}){return Pt(OnA(),Ke.of(e?mnA:fnA))}function K9e({app:e=!1}){return Pt(tLt({app:e}),Ke.of(e?hnA:dnA))}function YBr({app:e=!1}){return Pt(K9e({app:e}),Ke.of(ynA))}function wnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(AnA))}function xnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(vnA))}function PnA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(_nA))}function InA({app:e=!1}){return Pt(YBr({app:e}),Ke.of(bnA))}function Nvt(e){return new Error(`${e}. Please reach out to support@buildwithfern.com.`)}function CnA({app:e=!1}){return Pt(tLt({app:e}),Ke.of(lnA))}var SnA=`module.exports = {
|
|
1969
1969
|
hooks: {
|
|
@@ -2438,11 +2438,7 @@ client<llm> DefaultClient {
|
|
|
2438
2438
|
}
|
|
2439
2439
|
`},yVm=()=>eQO;var tQO={...process.env},nqa=CQo.BamlRuntime.fromFiles("baml_src",yVm(),tQO),gVm=new CQo.BamlCtxManager(nqa);var iqa=class e{runtime;ctxManager;streamClient;httpRequest;httpStreamRequest;llmResponseParser;llmStreamParser;bamlOptions;constructor(t,r,n){this.runtime=t,this.ctxManager=r,this.streamClient=new oqa(t,r,n),this.httpRequest=new wQo(t,r),this.httpStreamRequest=new xQo(t,r),this.llmResponseParser=new PQo(t,r),this.llmStreamParser=new IQo(t,r),this.bamlOptions=n||{}}withOptions(t){return new e(this.runtime,this.ctxManager,t)}get stream(){return this.streamClient}get request(){return this.httpRequest}get streamRequest(){return this.httpStreamRequest}get parse(){return this.llmResponseParser}get parseStream(){return this.llmStreamParser}async AnalyzeSdkDiff(t,r){try{let n={...this.bamlOptions,...r||{}},i=n.signal;if(i?.aborted)throw new QRe.BamlAbortError("Operation was aborted",i.reason);if(n.onTick)return await this.stream.AnalyzeSdkDiff(t,r).getFinalResponse();let o=n.collector?Array.isArray(n.collector)?n.collector:[n.collector]:[],s=r?.env?{...process.env,...r.env}:{...process.env},a=Object.fromEntries(Object.entries(s).filter(([u,l])=>l!==void 0));return(await this.runtime.callFunction("AnalyzeSdkDiff",{diff:t},this.ctxManager.cloneContext(),n.tb?.__tb(),n.clientRegistry,o,n.tags||{},a,i,n.events)).parsed(!1)}catch(n){throw(0,QRe.toBamlError)(n)}}},oqa=class{runtime;ctxManager;bamlOptions;constructor(t,r,n){this.runtime=t,this.ctxManager=r,this.bamlOptions=n||{}}AnalyzeSdkDiff(t,r){try{let n={...this.bamlOptions,...r||{}},i=n.signal;if(i?.aborted)throw new QRe.BamlAbortError("Operation was aborted",i.reason);let o=n.collector?Array.isArray(n.collector)?n.collector:[n.collector]:[],s;if(n.onTick){let l=new QRe.Collector("on-tick-collector");o=[...o,l],s=()=>{let p=l.last;if(p)try{n.onTick("Unknown",p)}catch(m){console.error("Error in onTick callback for AnalyzeSdkDiff",m)}}}let a=r?.env?{...process.env,...r.env}:{...process.env},c=Object.fromEntries(Object.entries(a).filter(([l,p])=>p!==void 0)),u=this.runtime.streamFunction("AnalyzeSdkDiff",{diff:t},void 0,this.ctxManager.cloneContext(),n.tb?.__tb(),n.clientRegistry,o,n.tags||{},c,i,s);return new QRe.BamlStream(u,l=>l,l=>l,this.ctxManager.cloneContext(),n.signal)}catch(n){throw(0,QRe.toBamlError)(n)}}},u2r=new iqa(nqa,gVm);var MRe;(function(e){e.MAJOR="MAJOR",e.MINOR="MINOR",e.PATCH="PATCH",e.NO_CHANGE="NO_CHANGE"})(MRe||(MRe={}));var sqa=require("@boundaryml/baml"),rQO="0.211.2";(0,AVm.ThrowIfVersionMismatch)(rQO);var Vlr=require("@boundaryml/baml");function SQo(e){let t=new Vlr.ClientRegistry,r={model:e.model};return t.addLlmClient("ConfiguredClient",e.provider,r),t.setPrimary("ConfiguredClient"),(0,Vlr.getLogLevel)()!=="ERROR"&&(0,Vlr.setLogLevel)("ERROR"),t}var _Vm=He(lWs(),1),bN=require("fs/promises"),vVm=require("os"),EVm=require("path"),aqa=He(y3(),1),OVm=He(lk(),1);var nQO="AUTO";var bVm;(function(e){e.MAJOR="MAJOR",e.MINOR="MINOR",e.PATCH="PATCH",e.NO_CHANGE="NO_CHANGE"})(bVm||(bVm={}));function jQo(e){return nQO.toLowerCase()===e.toLowerCase()}var BQo=class{context;absolutePathToTmpOutputDirectory;absolutePathToTmpSnippetJSON;absolutePathToTmpSnippetTemplatesJSON;absolutePathToLocalSnippetTemplateJSON;absolutePathToLocalOutput;absolutePathToLocalSnippetJSON;version;ai;isWhitelabel;constructor({context:t,absolutePathToTmpOutputDirectory:r,absolutePathToTmpSnippetJSON:n,absolutePathToLocalSnippetTemplateJSON:i,absolutePathToLocalOutput:o,absolutePathToLocalSnippetJSON:s,absolutePathToTmpSnippetTemplatesJSON:a,version:c,ai:u,isWhitelabel:l}){this.context=t,this.absolutePathToLocalOutput=o,this.absolutePathToTmpOutputDirectory=r,this.absolutePathToTmpSnippetJSON=n,this.absolutePathToLocalSnippetJSON=s,this.absolutePathToLocalSnippetTemplateJSON=i,this.absolutePathToTmpSnippetTemplatesJSON=a,this.version=c,this.ai=u,this.isWhitelabel=l}async copyGeneratedFiles(){let t=await this.isFernIgnorePresent(),r=await this.isGitRepository();if(t&&r?await this.copyGeneratedFilesWithFernIgnoreInExistingRepo():t&&!r?await this.copyGeneratedFilesWithFernIgnoreInTempRepo():!t&&r?await this.copyGeneratedFilesNoFernIgnorePreservingGit():await this.copyGeneratedFilesNoFernIgnoreDeleteAll(),this.absolutePathToTmpSnippetJSON!=null&&this.absolutePathToLocalSnippetJSON!=null&&await qr(this.absolutePathToTmpSnippetJSON)&&await this.copySnippetJSON({absolutePathToTmpSnippetJSON:this.absolutePathToTmpSnippetJSON,absolutePathToLocalSnippetJSON:this.absolutePathToLocalSnippetJSON}),this.version!=null&&jQo(this.version)){let n=new nTr({logger:this.context.logger}),i=await this.handleAutoVersioning();return i==null?(this.context.logger.info("No semantic changes detected. Skipping GitHub operations."),{shouldCommit:!1,autoVersioningCommitMessage:void 0}):(await n.replaceMagicVersion(this.absolutePathToLocalOutput,this.version,i.version),{shouldCommit:!0,autoVersioningCommitMessage:i.commitMessage})}return{shouldCommit:!0,autoVersioningCommitMessage:void 0}}async handleAutoVersioning(){let t=new nTr({logger:this.context.logger}),r;try{this.context.logger.info("Analyzing SDK changes for automatic semantic versioning"),r=await this.generateDiffFile();let n=await(0,bN.readFile)(r,"utf-8");if(n.trim().length===0)return this.context.logger.info("No changes detected in generated SDK"),null;if(!this.version)throw new Error("Version is required for auto versioning");let i=t.extractPreviousVersion(n,this.version),o=t.cleanDiffForAI(n,this.version);if(this.context.logger.debug(`Generated diff size: ${n.length} bytes`),this.context.logger.debug(`Cleaned diff size: ${o.length} bytes`),i==null){this.context.logger.info("No previous version found (new SDK repository). Using 0.0.1 as initial version.");let s=this.version?.startsWith("v")?"v0.0.1":"0.0.1",a=this.isWhitelabel?"Initial SDK generation":`Initial SDK generation
|
|
2440
2440
|
|
|
2441
|
-
\u{1F33F} Generated with Fern`;return{version:s,commitMessage:a}}this.context.logger.debug(`Previous version detected: ${i}`);try{let s=await this.getClientRegistry(),c=await u2r.withOptions({clientRegistry:s}).AnalyzeSdkDiff(o);if(c.version_bump===MRe.NO_CHANGE)return this.context.logger.info("AI detected no semantic changes"),null;let u=this.incrementVersion(i,c.version_bump);this.context.logger.info(`Version bump: ${c.version_bump}, new version: ${u}`);let l=this.isWhitelabel?c.message:this.addFernBranding(c.message);return{version:u,commitMessage:l}}catch(s){this.context.logger.warn(`AI analysis failed, falling back to PATCH increment: ${s}`);let a=this.incrementVersion(i,MRe.PATCH),c=this.isWhitelabel
|
|
2442
|
-
|
|
2443
|
-
Unable to analyze changes with AI, incrementing PATCH version.`:`SDK regeneration
|
|
2444
|
-
|
|
2445
|
-
Unable to analyze changes with AI, incrementing PATCH version.
|
|
2441
|
+
\u{1F33F} Generated with Fern`;return{version:s,commitMessage:a}}this.context.logger.debug(`Previous version detected: ${i}`);try{let s=await this.getClientRegistry(),c=await u2r.withOptions({clientRegistry:s}).AnalyzeSdkDiff(o);if(c.version_bump===MRe.NO_CHANGE)return this.context.logger.info("AI detected no semantic changes"),null;let u=this.incrementVersion(i,c.version_bump);this.context.logger.info(`Version bump: ${c.version_bump}, new version: ${u}`);let l=this.isWhitelabel?c.message:this.addFernBranding(c.message);return{version:u,commitMessage:l}}catch(s){this.context.logger.warn(`AI analysis failed, falling back to PATCH increment: ${s}`);let a=this.incrementVersion(i,MRe.PATCH),c=this.isWhitelabel?"SDK regeneration":`SDK regeneration
|
|
2446
2442
|
|
|
2447
2443
|
\u{1F33F} Generated with Fern`;return{version:a,commitMessage:c}}}catch(n){throw n instanceof sLt?(this.context.logger.error(`AUTO versioning failed: ${n.message}`),new Error(`Failed to extract previous version for automatic semantic versioning. Please ensure your project has a version file in a supported format. Error: ${n.message}`)):(this.context.logger.error(`Failed to perform automatic versioning: ${n}`),new Error(`Automatic versioning failed: ${n}`))}finally{if(r)try{await(0,bN.rm)(r)}catch(n){this.context.logger.warn(`Failed to delete temp diff file: ${r}`,String(n))}}}incrementVersion(t,r){let n=aqa.default.clean(t);if(!n)throw new Error(`Invalid version format: ${t}`);let i;switch(r){case MRe.MAJOR:i="major";break;case MRe.MINOR:i="minor";break;case MRe.PATCH:i="patch";break;default:throw new Error(`Unsupported version bump: ${r}`)}let o=aqa.default.inc(n,i);if(!o)throw new Error(`Failed to increment version: ${t}`);return t.startsWith("v")?`v${o}`:o}async getClientRegistry(){if(this.ai==null)throw new Error("No AI service configuration found in generators.yml. Please add an 'ai' section with provider and model.");return this.context.logger.debug(`Using AI service: ${this.ai.provider} with model ${this.ai.model}`),SQo(this.ai)}addFernBranding(t){return`${t.trim()}
|
|
2448
2444
|
|
|
@@ -2768,7 +2764,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
|
|
|
2768
2764
|
Run ${st.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
|
|
2769
2765
|
Run ${st.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),eNt(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function XJa({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!Qrd(e))return;let i=t??"",o=e.filter(a=>a.isUpgradeAvailable);r!=null&&(o=o.slice(0,r+1));let s=o.sort((a,c)=>a.generatorName.localeCompare(c.generatorName)||a.currentVersion.localeCompare(c.currentVersion));for(let a of s)i+=`
|
|
2770
2766
|
${await kaw(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+st.dim(a.currentVersion)+st.reset(" \u2192 ")+st.green(a.latestVersion);return i+=`
|
|
2771
|
-
`,n?eNt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function kaw(e){let r=await new zrd.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new Error(`Generator ${e} not found`);return r.body.displayName}async function zaw({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let m=Nbt(l.name);if(m==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Rce({generatorName:m,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=Nbt(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let m=await Rce({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});m!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:m})},generatorFilter:r,groupFilter:n}),s}async function Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await N9({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?tR(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Urd(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c=vq(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function l8o({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await zaw({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Urd(u,c,t.logger));else s.push(...Urd(a.versions,void 0,t.logger))}return s}async function kft({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:vxr(e.packageName,{version:t?"prerelease":"latest"})}var Lrd=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],p8o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=to.Info;isLocal;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new mgt(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.85.
|
|
2767
|
+
`,n?eNt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function kaw(e){let r=await new zrd.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new Error(`Generator ${e} not found`);return r.body.displayName}async function zaw({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let m=Nbt(l.name);if(m==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Rce({generatorName:m,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=Nbt(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let m=await Rce({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});m!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:m})},generatorFilter:r,groupFilter:n}),s}async function Vrd({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await N9({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?tR(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Urd(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c=vq(a.latestVersion,a.previousVersion);r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function l8o({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await zaw({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Urd(u,c,t.logger));else s.push(...Urd(a.versions,void 0,t.logger))}return s}async function kft({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:vxr(e.packageName,{version:t?"prerelease":"latest"})}var Lrd=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],p8o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=to.Info;isLocal;constructor(t,r,{isLocal:n}){this.ttyAwareLogger=new mgt(t,r),this.isLocal=n??!1;let i=this.getPackageName(),o=this.getPackageVersion(),s=this.getCliName();(i==null||o==null||s==null)&&this.exitProgram(),this.environment={packageName:i,packageVersion:o,cliName:s}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.85.4"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${st.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Tw}failWithoutThrowing(t,r){this.didSucceed=!1,TEr({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await WFt()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await Mrd({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
2772
2768
|
`)||(r+=`
|
|
2773
2769
|
`),this.stderr.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram({code:t}={}){process.exit(t??(this.didSucceed?0:1))}longestWorkspaceName;registerWorkspaces(t){let r=Ccs(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new _Vr(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(o){throw o.message.includes("globalThis")?(n.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),n.failWithoutThrowing()):n.failWithoutThrowing(void 0,o),new Tw}finally{n.finish()}return i}async instrumentPostHogEvent(t){this.isLocal||(await WFt()).sendEvent(t)}logger=nV((t,...r)=>this.log(t,...r));stderr=nV((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=qrd(t.type==="docs"?"docs":t.workspaceName??"api"),n=1+(this.longestWorkspaceName!=null?qrd(this.longestWorkspaceName):r).length,i=r.padEnd(n),o=Lrd[this.numTasks++%Lrd.length],s=st.hex(o)(i);return{...this.constructTaskInit(),logPrefix:s}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===YA.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let n=t.filter(i=>Ak.indexOf(i.level)>=Ak.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===to.Debug,stderr:r})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await kft({cliEnvironment:this.environment,includePreReleases:t}),n=vq(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await l8o({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await JJa({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:st.yellow("?"),style:{answer:i=>st.cyan(i),message:i=>st.bold(i),highlight:i=>st.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
|
|
2774
2770
|
Cancelled by user.`),new Tw):n}}async getInput(t){return await HJa({message:t.message,default:t.default})}};function qrd(e){return`[${e}]:`}var Wrd=require("fs/promises");async function ZJa({context:e,nameOverride:t,...r}){let n=await sP(t);return n==null?e.failAndThrow(`Directory "${t??sw}" not found.`):await Grd({absolutePathToFernDirectory:n,context:e,nameOverride:t,...r})}async function Grd({absolutePathToFernDirectory:e,cliName:t,cliVersion:r,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:i,context:o}){let s=[],[a,c,u,l,p,m]=await Promise.all([qr(Pt(e,Ke.of(bV))),qr(Pt(e,Ke.of(nP))),qr(Pt(e,Ke.of(aw))),qr(Pt(e,Ke.of(l2t))),qr(Pt(e,Ke.of(jxr))),qr(Pt(e,Ke.of(eBs)))]);(a||c||u||l||p||m)&&(s=await Hrd({cliName:t,fernDirectory:e,cliVersion:r,context:o,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:i}));let f=await pqa({fernDirectory:e,context:o});return s.length===0&&f==null?o.failAndThrow(`No SDK specifications or docs specifications found. Please ensure one of the following .yml (not .yaml) files is present:
|
|
@@ -2866,7 +2862,7 @@ Found ${c.length} preview deployment(s):
|
|
|
2866
2862
|
`));for(let u of c){let l=new Date(u.updatedAt).toLocaleString();i.logger.info(` ${st.cyan(u.url)}`),i.logger.info(` Organization: ${u.organizationId}`),i.logger.info(` Updated: ${l}
|
|
2867
2863
|
`)}})}var Sad=require("fs/promises");var Oad=Symbol.for("immer-nothing"),gad=Symbol.for("immer-draftable"),V7=Symbol.for("immer-state"),Qfw=process.env.NODE_ENV!=="production"?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function BW(e,...t){if(process.env.NODE_ENV!=="production"){let r=Qfw[e],n=typeof r=="function"?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var TVr=Object.getPrototypeOf;function hdr(e){return!!e&&!!e[V7]}function zSt(e){return e?wad(e)||Array.isArray(e)||!!e[gad]||!!e.constructor?.[gad]||FVr(e)||l6o(e):!1}var Mfw=Object.prototype.constructor.toString(),Aad=new WeakMap;function wad(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Aad.get(r);return n===void 0&&(n=Function.toString.call(r),Aad.set(r,n)),n===Mfw}function s6o(e,t,r=!0){u6o(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function u6o(e){let t=e[V7];return t?t.type_:Array.isArray(e)?1:FVr(e)?2:l6o(e)?3:0}function bXa(e,t){return u6o(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function xad(e,t,r){let n=u6o(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function Vfw(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function FVr(e){return e instanceof Map}function l6o(e){return e instanceof Set}function kSt(e){return e.copy_||e.base_}function _Xa(e,t){if(FVr(e))return new Map(e);if(l6o(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let r=wad(e);if(t===!0||t==="class_only"&&!r){let n=Object.getOwnPropertyDescriptors(e);delete n[V7];let i=Reflect.ownKeys(n);for(let o=0;o<i.length;o++){let s=i[o],a=n[s];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(n[s]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[s]})}return Object.create(TVr(e),n)}else{let n=TVr(e);if(n!==null&&r)return{...e};let i=Object.create(n);return Object.assign(i,e)}}function xXa(e,t=!1){return p6o(e)||hdr(e)||!zSt(e)||(u6o(e)>1&&Object.defineProperties(e,{set:o6o,add:o6o,clear:o6o,delete:o6o}),Object.freeze(e),t&&Object.values(e).forEach(r=>xXa(r,!0))),e}function Ufw(){BW(2)}var o6o={value:Ufw};function p6o(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var Lfw={};function QSt(e){let t=Lfw[e];return t||BW(0,e),t}var DVr;function Pad(){return DVr}function qfw(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function bad(e,t){t&&(QSt("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function vXa(e){EXa(e),e.drafts_.forEach(Wfw),e.drafts_=null}function EXa(e){e===DVr&&(DVr=e.parent_)}function _ad(e){return DVr=qfw(DVr,e)}function Wfw(e){let t=e[V7];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function vad(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];return e!==void 0&&e!==r?(r[V7].modified_&&(vXa(t),BW(4)),zSt(e)&&(e=a6o(t,e),t.parent_||c6o(t,e)),t.patches_&&QSt("Patches").generateReplacementPatches_(r[V7].base_,e,t.patches_,t.inversePatches_)):e=a6o(t,r,[]),vXa(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Oad?e:void 0}function a6o(e,t,r){if(p6o(t))return t;let n=e.immer_.shouldUseStrictIteration(),i=t[V7];if(!i)return s6o(t,(o,s)=>Ead(e,i,t,o,s,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return c6o(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;let o=i.copy_,s=o,a=!1;i.type_===3&&(s=new Set(o),o.clear(),a=!0),s6o(s,(c,u)=>Ead(e,i,o,c,u,r,a),n),c6o(e,o,!1),r&&e.patches_&&QSt("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function Ead(e,t,r,n,i,o,s){if(i==null||typeof i!="object"&&!s)return;let a=p6o(i);if(!(a&&!s)){if(process.env.NODE_ENV!=="production"&&i===r&&BW(5),hdr(i)){let c=o&&t&&t.type_!==3&&!bXa(t.assigned_,n)?o.concat(n):void 0,u=a6o(e,i,c);if(xad(r,n,u),hdr(u))e.canAutoFreeze_=!1;else return}else s&&r.add(i);if(zSt(i)&&!a){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&a)return;a6o(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(FVr(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&c6o(e,i)}}}function c6o(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&xXa(t,r)}function Gfw(e,t){let r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:Pad(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},i=n,o=PXa;r&&(i=[n],o=RVr);let{revoke:s,proxy:a}=Proxy.revocable(i,o);return n.draft_=a,n.revoke_=s,a}var PXa={get(e,t){if(t===V7)return e;let r=kSt(e);if(!bXa(r,t))return Hfw(e,r,t);let n=r[t];return e.finalized_||!zSt(n)?n:n===gXa(e.base_,t)?(AXa(e),e.copy_[t]=wXa(n,e)):n},has(e,t){return t in kSt(e)},ownKeys(e){return Reflect.ownKeys(kSt(e))},set(e,t,r){let n=Iad(kSt(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let i=gXa(kSt(e),t),o=i?.[V7];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(Vfw(r,i)&&(r!==void 0||bXa(e.base_,t)))return!0;AXa(e),OXa(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return gXa(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,AXa(e),OXa(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=kSt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){BW(11)},getPrototypeOf(e){return TVr(e.base_)},setPrototypeOf(){BW(12)}},RVr={};s6o(PXa,(e,t)=>{RVr[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});RVr.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&BW(13),RVr.set.call(this,e,t,void 0)};RVr.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&BW(14),PXa.set.call(this,e[0],t,r,e[0])};function gXa(e,t){let r=e[V7];return(r?kSt(r):e)[t]}function Hfw(e,t,r){let n=Iad(t,r);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}function Iad(e,t){if(!(t in e))return;let r=TVr(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=TVr(r)}}function OXa(e){e.modified_||(e.modified_=!0,e.parent_&&OXa(e.parent_))}function AXa(e){e.copy_||(e.copy_=_Xa(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var $fw=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){let o=r;r=t;let s=this;return function(c=o,...u){return s.produce(c,l=>r.call(this,l,...u))}}typeof r!="function"&&BW(6),n!==void 0&&typeof n!="function"&&BW(7);let i;if(zSt(t)){let o=_ad(this),s=wXa(t,void 0),a=!0;try{i=r(s),a=!1}finally{a?vXa(o):EXa(o)}return bad(o,n),vad(i,o)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===Oad&&(i=void 0),this.autoFreeze_&&xXa(i,!0),n){let o=[],s=[];QSt("Patches").generateReplacementPatches_(t,i,o,s),n(o,s)}return i}else BW(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(s,...a)=>this.produceWithPatches(s,c=>t(c,...a));let n,i;return[this.produce(t,r,(s,a)=>{n=s,i=a}),n,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof e?.useStrictIteration=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){zSt(e)||BW(8),hdr(e)&&(e=Kfw(e));let t=_ad(this),r=wXa(e,void 0);return r[V7].isManual_=!0,EXa(t),r}finishDraft(e,t){let r=e&&e[V7];(!r||!r.isManual_)&&BW(9);let{scope_:n}=r;return bad(n,t),vad(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));let n=QSt("Patches").applyPatches_;return hdr(e)?n(e,t):this.produce(e,i=>n(i,t))}};function wXa(e,t){let r=FVr(e)?QSt("MapSet").proxyMap_(e,t):l6o(e)?QSt("MapSet").proxySet_(e,t):Gfw(e,t);return(t?t.scope_:Pad()).drafts_.push(r),r}function Kfw(e){return hdr(e)||BW(10,e),Cad(e)}function Cad(e){if(!zSt(e)||p6o(e))return e;let t=e[V7],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=_Xa(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=_Xa(e,!0);return s6o(r,(i,o)=>{xad(r,i,Cad(o))},n),t&&(t.finalized_=!1),r}var Jfw=new $fw,f6o=Jfw.produce;function Yfw(e){return e.endsWith(`
|
|
2868
2864
|
`)?e:e+`
|
|
2869
|
-
`}async function jad({cliContext:e,targetVersion:t}){if(!t)return e.failAndThrow("Please specify a version to downgrade to using --version");let r=await sP();if(r==null)return e.failAndThrow(`Directory "${sw}" not found.`);let n=await e.runTask(o=>T9({directory:r,context:o})),i=f6o(n.rawConfig,o=>{o.version=t});await(0,Sad.writeFile)(n._absolutePath,Yfw(JSON.stringify(i,void 0,2))),e.logger.info(`Updated ${SC} to version ${t}`)}var g6o=require("fs/promises");var MSt=He(hCn(),1),Dad=He(zg(),1);function Bad(e,t){let r=e.shape,n=e.docs??void 0;return{openApiSchema:Sl._visit(r,{alias:o=>Xfw({aliasTypeDeclaration:o,docs:n}),enum:o=>Zfw({enumTypeDeclaration:o,docs:n}),object:o=>{let s=e.userProvidedExamples[0],a=s==null?imw(t,e.name):void 0,c=s==null&&a==null?omw(t,e.name):void 0;return d6o({properties:o.properties.map(u=>{let l;return s!=null&&s.shape.type==="object"?l=s.shape.properties.find(p=>p.name.wireValue===u.name.wireValue):a!=null?a.type==="reference"&&a.shape.type==="named"&&a.shape.shape.type==="object"&&(l=a.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)):c!=null&&c.type==="body"&&c.value?.shape.type==="named"&&c.value.shape.shape.type==="object"&&(l=c.value.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)),{docs:u.docs??void 0,name:u.name,valueType:u.valueType,example:l}}),extensions:o.extends,docs:n})},union:o=>emw({unionTypeDeclaration:o,docs:n}),undiscriminatedUnion:o=>tmw({undiscriminatedUnionDeclaration:o,docs:n}),_other:()=>{throw new Error("Encountered unknown type: "+r.type)}}),schemaName:Tad(e.name)}}function Xfw({aliasTypeDeclaration:e,docs:t}){return{...Ej(e.aliasOf),description:t}}function Zfw({enumTypeDeclaration:e,docs:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue),description:t}}function emw({unionTypeDeclaration:e,docs:t}){let n={oneOf:e.types.map(i=>{let o={[e.discriminant.wireValue]:{type:"string",enum:[i.discriminantValue.wireValue]}};return TD._visit(i.shape,{noProperties:()=>({type:"object",properties:o,required:[e.discriminant.wireValue]}),singleProperty:s=>({type:"object",properties:{...o,[s.name.wireValue]:Ej(s.type)},required:[e.discriminant.wireValue]}),samePropertiesAsObject:s=>({type:"object",allOf:[{type:"object",properties:o},{$ref:m6o(s)}],required:[e.discriminant.wireValue]}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}),description:t};return e.baseProperties.length>0&&(n.properties=e.baseProperties.reduce((i,o)=>(i[o.name.wireValue]={description:o.docs??void 0,...Ej(o.valueType)},o.valueType.type==="container"&&o.valueType.container.type==="optional"||(n.required=[...n.required??[],o.name.wireValue]),i),{})),n}function tmw({undiscriminatedUnionDeclaration:e,docs:t}){return{oneOf:e.members.map(r=>({description:r.docs??void 0,...Ej(r.type)})),description:t}}function Ej(e){return Bn._visit(e,{container:t=>nmw(t),named:t=>({$ref:m6o(t)}),primitive:t=>rmw(t),unknown:()=>({}),_other:()=>{throw new Error("Encountered unknown typeReference: "+e.type)}})}function rmw(e){return e.v2==null?xc._visit(e.v1,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:()=>({type:"string"}),uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v1)}})??{}:io._visit(e.v2,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:t=>{let r={type:"string"};return t.validation?.format!=null&&(r.format=t.validation.format),t.validation?.pattern!=null&&(r.pattern=t.validation.pattern),r},uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v2)}})}function nmw(e){return Xc._visit(e,{list:t=>({type:"array",items:Ej(t)}),set:t=>({type:"array",items:Ej(t)}),map:t=>t.keyType.type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType.type==="unknown"?{type:"object",additionalProperties:!0}:{type:"object",additionalProperties:Ej(t.valueType)},optional:t=>({...Ej(t),nullable:!0}),nullable:t=>({...Ej(t),nullable:!0}),literal:t=>t._visit({boolean:r=>({type:"boolean",const:r}),string:r=>({type:"string",const:r}),_other:()=>({})}),_other:()=>{throw new Error("Encountered unknown containerType: "+e.type)}})}function m6o(e){return`#/components/schemas/${Tad(e)}`}function Tad(e){return[...e.fernFilepath.packagePath.map(t=>t.originalName),e.name.originalName].join("")}function imw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0)&&n.requestBody?.type==="reference"&&n.requestBody.requestBodyType.type==="named"&&smw(n.requestBody.requestBodyType,t))return n.userSpecifiedExamples[0]?.example?.request??void 0}function omw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0||n.response?.body?.type!=="json")&&n.response.body.value.responseBodyType.type==="named"&&n.response.body.value.responseBodyType.typeId===t.typeId){let i=n.userSpecifiedExamples.find(o=>o.example?.response.type==="ok");if(i!=null&&i.example?.response.type==="ok")return i.example.response.value}}function smw(e,t){return _C(e.fernFilepath,t.fernFilepath)&&_C(e.name,t.name)}function d6o({docs:e,properties:t,extensions:r}){let n={},i=[];t.forEach(s=>{let a=Ej(s.valueType),c;(s.example!=null&&s.valueType.type==="primitive"||s.example!=null&&s.valueType.type==="container"&&s.valueType.container.type==="list"&&s.valueType.container.list.type==="primitive")&&(c=s.example.value.jsonExample),n[s.name.wireValue]={...a,description:s.docs??void 0,example:c},s.valueType.type==="container"&&s.valueType.container.type==="optional"||i.push(s.name.wireValue)});let o={type:"object",description:e,properties:n};return i.length>0&&(o.required=i),r.length>0&&(o.allOf=r.map(s=>({$ref:m6o(s)}))),o}function Rad({ir:e,httpServices:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}){let c={};return t.forEach(u=>{u.endpoints.forEach(l=>{let{fullPath:p,convertedHttpMethod:m,operationObject:f}=amw({ir:e,httpEndpoint:l,httpService:u,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}),h=c[p]??={};if(h[m]!=null)throw new Error(`Duplicate ${m} endpoint at ${p}`);h[m]=f})}),c}function amw({httpEndpoint:e,httpService:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a,ir:c}){let u=(0,Dad.default)(c.basePath!=null?CXa(c.basePath):"",CXa(t.basePath),CXa(e.path));u=u.startsWith("/")?u:`/${u}`;let l=cmw(e.method),p=c.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),m=t.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),f=e.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),h=e.queryParameters.map(v=>mmw({queryParameter:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),y=e.headers.map(v=>dmw({httpHeader:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),g=[...p,...m,...f,...h,...y],A=a==="stoplight"?t.displayName??t.name.fernFilepath.allParts.map(v=>v.originalName).join(" "):t.name.fernFilepath.allParts.map(v=>v.pascalCase.unsafeName).join(""),b={description:e.docs??void 0,operationId:[...t.name.fernFilepath.allParts.map(v=>v.camelCase.unsafeName),e.name.originalName].join("_"),tags:[A],parameters:g,responses:lmw({httpResponse:e.response,responseErrors:e.errors,errorsByName:n,errorDiscriminationStrategy:i,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]}),summary:e.displayName??void 0};if(e.baseUrl!=null){let v=e.baseUrl;if(s?.environments.type!=="multipleBaseUrls")throw new Error("baseUrl is defined environments are not multipleBaseUrls");b.servers=s.environments.environments.map(_=>{let E=_.urls[v];if(E==null)throw new Error("No URL defined for "+v);let O={url:E};return _.docs!=null&&(O.description=_.docs),O})}return e.auth&&(b.security=o),e.requestBody!=null&&(b.requestBody=umw({httpRequest:e.requestBody,typesByName:r,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]})),{fullPath:u,convertedHttpMethod:l,operationObject:b}}function cmw(e){return iw._visit(e,{get:()=>MSt.OpenAPIV3.HttpMethods.GET,post:()=>MSt.OpenAPIV3.HttpMethods.POST,put:()=>MSt.OpenAPIV3.HttpMethods.PUT,patch:()=>MSt.OpenAPIV3.HttpMethods.PATCH,delete:()=>MSt.OpenAPIV3.HttpMethods.DELETE,head:()=>MSt.OpenAPIV3.HttpMethods.HEAD,_other:()=>{throw new Error("Encountered unknown http method: "+e)}})}function umw({httpRequest:e,typesByName:t,examples:r}){let n={};for(let i of r)i.request!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:i.request.jsonExample}:n[`Example${w0(n)+1}`]={value:i.request.jsonExample});return Sb._visit(e,{inlinedRequestBody:i=>{let o={schema:d6o({docs:void 0,properties:i.properties.map(s=>{let a;return r.length>0&&r[0]?.request?.type==="inlinedRequestBody"&&(a=r[0]?.request.properties.find(c=>c.name.wireValue===s.name.wireValue)),{docs:s.docs??void 0,name:s.name,valueType:s.valueType,example:a}}),extensions:i.extends})};return w0(n)>0&&(o.examples=n),{required:!0,content:{"application/json":o}}},reference:i=>{let o={schema:Ej(i.requestBodyType)};return w0(n)>0&&(o.examples=n),{description:i.docs??void 0,required:h6o({typeReference:i.requestBodyType,typesByName:t}),content:{"application/json":o}}},fileUpload:i=>({required:!0,content:{"multipart/form-data":{schema:{type:"object",properties:i.properties.reduce((o,s)=>(Yj._visit(s,{file:a=>{o[a.key.wireValue]={type:"string",format:"binary"}},bodyProperty:a=>{o[a.name.wireValue]={description:a.docs??void 0,...Ej(a.valueType)}},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+s.type)}}),{...o}),{})}}}}),bytes:i=>{let o=i.contentType??"application/octet-stream";return{required:!i.isOptional,description:i.docs??void 0,content:{[o]:{schema:{type:"string",format:"binary"}}}}},_other:()=>{throw new Error("Unknown HttpRequestBody type: "+e.type)}})}function lmw({httpResponse:e,responseErrors:t,errorsByName:r,errorDiscriminationStrategy:n,examples:i}){let o={};if(e?.body?.type==="json"){let s={schema:Ej(e.body.value.responseBodyType)},a={};for(let c of i)c.response.type==="ok"&&c.response.value.type==="body"&&c.response.value.value!=null&&(c.name&&c.name.originalName!==""?a[c.name.originalName]={value:c.response.value.value.jsonExample}:a[`Example${w0(a)+1}`]={value:c.response.value.value.jsonExample});w0(a)>0&&(s.examples=a),o[String(e.statusCode??200)]={description:e.body.value.docs??"",content:{"application/json":s}}}else if(e?.body?.type==="fileDownload"||e?.body?.type==="bytes")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"application/octet-stream":{schema:{type:"string",format:"binary"}}}};else if(e?.body?.type==="text")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"text/plain":{schema:{type:"string"}}}};else if(e?.body?.type==="streaming"){let s=e.body.value,a;switch(s.type){case"sse":a="text/event-stream";break;case"json":a="application/jsonl";break;case"text":a="text/plain";break;default:a="application/octet-stream";break}o[String(e.statusCode??200)]={description:s.docs??"",content:{[a]:{schema:{type:"string",format:"binary"}}}}}else o[204]={description:""};return w9._visit(n,{statusCode:()=>{for(let s of t){let a=r[y6o(s.error)];if(a==null)throw new Error("Encountered undefined error declaration: "+s.error.name.originalName);let c={description:s.docs??""};if(a.type!=null){let u={schema:Ej(a.type)},l={};for(let p of i)p.response.type==="error"&&p.response.body!=null&&_C(s.error,p.response.error)&&(p.name&&p.name.originalName!==""?l[p.name.originalName]={value:p.response.body.jsonExample}:l[`Example${w0(l)+1}`]={value:p.response.body.jsonExample});w0(l)>0&&(u.examples=l),c.content={"application/json":u}}o[a.statusCode]=c}},property:s=>{let a=fmw({responseErrors:t,errorsByName:r});for(let c of Object.keys(a)){let u=a[c];if(u==null||u.length===0)continue;let l={schema:{oneOf:u.map(m=>pmw({errorInfo:m,property:s}))}},p={};for(let m of i)if(m.response.type==="error"&&m.response.body!=null){let f=m.response.error;u.some(h=>_C(h.errorDeclaration.name,f))&&(m.name&&m.name.originalName!==""?p[m.name.originalName]={value:m.response.body.jsonExample}:p[`Example${w0(p)+1}`]={value:m.response.body.jsonExample})}w0(p)>0&&(l.examples=p),o[c]={description:"",content:{"application/json":l}}}},_other:()=>{throw new Error("Unknown error discrimination strategy: "+n.type)}}),o}function pmw({errorInfo:e,property:t}){let r=e.errorDeclaration.discriminantValue.wireValue,n=e.responseError.docs??void 0,i={[t.discriminant.wireValue]:{type:"string",enum:[r]}};return e.errorDeclaration.type!=null&&(i[t.contentProperty.wireValue]=Ej(e.errorDeclaration.type)),{type:"object",description:n,properties:i}}function fmw({responseErrors:e,errorsByName:t}){let r={};for(let n of e){let i=t[y6o(n.error)];if(i==null)throw new Error("Encountered undefined error declaration: "+n.error.name.originalName);let o=i.statusCode,s=r[o];s==null?r[o]=[{responseError:n,errorDeclaration:i}]:s.push({responseError:n,errorDeclaration:i})}return r}function IXa({pathParameter:e,examples:t}){let r={name:e.name.originalName,in:"path",description:e.docs??void 0,required:!0,schema:Ej(e.valueType)},n={};for(let i of t){let o=[...i.rootPathParameters,...i.servicePathParameters,...i.endpointPathParameters].find(s=>s.name.originalName===e.name.originalName);o!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:o.value.jsonExample}:n[`Example${w0(n)+1}`]={value:o.value.jsonExample},r.example==null&&(r.example=o.value.jsonExample))}return w0(n)>0&&(r.examples=n),r}function mmw({queryParameter:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"query",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:e.allowMultiple?Ej(Bn.container(Xc.list(e.valueType))):Ej(e.valueType)},i={};for(let o of r){let s=o.queryParameters.find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function dmw({httpHeader:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"header",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:Ej(e.valueType)},i={};for(let o of r){let s=[...o.serviceHeaders,...o.endpointHeaders].find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function CXa(e){let t=e.head;for(let r of e.parts)t+=`{${r.pathParameter}}${r.tail}`;return t}function h6o({typeReference:e,typesByName:t}){if(e.type==="container"&&e.container.type==="optional")return!1;if(e.type==="named"){let r=SXa(e),n=t[r];if(n==null)throw new Error("Encountered non-existent type: "+e.name.originalName);if(n.shape.type==="alias")return h6o({typeReference:n.shape.aliasOf,typesByName:t})}return!0}function Fad(e){return c1._visit(e.requirement,{all:()=>[e.schemes.reduce((t,r)=>({...t,[jXa(r)]:[]}),{})],any:()=>e.schemes.map(t=>({[jXa(t)]:[]})),endpointSecurity:()=>[],_other:()=>{throw new Error("Unknown auth scheme requirement: "+e.requirement)}})}function Nad(e){let t={};for(let r of e.schemes){let n=nv._visit(r,{bearer:()=>({type:"http",scheme:"bearer"}),basic:()=>({type:"http",scheme:"basic"}),header:i=>({type:"apiKey",in:"header",name:i.name.wireValue}),oauth:()=>({type:"http",scheme:"bearer"}),inferred:()=>{},_other:()=>{throw new Error("Unknown auth scheme: "+r.type)}});n&&(t[jXa(r)]=n)}return t}function jXa(e){return nv._visit(e,{bearer:()=>"BearerAuth",inferred:()=>"InferredAuth",basic:()=>"BasicAuth",oauth:()=>"BearerAuth",header:t=>`${t.name.name.pascalCase.unsafeName}Auth`,_other:()=>{throw new Error("Unknown auth scheme: "+e.type)}})}function kad({apiName:e,ir:t,mode:r}){let n={},i={};Object.values(t.types).forEach(l=>{let p=Bad(l,t);n[p.schemaName]={title:p.schemaName,...p.openApiSchema},i[SXa(l.name)]=l});let o={};Object.values(t.errors).forEach(l=>{o[y6o(l.name)]=l});let s=Fad(t.auth),a=Rad({ir:t,httpServices:Object.values(t.services),typesByName:i,errorsByName:o,errorDiscriminationStrategy:t.errorDiscriminationStrategy,security:s,environments:t.environments??void 0,mode:r}),c={title:t.apiDisplayName??e,version:""};t.apiDocs!=null&&(c.description=t.apiDocs);let u={openapi:"3.0.1",info:c,paths:a,components:{schemas:n,securitySchemes:Nad(t.auth)}};return t.environments!=null&&t.environments.environments.type==="singleBaseUrl"&&(u.servers=t.environments.environments.environments.map(l=>({url:l.url,description:l.docs!=null?`${l.name.originalName} (${l.docs})`:l.name.originalName}))),u}function SXa(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}function y6o(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}async function zad({project:e,cliContext:t,outputPath:r,indent:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await t.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},readme:void 0,version:void 0,packageName:void 0,context:o,sourceResolver:new eO(o,s)}),c=kad({apiName:i.workspaceName??"api",ir:a,mode:"openapi"});await(0,g6o.mkdir)(Ci(r),{recursive:!0}),await(0,g6o.writeFile)(r,r.endsWith(".json")?JSON.stringify(c,void 0,n):Cn.dump(c,{indent:n}))})}))}async function Qad({project:e,cliContext:t,shouldFix:r}){await Promise.all(e.apiWorkspaces.map(async n=>{n instanceof nb||await t.runTaskForWorkspace(n,async i=>{await T5a({workspace:await n.toFernWorkspace({context:i}),context:i,shouldFix:r})})}))}var Mad="group";var Vad=".preview",Uad="approved-output-directories",Lad=".fern";var Kad=require("fs/promises");var Wad=require("fs/promises");var qad=require("os");function NVr(){return Pt(Ar.of((0,qad.homedir)()),Ke.of(Lad),Ke.of(Uad))}async function Gad(){let e=NVr();if(!await qr(e))return[];let r=await(0,Wad.readFile)(e,{encoding:"utf-8"});return JSON.parse(r)}var A6o=require("fs/promises"),Had=He(require("path"),1);async function $ad(e){await(0,A6o.mkdir)(Had.default.dirname(NVr()),{recursive:!0}),await(0,A6o.writeFile)(NVr(),JSON.stringify(e,null,2))}async function Jad(e,t,r){if(!e||jas()||r)return{shouldProceed:!0};let n=await Gad();return n?.includes(e)?{shouldProceed:!0}:await qr(e)?(await(0,Kad.readdir)(e)).length===0?{shouldProceed:!0}:await t.confirmPrompt(`Directory ${e} contains existing files that may be overwritten. Continue?`,!1)?(await $ad([...n??[],e]),{shouldProceed:!0}):{shouldProceed:!1}:{shouldProceed:!0}}var icd=He(Lke(),1);async function Yad({groups:e,visitor:t,nodePath:r,cliVersion:n}){if(e!=null)for(let[i,o]of Object.entries(e))await hmw({group:o,visitor:t,nodePath:[...r,i],cliVersion:n})}async function hmw({group:e,visitor:t,nodePath:r,cliVersion:n}){await Promise.all(e.generators.map(async(i,o)=>await t.generatorInvocation?.({invocation:i,cliVersion:n},[...r,"generators",o.toString(),i.name])))}async function Xad(e,t,r){await r.file?.(e,[]),await Sae(e,{"auth-schemes":Ut,api:Ut,whitelabel:Ut,metadata:Ut,readme:Ut,"default-group":Ut,aliases:Ut,reviewers:Ut,openapi:Ut,"openapi-overrides":Ut,"spec-origin":Ut,"async-api":Ut,"api-settings":Ut,ai:Ut,autorelease:Ut,groups:async n=>{await Yad({groups:n,visitor:r,nodePath:["groups"],cliVersion:t})}})}function Zad({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:n}){function i(o){let s=async(a,c)=>{for(let u of r){let l=u.generatorsYml?.[o];if(l!=null){let p=await l(a,{relativeFilepath:e,contents:t});n(p.map(m=>({severity:m.severity,relativeFilepath:e,nodePath:c,message:m.message})))}}};return{[o]:s}}return{...i("file"),...i("generatorInvocation")}}function ymw(e,t,r){if(!vq(r,t))return[{severity:"fatal",message:`The generator ${e} requires CLI version ${t} or later (current version: ${r}). Please run \`fern upgrade\` to upgrade your CLI version and use this generator.`}]}function gmw(e){return Number(e.replace("v",""))}var BXa={name:"compatible-ir-version",create:async()=>({generatorsYml:{generatorInvocation:async({invocation:e,cliVersion:t})=>{let r=mWr({token:void 0});if(t==null)return[];console.debug(`[FDR] compatible-ir-versions: checking CLI release for version=${t}`);let n=await r.generators.cli.getCliRelease(t);if(!n.ok)return console.debug(`[FDR] compatible-ir-versions: getCliRelease failed for ${t}`,n),[];let i=n.body.irVersion;console.debug(`[FDR] compatible-ir-versions: CLI version=${t} has irVersion=${i}`);let o;if(e["ir-version"]!=null)o=gmw(e["ir-version"]);else{let a={...e,name:tR(e.name)},c=await Pht(a);if(console.debug(`[FDR] compatible-ir-versions: irVersion for ${a.name}@${a.version} = ${c}`),c==null)return console.debug(`[FDR] compatible-ir-versions: could not resolve irVersion for ${a.name}@${a.version}, skipping validation`),[];o=c}if(o<=i)return[];let s=await r.generators.cli.getMinCliForIr(o);return s.ok?ymw(e.name,s.body.version,t)??[]:[]}}})};var TXa={name:"valid-alias-group-references",create:async()=>({generatorsYml:{file:async e=>{let t=[],r=e.aliases,n=e.groups??{};if(r==null)return t;let i=new Set(Object.keys(n));for(let[o,s]of Object.entries(r))if(Array.isArray(s))for(let a of s)i.has(a)||t.push({severity:"error",message:`Alias "${o}" references unknown group "${a}". Available groups: ${[...i].join(", ")||"none"}`});return t}}})};function ecd(){return[BXa,TXa]}async function b6o(e,t){return Amw({workspace:e,rules:ecd(),logger:t})}async function Amw({workspace:e,rules:t,logger:r}){let n=[],i=await Promise.all(t.map(o=>o.create({workspace:e,logger:r})));if(e.generatorsConfiguration?.rawConfiguration){let o=await bmw({contents:e.generatorsConfiguration.rawConfiguration,allRuleVisitors:i,cliVersion:e.cliVersion});n.push(...o)}return n}async function bmw({contents:e,allRuleVisitors:t,cliVersion:r}){let n=[],i=Zad({relativeFilepath:Ke.of(aw),contents:e,allRuleVisitors:t,addViolations:o=>{n.push(...o)}});return await Xad(e,r,i),n}var DXa=He(rcd(),1);async function ncd({workspace:e,context:t,ossWorkspace:r}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let n=performance.now(),i=r_t(e,t.logger),o=await b6o(e,t.logger),s=[...i,...o];r&&s.push(...await CUt(r,t));let a=performance.now()-n,c=s.some(u=>u.severity==="fatal"||u.severity==="error");return{apiName:e.definition.rootApiFile.contents.name,violations:s,elapsedMillis:a,hasErrors:c}}async function wmw({workspace:e,context:t,logWarnings:r,logSummary:n=!0,ossWorkspace:i}){let o=performance.now(),s=r_t(e,t.logger),a=await b6o(e,t.logger),c=[...s,...a];i&&c.push(...await CUt(i,t));let u=performance.now()-o,{hasErrors:l}=sdr({violations:c,context:t,logWarnings:r,logSummary:n,elapsedMillis:u});return{hasErrors:l}}async function qft({workspace:e,context:t,logWarnings:r,ossWorkspace:n}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let{hasErrors:i}=await wmw({workspace:e,context:t,logWarnings:r,ossWorkspace:n});i&&t.failAndThrow()}async function ocd({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,generatorName:o,version:s,shouldLogS3Url:a,token:c,useLocalDocker:u,keepDocker:l,absolutePathToPreview:p,mode:m,runner:f,inspect:h,lfsOverride:y,fernignorePath:g,dynamicIrOnly:A}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspace has no groups specified in ${aw}`);return}let b=i??t.generatorsConfiguration.defaultGroup;if(b==null)return n.failAndThrow(`No group specified. Use the --${Mad} option, or set "${p2t}" in ${aw}`);let v=xmw(b,t.generatorsConfiguration.groupAliases,t.generatorsConfiguration.groups.map(E=>E.groupName),n),{ai:_}=t.generatorsConfiguration;if(!u&&!c)return n.failAndThrow("Please run fern login");await qft({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1,ossWorkspace:t instanceof nb?t:void 0}),await Promise.all(v.map(async E=>{let O=t.generatorsConfiguration?.groups.find(P=>P.groupName===E);if(O==null)return n.failAndThrow(`Group '${E}' does not exist.`);if(o!=null){let P=O.generators.filter(x=>x.name===o);if(P.length===0){let x=O.generators.map(I=>I.name);return n.failAndThrow(`Generator '${o}' not found in group '${E}'. Available generators: ${x.join(", ")}`)}O={...O,generators:P}}y!=null&&(O=Pmw(O,y,n)),v.length>1&&n.logger.info(`Running generation for group '${E}'...`),u?await BMo({token:c,projectConfig:r,workspace:t,generatorGroup:O,version:s,keepDocker:l,context:n,runner:f,absolutePathToPreview:p,inspect:h,ai:_}):c!=null&&await h2r({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:s,shouldLogS3Url:a,token:c,whitelabel:t.generatorsConfiguration?.whitelabel,absolutePathToPreview:p,mode:m,fernignorePath:g,dynamicIrOnly:A})}))}function xmw(e,t,r,n){let i=t[e];if(i!=null){for(let a of i)r.includes(a)||n.failAndThrow(`Group alias '${e}' references non-existent group '${a}'. Available groups: ${r.join(", ")}`);return i}if(r.includes(e))return[e];let o=Object.keys(t),s=[...r,...o];return n.failAndThrow(`'${e}' is not a valid group or alias. Available groups: ${r.join(", ")}`+(o.length>0?`. Available aliases: ${o.join(", ")}`:"")),[]}function Pmw(e,t,r){let n=Ar.of(ya(Vg(),t)),i={},o=[];for(let s of e.generators){let a=s.language??Imw(s.name),c;if(e.generators.length===1)c=n;else{let l=a||"unknown";i[l]==null&&(i[l]=0),i[l]++;let p=i[l]===1?l:`${l}-${i[l]}`;c=Pt(n,Ke.of(p))}let u={...s,outputMode:icd.FernFiddle.remoteGen.OutputMode.downloadFiles({}),absolutePathToLocalOutput:c};o.push(u),r.logger.info(`Overriding output for generator '${s.name}' to local-file-system at: ${c}`)}return{...e,generators:o}}function Imw(e){return e.includes("typescript")||e.includes("ts")?"typescript":e.includes("python")||e.includes("py")?"python":e.includes("java")?"java":e.includes("go")?"go":e.includes("ruby")?"ruby":e.includes("csharp")||e.includes("c#")?"csharp":e.includes("swift")?"swift":e.includes("php")?"php":e.includes("rust")?"rust":e.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}var acd={PullRequest:"pull-request"};async function RXa({project:e,cliContext:t,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,keepDocker:s,useLocalDocker:a,preview:c,mode:u,force:l,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y,outputDir:g}){let A;if(!a){let b=await t.runTask(async v=>qj(v));b.type==="user"&&await t.runTask(async v=>{await qM({organization:e.config.organization,token:b,context:v})}),A=b}for(let b of e.apiWorkspaces){let v=scd(n,b.generatorsConfiguration);for(let _ of b.generatorsConfiguration?.groups.filter(E=>v==null||v.includes(E.groupName)).flatMap(E=>E.generators).filter(E=>i==null||E.name===i)??[]){let{shouldProceed:E}=await Jad(_.absolutePathToLocalOutput,t,l);E||t.failAndThrow("Generation cancelled")}}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(b=>{let v=scd(n,b.generatorsConfiguration);return{name:b.workspaceName,group:n,generators:b.generatorsConfiguration?.groups.filter(_=>v==null||v.includes(_.groupName)).map(_=>_.generators.filter(E=>i==null||E.name===i).map(E=>({name:E.name,version:E.version,outputMode:E.outputMode.type,config:E.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async b=>{await t.runTaskForWorkspace(b,async v=>{let _=c?g!=null?Ar.of(ya(Vg(),g)):Pt(b.absoluteFilePath,Ke.of(Vad)):void 0;_!=null&&v.logger.info(`Writing preview to ${_}`),await ocd({organization:e.config.organization,workspace:b,projectConfig:e.config,context:v,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,token:A,useLocalDocker:a,keepDocker:s,absolutePathToPreview:_,mode:u,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y})})}))}function scd(e,t){if(e==null)return null;if(t==null)return[e];let r=t.groupAliases[e];return r??[e]}function ccd(){return!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.TF_BUILD||process.env.BUILDKITE||process.env.CODEBUILD_BUILD_ID||process.env.TEAMCITY_VERSION||process.env.BITBUCKET_BUILD_NUMBER||process.env.DRONE||process.env.SEMAPHORE||process.env.APPVEYOR||process.env.BUDDY_WORKSPACE_ID||process.env.WERCKER_RUN_ID)}async function ucd({project:e,cliContext:t,instance:r,preview:n,brokenLinks:i,strictBrokenLinks:o,disableTemplates:s,noPrompt:a,skipUpload:c}){let u=e.docsWorkspaces;if(u==null){t.failAndThrow("No docs.yml file found. Please make sure your project has one.");return}let l=process.env.FERN_SELF_HOSTED==="true";if(!n&&!ccd()&&!a){let m=r??u.config.instances[0]?.url,f=m?` (${st.cyan(`https://${m}`)})`:"";if(!await t.confirmPrompt(`This will affect a production site${f}. Run with --preview to generate docs for a preview instance.
|
|
2865
|
+
`}async function jad({cliContext:e,targetVersion:t}){if(!t)return e.failAndThrow("Please specify a version to downgrade to using --version");let r=await sP();if(r==null)return e.failAndThrow(`Directory "${sw}" not found.`);let n=await e.runTask(o=>T9({directory:r,context:o})),i=f6o(n.rawConfig,o=>{o.version=t});await(0,Sad.writeFile)(n._absolutePath,Yfw(JSON.stringify(i,void 0,2))),e.logger.info(`Updated ${SC} to version ${t}`)}var g6o=require("fs/promises");var MSt=He(hCn(),1),Dad=He(zg(),1);function Bad(e,t){let r=e.shape,n=e.docs??void 0;return{openApiSchema:Sl._visit(r,{alias:o=>Xfw({aliasTypeDeclaration:o,docs:n}),enum:o=>Zfw({enumTypeDeclaration:o,docs:n}),object:o=>{let s=e.userProvidedExamples[0],a=s==null?imw(t,e.name):void 0,c=s==null&&a==null?omw(t,e.name):void 0;return d6o({properties:o.properties.map(u=>{let l;return s!=null&&s.shape.type==="object"?l=s.shape.properties.find(p=>p.name.wireValue===u.name.wireValue):a!=null?a.type==="reference"&&a.shape.type==="named"&&a.shape.shape.type==="object"&&(l=a.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)):c!=null&&c.type==="body"&&c.value?.shape.type==="named"&&c.value.shape.shape.type==="object"&&(l=c.value.shape.shape.properties.find(p=>p.name.wireValue===u.name.wireValue)),{docs:u.docs??void 0,name:u.name,valueType:u.valueType,example:l}}),extensions:o.extends,docs:n})},union:o=>emw({unionTypeDeclaration:o,docs:n}),undiscriminatedUnion:o=>tmw({undiscriminatedUnionDeclaration:o,docs:n}),_other:()=>{throw new Error("Encountered unknown type: "+r.type)}}),schemaName:Tad(e.name)}}function Xfw({aliasTypeDeclaration:e,docs:t}){return{...Ej(e.aliasOf),description:t}}function Zfw({enumTypeDeclaration:e,docs:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue),description:t}}function emw({unionTypeDeclaration:e,docs:t}){let n={oneOf:e.types.map(i=>{let o={[e.discriminant.wireValue]:{type:"string",enum:[i.discriminantValue.wireValue]}};return TD._visit(i.shape,{noProperties:()=>({type:"object",properties:o,required:[e.discriminant.wireValue]}),singleProperty:s=>({type:"object",properties:{...o,[s.name.wireValue]:Ej(s.type)},required:[e.discriminant.wireValue]}),samePropertiesAsObject:s=>({type:"object",allOf:[{type:"object",properties:o},{$ref:m6o(s)}],required:[e.discriminant.wireValue]}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}),description:t};return e.baseProperties.length>0&&(n.properties=e.baseProperties.reduce((i,o)=>(i[o.name.wireValue]={description:o.docs??void 0,...Ej(o.valueType)},o.valueType.type==="container"&&o.valueType.container.type==="optional"||(n.required=[...n.required??[],o.name.wireValue]),i),{})),n}function tmw({undiscriminatedUnionDeclaration:e,docs:t}){return{oneOf:e.members.map(r=>({description:r.docs??void 0,...Ej(r.type)})),description:t}}function Ej(e){return Bn._visit(e,{container:t=>nmw(t),named:t=>({$ref:m6o(t)}),primitive:t=>rmw(t),unknown:()=>({}),_other:()=>{throw new Error("Encountered unknown typeReference: "+e.type)}})}function rmw(e){return e.v2==null?xc._visit(e.v1,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:()=>({type:"string"}),uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v1)}})??{}:io._visit(e.v2,{boolean:()=>({type:"boolean"}),dateTime:()=>({type:"string",format:"date-time"}),double:()=>({type:"number",format:"double"}),integer:()=>({type:"integer"}),long:()=>({type:"integer",format:"int64"}),string:t=>{let r={type:"string"};return t.validation?.format!=null&&(r.format=t.validation.format),t.validation?.pattern!=null&&(r.pattern=t.validation.pattern),r},uuid:()=>({type:"string",format:"uuid"}),date:()=>({type:"string",format:"date"}),base64:()=>({type:"string",format:"byte"}),uint:()=>({type:"integer",format:"int64"}),uint64:()=>({type:"integer",format:"int64"}),float:()=>({type:"number",format:"float"}),bigInteger:()=>({type:"integer",format:"bigint"}),_other:()=>{throw new Error("Encountered unknown primitiveType: "+e.v2)}})}function nmw(e){return Xc._visit(e,{list:t=>({type:"array",items:Ej(t)}),set:t=>({type:"array",items:Ej(t)}),map:t=>t.keyType.type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType.type==="unknown"?{type:"object",additionalProperties:!0}:{type:"object",additionalProperties:Ej(t.valueType)},optional:t=>({...Ej(t),nullable:!0}),nullable:t=>({...Ej(t),nullable:!0}),literal:t=>t._visit({boolean:r=>({type:"boolean",const:r}),string:r=>({type:"string",const:r}),_other:()=>({})}),_other:()=>{throw new Error("Encountered unknown containerType: "+e.type)}})}function m6o(e){return`#/components/schemas/${Tad(e)}`}function Tad(e){return[...e.fernFilepath.packagePath.map(t=>t.originalName),e.name.originalName].join("")}function imw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0)&&n.requestBody?.type==="reference"&&n.requestBody.requestBodyType.type==="named"&&smw(n.requestBody.requestBodyType,t))return n.userSpecifiedExamples[0]?.example?.request??void 0}function omw(e,t){for(let r of Object.values(e.services))for(let n of r.endpoints)if(!(n.userSpecifiedExamples.length<=0||n.response?.body?.type!=="json")&&n.response.body.value.responseBodyType.type==="named"&&n.response.body.value.responseBodyType.typeId===t.typeId){let i=n.userSpecifiedExamples.find(o=>o.example?.response.type==="ok");if(i!=null&&i.example?.response.type==="ok")return i.example.response.value}}function smw(e,t){return _C(e.fernFilepath,t.fernFilepath)&&_C(e.name,t.name)}function d6o({docs:e,properties:t,extensions:r}){let n={},i=[];t.forEach(s=>{let a=Ej(s.valueType),c;(s.example!=null&&s.valueType.type==="primitive"||s.example!=null&&s.valueType.type==="container"&&s.valueType.container.type==="list"&&s.valueType.container.list.type==="primitive")&&(c=s.example.value.jsonExample),n[s.name.wireValue]={...a,description:s.docs??void 0,example:c},s.valueType.type==="container"&&s.valueType.container.type==="optional"||i.push(s.name.wireValue)});let o={type:"object",description:e,properties:n};return i.length>0&&(o.required=i),r.length>0&&(o.allOf=r.map(s=>({$ref:m6o(s)}))),o}function Rad({ir:e,httpServices:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}){let c={};return t.forEach(u=>{u.endpoints.forEach(l=>{let{fullPath:p,convertedHttpMethod:m,operationObject:f}=amw({ir:e,httpEndpoint:l,httpService:u,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a}),h=c[p]??={};if(h[m]!=null)throw new Error(`Duplicate ${m} endpoint at ${p}`);h[m]=f})}),c}function amw({httpEndpoint:e,httpService:t,typesByName:r,errorsByName:n,errorDiscriminationStrategy:i,security:o,environments:s,mode:a,ir:c}){let u=(0,Dad.default)(c.basePath!=null?CXa(c.basePath):"",CXa(t.basePath),CXa(e.path));u=u.startsWith("/")?u:`/${u}`;let l=cmw(e.method),p=c.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),m=t.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),f=e.pathParameters.map(v=>IXa({pathParameter:v,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),h=e.queryParameters.map(v=>mmw({queryParameter:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),y=e.headers.map(v=>dmw({httpHeader:v,typesByName:r,examples:e.userSpecifiedExamples.map(_=>_.example).filter(Yc)??[]})),g=[...p,...m,...f,...h,...y],A=a==="stoplight"?t.displayName??t.name.fernFilepath.allParts.map(v=>v.originalName).join(" "):t.name.fernFilepath.allParts.map(v=>v.pascalCase.unsafeName).join(""),b={description:e.docs??void 0,operationId:[...t.name.fernFilepath.allParts.map(v=>v.camelCase.unsafeName),e.name.originalName].join("_"),tags:[A],parameters:g,responses:lmw({httpResponse:e.response,responseErrors:e.errors,errorsByName:n,errorDiscriminationStrategy:i,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]}),summary:e.displayName??void 0};if(e.baseUrl!=null){let v=e.baseUrl;if(s?.environments.type!=="multipleBaseUrls")throw new Error("baseUrl is defined environments are not multipleBaseUrls");b.servers=s.environments.environments.map(_=>{let E=_.urls[v];if(E==null)throw new Error("No URL defined for "+v);let O={url:E};return _.docs!=null&&(O.description=_.docs),O})}return e.auth&&(b.security=o),e.requestBody!=null&&(b.requestBody=umw({httpRequest:e.requestBody,typesByName:r,examples:e.userSpecifiedExamples.map(v=>v.example).filter(Yc)??[]})),{fullPath:u,convertedHttpMethod:l,operationObject:b}}function cmw(e){return iw._visit(e,{get:()=>MSt.OpenAPIV3.HttpMethods.GET,post:()=>MSt.OpenAPIV3.HttpMethods.POST,put:()=>MSt.OpenAPIV3.HttpMethods.PUT,patch:()=>MSt.OpenAPIV3.HttpMethods.PATCH,delete:()=>MSt.OpenAPIV3.HttpMethods.DELETE,head:()=>MSt.OpenAPIV3.HttpMethods.HEAD,_other:()=>{throw new Error("Encountered unknown http method: "+e)}})}function umw({httpRequest:e,typesByName:t,examples:r}){let n={};for(let i of r)i.request!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:i.request.jsonExample}:n[`Example${w0(n)+1}`]={value:i.request.jsonExample});return Sb._visit(e,{inlinedRequestBody:i=>{let o={schema:d6o({docs:void 0,properties:i.properties.map(s=>{let a;return r.length>0&&r[0]?.request?.type==="inlinedRequestBody"&&(a=r[0]?.request.properties.find(c=>c.name.wireValue===s.name.wireValue)),{docs:s.docs??void 0,name:s.name,valueType:s.valueType,example:a}}),extensions:i.extends})};return w0(n)>0&&(o.examples=n),{required:!0,content:{"application/json":o}}},reference:i=>{let o={schema:Ej(i.requestBodyType)};return w0(n)>0&&(o.examples=n),{description:i.docs??void 0,required:h6o({typeReference:i.requestBodyType,typesByName:t}),content:{"application/json":o}}},fileUpload:i=>({required:!0,content:{"multipart/form-data":{schema:{type:"object",properties:i.properties.reduce((o,s)=>(Yj._visit(s,{file:a=>{o[a.key.wireValue]={type:"string",format:"binary"}},bodyProperty:a=>{o[a.name.wireValue]={description:a.docs??void 0,...Ej(a.valueType)}},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+s.type)}}),{...o}),{})}}}}),bytes:i=>{let o=i.contentType??"application/octet-stream";return{required:!i.isOptional,description:i.docs??void 0,content:{[o]:{schema:{type:"string",format:"binary"}}}}},_other:()=>{throw new Error("Unknown HttpRequestBody type: "+e.type)}})}function lmw({httpResponse:e,responseErrors:t,errorsByName:r,errorDiscriminationStrategy:n,examples:i}){let o={};if(e?.body?.type==="json"){let s={schema:Ej(e.body.value.responseBodyType)},a={};for(let c of i)c.response.type==="ok"&&c.response.value.type==="body"&&c.response.value.value!=null&&(c.name&&c.name.originalName!==""?a[c.name.originalName]={value:c.response.value.value.jsonExample}:a[`Example${w0(a)+1}`]={value:c.response.value.value.jsonExample});w0(a)>0&&(s.examples=a),o[String(e.statusCode??200)]={description:e.body.value.docs??"",content:{"application/json":s}}}else if(e?.body?.type==="fileDownload"||e?.body?.type==="bytes")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"application/octet-stream":{schema:{type:"string",format:"binary"}}}};else if(e?.body?.type==="text")o[String(e.statusCode??200)]={description:e.body.docs??"",content:{"text/plain":{schema:{type:"string"}}}};else if(e?.body?.type==="streaming"){let s=e.body.value,a;switch(s.type){case"sse":a="text/event-stream";break;case"json":a="application/jsonl";break;case"text":a="text/plain";break;default:a="application/octet-stream";break}o[String(e.statusCode??200)]={description:s.docs??"",content:{[a]:{schema:{type:"string",format:"binary"}}}}}else o[204]={description:""};return w9._visit(n,{statusCode:()=>{for(let s of t){let a=r[y6o(s.error)];if(a==null)throw new Error("Encountered undefined error declaration: "+s.error.name.originalName);let c={description:s.docs??""};if(a.type!=null){let u={schema:Ej(a.type)},l={};for(let p of i)p.response.type==="error"&&p.response.body!=null&&_C(s.error,p.response.error)&&(p.name&&p.name.originalName!==""?l[p.name.originalName]={value:p.response.body.jsonExample}:l[`Example${w0(l)+1}`]={value:p.response.body.jsonExample});w0(l)>0&&(u.examples=l),c.content={"application/json":u}}o[a.statusCode]=c}},property:s=>{let a=fmw({responseErrors:t,errorsByName:r});for(let c of Object.keys(a)){let u=a[c];if(u==null||u.length===0)continue;let l={schema:{oneOf:u.map(m=>pmw({errorInfo:m,property:s}))}},p={};for(let m of i)if(m.response.type==="error"&&m.response.body!=null){let f=m.response.error;u.some(h=>_C(h.errorDeclaration.name,f))&&(m.name&&m.name.originalName!==""?p[m.name.originalName]={value:m.response.body.jsonExample}:p[`Example${w0(p)+1}`]={value:m.response.body.jsonExample})}w0(p)>0&&(l.examples=p),o[c]={description:"",content:{"application/json":l}}}},_other:()=>{throw new Error("Unknown error discrimination strategy: "+n.type)}}),o}function pmw({errorInfo:e,property:t}){let r=e.errorDeclaration.discriminantValue.wireValue,n=e.responseError.docs??void 0,i={[t.discriminant.wireValue]:{type:"string",enum:[r]}};return e.errorDeclaration.type!=null&&(i[t.contentProperty.wireValue]=Ej(e.errorDeclaration.type)),{type:"object",description:n,properties:i}}function fmw({responseErrors:e,errorsByName:t}){let r={};for(let n of e){let i=t[y6o(n.error)];if(i==null)throw new Error("Encountered undefined error declaration: "+n.error.name.originalName);let o=i.statusCode,s=r[o];s==null?r[o]=[{responseError:n,errorDeclaration:i}]:s.push({responseError:n,errorDeclaration:i})}return r}function IXa({pathParameter:e,examples:t}){let r={name:e.name.originalName,in:"path",description:e.docs??void 0,required:!0,schema:Ej(e.valueType)},n={};for(let i of t){let o=[...i.rootPathParameters,...i.servicePathParameters,...i.endpointPathParameters].find(s=>s.name.originalName===e.name.originalName);o!=null&&(i.name&&i.name.originalName!==""?n[i.name.originalName]={value:o.value.jsonExample}:n[`Example${w0(n)+1}`]={value:o.value.jsonExample},r.example==null&&(r.example=o.value.jsonExample))}return w0(n)>0&&(r.examples=n),r}function mmw({queryParameter:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"query",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:e.allowMultiple?Ej(Bn.container(Xc.list(e.valueType))):Ej(e.valueType)},i={};for(let o of r){let s=o.queryParameters.find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function dmw({httpHeader:e,typesByName:t,examples:r}){let n={name:e.name.wireValue,in:"header",description:e.docs??void 0,required:h6o({typeReference:e.valueType,typesByName:t}),schema:Ej(e.valueType)},i={};for(let o of r){let s=[...o.serviceHeaders,...o.endpointHeaders].find(a=>a.name.wireValue===e.name.wireValue);s!=null&&(o.name&&o.name.originalName!==""?i[o.name.originalName]={value:s.value.jsonExample}:i[`Example${w0(i)+1}`]={value:s.value.jsonExample},n.example==null&&(n.example=s.value.jsonExample))}return w0(i)>0&&(n.examples=i),n}function CXa(e){let t=e.head;for(let r of e.parts)t+=`{${r.pathParameter}}${r.tail}`;return t}function h6o({typeReference:e,typesByName:t}){if(e.type==="container"&&e.container.type==="optional")return!1;if(e.type==="named"){let r=SXa(e),n=t[r];if(n==null)throw new Error("Encountered non-existent type: "+e.name.originalName);if(n.shape.type==="alias")return h6o({typeReference:n.shape.aliasOf,typesByName:t})}return!0}function Fad(e){return c1._visit(e.requirement,{all:()=>[e.schemes.reduce((t,r)=>({...t,[jXa(r)]:[]}),{})],any:()=>e.schemes.map(t=>({[jXa(t)]:[]})),endpointSecurity:()=>[],_other:()=>{throw new Error("Unknown auth scheme requirement: "+e.requirement)}})}function Nad(e){let t={};for(let r of e.schemes){let n=nv._visit(r,{bearer:()=>({type:"http",scheme:"bearer"}),basic:()=>({type:"http",scheme:"basic"}),header:i=>({type:"apiKey",in:"header",name:i.name.wireValue}),oauth:()=>({type:"http",scheme:"bearer"}),inferred:()=>{},_other:()=>{throw new Error("Unknown auth scheme: "+r.type)}});n&&(t[jXa(r)]=n)}return t}function jXa(e){return nv._visit(e,{bearer:()=>"BearerAuth",inferred:()=>"InferredAuth",basic:()=>"BasicAuth",oauth:()=>"BearerAuth",header:t=>`${t.name.name.pascalCase.unsafeName}Auth`,_other:()=>{throw new Error("Unknown auth scheme: "+e.type)}})}function kad({apiName:e,ir:t,mode:r}){let n={},i={};Object.values(t.types).forEach(l=>{let p=Bad(l,t);n[p.schemaName]={title:p.schemaName,...p.openApiSchema},i[SXa(l.name)]=l});let o={};Object.values(t.errors).forEach(l=>{o[y6o(l.name)]=l});let s=Fad(t.auth),a=Rad({ir:t,httpServices:Object.values(t.services),typesByName:i,errorsByName:o,errorDiscriminationStrategy:t.errorDiscriminationStrategy,security:s,environments:t.environments??void 0,mode:r}),c={title:t.apiDisplayName??e,version:""};t.apiDocs!=null&&(c.description=t.apiDocs);let u={openapi:"3.0.1",info:c,paths:a,components:{schemas:n,securitySchemes:Nad(t.auth)}};return t.environments!=null&&t.environments.environments.type==="singleBaseUrl"&&(u.servers=t.environments.environments.environments.map(l=>({url:l.url,description:l.docs!=null?`${l.name.originalName} (${l.docs})`:l.name.originalName}))),u}function SXa(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}function y6o(e){return[...e.fernFilepath.allParts.map(t=>t.originalName),e.name.originalName].join("-")}async function zad({project:e,cliContext:t,outputPath:r,indent:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await t.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,audiences:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},readme:void 0,version:void 0,packageName:void 0,context:o,sourceResolver:new eO(o,s)}),c=kad({apiName:i.workspaceName??"api",ir:a,mode:"openapi"});await(0,g6o.mkdir)(Ci(r),{recursive:!0}),await(0,g6o.writeFile)(r,r.endsWith(".json")?JSON.stringify(c,void 0,n):Cn.dump(c,{indent:n}))})}))}async function Qad({project:e,cliContext:t,shouldFix:r}){await Promise.all(e.apiWorkspaces.map(async n=>{n instanceof nb||await t.runTaskForWorkspace(n,async i=>{await T5a({workspace:await n.toFernWorkspace({context:i}),context:i,shouldFix:r})})}))}var Mad="group";var Vad=".preview",Uad="approved-output-directories",Lad=".fern";var Kad=require("fs/promises");var Wad=require("fs/promises");var qad=require("os");function NVr(){return Pt(Ar.of((0,qad.homedir)()),Ke.of(Lad),Ke.of(Uad))}async function Gad(){let e=NVr();if(!await qr(e))return[];let r=await(0,Wad.readFile)(e,{encoding:"utf-8"});return JSON.parse(r)}var A6o=require("fs/promises"),Had=He(require("path"),1);async function $ad(e){await(0,A6o.mkdir)(Had.default.dirname(NVr()),{recursive:!0}),await(0,A6o.writeFile)(NVr(),JSON.stringify(e,null,2))}async function Jad(e,t,r){if(!e||jas()||r)return{shouldProceed:!0};let n=await Gad();return n?.includes(e)?{shouldProceed:!0}:await qr(e)?(await(0,Kad.readdir)(e)).length===0?{shouldProceed:!0}:await t.confirmPrompt(`Directory ${e} contains existing files that may be overwritten. Continue?`,!1)?(await $ad([...n??[],e]),{shouldProceed:!0}):{shouldProceed:!1}:{shouldProceed:!0}}var icd=He(Lke(),1);async function Yad({groups:e,visitor:t,nodePath:r,cliVersion:n}){if(e!=null)for(let[i,o]of Object.entries(e))await hmw({group:o,visitor:t,nodePath:[...r,i],cliVersion:n})}async function hmw({group:e,visitor:t,nodePath:r,cliVersion:n}){await Promise.all(e.generators.map(async(i,o)=>await t.generatorInvocation?.({invocation:i,cliVersion:n},[...r,"generators",o.toString(),i.name])))}async function Xad(e,t,r){await r.file?.(e,[]),await Sae(e,{"auth-schemes":Ut,api:Ut,whitelabel:Ut,metadata:Ut,readme:Ut,"default-group":Ut,aliases:Ut,reviewers:Ut,openapi:Ut,"openapi-overrides":Ut,"spec-origin":Ut,"async-api":Ut,"api-settings":Ut,ai:Ut,autorelease:Ut,groups:async n=>{await Yad({groups:n,visitor:r,nodePath:["groups"],cliVersion:t})}})}function Zad({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:n}){function i(o){let s=async(a,c)=>{for(let u of r){let l=u.generatorsYml?.[o];if(l!=null){let p=await l(a,{relativeFilepath:e,contents:t});n(p.map(m=>({severity:m.severity,relativeFilepath:e,nodePath:c,message:m.message})))}}};return{[o]:s}}return{...i("file"),...i("generatorInvocation")}}function ymw(e,t,r){if(!vq(r,t))return[{severity:"fatal",message:`The generator ${e} requires CLI version ${t} or later (current version: ${r}). Please run \`fern upgrade\` to upgrade your CLI version and use this generator.`}]}function gmw(e){return Number(e.replace("v",""))}var BXa={name:"compatible-ir-version",create:async()=>({generatorsYml:{generatorInvocation:async({invocation:e,cliVersion:t})=>{if(t==null||t==="0.0.0")return[];let r=mWr({token:void 0});console.debug(`[FDR] compatible-ir-versions: checking CLI release for version=${t}`);let n=await r.generators.cli.getCliRelease(t);if(!n.ok)return console.debug(`[FDR] compatible-ir-versions: getCliRelease failed for ${t}`,n),[];let i=n.body.irVersion;console.debug(`[FDR] compatible-ir-versions: CLI version=${t} has irVersion=${i}`);let o;if(e["ir-version"]!=null)o=gmw(e["ir-version"]);else{let a={...e,name:tR(e.name)},c=await Pht(a);if(console.debug(`[FDR] compatible-ir-versions: irVersion for ${a.name}@${a.version} = ${c}`),c==null)return console.debug(`[FDR] compatible-ir-versions: could not resolve irVersion for ${a.name}@${a.version}, skipping validation`),[];o=c}if(o<=i)return[];let s=await r.generators.cli.getMinCliForIr(o);return s.ok?ymw(e.name,s.body.version,t)??[]:[]}}})};var TXa={name:"valid-alias-group-references",create:async()=>({generatorsYml:{file:async e=>{let t=[],r=e.aliases,n=e.groups??{};if(r==null)return t;let i=new Set(Object.keys(n));for(let[o,s]of Object.entries(r))if(Array.isArray(s))for(let a of s)i.has(a)||t.push({severity:"error",message:`Alias "${o}" references unknown group "${a}". Available groups: ${[...i].join(", ")||"none"}`});return t}}})};function ecd(){return[BXa,TXa]}async function b6o(e,t){return Amw({workspace:e,rules:ecd(),logger:t})}async function Amw({workspace:e,rules:t,logger:r}){let n=[],i=await Promise.all(t.map(o=>o.create({workspace:e,logger:r})));if(e.generatorsConfiguration?.rawConfiguration){let o=await bmw({contents:e.generatorsConfiguration.rawConfiguration,allRuleVisitors:i,cliVersion:e.cliVersion});n.push(...o)}return n}async function bmw({contents:e,allRuleVisitors:t,cliVersion:r}){let n=[],i=Zad({relativeFilepath:Ke.of(aw),contents:e,allRuleVisitors:t,addViolations:o=>{n.push(...o)}});return await Xad(e,r,i),n}var DXa=He(rcd(),1);async function ncd({workspace:e,context:t,ossWorkspace:r}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let n=performance.now(),i=r_t(e,t.logger),o=await b6o(e,t.logger),s=[...i,...o];r&&s.push(...await CUt(r,t));let a=performance.now()-n,c=s.some(u=>u.severity==="fatal"||u.severity==="error");return{apiName:e.definition.rootApiFile.contents.name,violations:s,elapsedMillis:a,hasErrors:c}}async function wmw({workspace:e,context:t,logWarnings:r,logSummary:n=!0,ossWorkspace:i}){let o=performance.now(),s=r_t(e,t.logger),a=await b6o(e,t.logger),c=[...s,...a];i&&c.push(...await CUt(i,t));let u=performance.now()-o,{hasErrors:l}=sdr({violations:c,context:t,logWarnings:r,logSummary:n,elapsedMillis:u});return{hasErrors:l}}async function qft({workspace:e,context:t,logWarnings:r,ossWorkspace:n}){(0,DXa.default)(e.definition.rootApiFile.contents.name).validForNewPackages||t.failAndThrow("API name is not valid.");let{hasErrors:i}=await wmw({workspace:e,context:t,logWarnings:r,ossWorkspace:n});i&&t.failAndThrow()}async function ocd({organization:e,workspace:t,projectConfig:r,context:n,groupName:i,generatorName:o,version:s,shouldLogS3Url:a,token:c,useLocalDocker:u,keepDocker:l,absolutePathToPreview:p,mode:m,runner:f,inspect:h,lfsOverride:y,fernignorePath:g,dynamicIrOnly:A}){if(t.generatorsConfiguration==null){n.logger.warn("This workspaces has no generators.yml");return}if(t.generatorsConfiguration.groups.length===0){n.logger.warn(`This workspace has no groups specified in ${aw}`);return}let b=i??t.generatorsConfiguration.defaultGroup;if(b==null)return n.failAndThrow(`No group specified. Use the --${Mad} option, or set "${p2t}" in ${aw}`);let v=xmw(b,t.generatorsConfiguration.groupAliases,t.generatorsConfiguration.groups.map(E=>E.groupName),n),{ai:_}=t.generatorsConfiguration;if(!u&&!c)return n.failAndThrow("Please run fern login");await qft({workspace:await t.toFernWorkspace({context:n}),context:n,logWarnings:!1,ossWorkspace:t instanceof nb?t:void 0}),await Promise.all(v.map(async E=>{let O=t.generatorsConfiguration?.groups.find(P=>P.groupName===E);if(O==null)return n.failAndThrow(`Group '${E}' does not exist.`);if(o!=null){let P=O.generators.filter(x=>x.name===o);if(P.length===0){let x=O.generators.map(I=>I.name);return n.failAndThrow(`Generator '${o}' not found in group '${E}'. Available generators: ${x.join(", ")}`)}O={...O,generators:P}}y!=null&&(O=Pmw(O,y,n)),v.length>1&&n.logger.info(`Running generation for group '${E}'...`),u?await BMo({token:c,projectConfig:r,workspace:t,generatorGroup:O,version:s,keepDocker:l,context:n,runner:f,absolutePathToPreview:p,inspect:h,ai:_}):c!=null&&await h2r({projectConfig:r,organization:e,workspace:t,context:n,generatorGroup:O,version:s,shouldLogS3Url:a,token:c,whitelabel:t.generatorsConfiguration?.whitelabel,absolutePathToPreview:p,mode:m,fernignorePath:g,dynamicIrOnly:A})}))}function xmw(e,t,r,n){let i=t[e];if(i!=null){for(let a of i)r.includes(a)||n.failAndThrow(`Group alias '${e}' references non-existent group '${a}'. Available groups: ${r.join(", ")}`);return i}if(r.includes(e))return[e];let o=Object.keys(t),s=[...r,...o];return n.failAndThrow(`'${e}' is not a valid group or alias. Available groups: ${r.join(", ")}`+(o.length>0?`. Available aliases: ${o.join(", ")}`:"")),[]}function Pmw(e,t,r){let n=Ar.of(ya(Vg(),t)),i={},o=[];for(let s of e.generators){let a=s.language??Imw(s.name),c;if(e.generators.length===1)c=n;else{let l=a||"unknown";i[l]==null&&(i[l]=0),i[l]++;let p=i[l]===1?l:`${l}-${i[l]}`;c=Pt(n,Ke.of(p))}let u={...s,outputMode:icd.FernFiddle.remoteGen.OutputMode.downloadFiles({}),absolutePathToLocalOutput:c};o.push(u),r.logger.info(`Overriding output for generator '${s.name}' to local-file-system at: ${c}`)}return{...e,generators:o}}function Imw(e){return e.includes("typescript")||e.includes("ts")?"typescript":e.includes("python")||e.includes("py")?"python":e.includes("java")?"java":e.includes("go")?"go":e.includes("ruby")?"ruby":e.includes("csharp")||e.includes("c#")?"csharp":e.includes("swift")?"swift":e.includes("php")?"php":e.includes("rust")?"rust":e.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}var acd={PullRequest:"pull-request"};async function RXa({project:e,cliContext:t,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,keepDocker:s,useLocalDocker:a,preview:c,mode:u,force:l,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y,outputDir:g}){let A;if(!a){let b=await t.runTask(async v=>qj(v));b.type==="user"&&await t.runTask(async v=>{await qM({organization:e.config.organization,token:b,context:v})}),A=b}for(let b of e.apiWorkspaces){let v=scd(n,b.generatorsConfiguration);for(let _ of b.generatorsConfiguration?.groups.filter(E=>v==null||v.includes(E.groupName)).flatMap(E=>E.generators).filter(E=>i==null||E.name===i)??[]){let{shouldProceed:E}=await Jad(_.absolutePathToLocalOutput,t,l);E||t.failAndThrow("Generation cancelled")}}await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate",properties:{workspaces:e.apiWorkspaces.map(b=>{let v=scd(n,b.generatorsConfiguration);return{name:b.workspaceName,group:n,generators:b.generatorsConfiguration?.groups.filter(_=>v==null||v.includes(_.groupName)).map(_=>_.generators.filter(E=>i==null||E.name===i).map(E=>({name:E.name,version:E.version,outputMode:E.outputMode.type,config:E.config})))}})}}),await Promise.all(e.apiWorkspaces.map(async b=>{await t.runTaskForWorkspace(b,async v=>{let _=c?g!=null?Ar.of(ya(Vg(),g)):Pt(b.absoluteFilePath,Ke.of(Vad)):void 0;_!=null&&v.logger.info(`Writing preview to ${_}`),await ocd({organization:e.config.organization,workspace:b,projectConfig:e.config,context:v,version:r,groupName:n,generatorName:i,shouldLogS3Url:o,token:A,useLocalDocker:a,keepDocker:s,absolutePathToPreview:_,mode:u,runner:p,inspect:m,lfsOverride:f,fernignorePath:h,dynamicIrOnly:y})})}))}function scd(e,t){if(e==null)return null;if(t==null)return[e];let r=t.groupAliases[e];return r??[e]}function ccd(){return!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.TF_BUILD||process.env.BUILDKITE||process.env.CODEBUILD_BUILD_ID||process.env.TEAMCITY_VERSION||process.env.BITBUCKET_BUILD_NUMBER||process.env.DRONE||process.env.SEMAPHORE||process.env.APPVEYOR||process.env.BUDDY_WORKSPACE_ID||process.env.WERCKER_RUN_ID)}async function ucd({project:e,cliContext:t,instance:r,preview:n,brokenLinks:i,strictBrokenLinks:o,disableTemplates:s,noPrompt:a,skipUpload:c}){let u=e.docsWorkspaces;if(u==null){t.failAndThrow("No docs.yml file found. Please make sure your project has one.");return}let l=process.env.FERN_SELF_HOSTED==="true";if(!n&&!ccd()&&!a){let m=r??u.config.instances[0]?.url,f=m?` (${st.cyan(`https://${m}`)})`:"";if(!await t.confirmPrompt(`This will affect a production site${f}. Run with --preview to generate docs for a preview instance.
|
|
2870
2866
|
${st.yellow("?")} Are you sure you want to continue?`,!1)){t.logger.info("Docs generation cancelled.");return}}let p=null;if(l){let m=process.env.FERN_TOKEN;if(!m){t.failAndThrow("No token found. Please set the FERN_TOKEN environment variable.");return}p={type:"organization",value:m}}else if(p=await t.runTask(async m=>qj(m)),p.type==="user"){let m=p;await t.runTask(async f=>{await qM({organization:e.config.organization,token:m,context:f})})}l||await t.instrumentPostHogEvent({orgId:e.config.organization,command:"fern generate --docs"}),await t.runTaskForWorkspace(u,async m=>{await $od({workspace:u,context:m,logWarnings:!1,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:await tz(e),errorOnBrokenLinks:o,excludeRules:Cmw(i,o,l)}),m.logger.info("Validation complete, starting remote docs generation...");let f=performance.now(),h=await tz(e),y=performance.now()-f;m.logger.debug(`Filtered OSS workspaces (${h.length} workspaces) in ${y.toFixed(0)}ms`);let g=performance.now();await qqa({organization:e.config.organization,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:h,docsWorkspace:u,context:m,token:p,instanceUrl:r,preview:n,disableTemplates:s,skipUpload:c});let A=performance.now()-g;m.logger.debug(`Remote docs generation completed in ${A.toFixed(0)}ms`)})}function Cmw(e,t,r){let n=[];return!e&&!t&&n.push(jVr.ValidMarkdownLinks.name),r&&n.push(jVr.ValidFileTypes.name),n}var lcd=He(require("path"),1);async function ydr({workspace:e,context:t,generationLanguage:r,keywords:n,smartCasing:i,disableExamples:o,audiences:s,readme:a,disableDynamicExamples:c}){return await qft({workspace:e,context:t,logWarnings:!1}),pw({workspace:e,generationLanguage:r,keywords:n,smartCasing:i,exampleGeneration:{disabled:o},audiences:s,readme:a,version:void 0,packageName:void 0,context:t,sourceResolver:new eO(t,e),disableDynamicExamples:c})}async function pcd({project:e,irFilepath:t,cliContext:r,generationLanguage:n,audiences:i,version:o,keywords:s,smartCasing:a,disableDynamicExamples:c}){await Promise.all(e.apiWorkspaces.map(async u=>{await r.runTaskForWorkspace(u,async l=>{r.logger.info(`Generating IR for workspace ${u.workspaceName??"api"}`);let p=await u.toFernWorkspace({context:l}),m=await ydr({workspace:p,context:l,generationLanguage:n,keywords:s,smartCasing:a,disableExamples:!1,audiences:i,readme:void 0,disableDynamicExamples:c});if(m.dynamic==null)throw new Error("Internal error; dynamic IR was not generated");let f=lcd.default.resolve(t);await KM(Ar.of(f),m.dynamic),l.logger.info(`Wrote IR to ${f}`)})}))}var fcd=He(require("path"),1);async function mcd({project:e,outputFilepath:t,cliContext:r,audiences:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=await ydr({workspace:s,context:o,generationLanguage:void 0,audiences:n,keywords:void 0,smartCasing:!1,disableExamples:!1,readme:void 0,disableDynamicExamples:!0}),c=$V({ir:a,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},context:o}),u=Ar.of(fcd.default.resolve(t));await KM(u,c,{pretty:!0}),o.logger.info(`Wrote FDR API definition to ${u}`)})}))}var dcd=He(require("path"),1);async function hcd({project:e,irFilepath:t,cliContext:r,generationLanguage:n,audiences:i,version:o,keywords:s,smartCasing:a,readme:c,directFromOpenapi:u,disableExamples:l}){await Promise.all(e.apiWorkspaces.map(async p=>{await r.runTaskForWorkspace(p,async m=>{r.logger.info(`Generating IR for workspace ${p.workspaceName??"api"}`);let f=await Smw({workspace:p,context:m,generationLanguage:n,keywords:s,smartCasing:a,disableExamples:l,audiences:i,version:o,readme:c,directFromOpenapi:u}),h=Ar.of(dcd.default.resolve(t));await KM(h,f,{pretty:!0}),m.logger.info(`Wrote IR to ${h}`)})}))}async function Smw({workspace:e,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:o,disableExamples:s,version:a,readme:c,directFromOpenapi:u}){let l;if(u&&e instanceof nb)l=await e.getIntermediateRepresentation({context:t,audiences:n,enableUniqueErrorsPerEndpoint:!0,generateV1Examples:!1,logWarnings:!1});else{let p=await e.toFernWorkspace({context:t});l=await ydr({workspace:p,context:t,generationLanguage:r,audiences:n,keywords:i,smartCasing:o,disableExamples:s,readme:c,disableDynamicExamples:!0})}return a==null?Lo.IntermediateRepresentation.jsonOrThrow(l,{unrecognizedObjectKeys:"strip"}):c2r({intermediateRepresentation:l,version:a,context:t})}var ycd=He(require("path"),1);async function FXa({project:e,outputFilepath:t,cliContext:r,directFromOpenapi:n,audiences:i}){await Promise.all(e.apiWorkspaces.map(async o=>{await r.runTaskForWorkspace(o,async s=>{let a=n?await X3s(o,s,i):await Mqs(o,s),c=Ar.of(ycd.default.resolve(t));await KM(c,a,{pretty:!0}),s.logger.info(`Wrote FDR API definition to ${c}`)})}))}var gcd=He(require("path"),1);async function Acd({project:e,irFilepath:t,cliContext:r,sdkLanguage:n}){await Promise.all(e.apiWorkspaces.map(async i=>{await r.runTaskForWorkspace(i,async o=>{if(i instanceof R2){o.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(i instanceof nb))return;let s=new Kce(i.absoluteFilePath),a=await ZK({context:o,specs:i.specs}),c=HAt({context:o,documents:await s.loadDocuments({context:o,specs:a})}),u=Ar.of(gcd.default.resolve(t)),l=Su.OpenApiIntermediateRepresentation.jsonOrThrow(c,{skipValidation:!0});await KM(u,l,{pretty:!0}),o.logger.info(`Wrote IR to ${u}`)})}))}var _6o=require("fs/promises");async function _cd({originalPath:e,modifiedPath:t,outputPath:r,cliContext:n}){await n.runTask(async i=>{if(!await qr(e))return i.failAndThrow(`Original file does not exist: ${e}`);if(!await qr(t))return i.failAndThrow(`Modified file does not exist: ${t}`);i.logger.info(`Comparing ${e} with ${t}`);let o=await bcd(e,i),s=await bcd(t,i),a=jmw(o,s);if(Object.keys(a).length===0){i.logger.info("No differences found between the two specs.");return}let c;if(r!=null)c=r;else{let u=Gke(e),l="openapi-overrides.yml";if(u!=null){let p=u.lastIndexOf(".");p>0&&(l=`${u.substring(0,p)}-overrides.yml`)}c=Pt(Ci(e),Ke.of(l))}await(0,_6o.writeFile)(c,Cn.dump(a,{lineWidth:-1,noRefs:!0})),i.logger.info(`Overrides written to ${c}`)})}async function bcd(e,t){let r=await(0,_6o.readFile)(e,"utf8");try{return JSON.parse(r)}catch{try{return Cn.load(r)}catch{return t.failAndThrow(`Failed to parse file as JSON or YAML: ${e}`)}}}function jmw(e,t){let r={};for(let n of Object.keys(t))if(t[n]!==void 0){let i=vcd(e[n],t[n],n);i!==void 0&&Object.keys(i).length>0&&(r[n]=i)}return r}function vcd(e,t,r){if(t===void 0)return;if(e==null)return t;if(typeof t!="object"||t===null)return e!==t?t:void 0;if(Array.isArray(t))return NXa(e,t)?void 0:t;if(typeof e!="object"||e===null||Array.isArray(e))return t;let n={};for(let i of Object.keys(t)){let o=vcd(e[i],t[i],`${r}.${i}`);o!==void 0&&(n[i]=o)}if(Object.keys(n).length!==0)return n}function NXa(e,t){if(e===t)return!0;if(e===null||t===null||e===void 0||t===void 0)return e===t;if(typeof e!=typeof t)return!1;if(typeof e!="object")return e===t;if(Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!NXa(e[i],t[i]))return!1;return!0}let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i of r)if(!Object.hasOwn(t,i)||!NXa(e[i],t[i]))return!1;return!0}var v6o=require("fs/promises");async function kXa({project:e,includeModels:t,cliContext:r}){await Promise.all(e.apiWorkspaces.map(async n=>{await r.runTaskForWorkspace(n,async i=>{n instanceof nb?await Tmw({workspace:n,context:i,includeModels:t}):i.logger.warn("Skipping fern workspace definition generation")})}))}async function Bmw(e,t){let r=null;try{let n=(await(0,v6o.readFile)(e,"utf8")).toString();try{r=JSON.parse(n)}catch{r=Cn.load(n,{json:!0})}}catch{return t.failAndThrow(`Failed to read OpenAPI overrides from file ${e}`)}return r}async function Tmw({workspace:e,includeModels:t,context:r}){let n=new Kce(e.absoluteFilePath),i=await ZK({context:r,specs:e.specs});for(let o of i){let s=HAt({context:r,documents:await n.loadDocuments({context:r,specs:[o]})}),a={};o.absoluteFilepathToOverrides!==void 0&&(a=await Bmw(o.absoluteFilepathToOverrides,r));let c="path"in a?a.path:{};for(let f of s.endpoints){let h=aPr(f);f.path in c||(c[f.path]={});let y=c[f.path];if(y!=null&&y[f.method]==null){let g=h.file.split("/").map(b=>b.replace(".yml","")).filter(b=>b!=="__package__"),A={};g.length>0&&(A["x-fern-sdk-group-name"]=g),A["x-fern-sdk-method-name"]=h.endpointId,y[f.method.toLowerCase()]=A}else a==null&&r.logger.warn(`Endpoint ${f.path} ${f.method} is defined multiple times`)}let u="path"in a?a.path:{};if(t){Ecd(u,s.groupedSchemas.rootSchemas);for(let[f,h]of Object.entries(s.groupedSchemas.namespacedSchemas))Ecd(u,h)}let l={schemas:u},p=Gke(o.absoluteFilepath),m="openapi-overrides.yml";if(p!=null){let f=p.lastIndexOf(".");if(f>0){let h=p.substring(0,f),y=p.substring(f);m=`${h}-overrides${y}`}}await(0,v6o.writeFile)(Pt(Ci(o.absoluteFilepath),Ke.of(m)),Cn.dump({paths:c,components:l}))}}function Ecd(e,t){for(let[r,n]of Object.entries(t)){if(r in e)continue;let i={};i["x-fern-type-name"]="nameOverride"in n?n.nameOverride??r:r,e[r]=i}}function Ocd({enum:e,context:t}){return{type:"string",enum:e.values.map(r=>r.name.wireValue)}}function wcd({container:e,context:t}){switch(e.type){case"list":return{type:"array",items:bL({typeReference:e.list,context:t})};case"map":return{type:"object",additionalProperties:bL({typeReference:e.valueType,context:t})};case"optional":return e.optional.type==="container"&&e.optional.container.type==="nullable"?{oneOf:[bL({typeReference:e.optional.container.nullable,context:t}),{type:"null"}]}:{oneOf:[bL({typeReference:e.optional,context:t}),{type:"null"}]};case"nullable":return{oneOf:[bL({typeReference:e.nullable,context:t}),{type:"null"}]};case"set":return{type:"array",items:bL({typeReference:e.set,context:t}),uniqueItems:!0};case"literal":switch(e.literal.type){case"string":return{const:e.literal.string};case"boolean":return{const:e.literal.boolean};default:Ve(e.literal)}default:Ve(e)}}function bL({typeReference:e,context:t}){switch(e.type){case"named":{let r=t.getTypeDeclarationForId({typeId:e.typeId});if(!t.hasDefinition(e.typeId)&&!t.isBuildingTypeDeclaration(e.typeId)){t.buildingTypeDeclaration(e.typeId);let n=gdr({typeDeclaration:r,context:t});t.registerDefinition(e.typeId,n),t.finishedBuildingTypeDeclaration(e.typeId)}return{$ref:`#/definitions/${t.getDefinitionKey(r)}`}}case"container":return wcd({container:e.container,context:t});case"primitive":return Dmw(e.primitive.v1);case"unknown":return{type:["string","number","boolean","object","array","null"]};default:Ve(e)}}function Dmw(e){switch(e){case xc.String:return{type:"string"};case xc.Integer:return{type:"integer"};case xc.Long:return{type:"integer"};case xc.Uint:return{type:"integer",minimum:0};case xc.Uint64:return{type:"integer",minimum:0};case xc.Float:return{type:"number"};case xc.Double:return{type:"number"};case xc.Boolean:return{type:"boolean"};case xc.Date:return{type:"string",format:"date"};case xc.DateTime:return{type:"string",format:"date-time"};case xc.Uuid:return{type:"string",format:"uuid"};case xc.Base64:return{type:"string",contentEncoding:"base64"};case xc.BigInteger:return{type:"string",pattern:"^-?[0-9]+$"};default:Ve(e)}}function xcd({object:e,context:t}){let r={type:"object"},n=[...e.extendedProperties??[],...e.properties],i=n.map(s=>{let a=s.name.wireValue,c=bL({typeReference:s.valueType,context:t});return[a,c]}),o=n.filter(s=>!t.isOptional(s.valueType)).map(s=>s.name.wireValue);return i.length>0&&(r.properties=Object.fromEntries(i)),o.length>0&&(r.required=o),r.additionalProperties=e.extraProperties,r}function Pcd({undiscriminatedUnion:e,context:t}){return{anyOf:e.members.map(r=>{let n=bL({typeReference:r.type,context:t});return r.docs&&(n.description=r.docs),n})}}function Icd({union:e,context:t}){let r=e.discriminant.wireValue;return{type:"object",properties:{[r]:{type:"string",enum:e.types.map(n=>n.discriminantValue.wireValue)}},oneOf:e.types.map(n=>{let i={},o=[];switch(n.shape.propertiesType){case"samePropertiesAsObject":{let s=t.getTypeDeclarationForId({typeId:n.shape.typeId}),a=gdr({typeDeclaration:s,context:t});i=a.properties??{},o=Array.isArray(a.required)?a.required:[];break}case"singleProperty":i.value=bL({typeReference:n.shape.type,context:t});break;case"noProperties":break;default:Ve(n.shape)}return{properties:{[r]:{const:n.discriminantValue.wireValue},...i},required:[r,...o]}})}}function gdr({typeDeclaration:e,context:t}){switch(e.shape.type){case"object":return xcd({object:e.shape,context:t});case"alias":return bL({typeReference:e.shape.aliasOf,context:t});case"enum":return Ocd({enum:e.shape,context:t});case"union":return Icd({union:e.shape,context:t});case"undiscriminatedUnion":return Pcd({undiscriminatedUnion:e.shape,context:t});default:Ve(e.shape)}}var E6o=class{context;ir;buildingTypeIds=new Set;definitions={};constructor(t,r){this.context=t,this.ir=r}getTypeDeclarationForId({typeName:t,typeId:r}){let n=this.ir.types[r];return n??(t!=null&&this.context.logger.error(`Type ${t} not found`),this.context.failAndThrow())}isOptional(t){if(t.type==="container"&&t.container.type==="optional")return!0;if(t.type==="named"){let r=this.getTypeDeclarationForId({typeId:t.typeId});if(r.shape.type==="alias")return this.isOptional(r.shape.aliasOf)}return!1}registerDefinition(t,r){let n=this.getTypeDeclarationForId({typeId:t});this.definitions[this.getDefinitionKey(n)]=r}getDefinitions(){return this.definitions}hasDefinition(t){let r=this.getTypeDeclarationForId({typeId:t});return this.getDefinitionKey(r)in this.definitions}getDefinitionKey(t){return[...t.name.fernFilepath.allParts.map(r=>r.originalName),t.name.name.originalName].join(".")}buildingTypeDeclaration(t){this.buildingTypeIds.add(t)}finishedBuildingTypeDeclaration(t){this.buildingTypeIds.delete(t)}isBuildingTypeDeclaration(t){return this.buildingTypeIds.has(t)}};function zXa(e){let t=new E6o(e.context,e.ir),r=t.getTypeDeclarationForId({typeId:e.typeId,typeName:e.typeName});return{...gdr({typeDeclaration:r,context:t}),definitions:t.getDefinitions()}}var O6o=require("fs/promises");async function Ccd({typeLocator:e,project:t,jsonschemaFilepath:r,cliContext:n}){await Promise.all(t.apiWorkspaces.map(async i=>{await n.runTaskForWorkspace(i,async o=>{let s=await i.toFernWorkspace({context:o}),a=pw({workspace:s,context:o,generationLanguage:void 0,audiences:{type:"all"},keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!0},disableDynamicExamples:!0,version:void 0,packageName:void 0,readme:void 0,sourceResolver:new eO(o,s)}),c=e.split("."),u=d1({generationLanguage:void 0,keywords:void 0,smartCasing:!1}),l=c[c.length-1]??e,p=c.length>1?`${c.slice(0,-1).join("/")}.yml`:By,m=Wd.generateTypeId({fernFilepath:Aq({relativeFilepath:Ke.of(`${c.slice(0,-1).join("/")}.yml`),casingsGenerator:u}),name:u.generateName(l),displayName:void 0}),f=zXa({ir:a,typeName:l,typeId:m,context:o});await qr(Ci(r))||await(0,O6o.mkdir)(Ci(r),{recursive:!0}),await(0,O6o.writeFile)(r,JSON.stringify(f,null,2)),o.logger.info(st.green(`Wrote JSON Schema to ${r}`))})}))}var QXa=He($Tn(),1);var w6o=He(zg(),1);function Scd({request:e,example:t}){if(t.request==null&&Object.entries(e.body??{}).length===0)return{type:"equal"};if(typeof t.request?.jsonExample=="object"){if(Yge(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{})))return{type:"equal"};for(let[r,n]of Object.entries(t.request?.jsonExample??{})){let i=e.body[r];if(!_C(i,n))return{type:"notEqual",parameter:[r],actualValue:i,expectedValue:n,location:"body"}}return{type:"equal"}}return Yge(JSON.stringify(e.body),JSON.stringify(t.request?.jsonExample??{}))?{type:"equal"}:{type:"notEqual",parameter:[],actualValue:e.body,expectedValue:t.request?.jsonExample,location:"body"}}function jcd({request:e,example:t}){for(let r of[...t.serviceHeaders,...t.endpointHeaders]){let n=e.headers[r.name.wireValue.toLowerCase()];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:n,expectedValue:r.value.jsonExample,location:"header"}}return{type:"equal"}}function Bcd({request:e,example:t}){for(let r of[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters]){let n=e.params[r.name.originalName];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.originalName],actualValue:n,expectedValue:r.value.jsonExample,location:"path"}}return{type:"equal"}}function Tcd({request:e,example:t}){for(let r of[...t.queryParameters]){let n=e.query[r.name.wireValue];if(!Yge(n,typeof r.value.jsonExample=="string"?r.value.jsonExample:JSON.stringify(r.value.jsonExample)))return{type:"notEqual",parameter:[r.name.wireValue],actualValue:n,expectedValue:r.value.jsonExample,location:"query"}}return{type:"equal"}}function Dcd({request:e,example:t}){let r=Bcd({request:e,example:t});if(r.type==="notEqual")return r;let n=Tcd({request:e,example:t});if(n.type==="notEqual")return n;let i=jcd({request:e,example:t});if(i.type==="notEqual")return i;let o=Scd({request:e,example:t});return o.type==="notEqual"?o:{type:"equal"}}var VSt=class{app=(0,QXa.default)();context;server=void 0;port=void 0;constructor({context:t,ir:r,port:n}){this.context=t,this.app.use(QXa.default.json({limit:"50mb",strict:!1})),this.port=n;let i=new Map;for(let c of Object.values(r.services))for(let u of c.endpoints){let l=Rmw(u);t.logger.debug(`Registering ${u.method} ${l} ...`);let p=i.get(l)??new Map,m=p.get(u.method)??[];i.set(l,p.set(u.method,[...m,u]))}let o=(c,u)=>{let l=c[0],p=u[0],m=l.split("/"),f=p.split("/");if(m.length!==f.length)return m.length-f.length;for(let h=0;h<Math.min(m.length,f.length);h++){let y=m[h],g=f[h];if(y===g)continue;if(y==null||g==null)return y==null?-1:1;let A=y.startsWith(":"),b=g.startsWith(":");return A&&!b?1:!A&&b?-1:y.localeCompare(g)}return 0},a=Array.from(i).sort(o);for(let[c,u]of a)for(let[l,p]of u)switch(l){case"GET":this.app.get(c,zVr(p));break;case"POST":this.app.post(c,zVr(p));break;case"PUT":this.app.put(c,zVr(p));break;case"PATCH":this.app.patch(c,zVr(p));break;case"DELETE":this.app.delete(c,zVr(p));break}}stop(){this.server?.close()}async start(){return this.port=this.port??await i9e(),this.server=this.app.listen(this.port),this.context.logger.info(`Running Fern mock server on localhost: ${this.port}`),this.port}async keepAlive(){await new Promise(()=>{})}};function Rmw(e){let t="";e.fullPath.head.length>0&&(t=(0,w6o.default)(t,e.fullPath.head));for(let r of e.fullPath.parts)t=(0,w6o.default)(t,":"+r.pathParameter),r.tail.length>0&&(t=(0,w6o.default)(t,r.tail));return t.startsWith("/")?t:`/${t}`}function zVr(e){let t=!1;return(r,n)=>{let i=[];for(let o of e)for(let s of[...o.userSpecifiedExamples,...o.autogeneratedExamples])if(t=!0,s.example!=null){let a=Dcd({request:r,example:s.example});if(a.type==="notEqual"){i.push(a);continue}s.example.response?._visit({ok:c=>{c._visit({body:u=>{if(u==null){n.sendStatus(o.response?.statusCode??204);return}if(o.response?.body?.type==="text"){n.contentType("text/plain"),n.send(u.jsonExample);return}n.json(u.jsonExample)},stream:u=>{u.forEach(l=>{n.write(l.jsonExample)}),n.end()},sse:u=>{n.setHeader("Content-Type","text/event-stream"),u.forEach(l=>{n.write(`event: ${l.event}
|
|
2871
2867
|
`),n.write(`data: ${JSON.stringify(l.data.jsonExample)}
|
|
2872
2868
|
|