fern-api 3.4.3 → 3.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +5 -5
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -1152,7 +1152,7 @@ ${t4p.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&T9s(th
|
|
|
1152
1152
|
`+HHi.default.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?HHi.default.cyan(l4p(t,this.opt.mask)):HHi.default.italic(HHi.default.dim("[hidden]")):this.opt.mask?l4p(t,this.opt.mask):HHi.default.italic(HHi.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 A0o=ae(b1(),1);var l3p=ae(hGs(),1),g0o=require("child_process"),oTn=require("fs"),v0o=ae(require("path"),1),f3p=ae(require("os"),1),d3p=require("crypto"),kGs=ae(s3p(),1);var h0o=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var tOa=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var y0o=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var b0o=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function O0o(e="",t,r){let i=new e7s(e,r);i.runAsync((n,a)=>{if(n)setImmediate(t,n,void 0);else try{i.cleanup(),setImmediate(t,void 0,a)}catch(o){setImmediate(t,o,void 0)}})}function c3p(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function YgS(e){let t=[],r="";for(let i=0;i<e.length;i++){let n=e.charAt(i);i>0&&n===" "&&e[i-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${n}`}return r.length>0&&t.push(r),t}var e7s=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=YgS(t).map(n=>n.replace("\\ "," ")),i=r.shift();this.editor={args:r,bin:i}}createTemporaryFile(){try{let t=this.fileOptions.dir??f3p.default.tmpdir(),r=(0,d3p.randomUUID)(),i=c3p(this.fileOptions.prefix),n=c3p(this.fileOptions.postfix),a=`${i}${r}${n}`,o=v0o.default.resolve(t,a),c=v0o.default.resolve(t)+v0o.default.sep;if(!o.startsWith(c))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=o;let f={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(f.mode=this.fileOptions.mode),(0,oTn.writeFileSync)(this.tempFile,this.text,f)}catch(t){throw new h0o(t)}}readTemporaryFile(){try{let t=(0,oTn.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,l3p.detect)(t)??"utf8";kGs.default.encodingExists(r)||(r="utf8"),this.text=kGs.default.decode(t,r)}}catch(t){throw new y0o(t)}}removeTemporaryFile(){try{(0,oTn.unlinkSync)(this.tempFile)}catch(t){throw new b0o(t)}}launchEditor(){try{let t=(0,g0o.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new tOa(t)}}launchEditorAsync(t){try{(0,g0o.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",i=>{this.lastExitStatus=i,setImmediate(t)})}catch(r){throw new tOa(r)}}};var p3p=ae(ehe(),1);var rOa=class extends v1{_run(t){this.done=t,this.editorResult=new p3p.Subject;let r=qQ(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let i=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,i?this.render():this.startExternalEditor(),this}render(t){let r="",i=this.getQuestion();i+=this.status==="answered"?A0o.default.dim("Received"):A0o.default.dim("Press <enter> to launch your preferred editor."),t&&(r=A0o.default.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),O0o(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 v3p=require("stream");var y3p=ae(require("readline"),1),b3p=ae(h3p(),1),YHi=class{constructor(t){this.rl||=y3p.default.createInterface(ZgS(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 ZgS(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let n=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw n.isTtyError=!0,n}let r=new b3p.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var iOa=class extends YHi{constructor(t={}){super(t),this.log=new v3p.Writable({write:(r,i,n)=>{this.writeLog(r),n()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return Uga(this.rl,this.bottomBar.split(`
|
|
1153
1153
|
`).length),this}updateBottomBar(t){return Uga(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+`
|
|
1154
1154
|
`}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&&Wmo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var dO=ae(ehe(),1),A3p=ae(uga(),1);var m0o=ae(ehe(),1),g3p=ae(uga(),1),P0o=function(e,t,r){return typeof e[t]!="function"?(0,m0o.of)(e):(0,m0o.from)((0,g3p.default)(e[t])(r).then(i=>(e[t]=i,e)))};var O3p={set:(e,t="",r)=>{let i=e;t.split(".").forEach((n,a,o)=>{n==="__proto__"||n==="constructor"||(a===o.length-1?i[n]=r:(!(n in i)||typeof i[n]!="object")&&(i[n]={}),i=i[n])})},get:(e,t="",r)=>{let i=a=>String.prototype.split.call(t,a).filter(Boolean).reduce((o,c)=>o!=null?o[c]:o,e),n=i(/[,[\]]+?/)||i(/[,.[\]]+?/);return n===void 0||n===e?r:n}},uTn=class extends YHi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let i;return Array.isArray(t)?i=(0,dO.from)(t):(0,dO.isObservable)(t)?i=t:Object.values(t).every(n=>typeof n=="object"&&!Array.isArray(n)&&n!=null)?i=(0,dO.from)(Object.entries(t).map(([n,a])=>({name:n,...a}))):i=(0,dO.from)([t]),this.process=i.pipe((0,dO.concatMap)(this.processQuestion.bind(this)),(0,dO.publish)()),this.process.connect(),this.process.pipe((0,dO.reduce)((n,a)=>(O3p.set(n,a.name,a.answer),n),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,dO.defer)(()=>(0,dO.of)(t).pipe((0,dO.concatMap)(this.setDefaultType.bind(this)),(0,dO.concatMap)(this.filterIfRunnable.bind(this)),(0,dO.concatMap)(()=>P0o(t,"message",this.answers)),(0,dO.concatMap)(()=>P0o(t,"default",this.answers)),(0,dO.concatMap)(()=>P0o(t,"choices",this.answers)),(0,dO.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,dO.defer)(()=>(0,dO.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,dO.defer)(()=>(0,dO.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&O3p.get(this.answers,t.name)!==void 0)return dO.EMPTY;if(t.when===!1)return dO.EMPTY;if(typeof t.when!="function")return(0,dO.of)(t);let{answers:r}=this;return(0,dO.defer)(()=>(0,dO.from)((0,A3p.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,dO.filter)(i=>i!=null)))}};function m3p(e){let t=function(r,i){let n;try{n=new uTn(t.prompts,e)}catch(o){return Promise.reject(o)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",Vga),this.registerPrompt("input",GHi),this.registerPrompt("number",Wga),this.registerPrompt("confirm",xga),this.registerPrompt("rawlist",Gga),this.registerPrompt("expand",Hga),this.registerPrompt("checkbox",Kga),this.registerPrompt("password",Jga),this.registerPrompt("editor",rOa)},t.restoreDefaultPrompts(),t}var r7s=m3p();function eOS(e,t){r7s.registerPrompt(e,t)}function tOS(){r7s.restoreDefaultPrompts()}var rOS={prompt:r7s,ui:{BottomBar:iOa,Prompt:uTn},createPromptModule:m3p,registerPrompt:eOS,restoreDefaultPrompts:tOS,Separator:E6},j0o=rOS;var OTn=require("path"),t8p=require("fs"),r8p=require("readline"),ELp="posthog-node";function DmS(e,{organization:t,projectId:r,prefix:i,severityAllowList:n=["error"]}={}){return a=>{if(!(n==="*"||n.includes(a.level)))return a;a.tags||(a.tags={});let c=a.tags[x0o.POSTHOG_ID_TAG];if(c===void 0)return a;let f=e.options.host??"https://us.i.posthog.com",s=new URL(`/project/${e.apiKey}/person/${c}`,f).toString();a.tags["PostHog Person URL"]=s;let u=a.exception?.values||[],l=u.map(_=>({..._,stacktrace:_.stacktrace?{..._.stacktrace,type:"raw",frames:(_.stacktrace.frames||[]).map(h=>({...h,platform:"node:javascript"}))}:void 0})),p={$exception_message:u[0]?.value||a.message,$exception_type:u[0]?.type,$exception_personURL:s,$exception_level:a.level,$exception_list:l,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:u[0]?.value||a.message,$sentry_exception_type:u[0]?.type,$sentry_tags:a.tags};return t&&r&&(p.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+a.event_id),e.capture({event:"$exception",distinctId:c,properties:p}),a}}var x0o=class{constructor(t,r,i,n){this.name=ELp,this.name=ELp,this.setupOnce=function(a,o){let c=o()?.getClient()?.getDsn()?.projectId;a(DmS(t,{organization:r,projectId:c,prefix:i,severityAllowList:n}))}}};x0o.POSTHOG_ID_TAG="posthog_distinct_id";var Q0o="0123456789abcdef",G0o=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length!==16)throw new TypeError("not 128-bit length");return new e(t)}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/2**8,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}else throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Q0o.charAt(this.bytes[r]>>>4),t+=Q0o.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Q0o.charAt(this.bytes[r]>>>4),t+=Q0o.charAt(this.bytes[r]&15);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},U7s=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??BmS()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else if(t+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return G0o.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}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,G0o.ofInner(t)}},BmS=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),SLp,L7s=()=>ImS().toString(),ImS=()=>(SLp||(SLp=new U7s)).generate();function CmS(e,t){let r=!1;return Object.assign(i=>{let a=global.process.listeners("uncaughtException").filter(o=>o.name!=="domainUncaughtExceptionClear"&&o._posthogErrorHandler!==!0).length===0;e(i,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&a&&(r=!0,t())},{_posthogErrorHandler:!0})}function qmS(e,t){global.process.on("uncaughtException",CmS(e,t))}function TmS(e){global.process.on("unhandledRejection",t=>{e(t,{mechanism:{type:"onunhandledrejection",handled:!1}})})}var U0o,MLp,L0o;function RmS(e){let t=globalThis._posthogChunkIds;if(!t)return console.error("No chunk id map found"),{};let r=Object.keys(t);return L0o&&r.length===MLp||(MLp=r.length,L0o=r.reduce((i,n)=>{U0o||(U0o={});let a=U0o[n];if(a)i[a[0]]=a[1];else{let o=e(n);for(let c=o.length-1;c>=0;c--){let s=o[c]?.filename,u=t[n];if(s&&u){i[s]=u,U0o[n]=[s,u];break}}}return i},{})),L0o}function zmS(e){return typeof Event<"u"&&i8p(e,Event)}function NmS(e){return n8p(e,"Object")}function $7s(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return i8p(e,Error)}}function i8p(e,t){try{return e instanceof t}catch{return!1}}function FmS(e){return n8p(e,"ErrorEvent")}function n8p(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}async function QmS(e,t,r,i){let a=i&&i.mechanism||{handled:!0,type:"generic"},o=a8p(a,r,i);return{$exception_list:await Promise.all(o.map(async s=>{let u=await HmS(e,t,s);return u.value=u.value||"",u.type=u.type||"Error",u.mechanism=a,u}))}}function a8p(e,t,r){let i=UmS(e,t,r);return i.cause?[i,...a8p(e,i.cause,r)]:[i]}function UmS(e,t,r){if($7s(t))return t;if(e.synthetic=!0,NmS(t)){let n=LmS(t);if(n)return n;let a=VmS(t),o=r?.syntheticException||new Error(a);return o.message=a,o}let i=r?.syntheticException||new Error(t);return i.message=`${t}`,i}function LmS(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let r=e[t];if($7s(r))return r}}function VmS(e){if("name"in e&&typeof e.name=="string"){let i=`'${e.name}' captured as exception`;return"message"in e&&typeof e.message=="string"&&(i+=` with message '${e.message}'`),i}else if("message"in e&&typeof e.message=="string")return e.message;let t=xmS(e);if(FmS(e))return`Event \`ErrorEvent\` captured as exception with message \`${e.message}\``;let r=WmS(e);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${t}`}function WmS(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function xmS(e,t=40){let r=Object.keys(GmS(e));r.sort();let i=r[0];if(!i)return"[object has no keys]";if(i.length>=t)return DLp(i,t);for(let n=r.length;n>0;n--){let a=r.slice(0,n).join(", ");if(!(a.length>t))return n===r.length?a:DLp(a,t)}return""}function DLp(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function GmS(e){return $7s(e)?{message:e.message,name:e.name,stack:e.stack,...BLp(e)}:zmS(e)?{type:e.type,target:ILp(e.target),currentTarget:ILp(e.currentTarget),...BLp(e)}:e}function BLp(e){if(typeof e=="object"&&e!==null){let t={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}else return{}}function ILp(e){try{return Object.prototype.toString.call(e)}catch{return"<unknown>"}}async function HmS(e,t,r){let i={type:r.name||r.constructor.name,value:r.message},n=KmS(e,r);for(let a of t)n=await a(n);return n.length&&(i.stacktrace={frames:n,type:"raw"}),i}function KmS(e,t){return JmS(e(t.stack||"",1),e)}function JmS(e,t){let r=RmS(t);return e.forEach(i=>{i.filename&&(i.chunk_id=r[i.filename])}),e}var $mS=2e3,bTn=class e{static async captureException(t,r,i,n,a){let o={...a};n||(o.$process_person_profile=!1);let c=await QmS(this.stackParser,this.frameModifiers,r,i);t.capture({event:"$exception",distinctId:n||L7s(),properties:{...c,...o}})}constructor(t,r){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this.startAutocaptureIfEnabled()}startAutocaptureIfEnabled(){this.isEnabled()&&(qmS(this.onException.bind(this),this.onFatalError.bind(this)),TmS(this.onException.bind(this)))}onException(t,r){e.captureException(this.client,t,r)}async onFatalError(){await this.client.shutdown($mS)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}};function YmS(e=process.argv[1]?(0,OTn.dirname)(process.argv[1]):process.cwd(),t=OTn.sep==="\\"){let r=t?CLp(e):e;return i=>{if(!i)return;let n=t?CLp(i):i,{dir:a,base:o,ext:c}=OTn.posix.parse(n);(c===".js"||c===".mjs"||c===".cjs")&&(o=o.slice(0,c.length*-1));let f=decodeURIComponent(o);a||(a=".");let s=a.lastIndexOf("/node_modules");if(s>-1)return`${a.slice(s+14).replace(/\//g,".")}:${f}`;if(a.startsWith(r)){let u=a.slice(r.length+1).replace(/\//g,".");return u?`${u}:${f}`:f}return f}}function CLp(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var H0o=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)}}},W0o=new H0o(25),o8p=new H0o(20),Y7s=7,XmS=1e3,ZmS=1e4;async function kmS(e){let t={};for(let n=e.length-1;n>=0;n--){let a=e[n],o=a?.filename;if(!a||typeof o!="string"||typeof a.lineno!="number"||i0S(o)||n0S(a))continue;t[o]||(t[o]=[]),t[o].push(a.lineno)}let r=Object.keys(t);if(r.length==0)return e;let i=[];for(let n of r){if(o8p.get(n))continue;let a=t[n];if(!a)continue;a.sort((f,s)=>f-s);let o=o0S(a);if(o.every(f=>a0S(n,f)))continue;let c=u0S(W0o,n,{});i.push(e0S(n,o,c))}return await Promise.all(i).catch(()=>{}),e&&e.length>0&&t0S(e,W0o),W0o.reduce(),e}function e0S(e,t,r){return new Promise(i=>{let n=(0,t8p.createReadStream)(e),a=(0,r8p.createInterface)({input:n});function o(){n.destroy(),i()}let c=0,f=0,s=t[f];if(s===void 0){o();return}let u=s[0],l=s[1];function p(){o8p.set(e,1),a.close(),a.removeAllListeners(),o()}n.on("error",p),a.on("error",p),a.on("close",o),a.on("line",_=>{if(c++,!(c<u)&&(r[c]=s0S(_,0),c>=l)){if(f===t.length-1){a.close(),a.removeAllListeners();return}f++;let h=t[f];if(h===void 0){a.close(),a.removeAllListeners();return}u=h[0],l=h[1]}})})}function t0S(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let i=t.get(r.filename);if(i===void 0)continue;r0S(r.lineno,r,i)}}function r0S(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let n=u8p(e);n<e;n++){let a=r[n];if(a===void 0){qLp(t);return}t.pre_context.push(a)}if(r[e]===void 0){qLp(t);return}t.context_line=r[e];let i=s8p(e);t.post_context=[];for(let n=e+1;n<=i;n++){let a=r[n];if(a===void 0)break;t.post_context.push(a)}}function qLp(e){delete e.pre_context,delete e.context_line,delete e.post_context}function i0S(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function n0S(e){return e.lineno!==void 0&&e.lineno>ZmS||e.colno!==void 0&&e.colno>XmS}function a0S(e,t){let r=W0o.get(e);if(r===void 0)return!1;for(let i=t[0];i<=t[1];i++)if(r[i]===void 0)return!1;return!0}function o0S(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let i=TLp(r),n=[];for(;;){if(t===e.length-1){n.push(i);break}let a=e[t+1];if(typeof a!="number")break;a<=i[1]?i[1]=a+Y7s:(n.push(i),i=TLp(a)),t++}return n}function TLp(e){return[u8p(e),s8p(e)]}function u8p(e){return Math.max(1,e-Y7s)}function s8p(e){return e+Y7s}function u0S(e,t,r){let i=e.get(t);return i===void 0?(e.set(t,r),r):i}function s0S(e,t){let r=e,i=r.length;if(i<=150)return r;t>i&&(t=i);let n=Math.max(t-60,0);n<5&&(n=0);let a=Math.min(n+140,i);return a>i-5&&(a=i),a===i&&(n=Math.max(a-140,0)),r=r.slice(n,a),n>0&&(r=`...${r}`),a<i&&(r+="..."),r}var c0S="4.18.0",I6;(function(e){e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.DecideEndpointWasHit="decide_endpoint_was_hit",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config"})(I6||(I6={}));var RLp;(function(e){e.Left="left",e.Right="right",e.Center="center"})(RLp||(RLp={}));var zLp;(function(e){e.Button="button",e.Tab="tab",e.Selector="selector"})(zLp||(zLp={}));var NLp;(function(e){e.Popover="popover",e.API="api",e.Widget="widget"})(NLp||(NLp={}));var FLp;(function(e){e.Html="html",e.Text="text"})(FLp||(FLp={}));var QLp;(function(e){e.Number="number",e.Emoji="emoji"})(QLp||(QLp={}));var ULp;(function(e){e.Open="open",e.MultipleChoice="multiple_choice",e.SingleChoice="single_choice",e.Rating="rating",e.Link="link"})(ULp||(ULp={}));var LLp;(function(e){e.NextQuestion="next_question",e.End="end",e.ResponseBased="response_based",e.SpecificQuestion="specific_question"})(LLp||(LLp={}));var VLp;(function(e){e.Regex="regex",e.NotRegex="not_regex",e.Exact="exact",e.IsNot="is_not",e.Icontains="icontains",e.NotIcontains="not_icontains"})(VLp||(VLp={}));var WLp;(function(e){e.Contains="contains",e.Exact="exact",e.Regex="regex"})(WLp||(WLp={}));var l0S=e=>{if("flags"in e){let t=d0S(e.flags),r=p0S(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}else{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([n,a])=>[n,c8p(a)])),i=Object.fromEntries(Object.entries(t).map(([n,a])=>[n,f0S(n,a,r[n])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:i}}};function f0S(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 d0S=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,X7s(r)]).filter(([,t])=>t!==void 0)),p0S=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let i=t[r];return i.enabled&&i.metadata&&i.metadata.payload!==void 0}).map(r=>{let i=t[r].metadata?.payload;return[r,i?c8p(i):void 0]}))},X7s=e=>e===void 0?void 0:e.variant??e.enabled,c8p=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}},_0S=1,h0S=new Set(["61be3dd8","96f6df5f","8cfdba9b","bf027177","e59430a8","7fa5500b","569798e9","04809ff7","0ebc61a5","32de7f98","3beeb69a","12d34ad9","733853ec","0645bb64","5dcbee21","b1f95fa3","2189e408","82b460c2","3a8cc979","29ef8843","2cdbf767","38084b54","50f9f8de","41d0df91","5c236689","c11aedd3","ada46672","f4331ee1","42fed62a","c957462c","d62f705a","e0162666","01b3e5cf","441cef7f","bb9cafee","8f348eb0","b2553f3a","97469d7d","39f21a76","03706dcc","27d50569","307584a7","6433e92e","150c7fbb","49f57f22","3772f65b","01eb8256","3c9e9234","f853c7f7","c0ac4b67","cd609d40","10ca9b1a","8a87f11b","8e8e5216","1f6b63b3","db7943dd","79b7164c","07f78e33","2d21b6fd","952db5ee","a7d3b43f","1924dd9c","84e1b8f6","dff631b6","c5aa8a79","fa133a95","498a4508","24748755","98f3d658","21bbda67","7dbfed69","be3ec24c","fc80b8e2","75cc0998"]),y0S="utf8";function b0S(e,t){if(!e||typeof e!="string"||v0S(e))throw new Error(t)}function v0S(e){return e.trim().length===0}function g0S(e){return e?.replace(/\/+$/,"")}async function O0S(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function xLp(){return new Date().getTime()}function F7s(){return new Date().toISOString()}function K0o(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}function A0S(){return typeof fetch<"u"?fetch:typeof globalThis.fetch<"u"?globalThis.fetch:void 0}function m0S(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16).padStart(8,"0")}function P0S(e,t=0,r){let i=m0S(e);return r?.has(i)?!1:parseInt(i,16)/4294967295<t}function GLp(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var pOa=String.fromCharCode,HLp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",V0o={};function j0S(e,t){if(!V0o[e]){V0o[e]={};for(let r=0;r<e.length;r++)V0o[e][e.charAt(r)]=r}return V0o[e][t]}var hTn={compressToBase64:function(e){if(e==null)return"";let t=hTn._compress(e,6,function(r){return HLp.charAt(r)});switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return e==null?"":e==""?null:hTn._decompress(e.length,32,function(t){return j0S(HLp,e.charAt(t))})},compress:function(e){return hTn._compress(e,16,function(t){return pOa(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],o,c,f="",s="",u="",l=2,p=3,_=2,h=0,y=0,b;for(b=0;b<e.length;b+=1)if(f=e.charAt(b),Object.prototype.hasOwnProperty.call(i,f)||(i[f]=p++,n[f]=!0),s=u+f,Object.prototype.hasOwnProperty.call(i,s))u=s;else{if(Object.prototype.hasOwnProperty.call(n,u)){if(u.charCodeAt(0)<256){for(o=0;o<_;o++)h=h<<1,y==t-1?(y=0,a.push(r(h)),h=0):y++;for(c=u.charCodeAt(0),o=0;o<8;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1}else{for(c=1,o=0;o<_;o++)h=h<<1|c,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=0;for(c=u.charCodeAt(0),o=0;o<16;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1}l--,l==0&&(l=Math.pow(2,_),_++),delete n[u]}else for(c=i[u],o=0;o<_;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1;l--,l==0&&(l=Math.pow(2,_),_++),i[s]=p++,u=String(f)}if(u!==""){if(Object.prototype.hasOwnProperty.call(n,u)){if(u.charCodeAt(0)<256){for(o=0;o<_;o++)h=h<<1,y==t-1?(y=0,a.push(r(h)),h=0):y++;for(c=u.charCodeAt(0),o=0;o<8;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1}else{for(c=1,o=0;o<_;o++)h=h<<1|c,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=0;for(c=u.charCodeAt(0),o=0;o<16;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1}l--,l==0&&(l=Math.pow(2,_),_++),delete n[u]}else for(c=i[u],o=0;o<_;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1;l--,l==0&&(l=Math.pow(2,_),_++)}for(c=2,o=0;o<_;o++)h=h<<1|c&1,y==t-1?(y=0,a.push(r(h)),h=0):y++,c=c>>1;for(;;)if(h=h<<1,y==t-1){a.push(r(h));break}else y++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:hTn._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},o=4,c=4,f=3,s="",u,l,p,_,h,y,b;for(u=0;u<3;u+=1)i[u]=u;for(p=0,h=Math.pow(2,2),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;switch(p){case 0:for(p=0,h=Math.pow(2,8),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;b=pOa(p);break;case 1:for(p=0,h=Math.pow(2,16),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;b=pOa(p);break;case 2:return""}for(i[3]=b,l=b,n.push(b);;){if(a.index>e)return"";for(p=0,h=Math.pow(2,f),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;switch(b=p){case 0:for(p=0,h=Math.pow(2,8),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;i[c++]=pOa(p),b=c-1,o--;break;case 1:for(p=0,h=Math.pow(2,16),y=1;y!=h;)_=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),p|=(_>0?1:0)*y,y<<=1;i[c++]=pOa(p),b=c-1,o--;break;case 2:return n.join("")}if(o==0&&(o=Math.pow(2,f),f++),i[b])s=i[b];else if(b===c)s=l+l.charAt(0);else return null;n.push(s),i[c++]=l+s.charAt(0),o--,l=s,o==0&&(o=Math.pow(2,f),f++)}}},V7s=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}},vTn=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()}},_Oa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function KLp(e){if(e instanceof vTn){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 Q7s(e){return typeof e=="object"&&(e instanceof vTn||e instanceof _Oa)}function JLp(e){return typeof e=="object"&&e instanceof vTn&&e.status===413}var W7s;(function(e){e.FeatureFlags="feature_flags",e.Recordings="recordings"})(W7s||(W7s={}));var x7s=class{constructor(t,r){this.flushPromise=null,this.shutdownPromise=null,this.pendingPromises={},this._events=new V7s,this._isInitialized=!1,b0S(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=g0S(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.captureMode=r?.captureMode||"json",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:Q7s},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}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(I6.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(I6.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(I6.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>console.log("PostHog Debug",i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){let r=L7s();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}async identifyStatelessImmediate(t,r,i){let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",n,i)}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}async captureStatelessImmediate(t,r,i,n){let a=this.buildPayload({distinct_id:t,event:r,properties:i});await this.sendImmediate("capture",a,n)}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}async aliasStatelessImmediate(t,r,i,n){let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",a,n)}groupIdentifyStateless(t,r,i,n,a,o){this.wrap(()=>{let c=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...o||{}}});this.enqueue("capture",c,n)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,i={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,i,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(n=>n.json()).catch(n=>{this.logMsgIfDebug(()=>console.error("Remote config could not be loaded",n)),this._events.emit("error",n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let c=P0S(this.apiKey,_0S,h0S)?`${this.host}/flags/?v=2`:`${this.host}/decide/?v=4`,f={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.logMsgIfDebug(()=>console.log("PostHog Debug","Decide URL",c)),this.fetchWithRetry(c,f,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(s=>s.json()).then(s=>l0S(s)).catch(s=>{this._events.emit("error",s)})}async getFeatureFlagStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailStateless(t,r,i,n,a,o);if(c===void 0)return{response:void 0,requestId:void 0};let f=X7s(c.response);return f===void 0&&(f=!1),{response:f,requestId:c.requestId}}async getFeatureFlagDetailStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(r,i,n,a,o,[t]);return c===void 0?void 0:{response:c.flags[t],requestId:c.requestId}}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},o){await this._initPromise;let c=await this.getFeatureFlagPayloadsStateless(r,i,n,a,o,[t]);if(!c)return;let f=c[t];return f===void 0?null:f}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a,o){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)).payloads}async getFeatureFlagsStateless(t,r={},i={},n={},a,o){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a,o)}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c=await this.getFeatureFlagDetailsStateless(t,r,i,n,a,o);return c?{flags:c.featureFlags,payloads:c.featureFlagPayloads,requestId:c.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},i={},n={},a,o){await this._initPromise;let c={};(a??this.disableGeoip)&&(c.geoip_disable=!0),o&&(c.flag_keys_to_evaluate=o);let f=await this.getDecide(t,r,i,n,c);if(f!==void 0)return f.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"),f.quotaLimited?.includes(W7s.FeatureFlags)?(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:f?.requestId}):f}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this.logMsgIfDebug(()=>console.log("PostHog Debug","Loading surveys is disabled.")),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},n=(await this.fetchWithRetry(t,r).then(a=>{if(a.status!==200||!a.json){let o=`Surveys API could not be loaded: ${a.status}`,c=new Error(o);this.logMsgIfDebug(()=>console.error(c)),this._events.emit("error",new Error(o));return}return a.json()}).catch(a=>{this.logMsgIfDebug(()=>console.error("Surveys API could not be loaded",a)),this._events.emit("error",a)}))?.surveys;return n&&this.logMsgIfDebug(()=>console.log("PostHog Debug","Surveys fetched from API: ",JSON.stringify(n))),n??[]}get props(){return this._props||(this._props=this.getPersistedProperty(I6.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(I6.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(I6.Props,this.props)})}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n=this.prepareMessage(t,r,i),a=this.getPersistedProperty(I6.Queue)||[];a.length>=this.maxQueueSize&&(a.shift(),this.logMsgIfDebug(()=>console.info("Queue is full, the oldest event is dropped."))),a.push({message:n}),this.setPersistedProperty(I6.Queue,a),this._events.emit(t,n),a.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=K0o(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,i){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized||await this._initPromise,this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={api_key:this.apiKey,batch:[this.prepareMessage(t,r,i)],sent_at:F7s()};this.historicalMigration&&(n.historical_migration=!0);let a=JSON.stringify(n),o=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${xLp()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,c=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(hTn.compressToBase64(a))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:a};try{await this.fetchWithRetry(o,c)}catch(f){this._events.emit("error",f)}}prepareMessage(t,r,i){let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:F7s(),uuid:i?.uuid?i.uuid:L7s()};return(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId),n}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await KLp(t)})}async flush(){let t=GLp([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),GLp([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(I6.Queue)||[];if(!t.length)return;let r=[],i=t.length;for(;t.length>0&&r.length<i;){let n=t.slice(0,this.maxBatchSize),a=n.map(p=>p.message),o=()=>{let _=(this.getPersistedProperty(I6.Queue)||[]).slice(n.length);this.setPersistedProperty(I6.Queue,_),t=_},c={api_key:this.apiKey,batch:a,sent_at:F7s()};this.historicalMigration&&(c.historical_migration=!0);let f=JSON.stringify(c),s=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${xLp()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,u=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(hTn.compressToBase64(f))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:f},l={retryCheck:p=>JLp(p)?!1:Q7s(p)};try{await this.fetchWithRetry(s,u,l)}catch(p){if(JLp(p)&&a.length>1){this.maxBatchSize=Math.max(1,Math.floor(a.length/2)),this.logMsgIfDebug(()=>console.warn(`Received 413 when sending batch of size ${a.length}, reducing batch size to ${this.maxBatchSize}`));continue}throw p instanceof _Oa||o(),this._events.emit("error",p),p}o(),r.push(...a)}this._events.emit("flush",r)}async fetchWithRetry(t,r,i,n){var a;(a=AbortSignal).timeout??(a.timeout=function(s){let u=new AbortController;return setTimeout(()=>u.abort(),s),u.signal});let o=r.body?r.body:"",c=-1;try{c=Buffer.byteLength(o,y0S)}catch{c=new TextEncoder().encode(o).length}return await O0S(async()=>{let f=null;try{f=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(u){throw new _Oa(u)}if(!(r.mode==="no-cors")&&(f.status<200||f.status>=400))throw new vTn(f,c);return f},{...this._retryOptions,...i})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let i=async()=>{try{for(await Promise.all(Object.values(this.pendingPromises));!((this.getPersistedProperty(I6.Queue)||[]).length===0||(await this.flush(),r)););}catch(n){if(!Q7s(n))throw n;await KLp(n)}};return Promise.race([new Promise((n,a)=>{K0o(()=>{this.logMsgIfDebug(()=>console.error("Timed out while shutting down PostHog")),r=!0,a("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),i()])}async shutdown(t=3e4){return this.shutdownPromise?this.logMsgIfDebug(()=>console.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}},G7s=A0S();if(!G7s){let e=wLp();G7s=async(t,r)=>{let i=await e.request({url:t,headers:r.headers,method:r.method.toLowerCase(),data:r.body,signal:r.signal,validateStatus:()=>!0});return{status:i.status,text:async()=>i.data,json:async()=>i.data}}}var l8p=G7s,J0o=class{constructor(t){this.factory=t}async getValue(){return this.value!==void 0?this.value:(this.initializationPromise===void 0&&(this.initializationPromise=(async()=>{try{let t=await this.factory();return this.value=t,t}finally{this.initializationPromise=void 0}})()),this.initializationPromise)}isInitialized(){return this.value!==void 0}async waitForInitialization(){this.isInitialized()||await this.getValue()}},f8p=new J0o(async()=>{try{return await import("crypto")}catch{return}});async function w0S(){return await f8p.getValue()}var E0S=new J0o(async()=>{if(typeof globalThis.crypto?.subtle<"u")return globalThis.crypto.subtle;try{let e=await f8p.getValue();if(e?.webcrypto?.subtle)return e.webcrypto.subtle}catch{}});async function S0S(){return await E0S.getValue()}async function M0S(e){let t=await w0S();if(t)return t.createHash("sha1").update(e).digest("hex");let r=await S0S();if(r){let i=await r.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(i)).map(a=>a.toString(16).padStart(2,"0")).join("")}throw new Error("No crypto implementation available. Tried Node Crypto API and Web SubtleCrypto API")}var D0S=60*1e3,B0S=1152921504606847e3,I0S=["is_not"],yTn=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},g1=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},H7s=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:o,...c}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=c.fetch||l8p,this.onError=c.onError,this.customHeaders=o,this.onLoad=c.onLoad,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let o,c;if(!this.loadedSuccessfullyOnce)return o;for(let f of this.featureFlags)if(t===f.key){c=f;break}if(c!==void 0)try{o=await this.computeFlagLocally(c,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${o}`))}catch(f){f instanceof g1?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${f}`)):f instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${f}`))}return o}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},o={},c=this.featureFlags.length==0;return await Promise.all(this.featureFlags.map(async f=>{try{let s=await this.computeFlagLocally(f,t,r,i,n);a[f.key]=s;let u=await this.computeFeatureFlagPayloadLocally(f.key,s);u&&(o[f.key]=u)}catch(s){s instanceof g1||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${f.key}: ${s}`)),c=!0}})),{response:a,payloads:o,fallbackToDecide:c}}async computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new g1("Flag has experience continuity enabled");if(!t.active)return!1;let c=(t.filters||{}).aggregation_group_type_index;if(c!=null){let f=this.groupTypeMapping[String(c)];if(!f)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new g1("Flag has unknown group type index");if(!(f in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[f];return await this.matchFeatureFlagProperties(t,i[f],s)}else return await this.matchFeatureFlagProperties(t,r,n)}async matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],o=!1,c,f=[...a].sort((s,u)=>{let l=!!s.variant,p=!!u.variant;return l&&p?0:l?-1:p?1:0});for(let s of f)try{if(await this.isConditionMatch(t,r,s,i)){let u=s.variant,l=n.multivariate?.variants||[];u&&l.some(p=>p.key===u)?c=u:c=await this.getMatchingVariant(t,r)||!0;break}}catch(u){if(u instanceof g1)o=!0;else throw u}if(c!==void 0)return c;if(o)throw new g1("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,i,n){let a=i.rollout_percentage,o=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((i.properties||[]).length>0){for(let c of i.properties){let f=c.type,s=!1;if(f==="cohort"?s=p8p(c,n,this.cohorts,this.debugMode):s=d8p(c,n,o),!s)return!1}if(a==null)return!0}return!(a!=null&&await $Lp(t.key,r)>a/100)}async getMatchingVariant(t,r){let i=await $Lp(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(c=>{n=i+c.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:c.key}),i=n}),r}async loadFeatureFlags(t=!1){(!this.loadedSuccessfullyOnce||t)&&await this._loadFeatureFlags()}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(D0S,this.pollingInterval*2**this.backOffCount):this.pollingInterval}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this._loadFeatureFlags(),this.getPollingInterval());try{let t=await this._requestFeatureFlagDefinitions();if(!t)return;switch(t.status){case 401:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new yTn(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new yTn(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,new yTn(`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 r=await t.json()??{};if(!("flags"in r)){this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(r)}`));return}this.featureFlags=r.flags??[],this.featureFlagsByKey=this.featureFlags.reduce((i,n)=>(i[n.key]=n,i),{}),this.groupTypeMapping=r.group_type_mapping||{},this.cohorts=r.cohorts||{},this.loadedSuccessfullyOnce=!0,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.onLoad?.(this.featureFlags.length);break}default:return}}catch(t){t instanceof yTn&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET"){return{method:t,headers:{...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`}}}async _requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions(),i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=K0o(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}_requestRemoteConfigPayload(t){let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config/`,i=this.getPersonalApiKeyRequestOptions(),n=null;if(this.timeout&&typeof this.timeout=="number"){let a=new AbortController;n=K0o(()=>{a.abort()},this.timeout),i.signal=a.signal}try{return this.fetch(r,i)}finally{clearTimeout(n)}}};async function $Lp(e,t,r=""){let i=await M0S(`${e}.${t}${r}`);return parseInt(i.slice(0,15),16)/B0S}function d8p(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new g1("Operator is_not_set is not supported")}else throw new g1(`Property ${i} not found in propertyValues`);let o=t[i];if(o==null&&!I0S.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function c(s,u){return Array.isArray(s)?s.map(l=>String(l).toLowerCase()).includes(String(u).toLowerCase()):String(s).toLowerCase()===String(u).toLowerCase()}function f(s,u,l){if(l==="gt")return s>u;if(l==="gte")return s>=u;if(l==="lt")return s<u;if(l==="lte")return s<=u;throw new Error(`Invalid operator: ${l}`)}switch(a){case"exact":return c(n,o);case"is_not":return!c(n,o);case"is_set":return i in t;case"icontains":return String(o).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(o).toLowerCase().includes(String(n).toLowerCase());case"regex":return YLp(String(n))&&String(o).match(String(n))!==null;case"not_regex":return YLp(String(n))&&String(o).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&o!=null?typeof o=="string"?f(o,String(n),a):f(o,s,a):f(String(o),String(n),a)}case"is_date_after":case"is_date_before":{let s=C0S(String(n));if(s==null&&(s=XLp(n)),s==null)throw new g1(`Invalid date: ${n}`);let u=XLp(o);return["is_date_before"].includes(a)?u<s:u>s}default:throw new g1(`Unknown operator: ${a}`)}}function p8p(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new g1("can't match cohort without a given cohort property value");let a=r[n];return _8p(a,t,r,i)}function _8p(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if("values"in a[0]){for(let c of a)try{let f=_8p(c,t,r,i);if(n==="AND"){if(!f)return!1}else if(f)return!0}catch(f){if(f instanceof g1)i&&console.debug(`Failed to compute property ${c} locally: ${f}`),o=!0;else throw f}if(o)throw new g1("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let c of a)try{let f;c.type==="cohort"?f=p8p(c,t,r,i):f=d8p(c,t);let s=c.negation||!1;if(n==="AND"){if(!f&&!s||f&&s)return!1}else if(f&&!s||!f&&s)return!0}catch(f){if(f instanceof g1)i&&console.debug(`Failed to compute property ${c} locally: ${f}`),o=!0;else throw f}if(o)throw new g1("can't match cohort without a given cohort property value");return n==="AND"}}function YLp(e){try{return new RegExp(e),!0}catch{return!1}}function XLp(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 g1(`${e} is in an invalid date format`)}else throw new g1(`The date provided ${e} must be a string, number, or date object`)}function C0S(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(r){if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-n*7);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else if(a=="y")i.setUTCFullYear(i.getUTCFullYear()-n);else return null;return i}else return null}var K7s=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},q0S=100,ZLp=30*1e3,T0S=50*1e3,J7s=class extends x7s{constructor(t,r={}){if(super(t,r),this._memoryStorage=new K7s,this.options=r,this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,q0S):ZLp,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.');this.featureFlagsPoller=new H7s({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()})}this.errorTracking=new bTn(this,r),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||T0S}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):l8p(t,r)}getLibraryVersion(){return c0S}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.logMsgIfDebug(()=>console.warn("Called capture() with a string as the first argument when an object was expected."));let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:f,uuid:s}=t,u=_=>{super.captureStateless(r,i,_,{timestamp:c,disableGeoip:f,uuid:s})},l=async(_,h,y)=>(await super.getFeatureFlagsStateless(_,h,void 0,void 0,y)).flags,p=Promise.resolve().then(async()=>{if(o)return await l(r,a,f);if(i==="$feature_flag_called")return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let _={};for(let[h,y]of Object.entries(a||{}))_[h]=String(y);return await this.getAllFlags(r,{groups:_,disableGeoip:f,onlyEvaluateLocally:!0})}return{}}).then(_=>{let h={};if(_)for(let[b,v]of Object.entries(_))h[`$feature/${b}`]=v;let y=Object.keys(_||{}).filter(b=>_?.[b]!==!1).sort();return y.length>0&&(h.$active_feature_flags=y),h}).catch(()=>({})).then(_=>{u({..._,...n,$groups:a})});this.addPendingPromise(p)}async captureImmediate(t){typeof t=="string"&&this.logMsgIfDebug(()=>console.warn("Called capture() with a string as the first argument when an object was expected."));let{distinctId:r,event:i,properties:n,groups:a,sendFeatureFlags:o,timestamp:c,disableGeoip:f,uuid:s}=t,u=_=>super.captureStatelessImmediate(r,i,_,{timestamp:c,disableGeoip:f,uuid:s}),l=async(_,h,y)=>(await super.getFeatureFlagsStateless(_,h,void 0,void 0,y)).flags;await Promise.resolve().then(async()=>{if(o)return await l(r,a,f);if(i==="$feature_flag_called")return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let _={};for(let[h,y]of Object.entries(a||{}))_[h]=String(y);return await this.getAllFlags(r,{groups:_,disableGeoip:f,onlyEvaluateLocally:!0})}return{}}).then(_=>{let h={};if(_)for(let[b,v]of Object.entries(_))h[`$feature/${b}`]=v;let y=Object.keys(_||{}).filter(b=>_?.[b]!==!1).sort();return y.length>0&&(h.$active_feature_flags=y),h}).catch(()=>({})).then(_=>{u({..._,...n,$groups:a})})}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set_once;delete r?.$set_once;let a=r?.$set||r;super.identifyStateless(t,{$set:a,$set_once:n},{disableGeoip:i})}async identifyImmediate({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set_once;delete r?.$set_once;let a=r?.$set||r;await super.identifyStatelessImmediate(t,{$set:a,$set_once:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=ZLp){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let i=setTimeout(()=>{n(),r(!1)},t),n=this._events.on("localEvaluationFlagsLoaded",a=>{clearTimeout(i),n(),r(a>0)})})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:o,sendFeatureFlagEvents:c,personProperties:f,groupProperties:s}=i||{},u=this.addLocalPersonAndGroupProperties(r,n,f,s);f=u.allPersonProperties,s=u.allGroupProperties,o==null&&(o=!1),c==null&&(c=!0);let l=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,f,s),p=l!==void 0,_,h;if(!p&&!o){let b=await super.getFeatureFlagDetailStateless(t,r,n,f,s,a);if(b===void 0)return;h=b.response,l=X7s(h),_=b?.requestId}let y=`${t}_${l}`;return c&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(y))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(y):this.distinctIdHasSentFlagCalls[r]=[y],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:l,$feature_flag_id:h?.metadata?.id,$feature_flag_version:h?.metadata?.version,$feature_flag_reason:h?.reason?.description??h?.reason?.code,locally_evaluated:p,[`$feature/${t}`]:l,$feature_flag_request_id:_},groups:n,disableGeoip:a})),l}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:o}=n||{},{onlyEvaluateLocally:c,sendFeatureFlagEvents:f,personProperties:s,groupProperties:u}=n||{},l=this.addLocalPersonAndGroupProperties(r,a,s,u);s=l.allPersonProperties,u=l.allGroupProperties;let p;return this.featureFlagsPoller!==void 0&&(i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0,sendFeatureFlagEvents:!1})),i&&(p=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i))),c==null&&(c=!1),f==null&&(f=!0),c==null&&(c=!1),!(p!==void 0)&&!c&&(p=await super.getFeatureFlagPayloadStateless(t,r,a,s,u,o)),p}async getRemoteConfigPayload(t){return(await this.featureFlagsPoller?._requestRemoteConfigPayload(t))?.json()}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags||{}}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:o,groupProperties:c}=r||{},f=this.addLocalPersonAndGroupProperties(t,i,o,c);o=f.allPersonProperties,c=f.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,o,c),u={},l={},p=!0;if(s&&(u=s.response,l=s.payloads,p=s.fallbackToDecide),p&&!a){let _=await super.getFeatureFlagsAndPayloadsStateless(t,i,o,c,n);u={...u,..._.flags||{}},l={...l,..._.payloads||{}}}return{featureFlags:u,featureFlagPayloads:l}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async _shutdown(t){return this.featureFlagsPoller?.stopPoller(),super._shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},o={};if(r)for(let c of Object.keys(r))o[c]={$group_key:r[c],...n?.[c]||{}};return{allPersonProperties:a,allGroupProperties:o}}captureException(t,r,i){let n=new Error("PostHog syntheticException");bTn.captureException(this,t,{syntheticException:n},r,i)}},kLp=/\(error: (.*)\)/,h8p=50,y8p="?";function R0S(e){let t=/^\s*[-]{4,}$/,r=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;return i=>{let n=i.match(r);if(n){let a,o,c,f,s;if(n[1]){c=n[1];let p=c.lastIndexOf(".");if(c[p-1]==="."&&p--,p>0){a=c.slice(0,p),o=c.slice(p+1);let _=a.indexOf(".Module");_>0&&(c=c.slice(_+1),a=a.slice(0,_))}f=void 0}o&&(f=a,s=o),o==="<anonymous>"&&(s=void 0,c=void 0),c===void 0&&(s=s||y8p,c=f?`${f}.${s}`:s);let u=n[2]?.startsWith("file://")?n[2].slice(7):n[2],l=n[5]==="native";return u?.match(/\/[A-Z]:/)&&(u=u.slice(1)),!u&&n[5]&&!l&&(u=n[5]),{filename:u?decodeURI(u):void 0,module:e?e(u):void 0,function:c,lineno:e8p(n[3]),colno:e8p(n[4]),in_app:z0S(u||"",l),platform:"node:javascript"}}if(i.match(t))return{filename:i,platform:"node:javascript"}}}function z0S(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 e8p(e){return parseInt(e||"",10)||void 0}function N0S(e){return[90,R0S(e)]}function F0S(e){let r=[N0S(e)].sort((i,n)=>i[0]-n[0]).map(i=>i[1]);return(i,n=0)=>{let a=[],o=i.split(`
|
|
1155
|
-
`);for(let c=n;c<o.length;c++){let f=o[c];if(f.length>1024)continue;let s=kLp.test(f)?f.replace(kLp,"$1"):f;if(!s.match(/\S*Error: /)){for(let u of r){let l=u(s);if(l){a.push(l);break}}if(a.length>=h8p)break}}return Q0S(a)}}function Q0S(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,h8p).map(r=>({...r,filename:r.filename||U0S(t).filename,function:r.function||y8p}))}function U0S(e){return e[e.length-1]||{}}bTn.stackParser=F0S(YmS());bTn.frameModifiers=[kmS];var gTn=class extends J7s{getLibraryId(){return"posthog-node"}};var $0o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new gTn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.4.3",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var hOa=class{async sendEvent(){}async identify(){}async flush(){}};var ATn=require("fs/promises"),O8p=require("os"),A8p=require("path");var b8p=ae(require("crypto")),X0o=new Uint8Array(256),Y0o=X0o.length;function Z7s(){return Y0o>X0o.length-16&&(b8p.default.randomFillSync(X0o),Y0o=0),X0o.slice(Y0o,Y0o+=16)}var RQ=[];for(let e=0;e<256;++e)RQ.push((e+256).toString(16).slice(1));function v8p(e,t=0){return RQ[e[t+0]]+RQ[e[t+1]]+RQ[e[t+2]]+RQ[e[t+3]]+"-"+RQ[e[t+4]]+RQ[e[t+5]]+"-"+RQ[e[t+6]]+RQ[e[t+7]]+"-"+RQ[e[t+8]]+RQ[e[t+9]]+"-"+RQ[e[t+10]]+RQ[e[t+11]]+RQ[e[t+12]]+RQ[e[t+13]]+RQ[e[t+14]]+RQ[e[t+15]]}var g8p=ae(require("crypto")),k7s={randomUUID:g8p.default.randomUUID};function L0S(e,t,r){if(k7s.randomUUID&&!t&&!e)return k7s.randomUUID();e=e||{};let i=e.random||(e.rng||Z7s)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return v8p(i)}var rhe=L0S;var V0S="id",W0S=".fern",yOa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new gTn(r),this.userId=t==null?void 0:O8s(t)}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.4.3",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Ft(Lr.of((0,O8p.homedir)()),Ye.of(W0S),Ye.of(V0S));await Ri(t)||(await(0,ATn.mkdir)((0,A8p.dirname)(t),{recursive:!0}),await(0,ATn.writeFile)(t,rhe())),this.persistedDistinctId=(await(0,ATn.readFile)(t)).toString()}return this.persistedDistinctId}};var eHs;async function mTn(){return eHs==null&&(eHs=await x0S()),eHs}async function x0S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new hOa;let r=await _bo();return r!=null?new yOa({token:r,posthogApiKey:e}):await wqn()!=null?new $0o({posthogApiKey:e}):new yOa({token:void 0,posthogApiKey:e})}catch{return new hOa}}function bOa(e,t){return function(){return e.apply(t,arguments)}}var{toString:G0S}=Object.prototype,{getPrototypeOf:rHs}=Object,{iterator:k0o,toStringTag:P8p}=Symbol,ePo=(e=>t=>{let r=G0S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),QNt=e=>(e=e.toLowerCase(),t=>ePo(t)===e),tPo=e=>t=>typeof t===e,{isArray:jTn}=Array,PTn=tPo("undefined");function vOa(e){return e!==null&&!PTn(e)&&e.constructor!==null&&!PTn(e.constructor)&&C6(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var j8p=QNt("ArrayBuffer");function H0S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&j8p(e.buffer),t}var K0S=tPo("string"),C6=tPo("function"),w8p=tPo("number"),gOa=e=>e!==null&&typeof e=="object",J0S=e=>e===!0||e===!1,Z0o=e=>{if(ePo(e)!=="object")return!1;let t=rHs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(P8p in e)&&!(k0o in e)},$0S=e=>{if(!gOa(e)||vOa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Y0S=QNt("Date"),X0S=QNt("File"),Z0S=QNt("Blob"),k0S=QNt("FileList"),ePS=e=>gOa(e)&&C6(e.pipe),tPS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||C6(e.append)&&((t=ePo(e))==="formdata"||t==="object"&&C6(e.toString)&&e.toString()==="[object FormData]"))},rPS=QNt("URLSearchParams"),[iPS,nPS,aPS,oPS]=["ReadableStream","Request","Response","Headers"].map(QNt),uPS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function OOa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),jTn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(vOa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function E8p(e,t){if(vOa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var r6i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,S8p=e=>!PTn(e)&&e!==r6i;function tHs(){let{caseless:e,skipUndefined:t}=S8p(this)&&this||{},r={},i=(n,a)=>{let o=e&&E8p(r,a)||a;Z0o(r[o])&&Z0o(n)?r[o]=tHs(r[o],n):Z0o(n)?r[o]=tHs({},n):jTn(n)?r[o]=n.slice():(!t||!PTn(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&OOa(arguments[n],i);return r}var sPS=(e,t,r,{allOwnKeys:i}={})=>(OOa(t,(n,a)=>{r&&C6(n)?e[a]=bOa(n,r):e[a]=n},{allOwnKeys:i}),e),cPS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),lPS=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},fPS=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&rHs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},dPS=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},pPS=e=>{if(!e)return null;if(jTn(e))return e;let t=e.length;if(!w8p(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},_PS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rHs(Uint8Array)),hPS=(e,t)=>{let i=(e&&e[k0o]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},yPS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},bPS=QNt("HTMLFormElement"),vPS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),m8p=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),gPS=QNt("RegExp"),M8p=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};OOa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},OPS=e=>{M8p(e,(t,r)=>{if(C6(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(C6(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},APS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return jTn(e)?i(e):i(String(e).split(t)),r},mPS=()=>{},PPS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function jPS(e){return!!(e&&C6(e.append)&&e[P8p]==="FormData"&&e[k0o])}var wPS=e=>{let t=new Array(10),r=(i,n)=>{if(gOa(i)){if(t.indexOf(i)>=0)return;if(vOa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=jTn(i)?[]:{};return OOa(i,(o,c)=>{let f=r(o,n+1);!PTn(f)&&(a[c]=f)}),t[n]=void 0,a}}return i};return r(e,0)},EPS=QNt("AsyncFunction"),SPS=e=>e&&(gOa(e)||C6(e))&&C6(e.then)&&C6(e.catch),D8p=((e,t)=>e?setImmediate:t?((r,i)=>(r6i.addEventListener("message",({source:n,data:a})=>{n===r6i&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),r6i.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",C6(r6i.postMessage)),MPS=typeof queueMicrotask<"u"?queueMicrotask.bind(r6i):typeof process<"u"&&process.nextTick||D8p,DPS=e=>e!=null&&C6(e[k0o]),kt={isArray:jTn,isArrayBuffer:j8p,isBuffer:vOa,isFormData:tPS,isArrayBufferView:H0S,isString:K0S,isNumber:w8p,isBoolean:J0S,isObject:gOa,isPlainObject:Z0o,isEmptyObject:$0S,isReadableStream:iPS,isRequest:nPS,isResponse:aPS,isHeaders:oPS,isUndefined:PTn,isDate:Y0S,isFile:X0S,isBlob:Z0S,isRegExp:gPS,isFunction:C6,isStream:ePS,isURLSearchParams:rPS,isTypedArray:_PS,isFileList:k0S,forEach:OOa,merge:tHs,extend:sPS,trim:uPS,stripBOM:cPS,inherits:lPS,toFlatObject:fPS,kindOf:ePo,kindOfTest:QNt,endsWith:dPS,toArray:pPS,forEachEntry:hPS,matchAll:yPS,isHTMLForm:bPS,hasOwnProperty:m8p,hasOwnProp:m8p,reduceDescriptors:M8p,freezeMethods:OPS,toObjectSet:APS,toCamelCase:vPS,noop:mPS,toFiniteNumber:PPS,findKey:E8p,global:r6i,isContextDefined:S8p,isSpecCompliantForm:jPS,toJSONObject:wPS,isAsyncFn:EPS,isThenable:SPS,setImmediate:D8p,asap:MPS,isIterable:DPS};function wTn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}kt.inherits(wTn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:kt.toJSONObject(this.config),code:this.code,status:this.status}}});var B8p=wTn.prototype,I8p={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{I8p[e]={value:e}});Object.defineProperties(wTn,I8p);Object.defineProperty(B8p,"isAxiosError",{value:!0});wTn.from=(e,t,r,i,n,a)=>{let o=Object.create(B8p);kt.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",f=t==null&&e?e.code:t;return wTn.call(o,c,f,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var ya=wTn;var C8p=ae(U7i(),1),rPo=C8p.default;function iHs(e){return kt.isPlainObject(e)||kt.isArray(e)}function T8p(e){return kt.endsWith(e,"[]")?e.slice(0,-2):e}function q8p(e,t,r){return e?e.concat(t).map(function(n,a){return n=T8p(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function BPS(e){return kt.isArray(e)&&!e.some(iHs)}var IPS=kt.toFlatObject(kt,{},null,function(t){return/^is[A-Z]/.test(t)});function CPS(e,t,r){if(!kt.isObject(e))throw new TypeError("target must be an object");t=t||new(rPo||FormData),r=kt.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!kt.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&kt.isSpecCompliantForm(t);if(!kt.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(kt.isDate(h))return h.toISOString();if(kt.isBoolean(h))return h.toString();if(!f&&kt.isBlob(h))throw new ya("Blob is not supported. Use a Buffer instead.");return kt.isArrayBuffer(h)||kt.isTypedArray(h)?f&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(kt.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(kt.isArray(h)&&BPS(h)||(kt.isFileList(h)||kt.endsWith(y,"[]"))&&(v=kt.toArray(h)))return y=T8p(y),v.forEach(function(A,g){!(kt.isUndefined(A)||A===null)&&t.append(o===!0?q8p([y],g,a):o===null?y:y+"[]",s(A))}),!1}return iHs(h)?!0:(t.append(q8p(b,y,a),s(h)),!1)}let l=[],p=Object.assign(IPS,{defaultVisitor:u,convertValue:s,isVisitable:iHs});function _(h,y){if(!kt.isUndefined(h)){if(l.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));l.push(h),kt.forEach(h,function(v,O){(!(kt.isUndefined(v)||v===null)&&n.call(t,v,kt.isString(O)?O.trim():O,y,p))===!0&&_(v,y?y.concat(O):[O])}),l.pop()}}if(!kt.isObject(e))throw new TypeError("data must be an object");return _(e),t}var FBi=CPS;function R8p(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function z8p(e,t){this._pairs=[],e&&FBi(e,this,t)}var N8p=z8p.prototype;N8p.append=function(t,r){this._pairs.push([t,r])};N8p.toString=function(t){let r=t?function(i){return t.call(this,i,R8p)}:R8p;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var F8p=z8p;function qPS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function i6i(e,t,r){if(!t)return e;let i=r&&r.encode||qPS;kt.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=kt.isURLSearchParams(t)?t.toString():new F8p(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var nHs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){kt.forEach(this.handlers,function(i){i!==null&&t(i)})}},aHs=nHs;var ETn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var V8p=ae(require("crypto"),1);var Q8p=ae(require("url"),1),U8p=Q8p.default.URLSearchParams;var oHs="abcdefghijklmnopqrstuvwxyz",L8p="0123456789",W8p={DIGIT:L8p,ALPHA:oHs,ALPHA_DIGIT:oHs+oHs.toUpperCase()+L8p},TPS=(e=16,t=W8p.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);V8p.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},x8p={isNode:!0,classes:{URLSearchParams:U8p,FormData:rPo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:W8p,generateString:TPS,protocols:["http","https","file","data"]};var cHs={};Kt(cHs,{hasBrowserEnv:()=>sHs,hasStandardBrowserEnv:()=>RPS,hasStandardBrowserWebWorkerEnv:()=>zPS,navigator:()=>uHs,origin:()=>NPS});var sHs=typeof window<"u"&&typeof document<"u",uHs=typeof navigator=="object"&&navigator||void 0,RPS=sHs&&(!uHs||["ReactNative","NativeScript","NS"].indexOf(uHs.product)<0),zPS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",NPS=sHs&&window.location.href||"http://localhost";var OA={...cHs,...x8p};function lHs(e,t){return FBi(e,new OA.classes.URLSearchParams,{visitor:function(r,i,n,a){return OA.isNode&&kt.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function FPS(e){return kt.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function QPS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function UPS(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),f=a>=r.length;return o=!o&&kt.isArray(n)?n.length:o,f?(kt.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!kt.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&kt.isArray(n[o])&&(n[o]=QPS(n[o])),!c)}if(kt.isFormData(e)&&kt.isFunction(e.entries)){let r={};return kt.forEachEntry(e,(i,n)=>{t(FPS(i),n,r,0)}),r}return null}var iPo=UPS;function LPS(e,t,r){if(kt.isString(e))try{return(t||JSON.parse)(e),kt.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var fHs={transitional:ETn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=kt.isObject(t);if(a&&kt.isHTMLForm(t)&&(t=new FormData(t)),kt.isFormData(t))return n?JSON.stringify(iPo(t)):t;if(kt.isArrayBuffer(t)||kt.isBuffer(t)||kt.isStream(t)||kt.isFile(t)||kt.isBlob(t)||kt.isReadableStream(t))return t;if(kt.isArrayBufferView(t))return t.buffer;if(kt.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return lHs(t,this.formSerializer).toString();if((c=kt.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return FBi(c?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),LPS(t)):t}],transformResponse:[function(t){let r=this.transitional||fHs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(kt.isResponse(t)||kt.isReadableStream(t))return t;if(t&&kt.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?ya.from(c,ya.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:OA.classes.FormData,Blob:OA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};kt.forEach(["delete","get","head","post","put","patch"],e=>{fHs.headers[e]={}});var STn=fHs;var VPS=kt.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"]),G8p=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1155
|
+
`);for(let c=n;c<o.length;c++){let f=o[c];if(f.length>1024)continue;let s=kLp.test(f)?f.replace(kLp,"$1"):f;if(!s.match(/\S*Error: /)){for(let u of r){let l=u(s);if(l){a.push(l);break}}if(a.length>=h8p)break}}return Q0S(a)}}function Q0S(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,h8p).map(r=>({...r,filename:r.filename||U0S(t).filename,function:r.function||y8p}))}function U0S(e){return e[e.length-1]||{}}bTn.stackParser=F0S(YmS());bTn.frameModifiers=[kmS];var gTn=class extends J7s{getLibraryId(){return"posthog-node"}};var $0o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new gTn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"3.4.5",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var hOa=class{async sendEvent(){}async identify(){}async flush(){}};var ATn=require("fs/promises"),O8p=require("os"),A8p=require("path");var b8p=ae(require("crypto")),X0o=new Uint8Array(256),Y0o=X0o.length;function Z7s(){return Y0o>X0o.length-16&&(b8p.default.randomFillSync(X0o),Y0o=0),X0o.slice(Y0o,Y0o+=16)}var RQ=[];for(let e=0;e<256;++e)RQ.push((e+256).toString(16).slice(1));function v8p(e,t=0){return RQ[e[t+0]]+RQ[e[t+1]]+RQ[e[t+2]]+RQ[e[t+3]]+"-"+RQ[e[t+4]]+RQ[e[t+5]]+"-"+RQ[e[t+6]]+RQ[e[t+7]]+"-"+RQ[e[t+8]]+RQ[e[t+9]]+"-"+RQ[e[t+10]]+RQ[e[t+11]]+RQ[e[t+12]]+RQ[e[t+13]]+RQ[e[t+14]]+RQ[e[t+15]]}var g8p=ae(require("crypto")),k7s={randomUUID:g8p.default.randomUUID};function L0S(e,t,r){if(k7s.randomUUID&&!t&&!e)return k7s.randomUUID();e=e||{};let i=e.random||(e.rng||Z7s)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return v8p(i)}var rhe=L0S;var V0S="id",W0S=".fern",yOa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new gTn(r),this.userId=t==null?void 0:O8s(t)}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"3.4.5",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Ft(Lr.of((0,O8p.homedir)()),Ye.of(W0S),Ye.of(V0S));await Ri(t)||(await(0,ATn.mkdir)((0,A8p.dirname)(t),{recursive:!0}),await(0,ATn.writeFile)(t,rhe())),this.persistedDistinctId=(await(0,ATn.readFile)(t)).toString()}return this.persistedDistinctId}};var eHs;async function mTn(){return eHs==null&&(eHs=await x0S()),eHs}async function x0S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new hOa;let r=await _bo();return r!=null?new yOa({token:r,posthogApiKey:e}):await wqn()!=null?new $0o({posthogApiKey:e}):new yOa({token:void 0,posthogApiKey:e})}catch{return new hOa}}function bOa(e,t){return function(){return e.apply(t,arguments)}}var{toString:G0S}=Object.prototype,{getPrototypeOf:rHs}=Object,{iterator:k0o,toStringTag:P8p}=Symbol,ePo=(e=>t=>{let r=G0S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),QNt=e=>(e=e.toLowerCase(),t=>ePo(t)===e),tPo=e=>t=>typeof t===e,{isArray:jTn}=Array,PTn=tPo("undefined");function vOa(e){return e!==null&&!PTn(e)&&e.constructor!==null&&!PTn(e.constructor)&&C6(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var j8p=QNt("ArrayBuffer");function H0S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&j8p(e.buffer),t}var K0S=tPo("string"),C6=tPo("function"),w8p=tPo("number"),gOa=e=>e!==null&&typeof e=="object",J0S=e=>e===!0||e===!1,Z0o=e=>{if(ePo(e)!=="object")return!1;let t=rHs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(P8p in e)&&!(k0o in e)},$0S=e=>{if(!gOa(e)||vOa(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Y0S=QNt("Date"),X0S=QNt("File"),Z0S=QNt("Blob"),k0S=QNt("FileList"),ePS=e=>gOa(e)&&C6(e.pipe),tPS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||C6(e.append)&&((t=ePo(e))==="formdata"||t==="object"&&C6(e.toString)&&e.toString()==="[object FormData]"))},rPS=QNt("URLSearchParams"),[iPS,nPS,aPS,oPS]=["ReadableStream","Request","Response","Headers"].map(QNt),uPS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function OOa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),jTn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(vOa(e))return;let a=r?Object.getOwnPropertyNames(e):Object.keys(e),o=a.length,c;for(i=0;i<o;i++)c=a[i],t.call(null,e[c],c,e)}}function E8p(e,t){if(vOa(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var r6i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,S8p=e=>!PTn(e)&&e!==r6i;function tHs(){let{caseless:e,skipUndefined:t}=S8p(this)&&this||{},r={},i=(n,a)=>{let o=e&&E8p(r,a)||a;Z0o(r[o])&&Z0o(n)?r[o]=tHs(r[o],n):Z0o(n)?r[o]=tHs({},n):jTn(n)?r[o]=n.slice():(!t||!PTn(n))&&(r[o]=n)};for(let n=0,a=arguments.length;n<a;n++)arguments[n]&&OOa(arguments[n],i);return r}var sPS=(e,t,r,{allOwnKeys:i}={})=>(OOa(t,(n,a)=>{r&&C6(n)?e[a]=bOa(n,r):e[a]=n},{allOwnKeys:i}),e),cPS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),lPS=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},fPS=(e,t,r,i)=>{let n,a,o,c={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)o=n[a],(!i||i(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=r!==!1&&rHs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},dPS=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},pPS=e=>{if(!e)return null;if(jTn(e))return e;let t=e.length;if(!w8p(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},_PS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rHs(Uint8Array)),hPS=(e,t)=>{let i=(e&&e[k0o]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},yPS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},bPS=QNt("HTMLFormElement"),vPS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),m8p=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),gPS=QNt("RegExp"),M8p=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};OOa(r,(n,a)=>{let o;(o=t(n,a,e))!==!1&&(i[a]=o||n)}),Object.defineProperties(e,i)},OPS=e=>{M8p(e,(t,r)=>{if(C6(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(C6(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},APS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return jTn(e)?i(e):i(String(e).split(t)),r},mPS=()=>{},PPS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function jPS(e){return!!(e&&C6(e.append)&&e[P8p]==="FormData"&&e[k0o])}var wPS=e=>{let t=new Array(10),r=(i,n)=>{if(gOa(i)){if(t.indexOf(i)>=0)return;if(vOa(i))return i;if(!("toJSON"in i)){t[n]=i;let a=jTn(i)?[]:{};return OOa(i,(o,c)=>{let f=r(o,n+1);!PTn(f)&&(a[c]=f)}),t[n]=void 0,a}}return i};return r(e,0)},EPS=QNt("AsyncFunction"),SPS=e=>e&&(gOa(e)||C6(e))&&C6(e.then)&&C6(e.catch),D8p=((e,t)=>e?setImmediate:t?((r,i)=>(r6i.addEventListener("message",({source:n,data:a})=>{n===r6i&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),r6i.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",C6(r6i.postMessage)),MPS=typeof queueMicrotask<"u"?queueMicrotask.bind(r6i):typeof process<"u"&&process.nextTick||D8p,DPS=e=>e!=null&&C6(e[k0o]),kt={isArray:jTn,isArrayBuffer:j8p,isBuffer:vOa,isFormData:tPS,isArrayBufferView:H0S,isString:K0S,isNumber:w8p,isBoolean:J0S,isObject:gOa,isPlainObject:Z0o,isEmptyObject:$0S,isReadableStream:iPS,isRequest:nPS,isResponse:aPS,isHeaders:oPS,isUndefined:PTn,isDate:Y0S,isFile:X0S,isBlob:Z0S,isRegExp:gPS,isFunction:C6,isStream:ePS,isURLSearchParams:rPS,isTypedArray:_PS,isFileList:k0S,forEach:OOa,merge:tHs,extend:sPS,trim:uPS,stripBOM:cPS,inherits:lPS,toFlatObject:fPS,kindOf:ePo,kindOfTest:QNt,endsWith:dPS,toArray:pPS,forEachEntry:hPS,matchAll:yPS,isHTMLForm:bPS,hasOwnProperty:m8p,hasOwnProp:m8p,reduceDescriptors:M8p,freezeMethods:OPS,toObjectSet:APS,toCamelCase:vPS,noop:mPS,toFiniteNumber:PPS,findKey:E8p,global:r6i,isContextDefined:S8p,isSpecCompliantForm:jPS,toJSONObject:wPS,isAsyncFn:EPS,isThenable:SPS,setImmediate:D8p,asap:MPS,isIterable:DPS};function wTn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}kt.inherits(wTn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:kt.toJSONObject(this.config),code:this.code,status:this.status}}});var B8p=wTn.prototype,I8p={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{I8p[e]={value:e}});Object.defineProperties(wTn,I8p);Object.defineProperty(B8p,"isAxiosError",{value:!0});wTn.from=(e,t,r,i,n,a)=>{let o=Object.create(B8p);kt.toFlatObject(e,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError");let c=e&&e.message?e.message:"Error",f=t==null&&e?e.code:t;return wTn.call(o,c,f,r,i,n),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",a&&Object.assign(o,a),o};var ya=wTn;var C8p=ae(U7i(),1),rPo=C8p.default;function iHs(e){return kt.isPlainObject(e)||kt.isArray(e)}function T8p(e){return kt.endsWith(e,"[]")?e.slice(0,-2):e}function q8p(e,t,r){return e?e.concat(t).map(function(n,a){return n=T8p(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function BPS(e){return kt.isArray(e)&&!e.some(iHs)}var IPS=kt.toFlatObject(kt,{},null,function(t){return/^is[A-Z]/.test(t)});function CPS(e,t,r){if(!kt.isObject(e))throw new TypeError("target must be an object");t=t||new(rPo||FormData),r=kt.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!kt.isUndefined(b[y])});let i=r.metaTokens,n=r.visitor||u,a=r.dots,o=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&kt.isSpecCompliantForm(t);if(!kt.isFunction(n))throw new TypeError("visitor must be a function");function s(h){if(h===null)return"";if(kt.isDate(h))return h.toISOString();if(kt.isBoolean(h))return h.toString();if(!f&&kt.isBlob(h))throw new ya("Blob is not supported. Use a Buffer instead.");return kt.isArrayBuffer(h)||kt.isTypedArray(h)?f&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,y,b){let v=h;if(h&&!b&&typeof h=="object"){if(kt.endsWith(y,"{}"))y=i?y:y.slice(0,-2),h=JSON.stringify(h);else if(kt.isArray(h)&&BPS(h)||(kt.isFileList(h)||kt.endsWith(y,"[]"))&&(v=kt.toArray(h)))return y=T8p(y),v.forEach(function(A,g){!(kt.isUndefined(A)||A===null)&&t.append(o===!0?q8p([y],g,a):o===null?y:y+"[]",s(A))}),!1}return iHs(h)?!0:(t.append(q8p(b,y,a),s(h)),!1)}let l=[],p=Object.assign(IPS,{defaultVisitor:u,convertValue:s,isVisitable:iHs});function _(h,y){if(!kt.isUndefined(h)){if(l.indexOf(h)!==-1)throw Error("Circular reference detected in "+y.join("."));l.push(h),kt.forEach(h,function(v,O){(!(kt.isUndefined(v)||v===null)&&n.call(t,v,kt.isString(O)?O.trim():O,y,p))===!0&&_(v,y?y.concat(O):[O])}),l.pop()}}if(!kt.isObject(e))throw new TypeError("data must be an object");return _(e),t}var FBi=CPS;function R8p(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function z8p(e,t){this._pairs=[],e&&FBi(e,this,t)}var N8p=z8p.prototype;N8p.append=function(t,r){this._pairs.push([t,r])};N8p.toString=function(t){let r=t?function(i){return t.call(this,i,R8p)}:R8p;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var F8p=z8p;function qPS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function i6i(e,t,r){if(!t)return e;let i=r&&r.encode||qPS;kt.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=kt.isURLSearchParams(t)?t.toString():new F8p(t,r).toString(i),a){let o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var nHs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){kt.forEach(this.handlers,function(i){i!==null&&t(i)})}},aHs=nHs;var ETn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var V8p=ae(require("crypto"),1);var Q8p=ae(require("url"),1),U8p=Q8p.default.URLSearchParams;var oHs="abcdefghijklmnopqrstuvwxyz",L8p="0123456789",W8p={DIGIT:L8p,ALPHA:oHs,ALPHA_DIGIT:oHs+oHs.toUpperCase()+L8p},TPS=(e=16,t=W8p.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);V8p.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},x8p={isNode:!0,classes:{URLSearchParams:U8p,FormData:rPo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:W8p,generateString:TPS,protocols:["http","https","file","data"]};var cHs={};Kt(cHs,{hasBrowserEnv:()=>sHs,hasStandardBrowserEnv:()=>RPS,hasStandardBrowserWebWorkerEnv:()=>zPS,navigator:()=>uHs,origin:()=>NPS});var sHs=typeof window<"u"&&typeof document<"u",uHs=typeof navigator=="object"&&navigator||void 0,RPS=sHs&&(!uHs||["ReactNative","NativeScript","NS"].indexOf(uHs.product)<0),zPS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",NPS=sHs&&window.location.href||"http://localhost";var OA={...cHs,...x8p};function lHs(e,t){return FBi(e,new OA.classes.URLSearchParams,{visitor:function(r,i,n,a){return OA.isNode&&kt.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...t})}function FPS(e){return kt.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function QPS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function UPS(e){function t(r,i,n,a){let o=r[a++];if(o==="__proto__")return!0;let c=Number.isFinite(+o),f=a>=r.length;return o=!o&&kt.isArray(n)?n.length:o,f?(kt.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!c):((!n[o]||!kt.isObject(n[o]))&&(n[o]=[]),t(r,i,n[o],a)&&kt.isArray(n[o])&&(n[o]=QPS(n[o])),!c)}if(kt.isFormData(e)&&kt.isFunction(e.entries)){let r={};return kt.forEachEntry(e,(i,n)=>{t(FPS(i),n,r,0)}),r}return null}var iPo=UPS;function LPS(e,t,r){if(kt.isString(e))try{return(t||JSON.parse)(e),kt.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var fHs={transitional:ETn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=kt.isObject(t);if(a&&kt.isHTMLForm(t)&&(t=new FormData(t)),kt.isFormData(t))return n?JSON.stringify(iPo(t)):t;if(kt.isArrayBuffer(t)||kt.isBuffer(t)||kt.isStream(t)||kt.isFile(t)||kt.isBlob(t)||kt.isReadableStream(t))return t;if(kt.isArrayBufferView(t))return t.buffer;if(kt.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return lHs(t,this.formSerializer).toString();if((c=kt.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return FBi(c?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),LPS(t)):t}],transformResponse:[function(t){let r=this.transitional||fHs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(kt.isResponse(t)||kt.isReadableStream(t))return t;if(t&&kt.isString(t)&&(i&&!this.responseType||n)){let o=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?ya.from(c,ya.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:OA.classes.FormData,Blob:OA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};kt.forEach(["delete","get","head","post","put","patch"],e=>{fHs.headers[e]={}});var STn=fHs;var VPS=kt.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"]),G8p=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1156
1156
|
`).forEach(function(o){n=o.indexOf(":"),r=o.substring(0,n).trim().toLowerCase(),i=o.substring(n+1).trim(),!(!r||t[r]&&VPS[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var H8p=Symbol("internals");function AOa(e){return e&&String(e).trim().toLowerCase()}function nPo(e){return e===!1||e==null?e:kt.isArray(e)?e.map(nPo):String(e)}function WPS(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var xPS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function dHs(e,t,r,i,n){if(kt.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!kt.isString(t)){if(kt.isString(i))return t.indexOf(i)!==-1;if(kt.isRegExp(i))return i.test(t)}}function GPS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function HPS(e,t){let r=kt.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,a,o){return this[i].call(this,t,n,a,o)},configurable:!0})})}var MTn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(c,f,s){let u=AOa(f);if(!u)throw new Error("header name must be a non-empty string");let l=kt.findKey(n,u);(!l||n[l]===void 0||s===!0||s===void 0&&n[l]!==!1)&&(n[l||f]=nPo(c))}let o=(c,f)=>kt.forEach(c,(s,u)=>a(s,u,f));if(kt.isPlainObject(t)||t instanceof this.constructor)o(t,r);else if(kt.isString(t)&&(t=t.trim())&&!xPS(t))o(G8p(t),r);else if(kt.isObject(t)&&kt.isIterable(t)){let c={},f,s;for(let u of t){if(!kt.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[s=u[0]]=(f=c[s])?kt.isArray(f)?[...f,u[1]]:[f,u[1]]:u[1]}o(c,r)}else t!=null&&a(r,t,i);return this}get(t,r){if(t=AOa(t),t){let i=kt.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return WPS(n);if(kt.isFunction(r))return r.call(this,n,i);if(kt.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=AOa(t),t){let i=kt.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||dHs(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(o){if(o=AOa(o),o){let c=kt.findKey(i,o);c&&(!r||dHs(i,i[c],c,r))&&(delete i[c],n=!0)}}return kt.isArray(t)?t.forEach(a):a(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let a=r[i];(!t||dHs(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return kt.forEach(this,(n,a)=>{let o=kt.findKey(i,a);if(o){r[o]=nPo(n),delete r[a];return}let c=t?GPS(a):String(a).trim();c!==a&&delete r[a],r[c]=nPo(n),i[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return kt.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&kt.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
|
|
1157
1157
|
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[H8p]=this[H8p]={accessors:{}}).accessors,n=this.prototype;function a(o){let c=AOa(o);i[c]||(HPS(n,o),i[c]=!0)}return kt.isArray(t)?t.forEach(a):a(t),this}};MTn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);kt.reduceDescriptors(MTn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});kt.freezeMethods(MTn);var US=MTn;function mOa(e,t){let r=this||STn,i=t||r,n=US.from(i.headers),a=i.data;return kt.forEach(e,function(c){a=c.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function POa(e){return!!(e&&e.__CANCEL__)}function K8p(e,t,r){ya.call(this,e??"canceled",ya.ERR_CANCELED,t,r),this.name="CanceledError"}kt.inherits(K8p,ya,{__CANCEL__:!0});var ihe=K8p;function s9t(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new ya("Request failed with status code "+r.status,[ya.ERR_BAD_REQUEST,ya.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function pHs(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _Hs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function n6i(e,t,r){let i=!pHs(t);return e&&(i||r==!1)?_Hs(e,t):t}var cVp=ae(w0o(),1),lVp=ae(require("http"),1),fVp=ae(require("https"),1),dVp=ae(require("util"),1),pVp=ae(h7s(),1),Kbi=ae(require("zlib"),1);var a6i="1.12.2";function jOa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var KPS=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function hHs(e,t,r){let i=r&&r.Blob||OA.classes.Blob,n=jOa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=KPS.exec(e);if(!a)throw new ya("Invalid URL",ya.ERR_INVALID_URL);let o=a[1],c=a[2],f=a[3],s=Buffer.from(decodeURIComponent(f),c?"base64":"utf8");if(t){if(!i)throw new ya("Blob is not supported",ya.ERR_NOT_SUPPORT);return new i([s],{type:o})}return s}throw new ya("Unsupported protocol "+n,ya.ERR_NOT_SUPPORT)}var u6i=ae(require("stream"),1);var J8p=ae(require("stream"),1);var yHs=Symbol("internals"),bHs=class extends J8p.default.Transform{constructor(t){t=kt.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!kt.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[yHs]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",i=>{i==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[yHs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[yHs],a=n.maxRate,o=this.readableHighWaterMark,c=n.timeWindow,f=1e3/c,s=a/f,u=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,l=(_,h)=>{let y=Buffer.byteLength(_);n.bytesSeen+=y,n.bytes+=y,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(_)?process.nextTick(h):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(h)}},p=(_,h)=>{let y=Buffer.byteLength(_),b=null,v=o,O,A=0;if(a){let g=Date.now();(!n.ts||(A=g-n.ts)>=c)&&(n.ts=g,O=s-n.bytes,n.bytes=O<0?-O:0,A=0),O=s-n.bytes}if(a){if(O<=0)return setTimeout(()=>{h(null,_)},c-A);O<v&&(v=O)}v&&y>v&&y-v>u&&(b=_.subarray(v),_=_.subarray(0,v)),l(_,b?()=>{process.nextTick(h,null,b)}:h)};p(t,function _(h,y){if(h)return i(h);y?p(y,_):i(null)})}},vHs=bHs;var _Vp=require("events");var Y8p=ae(require("util"),1),X8p=require("stream");var{asyncIterator:$8p}=Symbol,JPS=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[$8p]?yield*e[$8p]():yield e},aPo=JPS;var $PS=OA.ALPHABET.ALPHA_DIGIT+"-_",wOa=typeof TextEncoder=="function"?new TextEncoder:new Y8p.default.TextEncoder,o6i=`\r
|
|
1158
1158
|
`,YPS=wOa.encode(o6i),XPS=2,gHs=class{constructor(t,r){let{escapeName:i}=this.constructor,n=kt.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${o6i}`;n?r=wOa.encode(String(r).replace(/\r?\n|\r\n?/g,o6i)):a+=`Content-Type: ${r.type||"application/octet-stream"}${o6i}`,this.headers=wOa.encode(a+o6i),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+XPS,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;kt.isTypedArray(t)?yield t:yield*aPo(t),yield YPS}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},ZPS=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+OA.generateString(n,$PS)}=r||{};if(!kt.isFormData(e))throw TypeError("FormData instance required");if(a.length<1||a.length>70)throw Error("boundary must be 10-70 characters long");let o=wOa.encode("--"+a+o6i),c=wOa.encode("--"+a+"--"+o6i),f=c.byteLength,s=Array.from(e.entries()).map(([l,p])=>{let _=new gHs(l,p);return f+=_.size,_});f+=o.byteLength*s.length,f=kt.toFiniteNumber(f);let u={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(f)&&(u["Content-Length"]=f),t&&t(u),X8p.Readable.from((async function*(){for(let l of s)yield o,yield*l.encode();yield c})())},Z8p=ZPS;var k8p=ae(require("stream"),1),OHs=class extends k8p.default.Transform{__transform(t,r,i){this.push(t),i()}_transform(t,r,i){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let n=Buffer.alloc(2);n[0]=120,n[1]=156,this.push(n,r)}this.__transform(t,r,i)}},eVp=OHs;var kPS=(e,t)=>kt.isAsyncFn(e)?function(...r){let i=r.pop();e.apply(this,r).then(n=>{try{t?i(null,...t(n)):i(null,n)}catch(a){i(a)}},i)}:e,tVp=kPS;function ejS(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,o;return t=t!==void 0?t:1e3,function(f){let s=Date.now(),u=i[a];o||(o=s),r[n]=f,i[n]=s;let l=a,p=0;for(;l!==n;)p+=r[l++],l=l%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-o<t)return;let _=u&&s-u;return _?Math.round(p*1e3/_):void 0}}var rVp=ejS;function tjS(e,t){let r=0,i=1e3/t,n,a,o=(s,u=Date.now())=>{r=u,n=null,a&&(clearTimeout(a),a=null),e(...s)};return[(...s)=>{let u=Date.now(),l=u-r;l>=i?o(s,u):(n=s,a||(a=setTimeout(()=>{a=null,o(n)},i-l)))},()=>n&&o(n)]}var iVp=tjS;var Hbi=(e,t,r=3)=>{let i=0,n=rVp(50,250);return iVp(a=>{let o=a.loaded,c=a.lengthComputable?a.total:void 0,f=o-i,s=n(f),u=o<=c;i=o;let l={loaded:o,total:c,progress:c?o/c:void 0,bytes:f,rate:s||void 0,estimated:s&&c&&u?(c-o)/s:void 0,event:a,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(l)},r)},DTn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},BTn=e=>(...t)=>kt.asap(()=>e(...t));function AHs(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let r=e.slice(5,t),i=e.slice(t+1);if(/;base64/i.test(r)){let a=i.length,o=i.length;for(let p=0;p<o;p++)if(i.charCodeAt(p)===37&&p+2<o){let _=i.charCodeAt(p+1),h=i.charCodeAt(p+2);(_>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102)&&(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(a-=2,p+=2)}let c=0,f=o-1,s=p=>p>=2&&i.charCodeAt(p-2)===37&&i.charCodeAt(p-1)===51&&(i.charCodeAt(p)===68||i.charCodeAt(p)===100);f>=0&&(i.charCodeAt(f)===61?(c++,f--):s(f)&&(c++,f-=3)),c===1&&f>=0&&(i.charCodeAt(f)===61||s(f))&&c++;let l=Math.floor(a/4)*3-(c||0);return l>0?l:0}return Buffer.byteLength(i,"utf8")}var nVp={flush:Kbi.default.constants.Z_SYNC_FLUSH,finishFlush:Kbi.default.constants.Z_SYNC_FLUSH},rjS={flush:Kbi.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Kbi.default.constants.BROTLI_OPERATION_FLUSH},aVp=kt.isFunction(Kbi.default.createBrotliDecompress),{http:ijS,https:njS}=pVp.default,ajS=/https:?/,oVp=OA.protocols.map(e=>e+":"),uVp=(e,[t,r])=>(e.on("end",r).on("error",r),t);function ojS(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function hVp(e,t,r){let i=t;if(!i&&i!==!1){let n=cVp.default.getProxyForUrl(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){hVp(a,t,a.href)}}var ujS=typeof process<"u"&&kt.kindOf(process)==="process",sjS=e=>new Promise((t,r)=>{let i,n,a=(f,s)=>{n||(n=!0,i&&i(f,s))},o=f=>{a(f),t(f)},c=f=>{a(f,!0),r(f)};e(o,c,f=>i=f).catch(c)}),cjS=({address:e,family:t})=>{if(!kt.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},sVp=(e,t)=>cjS(kt.isObject(e)?e:{address:e,family:t}),yVp=ujS&&function(t){return sjS(async function(i,n,a){let{data:o,lookup:c,family:f}=t,{responseType:s,responseEncoding:u}=t,l=t.method.toUpperCase(),p,_=!1,h;if(c){let H=tVp(c,oe=>kt.isArray(oe)?oe:[oe]);c=(oe,se,x)=>{H(oe,se,(G,Pe,ne)=>{if(G)return x(G);let Ee=kt.isArray(Pe)?Pe.map(Qe=>sVp(Qe)):[sVp(Pe,ne)];se.all?x(G,Ee):x(G,Ee[0].address,Ee[0].family)})}}let y=new _Vp.EventEmitter,b=()=>{t.cancelToken&&t.cancelToken.unsubscribe(v),t.signal&&t.signal.removeEventListener("abort",v),y.removeAllListeners()};a((H,oe)=>{p=!0,oe&&(_=!0,b())});function v(H){y.emit("abort",!H||H.type?new ihe(null,t,h):H)}y.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(v),t.signal&&(t.signal.aborted?v():t.signal.addEventListener("abort",v)));let O=n6i(t.baseURL,t.url,t.allowAbsoluteUrls),A=new URL(O,OA.hasBrowserEnv?OA.origin:void 0),g=A.protocol||oVp[0];if(g==="data:"){if(t.maxContentLength>-1){let oe=String(t.url||O||"");if(AHs(oe)>t.maxContentLength)return n(new ya("maxContentLength size of "+t.maxContentLength+" exceeded",ya.ERR_BAD_RESPONSE,t))}let H;if(l!=="GET")return s9t(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{H=hHs(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(oe){throw ya.from(oe,ya.ERR_BAD_REQUEST,t)}return s==="text"?(H=H.toString(u),(!u||u==="utf8")&&(H=kt.stripBOM(H))):s==="stream"&&(H=u6i.default.Readable.from(H)),s9t(i,n,{data:H,status:200,statusText:"OK",headers:new US,config:t})}if(oVp.indexOf(g)===-1)return n(new ya("Unsupported protocol "+g,ya.ERR_BAD_REQUEST,t));let m=US.from(t.headers).normalize();m.set("User-Agent","axios/"+a6i,!1);let{onUploadProgress:j,onDownloadProgress:M}=t,E=t.maxRate,D,B;if(kt.isSpecCompliantForm(o)){let H=m.getContentType(/boundary=([-_\w\d]{10,70})/i);o=Z8p(o,oe=>{m.set(oe)},{tag:`axios-${a6i}-boundary`,boundary:H&&H[1]||void 0})}else if(kt.isFormData(o)&&kt.isFunction(o.getHeaders)){if(m.set(o.getHeaders()),!m.hasContentLength())try{let H=await dVp.default.promisify(o.getLength).call(o);Number.isFinite(H)&&H>=0&&m.setContentLength(H)}catch{}}else if(kt.isBlob(o)||kt.isFile(o))o.size&&m.setContentType(o.type||"application/octet-stream"),m.setContentLength(o.size||0),o=u6i.default.Readable.from(aPo(o));else if(o&&!kt.isStream(o)){if(!Buffer.isBuffer(o))if(kt.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(kt.isString(o))o=Buffer.from(o,"utf-8");else return n(new ya("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",ya.ERR_BAD_REQUEST,t));if(m.setContentLength(o.length,!1),t.maxBodyLength>-1&&o.length>t.maxBodyLength)return n(new ya("Request body larger than maxBodyLength limit",ya.ERR_BAD_REQUEST,t))}let F=kt.toFiniteNumber(m.getContentLength());kt.isArray(E)?(D=E[0],B=E[1]):D=B=E,o&&(j||D)&&(kt.isStream(o)||(o=u6i.default.Readable.from(o,{objectMode:!1})),o=u6i.default.pipeline([o,new vHs({maxRate:kt.toFiniteNumber(D)})],kt.noop),j&&o.on("progress",uVp(o,DTn(F,Hbi(BTn(j),!1,3)))));let N;if(t.auth){let H=t.auth.username||"",oe=t.auth.password||"";N=H+":"+oe}if(!N&&A.username){let H=A.username,oe=A.password;N=H+":"+oe}N&&m.delete("authorization");let T;try{T=i6i(A.pathname+A.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(H){let oe=new Error(H.message);return oe.config=t,oe.url=t.url,oe.exists=!0,n(oe)}m.set("Accept-Encoding","gzip, compress, deflate"+(aVp?", br":""),!1);let R={path:T,method:l,headers:m.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:N,protocol:g,family:f,beforeRedirect:ojS,beforeRedirects:{}};!kt.isUndefined(c)&&(R.lookup=c),t.socketPath?R.socketPath=t.socketPath:(R.hostname=A.hostname.startsWith("[")?A.hostname.slice(1,-1):A.hostname,R.port=A.port,hVp(R,t.proxy,g+"//"+A.hostname+(A.port?":"+A.port:"")+R.path));let Q,U=ajS.test(R.protocol);if(R.agent=U?t.httpsAgent:t.httpAgent,t.transport?Q=t.transport:t.maxRedirects===0?Q=U?fVp.default:lVp.default:(t.maxRedirects&&(R.maxRedirects=t.maxRedirects),t.beforeRedirect&&(R.beforeRedirects.config=t.beforeRedirect),Q=U?njS:ijS),t.maxBodyLength>-1?R.maxBodyLength=t.maxBodyLength:R.maxBodyLength=1/0,t.insecureHTTPParser&&(R.insecureHTTPParser=t.insecureHTTPParser),h=Q.request(R,function(oe){if(h.destroyed)return;let se=[oe],x=+oe.headers["content-length"];if(M||B){let Qe=new vHs({maxRate:kt.toFiniteNumber(B)});M&&Qe.on("progress",uVp(Qe,DTn(x,Hbi(BTn(M),!0,3)))),se.push(Qe)}let G=oe,Pe=oe.req||h;if(t.decompress!==!1&&oe.headers["content-encoding"])switch((l==="HEAD"||oe.statusCode===204)&&delete oe.headers["content-encoding"],(oe.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":se.push(Kbi.default.createUnzip(nVp)),delete oe.headers["content-encoding"];break;case"deflate":se.push(new eVp),se.push(Kbi.default.createUnzip(nVp)),delete oe.headers["content-encoding"];break;case"br":aVp&&(se.push(Kbi.default.createBrotliDecompress(rjS)),delete oe.headers["content-encoding"])}G=se.length>1?u6i.default.pipeline(se,kt.noop):se[0];let ne=u6i.default.finished(G,()=>{ne(),b()}),Ee={status:oe.statusCode,statusText:oe.statusMessage,headers:new US(oe.headers),config:t,request:Pe};if(s==="stream")Ee.data=G,s9t(i,n,Ee);else{let Qe=[],re=0;G.on("data",function(Ve){Qe.push(Ve),re+=Ve.length,t.maxContentLength>-1&&re>t.maxContentLength&&(_=!0,G.destroy(),n(new ya("maxContentLength size of "+t.maxContentLength+" exceeded",ya.ERR_BAD_RESPONSE,t,Pe)))}),G.on("aborted",function(){if(_)return;let Ve=new ya("stream has been aborted",ya.ERR_BAD_RESPONSE,t,Pe);G.destroy(Ve),n(Ve)}),G.on("error",function(Ve){h.destroyed||n(ya.from(Ve,null,t,Pe))}),G.on("end",function(){try{let Ve=Qe.length===1?Qe[0]:Buffer.concat(Qe);s!=="arraybuffer"&&(Ve=Ve.toString(u),(!u||u==="utf8")&&(Ve=kt.stripBOM(Ve))),Ee.data=Ve}catch(Ve){return n(ya.from(Ve,null,t,Ee.request,Ee))}s9t(i,n,Ee)})}y.once("abort",Qe=>{G.destroyed||(G.emit("error",Qe),G.destroy())})}),y.once("abort",H=>{n(H),h.destroy(H)}),h.on("error",function(oe){n(ya.from(oe,null,t,h))}),h.on("socket",function(oe){oe.setKeepAlive(!0,1e3*60)}),t.timeout){let H=parseInt(t.timeout,10);if(Number.isNaN(H)){n(new ya("error trying to parse `config.timeout` to int",ya.ERR_BAD_OPTION_VALUE,t,h));return}h.setTimeout(H,function(){if(p)return;let se=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",x=t.transitional||ETn;t.timeoutErrorMessage&&(se=t.timeoutErrorMessage),n(new ya(se,x.clarifyTimeoutError?ya.ETIMEDOUT:ya.ECONNABORTED,t,h)),v()})}if(kt.isStream(o)){let H=!1,oe=!1;o.on("end",()=>{H=!0}),o.once("error",se=>{oe=!0,h.destroy(se)}),o.on("close",()=>{!H&&!oe&&v(new ihe("Request stream has been aborted",t,h))}),o.pipe(h)}else h.end(o)})};var bVp=OA.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,OA.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(OA.origin),OA.navigator&&/(msie|trident)/i.test(OA.navigator.userAgent)):()=>!0;var vVp=OA.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let o=[e+"="+encodeURIComponent(t)];kt.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),kt.isString(i)&&o.push("path="+i),kt.isString(n)&&o.push("domain="+n),a===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var gVp=e=>e instanceof US?{...e}:e;function UNt(e,t){t=t||{};let r={};function i(s,u,l,p){return kt.isPlainObject(s)&&kt.isPlainObject(u)?kt.merge.call({caseless:p},s,u):kt.isPlainObject(u)?kt.merge({},u):kt.isArray(u)?u.slice():u}function n(s,u,l,p){if(kt.isUndefined(u)){if(!kt.isUndefined(s))return i(void 0,s,l,p)}else return i(s,u,l,p)}function a(s,u){if(!kt.isUndefined(u))return i(void 0,u)}function o(s,u){if(kt.isUndefined(u)){if(!kt.isUndefined(s))return i(void 0,s)}else return i(void 0,u)}function c(s,u,l){if(l in t)return i(s,u);if(l in e)return i(void 0,s)}let f={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(s,u,l)=>n(gVp(s),gVp(u),l,!0)};return kt.forEach(Object.keys({...e,...t}),function(u){let l=f[u]||n,p=l(e[u],t[u],u);kt.isUndefined(p)&&l!==c||(r[u]=p)}),r}var oPo=e=>{let t=UNt({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:o,auth:c}=t;if(t.headers=o=US.from(o),t.url=i6i(n6i(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),kt.isFormData(r)){if(OA.hasStandardBrowserEnv||OA.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(kt.isFunction(r.getHeaders)){let f=r.getHeaders(),s=["content-type","content-length"];Object.entries(f).forEach(([u,l])=>{s.includes(u.toLowerCase())&&o.set(u,l)})}}if(OA.hasStandardBrowserEnv&&(i&&kt.isFunction(i)&&(i=i(t)),i||i!==!1&&bVp(t.url))){let f=n&&a&&vVp.read(a);f&&o.set(n,f)}return t};var ljS=typeof XMLHttpRequest<"u",OVp=ljS&&function(e){return new Promise(function(r,i){let n=oPo(e),a=n.data,o=US.from(n.headers).normalize(),{responseType:c,onUploadProgress:f,onDownloadProgress:s}=n,u,l,p,_,h;function y(){_&&_(),h&&h(),n.cancelToken&&n.cancelToken.unsubscribe(u),n.signal&&n.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(n.method.toUpperCase(),n.url,!0),b.timeout=n.timeout;function v(){if(!b)return;let A=US.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),m={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:A,config:e,request:b};s9t(function(M){r(M),y()},function(M){i(M),y()},m),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(i(new ya("Request aborted",ya.ECONNABORTED,e,b)),b=null)},b.onerror=function(g){let m=g&&g.message?g.message:"Network Error",j=new ya(m,ya.ERR_NETWORK,e,b);j.event=g||null,i(j),b=null},b.ontimeout=function(){let g=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",m=n.transitional||ETn;n.timeoutErrorMessage&&(g=n.timeoutErrorMessage),i(new ya(g,m.clarifyTimeoutError?ya.ETIMEDOUT:ya.ECONNABORTED,e,b)),b=null},a===void 0&&o.setContentType(null),"setRequestHeader"in b&&kt.forEach(o.toJSON(),function(g,m){b.setRequestHeader(m,g)}),kt.isUndefined(n.withCredentials)||(b.withCredentials=!!n.withCredentials),c&&c!=="json"&&(b.responseType=n.responseType),s&&([p,h]=Hbi(s,!0),b.addEventListener("progress",p)),f&&b.upload&&([l,_]=Hbi(f),b.upload.addEventListener("progress",l),b.upload.addEventListener("loadend",_)),(n.cancelToken||n.signal)&&(u=A=>{b&&(i(!A||A.type?new ihe(null,e,b):A),b.abort(),b=null)},n.cancelToken&&n.cancelToken.subscribe(u),n.signal&&(n.signal.aborted?u():n.signal.addEventListener("abort",u)));let O=jOa(n.url);if(O&&OA.protocols.indexOf(O)===-1){i(new ya("Unsupported protocol "+O+":",ya.ERR_BAD_REQUEST,e));return}b.send(a||null)})};var fjS=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,a=function(s){if(!n){n=!0,c();let u=s instanceof Error?s:this.reason;i.abort(u instanceof ya?u:new ihe(u instanceof Error?u.message:u))}},o=t&&setTimeout(()=>{o=null,a(new ya(`timeout ${t} of ms exceeded`,ya.ETIMEDOUT))},t),c=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:f}=i;return f.unsubscribe=()=>kt.asap(c),f}},AVp=fjS;var djS=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},pjS=async function*(e,t){for await(let r of _jS(e))yield*djS(r,t)},_jS=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},mHs=(e,t,r,i)=>{let n=pjS(e,t),a=0,o,c=f=>{o||(o=!0,i&&i(f))};return new ReadableStream({async pull(f){try{let{done:s,value:u}=await n.next();if(s){c(),f.close();return}let l=u.byteLength;if(r){let p=a+=l;r(p)}f.enqueue(new Uint8Array(u))}catch(s){throw c(s),s}},cancel(f){return c(f),n.return()}},{highWaterMark:2})};var mVp=64*1024,{isFunction:uPo}=kt,hjS=(({Request:e,Response:t})=>({Request:e,Response:t}))(kt.global),{ReadableStream:PVp,TextEncoder:jVp}=kt.global,wVp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},yjS=e=>{e=kt.merge.call({skipUndefined:!0},hjS,e);let{fetch:t,Request:r,Response:i}=e,n=t?uPo(t):typeof fetch=="function",a=uPo(r),o=uPo(i);if(!n)return!1;let c=n&&uPo(PVp),f=n&&(typeof jVp=="function"?(h=>y=>h.encode(y))(new jVp):async h=>new Uint8Array(await new r(h).arrayBuffer())),s=a&&c&&wVp(()=>{let h=!1,y=new r(OA.origin,{body:new PVp,method:"POST",get duplex(){return h=!0,"half"}}).headers.has("Content-Type");return h&&!y}),u=o&&c&&wVp(()=>kt.isReadableStream(new i("").body)),l={stream:u&&(h=>h.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!l[h]&&(l[h]=(y,b)=>{let v=y&&y[h];if(v)return v.call(y);throw new ya(`Response type '${h}' is not supported`,ya.ERR_NOT_SUPPORT,b)})});let p=async h=>{if(h==null)return 0;if(kt.isBlob(h))return h.size;if(kt.isSpecCompliantForm(h))return(await new r(OA.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(kt.isArrayBufferView(h)||kt.isArrayBuffer(h))return h.byteLength;if(kt.isURLSearchParams(h)&&(h=h+""),kt.isString(h))return(await f(h)).byteLength},_=async(h,y)=>{let b=kt.toFiniteNumber(h.getContentLength());return b??p(y)};return async h=>{let{url:y,method:b,data:v,signal:O,cancelToken:A,timeout:g,onDownloadProgress:m,onUploadProgress:j,responseType:M,headers:E,withCredentials:D="same-origin",fetchOptions:B}=oPo(h),F=t||fetch;M=M?(M+"").toLowerCase():"text";let N=AVp([O,A&&A.toAbortSignal()],g),T=null,R=N&&N.unsubscribe&&(()=>{N.unsubscribe()}),Q;try{if(j&&s&&b!=="get"&&b!=="head"&&(Q=await _(E,v))!==0){let G=new r(y,{method:"POST",body:v,duplex:"half"}),Pe;if(kt.isFormData(v)&&(Pe=G.headers.get("content-type"))&&E.setContentType(Pe),G.body){let[ne,Ee]=DTn(Q,Hbi(BTn(j)));v=mHs(G.body,mVp,ne,Ee)}}kt.isString(D)||(D=D?"include":"omit");let U=a&&"credentials"in r.prototype,H={...B,signal:N,method:b.toUpperCase(),headers:E.normalize().toJSON(),body:v,duplex:"half",credentials:U?D:void 0};T=a&&new r(y,H);let oe=await(a?F(T,B):F(y,H)),se=u&&(M==="stream"||M==="response");if(u&&(m||se&&R)){let G={};["status","statusText","headers"].forEach(Qe=>{G[Qe]=oe[Qe]});let Pe=kt.toFiniteNumber(oe.headers.get("content-length")),[ne,Ee]=m&&DTn(Pe,Hbi(BTn(m),!0))||[];oe=new i(mHs(oe.body,mVp,ne,()=>{Ee&&Ee(),R&&R()}),G)}M=M||"text";let x=await l[kt.findKey(l,M)||"text"](oe,h);return!se&&R&&R(),await new Promise((G,Pe)=>{s9t(G,Pe,{data:x,headers:US.from(oe.headers),status:oe.status,statusText:oe.statusText,config:h,request:T})})}catch(U){throw R&&R(),U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message)?Object.assign(new ya("Network Error",ya.ERR_NETWORK,h,T),{cause:U.cause||U}):ya.from(U,U&&U.code,h,T)}}},bjS=new Map,PHs=e=>{let t=e?e.env:{},{fetch:r,Request:i,Response:n}=t,a=[i,n,r],o=a.length,c=o,f,s,u=bjS;for(;c--;)f=a[c],s=u.get(f),s===void 0&&u.set(f,s=c?new Map:yjS(t)),u=s;return s},Dg5=PHs();var jHs={http:yVp,xhr:OVp,fetch:{get:PHs}};kt.forEach(jHs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var EVp=e=>`- ${e}`,gjS=e=>kt.isFunction(e)||e===null||e===!1,sPo={getAdapter:(e,t)=>{e=kt.isArray(e)?e:[e];let{length:r}=e,i,n,a={};for(let o=0;o<r;o++){i=e[o];let c;if(n=i,!gjS(i)&&(n=jHs[(c=String(i)).toLowerCase()],n===void 0))throw new ya(`Unknown adapter '${c}'`);if(n&&(kt.isFunction(n)||(n=n.get(t))))break;a[c||"#"+o]=n}if(!n){let o=Object.entries(a).map(([f,s])=>`adapter ${f} `+(s===!1?"is not supported by the environment":"is not available in the build")),c=r?o.length>1?`since :
|
|
@@ -1396,7 +1396,7 @@ ${g}${O}${m}${mQn}`});function ZQo({message:e,error:t,logger:r,logLevel:i=$s.Err
|
|
|
1396
1396
|
Run ${Ut.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
|
|
1397
1397
|
Run ${Ut.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),LBi(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function ouc({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!vd_(e))return;let n=t??"",a=e.filter(c=>c.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let o=a.sort((c,f)=>c.generatorName.localeCompare(f.generatorName)||c.currentVersion.localeCompare(f.currentVersion));for(let c of o)n+=`
|
|
1398
1398
|
${await a2S(c.generatorName)} (${c.apiName!=null?"API: "+c.apiName+", ":""}Group: ${c.generatorGroup}) `+Ut.dim(c.currentVersion)+Ut.reset(" \u2192 ")+Ut.green(c.latestVersion);return n+=`
|
|
1399
|
-
`,i?LBi(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function a2S(e){let r=await new bd_.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 o2S({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,u,l)=>{c.versions[s]==null&&(c.versions[s]={});let p=QMi(u.name,l),_=await _Nt({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:l});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,f,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][f]==null&&(o.versions[c][f]={});let l=QMi(s.name,u),p=await _Nt({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][f][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await X_e({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(!(c==null||c.groups==null)){for(let f of c.groups)if(!(n!=null&&f.groupName!==n))for(let s of f.generators)i!=null&&s.name!==i||await r(a.workspaceName,f.groupName,s,o)}})}))}function Ad_(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let f=tK(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(f?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:f,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function rUo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await o2S({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[f,s]of Object.entries(c.versions))o.push(...Ad_(s,f,t.logger));else o.push(...Ad_(c.versions,void 0,t.logger))}return o}var QPa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var EQn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var uuc=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),md_=typeof globalThis.AbortController=="function",Pd_=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",jd_=typeof globalThis.ReadableStream=="function",wd_=typeof globalThis.FormData=="function",iUo=["get","post","put","patch","head","delete"],u2S=()=>{};u2S();var Ed_={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},nUo=2147483647,Sd_=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,aUo=Symbol("stop"),Md_={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},Dd_={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var s2S=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=Sd_,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},Bd_=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},Id_=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(Bd_(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},Cd_=(e,t,r)=>{if(!e.body)return e;let i=s2S(r??e.body);return new Request(e,{duplex:"half",body:Bd_(e.body,i,t)})};var SQn=e=>e!==null&&typeof e=="object";var UPa=(...e)=>{for(let t of e)if((!SQn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return luc({},...e)},suc=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function oUo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:luc(e[r]??[],t[r]??[])}var cuc=(e={},t={})=>({beforeRequest:oUo(e,t,"beforeRequest"),beforeRetry:oUo(e,t,"beforeRetry"),afterResponse:oUo(e,t,"afterResponse"),beforeError:oUo(e,t,"beforeError")}),luc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(SQn(n)){for(let[a,o]of Object.entries(n))SQn(o)&&a in t&&(o=luc(t[a],o)),t={...t,[a]:o};SQn(n.hooks)&&(i=cuc(i,n.hooks),t.hooks=i),SQn(n.headers)&&(r=suc(r,n.headers),t.headers=r)}return t};var Td_=e=>iUo.includes(e)?e.toUpperCase():e,c2S=["get","put","head","delete","options","trace"],l2S=[408,413,429,500,502,503,504],f2S=[413,429,503],qd_={limit:2,methods:c2S,statusCodes:l2S,afterStatusCodes:f2S,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Rd_=(e={})=>{if(typeof e=="number")return{...qd_,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...qd_,...e}};async function fuc(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new EQn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function duc(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var zd_=(e,t)=>{let r={};for(let i in t)!(i in Dd_)&&!(i in Md_)&&!(i in e)&&(r[i]=t[i]);return r},Nd_=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var LPa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>nUo)throw new RangeError(`The \`timeout\` option cannot be greater than ${nUo}`);await Promise.resolve();let c=await i._fetch();for(let f of i._options.hooks.afterResponse){let s=await f(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let f=new QPa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)f=await s(f);throw f}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!jd_)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return Id_(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,f=[];c&&!c.bodyUsed&&f.push(c.body?.cancel()),i.request.bodyUsed||f.push(i.request.body?.cancel()),await Promise.all(f)});for(let[c,f]of Object.entries(Ed_))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||f);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:suc(this._input.headers,r.headers),hooks:cuc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Td_(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:Rd_(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(md_&&Pd_){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(uuc&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),Nd_(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(wd_&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!uuc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=Cd_(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof EQn)throw t;if(t instanceof QPa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),nUo);if(this._retryCount<1)throw r;await duc(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===aUo)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=zd_(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):fuc(this._originalRequest,t,this.abortController,this._options)}};var puc=e=>{let t=(r,i)=>LPa.create(r,UPa(e,i));for(let r of iUo)t[r]=(i,n)=>LPa.create(i,UPa(e,n,{method:r}));return t.create=r=>puc(UPa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),puc(UPa(e,r))),t.stop=aUo,t},d2S=puc(),Fd_=d2S;var up_=ae(op_(),1);function vuc(e){let t=(0,up_.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var t__=ae(e__(),1),r__=ae(P_e(),1),Iuc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},Cuc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function quc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??vuc(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,t__.default)(a.toString(),{recursive:!0}),f={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete f.accept,c&&(f.authorization=`${c.type} ${c.token}`);let s;try{s=await Fd_(o,{headers:f,keepalive:!0}).json()}catch(l){throw l?.response?.status===404?new Iuc(e):l}if(t.allVersions)return s;let u=new Cuc(e,r);if(s["dist-tags"][r]){let{time:l}=s;s=s.versions[s["dist-tags"][r]],s.time=l}else if(r){let l=!!s.versions[r];if(i&&!l)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!l){let _=Object.keys(s.versions);if(r=r__.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function KPa(e,t){let{version:r}=await quc(e.toLowerCase(),t);return r}async function TCi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:KPa(e.packageName,{version:t?"prerelease":"latest"})}var i__=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],vUo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=$s.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new tUo(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.4.3"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ut.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new TE}failWithoutThrowing(t,r){this.didSucceed=!1,ZQo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await mTn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await gd_({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1399
|
+
`,i?LBi(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function a2S(e){let r=await new bd_.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 o2S({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let c={type:"singleApi",versions:{}};return await Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,u,l)=>{c.versions[s]==null&&(c.versions[s]={});let p=QMi(u.name,l),_=await _Nt({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:n,includeMajor:a,context:l});_!=null&&(c.versions[s][u.name]={previousVersion:u.version,latestVersion:_})},generatorFilter:r,groupFilter:i}),c}let o={type:"multiApi",versions:{}};return await Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,f,s,u)=>{if(c==null)return;o.versions[c]==null&&(o.versions[c]={}),o.versions[c][f]==null&&(o.versions[c][f]={});let l=QMi(s.name,u),p=await _Nt({generatorName:l,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:u});p!=null&&(o.versions[c][f][s.name]={previousVersion:s.version,latestVersion:p})},generatorFilter:r,groupFilter:i}),o}async function Od_({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async o=>{let c=await X_e({absolutePathToWorkspace:a.absoluteFilePath,context:o});if(!(c==null||c.groups==null)){for(let f of c.groups)if(!(n!=null&&f.groupName!==n))for(let s of f.generators)i!=null&&s.name!==i||await r(a.workspaceName,f.groupName,s,o)}})}))}function Ad_(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[o,c]of Object.entries(a)){r.debug(`Checking if ${o} in group ${n} has an upgrade available...`);let f=tK(c.latestVersion,c.previousVersion);r.debug(`Latest version: ${c.latestVersion}. `+(f?"Upgrade available.":"No upgrade available.")),i.push({generatorName:o,generatorGroup:n,apiName:t,isUpgradeAvailable:f,currentVersion:c.previousVersion,latestVersion:c.latestVersion})}return i}async function rUo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let o=[];if(e!=null){let c=await o2S({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(c.type==="multiApi")for(let[f,s]of Object.entries(c.versions))o.push(...Ad_(s,f,t.logger));else o.push(...Ad_(c.versions,void 0,t.logger))}return o}var QPa=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText??"",o=`${n} ${a}`.trim(),c=o?`status code ${o}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var EQn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var uuc=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),md_=typeof globalThis.AbortController=="function",Pd_=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",jd_=typeof globalThis.ReadableStream=="function",wd_=typeof globalThis.FormData=="function",iUo=["get","post","put","patch","head","delete"],u2S=()=>{};u2S();var Ed_={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},nUo=2147483647,Sd_=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,aUo=Symbol("stop"),Md_={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},Dd_={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var s2S=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,i]of e)t+=Sd_,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof i=="string"?new TextEncoder().encode(i).length:i.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},Bd_=(e,t,r)=>{let i,n=0;return e.pipeThrough(new TransformStream({transform(a,o){if(o.enqueue(a),i){n+=i.byteLength;let c=t===0?0:n/t;c>=1&&(c=1-Number.EPSILON),r?.({percent:c,totalBytes:Math.max(t,n),transferredBytes:n},i)}i=a},flush(){i&&(n+=i.byteLength,r?.({percent:1,totalBytes:Math.max(t,n),transferredBytes:n},i))}}))},Id_=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Number(e.headers.get("content-length"))||0;return new Response(Bd_(e.body,r,t),{status:e.status,statusText:e.statusText,headers:e.headers})},Cd_=(e,t,r)=>{if(!e.body)return e;let i=s2S(r??e.body);return new Request(e,{duplex:"half",body:Bd_(e.body,i,t)})};var SQn=e=>e!==null&&typeof e=="object";var UPa=(...e)=>{for(let t of e)if((!SQn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return luc({},...e)},suc=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,o]of n.entries())i&&o==="undefined"||o===void 0?r.delete(a):r.set(a,o);return r};function oUo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:luc(e[r]??[],t[r]??[])}var cuc=(e={},t={})=>({beforeRequest:oUo(e,t,"beforeRequest"),beforeRetry:oUo(e,t,"beforeRetry"),afterResponse:oUo(e,t,"afterResponse"),beforeError:oUo(e,t,"beforeError")}),luc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(SQn(n)){for(let[a,o]of Object.entries(n))SQn(o)&&a in t&&(o=luc(t[a],o)),t={...t,[a]:o};SQn(n.hooks)&&(i=cuc(i,n.hooks),t.hooks=i),SQn(n.headers)&&(r=suc(r,n.headers),t.headers=r)}return t};var Td_=e=>iUo.includes(e)?e.toUpperCase():e,c2S=["get","put","head","delete","options","trace"],l2S=[408,413,429,500,502,503,504],f2S=[413,429,503],qd_={limit:2,methods:c2S,statusCodes:l2S,afterStatusCodes:f2S,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Rd_=(e={})=>{if(typeof e=="number")return{...qd_,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...qd_,...e}};async function fuc(e,t,r,i){return new Promise((n,a)=>{let o=setTimeout(()=>{r&&r.abort(),a(new EQn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(o)})})}async function duc(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var zd_=(e,t)=>{let r={};for(let i in t)!(i in Dd_)&&!(i in Md_)&&!(i in e)&&(r[i]=t[i]);return r},Nd_=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e=="object"?Object.keys(e).length>0:typeof e=="string"?e.trim().length>0:!!e;var LPa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>nUo)throw new RangeError(`The \`timeout\` option cannot be greater than ${nUo}`);await Promise.resolve();let c=await i._fetch();for(let f of i._options.hooks.afterResponse){let s=await f(i.request,i._options,i._decorateResponse(c.clone()));s instanceof globalThis.Response&&(c=s)}if(i._decorateResponse(c),!c.ok&&i._options.throwHttpErrors){let f=new QPa(c,i.request,i._options);for(let s of i._options.hooks.beforeError)f=await s(f);throw f}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!jd_)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return Id_(c.clone(),i._options.onDownloadProgress)}return c},o=(i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n()).finally(async()=>{let c=i._originalRequest,f=[];c&&!c.bodyUsed&&f.push(c.body?.cancel()),i.request.bodyUsed||f.push(i.request.body?.cancel()),await Promise.all(f)});for(let[c,f]of Object.entries(Ed_))c==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[c]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||f);let s=await o;if(c==="json"){if(s.status===204)return"";let u=await s.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return s[c]()});return o}static#e(t){return t&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof URLSearchParams)?Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0)):t}request;abortController;_retryCount=0;_input;_options;_originalRequest;constructor(t,r={}){if(this._input=t,this._options={...r,headers:suc(this._input.headers,r.headers),hooks:cuc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Td_(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:Rd_(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(md_&&Pd_){let i=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=i?AbortSignal.any([i,this.abortController.signal]):this.abortController.signal}if(uuc&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),Nd_(this._options.searchParams)){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(e.#e(this._options.searchParams)).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(wd_&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!uuc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=Cd_(this.request,this._options.onUploadProgress,this._options.body))}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof EQn)throw t;if(t instanceof QPa){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),nUo);if(this._retryCount<1)throw r;await duc(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===aUo)return;return this._retry(t)}}async _fetch(){for(let r of this._options.hooks.beforeRequest){let i=await r(this.request,this._options);if(i instanceof Request){this.request=i;break}if(i instanceof Response)return i}let t=zd_(this.request,this._options);return this._originalRequest=this.request,this.request=this._originalRequest.clone(),this._options.timeout===!1?this._options.fetch(this._originalRequest,t):fuc(this._originalRequest,t,this.abortController,this._options)}};var puc=e=>{let t=(r,i)=>LPa.create(r,UPa(e,i));for(let r of iUo)t[r]=(i,n)=>LPa.create(i,UPa(e,n,{method:r}));return t.create=r=>puc(UPa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),puc(UPa(e,r))),t.stop=aUo,t},d2S=puc(),Fd_=d2S;var up_=ae(op_(),1);function vuc(e){let t=(0,up_.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var t__=ae(e__(),1),r__=ae(P_e(),1),Iuc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},Cuc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function quc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??vuc(n),o=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),c=(0,t__.default)(a.toString(),{recursive:!0}),f={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete f.accept,c&&(f.authorization=`${c.type} ${c.token}`);let s;try{s=await Fd_(o,{headers:f,keepalive:!0}).json()}catch(l){throw l?.response?.status===404?new Iuc(e):l}if(t.allVersions)return s;let u=new Cuc(e,r);if(s["dist-tags"][r]){let{time:l}=s;s=s.versions[s["dist-tags"][r]],s.time=l}else if(r){let l=!!s.versions[r];if(i&&!l)for(let[_,h]of Object.entries(s.versions))h.deprecated&&delete s.versions[_];if(!l){let _=Object.keys(s.versions);if(r=r__.default.maxSatisfying(_,r),!r)throw u}let{time:p}=s;if(s=s.versions[r],s.time=p,!s)throw u}return s}async function KPa(e,t){let{version:r}=await quc(e.toLowerCase(),t);return r}async function TCi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:KPa(e.packageName,{version:t?"prerelease":"latest"})}var i__=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],vUo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=$s.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new tUo(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),o=this.getCliName();(n==null||a==null||o==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:o}}getPackageName(){return"fern-api"}getPackageVersion(){return"3.4.5"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ut.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new TE}failWithoutThrowing(t,r){this.didSucceed=!1,ZQo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await mTn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await gd_({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1400
1400
|
`)||(r+=`
|
|
1401
1401
|
`),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=Sws(t.map(i=>i.type==="docs"?"docs":i.workspaceName??"api"),i=>i.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new qPa(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let i=this.addTaskWithInit(t).start(),n;try{n=await r(i)}catch(a){throw a.message.includes("globalThis")?(i.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),i.failWithoutThrowing()):i.failWithoutThrowing(void 0,a),new TE}finally{i.finish()}return n}async instrumentPostHogEvent(t){this.isLocal||(await mTn()).sendEvent(t)}logger=J8t((t,...r)=>this.log(t,...r));stderr=J8t((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=n__(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?n__(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=i__[this.numTasks++%i__.length],o=Ut.hex(a)(n);return{...this.constructTaskInit(),logPrefix:o}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===gj.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let i=t.filter(n=>cMi.indexOf(n.level)>=cMi.indexOf(this.logLevel));this.ttyAwareLogger.log(i,{includeDebugInfo:this.logLevel===$s.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 TCi({cliEnvironment:this.environment,includePreReleases:t}),i=tK(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await rUo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await Joc({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:Ut.yellow("?"),style:{answer:n=>Ut.cyan(n),message:n=>Ut.bold(n),highlight:n=>Ut.cyan(n)}}})}catch(i){throw i?.name==="ExitPromptError"?(this.logger.info(`
|
|
1402
1402
|
Cancelled by user.`),new TE):i}}async getInput(t){return await xoc({message:t.message,default:t.default})}};function n__(e){return`[${e}]:`}var bFt=class{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;constructor({generatorsConfiguration:t,workspaceName:r,cliVersion:i,absoluteFilePath:n,changelog:a}){this.generatorsConfiguration=t,this.workspaceName=r,this.cliVersion=i,this.absoluteFilePath=n,this.changelog=a}};function gUo(e,t,r,i){if(typeof r!="function")throw new Error("method for before hook must be a function");return i||(i={}),Array.isArray(t)?t.reverse().reduce((n,a)=>gUo.bind(null,e,a,n,i),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((n,a)=>a.hook.bind(null,n,i),r)():r(i))}function a__(e,t,r,i){let n=i;e.registry[r]||(e.registry[r]=[]),t==="before"&&(i=(a,o)=>Promise.resolve().then(n.bind(null,o)).then(a.bind(null,o))),t==="after"&&(i=(a,o)=>{let c;return Promise.resolve().then(a.bind(null,o)).then(f=>(c=f,n(c,o))).then(()=>c)}),t==="error"&&(i=(a,o)=>Promise.resolve().then(a.bind(null,o)).catch(c=>n(c,o))),e.registry[r].push({hook:i,orig:n})}function o__(e,t,r){if(!e.registry[t])return;let i=e.registry[t].map(n=>n.orig).indexOf(r);i!==-1&&e.registry[t].splice(i,1)}var u__=Function.bind,s__=u__.bind(u__);function c__(e,t,r){let i=s__(o__,null).apply(null,r?[t,r]:[t]);e.api={remove:i},e.remove=i,["before","error","after","wrap"].forEach(n=>{let a=r?[t,n,r]:[t,n];e[n]=e.api[n]=s__(a__,null).apply(null,a)})}function vkS(){let e=Symbol("Singular"),t={registry:{}},r=gUo.bind(null,t,e);return c__(r,t,e),r}function gkS(){let e={registry:{}},t=gUo.bind(null,e);return c__(t,e),t}var l__={Singular:vkS,Collection:gkS};var OkS="0.0.0-development",AkS=`octokit-endpoint.js/${OkS} ${TR()}`,mkS={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":AkS},mediaType:{format:""}};function PkS(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function jkS(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function p__(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(i=>{jkS(t[i])?i in e?r[i]=p__(e[i],t[i]):Object.assign(r,{[i]:t[i]}):Object.assign(r,{[i]:t[i]})}),r}function f__(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Ruc(e,t,r){if(typeof t=="string"){let[n,a]=t.split(" ");r=Object.assign(a?{method:n,url:a}:{url:n},r)}else r=Object.assign({},t);r.headers=PkS(r.headers),f__(r),f__(r.headers);let i=p__(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(i.mediaType.previews=e.mediaType.previews.filter(n=>!i.mediaType.previews.includes(n)).concat(i.mediaType.previews)),i.mediaType.previews=(i.mediaType.previews||[]).map(n=>n.replace(/-preview/,""))),i}function wkS(e,t){let r=/\?/.test(e)?"&":"?",i=Object.keys(t);return i.length===0?e:e+r+i.map(n=>n==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${n}=${encodeURIComponent(t[n])}`).join("&")}var EkS=/\{[^{}}]+\}/g;function SkS(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function MkS(e){let t=e.match(EkS);return t?t.map(SkS).reduce((r,i)=>r.concat(i),[]):[]}function d__(e,t){let r={__proto__:null};for(let i of Object.keys(e))t.indexOf(i)===-1&&(r[i]=e[i]);return r}function ___(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function RQn(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function JPa(e,t,r){return t=e==="+"||e==="#"?___(t):RQn(t),r?RQn(r)+"="+t:t}function TQn(e){return e!=null}function Tuc(e){return e===";"||e==="&"||e==="?"}function DkS(e,t,r,i){var n=e[r],a=[];if(TQn(n)&&n!=="")if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")n=n.toString(),i&&i!=="*"&&(n=n.substring(0,parseInt(i,10))),a.push(JPa(t,n,Tuc(t)?r:""));else if(i==="*")Array.isArray(n)?n.filter(TQn).forEach(function(o){a.push(JPa(t,o,Tuc(t)?r:""))}):Object.keys(n).forEach(function(o){TQn(n[o])&&a.push(JPa(t,n[o],o))});else{let o=[];Array.isArray(n)?n.filter(TQn).forEach(function(c){o.push(JPa(t,c))}):Object.keys(n).forEach(function(c){TQn(n[c])&&(o.push(RQn(c)),o.push(JPa(t,n[c].toString())))}),Tuc(t)?a.push(RQn(r)+"="+o.join(",")):o.length!==0&&a.push(o.join(","))}else t===";"?TQn(n)&&a.push(RQn(r)):n===""&&(t==="&"||t==="?")?a.push(RQn(r)+"="):n===""&&a.push("");return a}function BkS(e){return{expand:IkS.bind(null,e)}}function IkS(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(i,n,a){if(n){let c="",f=[];if(r.indexOf(n.charAt(0))!==-1&&(c=n.charAt(0),n=n.substr(1)),n.split(/,/g).forEach(function(s){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(s);f.push(DkS(t,c,u[1],u[2]||u[3]))}),c&&c!=="+"){var o=",";return c==="?"?o="&":c!=="#"&&(o=c),(f.length!==0?c:"")+f.join(o)}else return f.join(",")}else return ___(a)}),e==="/"?e:e.replace(/\/$/,"")}function h__(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),i=Object.assign({},e.headers),n,a=d__(e,["method","baseUrl","url","headers","request","mediaType"]),o=MkS(r);r=BkS(r).expand(a),/^http/.test(r)||(r=e.baseUrl+r);let c=Object.keys(e).filter(u=>o.includes(u)).concat("baseUrl"),f=d__(a,c);if(!/application\/octet-stream/i.test(i.accept)&&(e.mediaType.format&&(i.accept=i.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=i.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];i.accept=u.concat(e.mediaType.previews).map(l=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${l}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=wkS(r,f):"data"in f?n=f.data:Object.keys(f).length&&(n=f),!i["content-type"]&&typeof n<"u"&&(i["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof n>"u"&&(n=""),Object.assign({method:t,url:r,headers:i},typeof n<"u"?{body:n}:null,e.request?{request:e.request}:null)}function CkS(e,t,r){return h__(Ruc(e,t,r))}function y__(e,t){let r=Ruc(e,t),i=CkS.bind(null,r);return Object.assign(i,{DEFAULTS:r,defaults:y__.bind(null,r),merge:Ruc.bind(null,r),parse:h__})}var b__=y__(null,mkS);var P__=ae(A__(),1);var vFt=class extends Error{name;status;request;response;constructor(t,r,i){super(t),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0),"response"in i&&(this.response=i.response);let n=Object.assign({},i.request);i.request.headers.authorization&&(n.headers=Object.assign({},i.request.headers,{authorization:i.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),n.url=n.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=n}};var qkS="10.0.6",TkS={headers:{"user-agent":`octokit-request.js/${qkS} ${TR()}`}};function RkS(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function m__(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,i=e.request?.parseSuccessResponseBody!==!1,n=RkS(e.body)||Array.isArray(e.body)?JSON.stringify(e.body):e.body,a=Object.fromEntries(Object.entries(e.headers).map(([l,p])=>[l,String(p)])),o;try{o=await t(e.url,{method:e.method,body:n,redirect:e.request?.redirect,headers:a,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(l){let p="Unknown Error";if(l instanceof Error){if(l.name==="AbortError")throw l.status=500,l;p=l.message,l.name==="TypeError"&&"cause"in l&&(l.cause instanceof Error?p=l.cause.message:typeof l.cause=="string"&&(p=l.cause))}let _=new vFt(p,500,{request:e});throw _.cause=l,_}let c=o.status,f=o.url,s={};for(let[l,p]of o.headers)s[l]=p;let u={url:f,status:c,headers:s,data:""};if("deprecation"in s){let l=s.link&&s.link.match(/<([^<>]+)>; rel="deprecation"/),p=l&&l.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${s.sunset}${p?`. See ${p}`:""}`)}if(c===204||c===205)return u;if(e.method==="HEAD"){if(c<400)return u;throw new vFt(o.statusText,c,{response:u,request:e})}if(c===304)throw u.data=await zuc(o),new vFt("Not modified",c,{response:u,request:e});if(c>=400)throw u.data=await zuc(o),new vFt(NkS(u.data),c,{response:u,request:e});return u.data=i?await zuc(o):o.body,u}async function zuc(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(()=>"");let r=(0,P__.safeParse)(t);if(zkS(r)){let i="";try{return i=await e.text(),JSON.parse(i)}catch{return i}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"?e.text().catch(()=>""):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function zkS(e){return e.type==="application/json"||e.type==="application/scim+json"}function NkS(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if("message"in e){let t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(r=>JSON.stringify(r)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function Nuc(e,t){let r=e.defaults(t);return Object.assign(function(n,a){let o=r.merge(n,a);if(!o.request||!o.request.hook)return m__(r.parse(o));let c=(f,s)=>m__(r.parse(r.merge(f,s)));return Object.assign(c,{endpoint:r,defaults:Nuc.bind(null,r)}),o.request.hook(c,o)},{endpoint:r,defaults:Nuc.bind(null,r)})}var WO=Nuc(b__,TkS);var FkS="0.0.0-development";function QkS(e){return`Request failed due to following response errors:
|
|
@@ -1747,7 +1747,7 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
1747
1747
|
`;)b++;let O=a.slice(v,b).trim();if(a[b]==="="){for(b++;b<h&&(a[b]===" "||a[b]===`
|
|
1748
1748
|
`);)b++;if(a[b]==='"'||a[b]==="'"){let A=a[b];b++;let g=b;for(;b<h&&a[b]!==A;)a[b]==="\\"?b+=2:b++;let m=a.slice(g,b);if(b++,O==="src"){let j=c(m);j&&p.push({start:g,end:g+m.length,replacement:j})}else if(O==="href"){let j=P3n({href:m,markdownFilesToPathName:r,metadata:i});j&&j.type==="replace"&&p.push({start:g,end:g+m.length,replacement:j.slug})}}}}b<h&&a[b]===">"&&b++,_=b;continue}_++}u=DGo(a,p);let y=performance.now()-l;n.logger.debug(`Streaming replacement completed in ${y.toFixed(0)}ms: ${p.length} edits applied`)}else{let l=l1i(a),p=NR_(a),_=[];Fi(l,y=>{let b=y;return b.type==="image"||b.type==="link"||b.type==="mdxJsxFlowElement"||b.type==="mdxJsxTextElement"||b.type==="mdxFlowExpression"||b.type==="mdxTextExpression"},y=>{if(y.position==null)return;let{start:b,length:v}=FR_(p,y.position),O=a.slice(b,b+v),A=O;function g(M){let E=c(M);M&&E&&(A=A.replace(M,E))}function m(M){let E=P3n({href:M,markdownFilesToPathName:r,metadata:i});M!=null&&E!=null&&E.type==="replace"&&(A=A.replace(M,E.slug))}function j(M){m3n(M,{src:E=>g(oU(Tgi(E.value))),href:E=>m(oU(Tgi(E.value)))})}if(y.type==="image"){let M=oU(y.url);g(oU(M))}if(y.type==="link"&&m(oU(y.url)),k9o(y)){let M=y.attributes.filter(Rgi).find(D=>D.name==="src");g(oU(i1i(M?.value)));let E=y.attributes.find(D=>D.type==="mdxJsxAttribute"&&D.name==="href");m(oU(i1i(E?.value))),y.attributes.forEach(D=>{Rgi(D)&&typeof D.value!="string"&&D.value!=null&&D.value.data?.estree?j(D.value.data.estree):tGo(D)&&D.data?.estree&&j(D.data.estree)})}return eGo(y)&&y.data?.estree&&j(y.data.estree),A!==O&&_.push({start:b,end:b+v,replacement:A}),Yn}),u=DGo(a,_)}return KEa.default.stringify(u,o)}function oU(e){if(typeof e=="string")return e.replace(/#.*$/,"")}function UzM(e){return e.replace(/\\([()])/g,"$1")}function UR_(e,t,r){for(let i of t){let n=e[i];if(n!=null){if(typeof n=="object")n.type==="fileId"&&(e[i]={type:"fileId",value:pi.FileId(r(n.value)??n.value)});else if(typeof n=="string"){let a=r(n);e[i]=a?{type:"fileId",value:pi.FileId(a)}:{type:"url",value:pi.Url(n)}}}}}var LzM=Tt.union([Tt.string(),Tt.object({light:Tt.string().optional(),dark:Tt.string().optional()})]);function nvc(e,t){let r=t(e);return r?{type:"fileId",value:pi.FileId(r)}:{type:"url",value:pi.Url(e)}}function LR_(e,t){let r=LzM.safeParse(e.logo);if(!r.success)return;let i=r.data;typeof i=="string"?e.logo=nvc(i,t):(i.light!=null&&(e.logo.light=nvc(i.light,t)),i.dark!=null&&(e.logo.dark=nvc(i.dark,t)))}var VR_=require("fs/promises");async function VzM(e){return(await(0,VR_.readFile)(e)).toString()}function WzM(e){return e.startsWith("http://")||e.startsWith("https://")}function xzM(e,t){let r=e.split(`
|
|
1749
1749
|
`),i=new Set,n=t.trim();n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1));let a=n.split(",");for(let f of a){let s=f.trim(),u=s.match(/^(\d+)-(\d+)$/);if(u){let p=parseInt(u[1]??"1",10),_=parseInt(u[2]??"1",10);for(let h=p;h<=_;h++)i.add(h-1);continue}let l=s.match(/^(\d+)$/);if(l){let p=parseInt(l[1]??"1",10);i.add(p-1);continue}if(s!=="")return e}return i.size===0?e:Array.from(i).sort((f,s)=>f-s).filter(f=>f>=0&&f<r.length).map(f=>r[f]??"").join(`
|
|
1750
|
-
`)}async function svc({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,fileLoader:n=VzM}){if(!e.includes("<Code"))return e;let a=/([ \t]*)<Code(?![a-zA-Z])[\s\S]*?src={?['"]([^'"]+)['"](?! \+)}?([\s\S]*?)\/>/g,o=e,c;for(;(c=a.exec(e))!=null;){let f=c[0],s=c[1],u=c[2];if(f==null||u==null)throw new Error(`Failed to parse regex "${c}" in ${r}`);try{let l,p,_;if(WzM(u))try{let M=await fetch(u);if(!M.ok){i.logger.warn(`Failed to fetch code from URL "${u}" (status ${M.status}) referenced in ${r}`);break}l=await M.text();let D=new URL(u).pathname;p=D.split(".").pop(),_=D.split("/").pop()}catch(M){i.logger.warn(`Failed to fetch code from URL "${u}" referenced in ${r}: ${M}`);break}else{let M=_s(u.startsWith("/")?t:hn(r),Ye.of(u.replace(/^\//,"")));l=await n(M),p=M.split(".").pop(),_=M.split("/").pop()}let h=new Map,y=/(\w+)=(?:{([^}]+)}|"([^"]+)")/g,b=f?.split("src=")[0]?.trim()??"",v;for(;(v=y.exec(b))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}let O=c[3]?.trim()||"";for(y.lastIndex=0;(v=y.exec(O))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}h.delete("src");let A=h.get("language");A&&(p=A.value,h.delete("language"));let g=h.get("title");g&&(_=g.value,h.delete("title"));let m=h.get("lines");m&&(l=xzM(l,m.value),h.delete("lines"));let j="";p!=null&&(j+=p),_!=null&&(g?.fromCurlyBraces?j+=` title={${_}}`:j+=` title={"${_}"}`);for(let[M,E]of h)j+=` ${M}={${E.value}}`;l=`\`\`\`${j}
|
|
1750
|
+
`)}async function svc({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,fileLoader:n=VzM}){if(!e.includes("<Code"))return e;let a=/([ \t]*)<Code(?![a-zA-Z])[\s\S]*?src={?['"]([^'"]+)['"](?! \+)}?([\s\S]*?)\/>/g,o=e,c;for(;(c=a.exec(e))!=null;){let f=c[0],s=c[1],u=c[2];if(f==null||u==null)throw new Error(`Failed to parse regex "${c}" in ${r}`);try{let l,p,_;if(WzM(u))try{let M=await fetch(u);if(!M.ok){i.logger.warn(`Failed to fetch code from URL "${u}" (status ${M.status}) referenced in ${r}`);break}l=await M.text();let D=new URL(u).pathname;p=D.split(".").pop(),_=D.split("/").pop()}catch(M){i.logger.warn(`Failed to fetch code from URL "${u}" referenced in ${r}: ${M}`);break}else{let M=_s(u.startsWith("/")?t:hn(r),Ye.of(u.replace(/^\//,"")));l=await n(M),p=M.split(".").pop(),_=M.split("/").pop()}let h=new Map,y=/(\w+)=(?:{([^}]+)}|"([^"]+)")/g,b=f?.split("src=")[0]?.trim()??"",v;for(;(v=y.exec(b))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}let O=c[3]?.trim()||"";for(y.lastIndex=0;(v=y.exec(O))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}h.delete("src");let A=h.get("language");A&&(p=A.value,h.delete("language"));let g=h.get("title");g&&(_=g.value,h.delete("title"));let m=h.get("lines");m&&(l=xzM(l,m.value),h.delete("lines"));let j="";p!=null&&(j+=p),_!=null&&(g?.fromCurlyBraces?j+=` title={${_}}`:j+=` title={"${_}"}`);for(let[M,E]of h)if(E.fromCurlyBraces)j+=` ${M}={${E.value}}`;else{let D=E.value.trim();/^-?\d+(\.\d+)?$/.test(D)?j+=` ${M}={${D}}`:D==="true"||D==="false"?j+=` ${M}={${D}}`:j+=` ${M}={${JSON.stringify(E.value)}}`}l=`\`\`\`${j}
|
|
1751
1751
|
${l}
|
|
1752
1752
|
\`\`\``,l=l.split(`
|
|
1753
1753
|
`).map(M=>s+M).join(`
|
|
@@ -1778,7 +1778,7 @@ This will not override your current examples. Please wait a moment.
|
|
|
1778
1778
|
Future runs will use saved examples. If you wish to override the content of the
|
|
1779
1779
|
examples, please edit and commit auto-generated \`ai_examples_override.yml\` files.`,y=LBi(h,{padding:1,textAlignment:"left",borderColor:"blue",borderStyle:"round"});r.logger.info(`
|
|
1780
1780
|
`+y+`
|
|
1781
|
-
`),VN_=!0}let c=new o7o(t,r,i),f=new Evc,s=a!=null?await LN_(a,r):new Set,u;if(a!=null)try{let h=await(0,Svc.readFile)(a,"utf-8");if(!QFM(h))return r.logger.debug("Non-OpenAPI spec detected, skipping AI example enhancement"),e;u=h,r.logger.debug(`Loaded OpenAPI spec (${h.length} characters) for AI enhancement`)}catch(h){r.logger.debug(`Failed to read OpenAPI spec file: ${h}`)}let l={count:0,total:0},p=[],_=await VFM(e,c,r,n,l,p,s,u,a,o,f);if(p.length>0&&a!=null)try{await wvc({enhancedExamples:p,sourceFilePath:a,context:r})}catch(h){r.logger.debug(`Failed to write AI examples override file: ${h}`)}return _}async function VFM(e,t,r,i,n,a,o,c,f,s,u){let l=[];for(let[A,g]of Object.entries(e.subpackages)){let m=WN_(g,o);l.push(...m.map(j=>({...j,packageId:A})))}let p=WN_(e.rootPackage,o);l.push(...p.map(A=>({...A,packageId:"root"}))),n.total+=l.length,r.logger.debug(`Collected ${l.length} work items across all packages`);let _=oSa.getInstance(),h=_.create(s||"API",l.length),y={count:0,total:l.length},b=await WFM(l,t,r,i,n,a,c,f,h,y,u);_.finish(h);let v={};for(let[A,g]of Object.entries(e.subpackages)){let m=xN_(g,b);v[A]=m}let O=xN_(e.rootPackage,b);return{...e,subpackages:v,rootPackage:O}}function WN_(e,t){let r=[];for(let i of e.endpoints){let n=i;for(let a of n.examples){let o=`${n.method.toLowerCase()}:${a.path}`;if(t.has(o)||!GFM(a))continue;let c=R3n(a.requestBodyV3),f=R3n(a.responseBodyV3);if(!(!c&&!f)){r.push({endpoint:n,example:a,endpointKey:o});break}}}return r}async function WFM(e,t,r,i,n,a,o,c,f,s,u){let l=new Map,p=parseInt(process.env.FERN_AI_MAX_CONCURRENT||"25",10);if(r.logger.debug(`Processing ${e.length} endpoints with max ${p} concurrent Lambda calls`),u?.shouldSkip())return r.logger.debug(`Circuit breaker is open after ${u.getFailureCount()} failures (threshold: ${u.getThreshold()}). Skipping AI enhancement for remaining endpoints.`),l;for(let _=0;_<e.length;_+=p){let h=e.slice(_,_+p),y=Math.floor(_/p)+1;if(r.logger.debug(`Processing chunk ${y} with ${h.length} endpoints concurrently`),u?.shouldSkip()){r.logger.debug(`Circuit breaker opened during processing. Stopping at chunk ${y}.`);break}let b=h.map((O,A)=>xFM(O,t,r,i,n,a,o,c,f,s,_+A+1,u)),v=await Promise.allSettled(b);for(let O=0;O<v.length;O++){let A=v[O];if(A)if(A.status==="fulfilled"&&A.value){let{endpointKey:g,enhancedReq:m,enhancedRes:j}=A.value;l.set(g,{enhancedReq:m,enhancedRes:j})}else A.status==="rejected"&&r.logger.debug(`Endpoint ${_+O+1} failed: ${A.reason}`)}if(c&&a.length>0)try{await wvc({enhancedExamples:a,sourceFilePath:c,context:r}),r.logger.debug(`Saved ${a.length} examples after chunk ${y}`)}catch(O){r.logger.debug(`Failed to save incremental results: ${O}`)}}return l}async function xFM(e,t,r,i,n,a,o,c,f,s,u,l){let p=e.endpointKey;r.logger.debug(`Processing endpoint ${u}: ${e.endpoint.method} ${e.example.path}`);let _;o&&(_=await LFM(o,[{path:e.example.path,method:e.endpoint.method}],r));let h={method:e.endpoint.method,endpointPath:e.example.path,organizationId:i,operationSummary:e.endpoint.summary,operationDescription:e.endpoint.description,originalRequestExample:R3n(e.example.requestBodyV3),originalResponseExample:R3n(e.example.responseBodyV3),pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,openApiSpec:_};for(let y=1;y<=2;y++)try{let b=await t.enhanceExample(h);l?.recordSuccess();let v=b.enhancedRequestExample!==h.originalRequestExample,O=b.enhancedResponseExample!==h.originalResponseExample;if(v||O){let A={endpoint:e.example.path,method:e.endpoint.method,pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,requestBody:v?b.enhancedRequestExample:void 0,responseBody:O?b.enhancedResponseExample:void 0};return a.push(A),n.count++,s&&s.count++,r.logger.debug(`Successfully enhanced ${e.endpoint.method} ${e.example.path}`),f&&s&&oSa.getInstance().update(f,s.count),{endpointKey:p,enhancedReq:b.enhancedRequestExample,enhancedRes:b.enhancedResponseExample}}return r.logger.debug(`No changes needed for ${e.endpoint.method} ${e.example.path}`),{endpointKey:p,enhancedReq:b.enhancedRequestExample,enhancedRes:b.enhancedResponseExample}}catch(b){l?.recordFailure(),r.logger.debug(`Endpoint ${e.endpoint.method} ${e.example.path} attempt ${y} failed: ${b}`),y<2&&await new Promise(v=>setTimeout(v,1500))}return r.logger.debug(`Failed to enhance ${e.endpoint.method} ${e.example.path} after all attempts`),null}function xN_(e,t){let r=e.endpoints.map(i=>{let n=i,a=n.examples.map(o=>{let c=`${n.method.toLowerCase()}:${o.path}`,f=t.get(c);if(f){let s={...o};return f.enhancedReq!==void 0&&o.requestBodyV3&&(s.requestBody=f.enhancedReq,s.requestBodyV3={...o.requestBodyV3,value:f.enhancedReq}),f.enhancedRes!==void 0&&o.responseBodyV3&&(s.responseBody=f.enhancedRes,s.responseBodyV3={...o.responseBodyV3,value:f.enhancedRes}),s}return o});return{...i,examples:a}});return{...e,endpoints:r}}function GFM(e){let t=!e.name||e.name===""||e.name==="Example",r=!e.description||e.description==="",i=u7o(R3n(e.requestBodyV3)),n=u7o(R3n(e.responseBodyV3));return t&&r&&(i||n)}function u7o(e){return e==null?!1:typeof e=="string"?e==="string"||e==="String"||e==="":typeof e=="number"?e===1||e===0:Array.isArray(e)?e.length>0&&e.some(t=>u7o(t)):typeof e=="object"?Object.values(e).some(t=>u7o(t)):!1}function R3n(e){if(e)switch(e.type){case"json":case"stream":case"sse":return e.value;case"filename":return;default:return e.value}}function GN_({auth:e,playgroundConfig:t,context:r}){if(e.schemes.length>0&&e.schemes[0]!=null){let i=e.schemes[0];return HN_({scheme:i,playgroundConfig:t,context:r})}}function HN_({scheme:e,playgroundConfig:t,context:r}){switch(e.type){case"basic":return{type:"basicAuth",passwordName:e.password.originalName,usernameName:e.username.originalName,description:e.docs};case"bearer":return{type:"bearerAuth",tokenName:e.token.originalName,description:e.docs};case"header":return{type:"header",headerWireValue:e.name.wireValue,nameOverride:e.name.name.originalName,prefix:e.prefix,description:e.docs};case"oauth":{let i=e.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(n=>n.name.originalName).join(".")||"$.body.access_token";return t?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:pi.EndpointId(e.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:pi.JqString(i),headerName:e.configuration.tokenHeader,tokenPrefix:e.configuration.tokenPrefix,description:e.docs}}}:{type:"bearerAuth",tokenName:"token",description:e.docs}}case"inferred":{e.tokenEndpoint.authenticatedRequestHeaders.length>1&&r.logger.warn("Inferred auth scheme has multiple authenticated request headers. Only the `Authentication` or first header will be pushed to FDR.");let i=e.tokenEndpoint.authenticatedRequestHeaders.find(a=>a.headerName.toLowerCase()==="authorization");if(i)return i.responseProperty.propertyPath!=null&&i.responseProperty.propertyPath.length>0&&r.logger.warn("Inferred Authentication header has a property path. The property wirevalue will be pushed to FDR without property path."),{type:"bearerAuth",tokenName:i.responseProperty.property.name.wireValue,description:e.docs};let n=e.tokenEndpoint.authenticatedRequestHeaders[0];return n?{type:"header",headerWireValue:n.headerName,prefix:n.valuePrefix,nameOverride:void 0,description:e.docs}:{type:"bearerAuth",tokenName:"token",description:e.docs}}default:vt(e)}}function KN_({auth:e,playgroundConfig:t,context:r}){let i={};for(let n of e.schemes){let a=HN_({scheme:n,playgroundConfig:t,context:r});a!=null&&(i[pi.AuthSchemeId(n.key)]=a)}return i}function $N_(e){return e._visit({alias:t=>({type:"alias",value:uv(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:MD(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>pi.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:pi.PropertyKey(r.name.wireValue),valueType:uv(r.valueType),availability:MD(r.availability),propertyAccess:r.propertyAccess})),extraProperties:JFM(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:pi.PropertyKey(i.name.wireValue),valueType:uv(i.valueType),availability:MD(i.availability),description:i.docs,propertyAccess:i.propertyAccess}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?MD(i.availability):void 0,additionalProperties:br.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[pi.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:pi.PropertyKey(n.name.wireValue),valueType:uv(n.type),description:void 0,availability:void 0,propertyAccess:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:uv(r.type),availability:void 0,displayName:r.type.type==="named"?r.type.displayName:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function uv(e){return e._visit({container:t=>br.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:uv(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:uv(r),valueType:uv(i)}),optional:r=>({type:"optional",itemType:uv(r),defaultValue:void 0}),nullable:r=>({type:"nullable",itemType:uv(r)}),set:r=>({type:"set",itemType:uv(r)}),literal:r=>br.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:pi.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:br.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>KFM(t.v2),float:()=>JN_(t.v2),double:()=>JN_(t.v2),string:()=>HFM(t.v2),long:()=>({type:"long",default:t.v2?.type==="long"?t.v2.default:void 0,minimum:void 0,maximum:void 0}),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>({type:"uint"}),uint64:()=>({type:"uint64"}),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function HFM(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function KFM(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="integer"?e.default:void 0}}function JN_(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="double"?e.default:void 0}}function JFM(e){return typeof e=="boolean"?e?ri.unknown():void 0:typeof e=="string"?{type:"id",value:pi.TypeId(e),default:void 0}:uv(e)}function Dvc(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?YFM(r,t):[],webhooks:i!=null?$FM(i):[],websockets:n!=null?[XFM(n,t)]:[],types:e.types.map(a=>pi.TypeId(a)),subpackages:e.subpackages.map(a=>pi.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?pi.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function $FM(e){return e.map(t=>{let r=[];return t.v2Examples!=null?(r.push(...Object.values(t.v2Examples.userSpecifiedExamples)),r.push(...Object.values(t.v2Examples.autogeneratedExamples))):r.push(...t.examples?.map(i=>({payload:i.payload.jsonExample}))??[]),{description:t.docs??void 0,id:pi.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??zxi(t.name.originalName),headers:t.headers.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:uv(i.valueType),availability:MD(i.availability)})),payload:oQM(t.payload),examples:r}})}function YFM(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.v2Examples!=null){let c,f=i.v2Examples.userSpecifiedExamples,s=i.v2Examples.autogeneratedExamples,u=Object.values(f).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(f))c=ZN_({shouldUseExampleName:u,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c);let l=Object.values(s).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(s))c=ZN_({shouldUseExampleName:l,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c)}else if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(c=>Mvc({userSpecifiedExample:c,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(ps));else if(n!=null){let c=Mvc({autogeneratedExample:n,irEndpoint:i,ir:t});c!=null&&a.push(c)}else if(i.response?.body?.type==="fileDownload"){let c=eQn({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(c.type==="success"){let f=Mvc({autogeneratedExample:c,irEndpoint:i,ir:t});if(f!=null){let s={...f,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let o={slug:void 0,availability:MD(i.availability??e.availability),auth:i.auth,authV2:ZFM(i.security),multiAuth:kFM(i.security),description:i.docs??void 0,method:iQM(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?pi.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?eQM({environmentsConfig:t.environments,endpoint:i}):void 0,id:pi.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??zxi(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(c=>({description:c.docs??void 0,key:pi.PropertyKey(c.name.originalName),type:uv(c.valueType),availability:void 0,explode:void 0})),parts:[...N3n(i.basePath),...N3n(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(c=>({description:c.docs??void 0,key:pi.PropertyKey(c.name.originalName),type:uv(c.valueType),availability:void 0,explode:void 0})),parts:[...t.basePath!=null?N3n(t.basePath):[],...N3n(e.basePath),...N3n(i.path)]},queryParameters:i.queryParameters.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:uv(c.valueType),availability:MD(c.availability),explode:void 0})),headers:[...e.headers,...i.headers].map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:uv(c.valueType),availability:MD(c.availability)})),request:i.requestBody!=null?YN_(i.requestBody):void 0,requestsV2:{requests:i.v2RequestBodies?.requestBodies?.map(YN_).filter(ps)},response:i.response!=null?XN_(i.response):void 0,responsesV2:{responses:i.v2Responses?.responses?.map(XN_).filter(ps)},errors:void 0,errorsV2:nQM(i.errors,t),examples:a,protocol:i.source?._visit({openapi:()=>({type:"rest"}),openrpc:()=>({type:"openrpc",methodName:i.id}),proto:c=>({type:"grpc",methodName:i.id,methodType:c.methodType}),_other:()=>{}}),includeInApiExplorer:i.apiPlayground};r.push(o)}return r}function XFM(e,t){let r=[];if(e.v2Examples!=null&&(Object.keys(e.v2Examples.userSpecifiedExamples).length>0||Object.keys(e.v2Examples.autogeneratedExamples).length>0)){let i=Object.values(e.v2Examples.userSpecifiedExamples),n=Object.values(e.v2Examples.autogeneratedExamples),a=i.length>0?i[0]:n[0];a!=null&&r.push({name:"",description:"",path:a.baseUrl??"",pathParameters:a.pathParameters??{},queryParameters:a.queryParameters??{},headers:a.headers??{},messages:a.messages?.map(o=>({type:pi.api.v1.WebSocketMessageId(o.type),body:o.body}))??[]})}else r=e.examples.map(i=>({name:i.name?.originalName,description:i.docs,path:i.url,pathParameters:i.pathParameters.reduce((n,a)=>(n[pi.PropertyKey(a.name.originalName)]=a.value.jsonExample,n),{}),queryParameters:i.queryParameters.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),headers:i.headers.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),messages:i.messages.map(n=>({type:pi.api.v1.WebSocketMessageId(n.type),body:n.body.jsonExample}))}));return{auth:e.auth,availability:MD(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?pi.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?tQM({environmentsConfig:t.environments,channel:e}):[],id:pi.WebSocketId(e.name.originalName),name:e.displayName??zxi(e.name.originalName),path:{pathParameters:e.pathParameters.map(i=>({description:i.docs??void 0,key:pi.PropertyKey(i.name.originalName),type:uv(i.valueType),availability:void 0,explode:void 0})),parts:N3n(e.path)},headers:e.headers.map(i=>({key:i.name.wireValue,type:uv(i.valueType),description:i.docs,availability:MD(i.availability)})),queryParameters:e.queryParameters.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:uv(i.valueType),availability:MD(i.availability),explode:void 0})),messages:e.messages.map(i=>({type:pi.api.v1.WebSocketMessageId(i.type),displayName:i.displayName,origin:i.origin,body:uQM(i.body),description:i.docs,availability:MD(i.availability)})),examples:r}}function ZFM(e){if(e==null)return;if(e.length===0)return[];let t=new Set(e.flatMap(r=>Object.keys(r)));return Array.from(t).map(r=>pi.AuthSchemeId(r))}function kFM(e){if(e!=null)return e.length===0?[]:e.map(t=>({schemes:Object.keys(t).map(r=>pi.AuthSchemeId(r))}))}function MD(e){if(e!=null)switch(e.status){case"DEPRECATED":return pi.Availability.Deprecated;case"PRE_RELEASE":return pi.Availability.Beta;case"GENERAL_AVAILABILITY":return pi.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return pi.Availability.Beta;default:vt(e.status)}}function eQM({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl,n=t.v2BaseUrls;switch(r.type){case"singleBaseUrl":return r.environments.map(a=>({id:pi.EnvironmentId(a.id),baseUrl:a.url}));case"multipleBaseUrls":if(n!=null)return n.flatMap(o=>r.environments.map(c=>{let f=c.urls[o];if(f==null)throw new Error(`Encountered undefined server name "${o}" at endpoint ${t.method.toUpperCase()} ${t.path}. Expected environment ${c.id} to contain url for ${o}`);return{id:pi.EnvironmentId(o),baseUrl:f}})).filter((o,c,f)=>c===f.findIndex(s=>s.id===o.id&&s.baseUrl===o.baseUrl));if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(a=>{let o=a.urls[i];if(o==null)throw new Error(`Encountered undefined server name "${i}" at endpoint ${t.method.toUpperCase()} ${t.path.head}. Expected environment ${a.id} to contain url for ${i}`);return{id:pi.EnvironmentId(a.id),baseUrl:o}});default:vt(r)}}function tQM({environmentsConfig:e,channel:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:pi.EnvironmentId(n.id),baseUrl:rQM(n.url,"wss")}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected channel ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Encountered undefined server name ${a} at channel ${t.name.originalName} ${t.path.head}. Expected environment ${n.id} to contain url for ${i}`);return{id:pi.EnvironmentId(n.id),baseUrl:a}});default:vt(r)}}function rQM(e,t){return e.replace(/^[^:]+/,t)}function iQM(e){return br.http.HttpMethod._visit(e,{get:()=>pi.HttpMethod.Get,post:()=>pi.HttpMethod.Post,put:()=>pi.HttpMethod.Put,patch:()=>pi.HttpMethod.Patch,delete:()=>pi.HttpMethod.Delete,head:()=>pi.HttpMethod.Head,_other:()=>{throw new Error("Unknown http method: "+e)}})}function N3n(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:pi.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function YN_(e){let t=br.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??VA.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>pi.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:pi.PropertyKey(i.name.wireValue),valueType:uv(i.valueType),availability:MD(i.availability),propertyAccess:i.propertyAccess})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??VA.APPLICATION_JSON,shape:{type:"reference",value:uv(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:o=>({type:"file",key:pi.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),fileArray:o=>({type:"fileArray",key:pi.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:pi.PropertyKey(n.name.wireValue),valueType:uv(n.valueType),contentType:n.contentType,description:n.docs??void 0,availability:MD(n.availability),exploded:n.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(ps)},contentType:r.contentType,description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function XN_(e){if(e.body==null)return;let t,r=br.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:uv(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:uv(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:uv(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}});return r!=null?{type:r,statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t}:e.statusCode!=null?{statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t,type:{type:"object",extends:[],properties:[],extraProperties:void 0}}:void 0}function nQM(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:uv(n.type)},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,name:n.displayName??n.name.name.originalName,availability:void 0,examples:sQM(n,t),headers:n.headers!=null&&n.headers.length>0?n.headers.map(a=>({description:a.docs??void 0,key:a.name.wireValue,type:uv(a.valueType),availability:MD(a.availability)})):void 0})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:pi.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0,propertyAccess:void 0}];n.type!=null&&a.push({key:pi.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:uv(n.type),description:n.docs,availability:void 0,propertyAccess:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,availability:void 0,name:n.displayName??n.name.name.originalName,examples:n.examples.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs})),headers:n.headers!=null&&n.headers.length>0?n.headers.map(o=>({description:o.docs??void 0,key:o.name.wireValue,type:uv(o.valueType),availability:MD(o.availability)})):void 0})}}return r}function ZN_({shouldUseExampleName:e,exampleName:t,example:r,irEndpoint:i,irService:n,ir:a}){if(r==null)return;let o=s=>{if(s.valueType.type==="container"&&s.valueType.container.type==="literal")return s.valueType.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}});if(s.valueType.type==="container"&&s.valueType.container.type==="optional"&&s.valueType.container.optional.type==="container"&&s.valueType.container.optional.container.type==="literal")return s.valueType.container.optional.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}})},c={};a.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),n.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),i.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)});let f=r.response?.body!=null?r.response.body.value:void 0;return{name:e?t:void 0,description:"",path:r.request?.endpoint.path??"",pathParameters:r.request?.pathParameters??{},queryParameters:r.request?.queryParameters??{},headers:(()=>{let u={...r.request?.headers??{}};for(let[l,p]of Object.entries(c))(u[l]===null||u[l]===void 0)&&(u[l]=p);return u})(),requestBody:r.request?.requestBody,requestBodyV3:i.requestBody?._visit({inlinedRequestBody:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,reference:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,fileUpload:s=>{if(r.request==null)return;let u={};if(Xc(r.request.requestBody)){let l=r.request.requestBody;for(let p of s.properties)p._visit({file:_=>{let h=l[_.key.wireValue];if(_.type==="file")u[_.key.wireValue]={type:"filename",value:typeof h=="string"?h:"<file1>"};else if(_.type==="fileArray"){let y=(Array.isArray(h)?h:[h]).filter(b=>typeof b=="string");u[_.key.wireValue]={type:"filenames",value:y}}},bodyProperty:_=>{if(_.style==="exploded"){let h=l[_.name.wireValue];u[_.name.wireValue]={type:"exploded",value:Array.isArray(h)?h:[h]}}else u[_.name.wireValue]={type:"json",value:l[_.name.wireValue]}},_other:YOe})}return{type:"form",value:u}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??i.response?.statusCode??200,responseBody:f??void 0,responseBodyV3:f!=null?r.response?.body?._visit({json:s=>({type:"json",value:s}),stream:s=>Array.isArray(s)&&s.length>0&&s.every(aQM)?{type:"sse",value:s}:{type:"stream",value:s},error:()=>{},_other:()=>{throw new Error("Unknown ExampleResponseBody: "+r.response?.body?.type)}}):void 0,codeSamples:r.codeSamples?.map(s=>({name:s.name,description:s.docs??void 0,install:void 0,language:s.language,code:s.code})).filter(ps)}}function aQM(e){return typeof e=="object"&&e!==null&&"event"in e&&typeof e?.event=="string"&&"data"in e}function Mvc({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(c=>{let f;if(c.valueType.type==="container"&&c.valueType.container.type==="literal"?f=c.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):c.valueType.type==="container"&&c.valueType.container.type==="optional"&&c.valueType.container.optional.type==="container"&&c.valueType.container.optional.container.type==="literal"&&(f=c.valueType.container.optional.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}})),f!=null)return{name:c.name,value:{jsonExample:f,shape:br.ExampleTypeReferenceShape.primitive(br.ExamplePrimitive.string({original:f}))}}}).filter(ps),a=e?.example??t?.example;if(a==null)return;let{codeSamples:o}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((c,f)=>(c[pi.PropertyKey(f.name.originalName)]=f.value.jsonExample,c),{}),queryParameters:a.queryParameters.reduce((c,f)=>(c[f.name.wireValue]=f.value.jsonExample,c),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((c,f)=>(c[f.name.wireValue]=f.value.jsonExample,c),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:c=>{if(a.request==null)return;let f={};if(Xc(a.request.jsonExample)){let s=a.request.jsonExample;for(let u of c.properties)u._visit({file:l=>{let p=s[l.key.wireValue];if(l.type==="file")f[l.key.wireValue]={type:"filename",value:typeof p=="string"?p:"<file1>"};else if(l.type==="fileArray"){let _=(Array.isArray(p)?p:[p]).filter(h=>typeof h=="string");f[l.key.wireValue]={type:"filenames",value:_}}},bodyProperty:l=>{if(l.style==="exploded"){let p=s[l.name.wireValue];f[l.name.wireValue]={type:"exploded",value:Array.isArray(p)?p:[p]}}else f[l.name.wireValue]={type:"json",value:s[l.name.wireValue]}},_other:YOe})}return{type:"form",value:f}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??br.http.ExampleResponse._visit(a.response,{ok:c=>c._visit({body:f=>f!=null?200:204,stream:f=>f.length>0?200:204,sse:f=>f.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:({error:c})=>{let f=i.errors[c.errorId];if(f==null)throw new Error("Cannot find error "+c.errorId);return f.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:c=>c._visit({body:f=>f?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:c=>c.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:c=>c._visit({body:f=>f!=null?{type:"json",value:f.jsonExample}:void 0,stream:f=>({type:"stream",value:f.map(s=>s.jsonExample)}),sse:f=>({type:"sse",value:f.map(({event:s,data:u})=>({event:s,data:u.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:c=>c.body!=null?{type:"json",value:c.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:o?.map(c=>yhe._visit(c,{language:f=>({language:f.language,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:f.install}),sdk:f=>({language:f.sdk,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:void 0}),_other:()=>{}})).filter(ps)}}function oQM(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>pi.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:pi.PropertyKey(t.name.wireValue),valueType:uv(t.valueType),availability:MD(t.availability),propertyAccess:void 0})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:uv(e.payloadType)},description:e.docs};default:vt(e)}}function uQM(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>pi.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:pi.PropertyKey(t.name.wireValue),valueType:uv(t.valueType),availability:MD(t.availability),propertyAccess:void 0})),extraProperties:void 0};case"reference":return{type:"reference",value:uv(e.bodyType)};default:vt(e)}}function sQM(e,t){let r=e.v2Examples?.userSpecifiedExamples,i=e.v2Examples?.autogeneratedExamples,n=e.examples;if(r!=null&&Object.keys(r).length>0)return Object.entries(r).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(i!=null&&Object.keys(i).length>0)return Object.entries(i).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(n.length>0)return n.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs}));let a=cQM(e,t);return a!=null?[a]:[]}function cQM(e,t){if(e.type==null||e.type.type!=="named")return;let r=e.type.typeId,i=t.types[r];if(i==null||i.shape.type!=="object")return;let n={},a=!1;for(let o of i.shape.properties){let c=o.name.wireValue,f=o.v2Examples;if(f?.userSpecifiedExamples!=null){let s=Object.values(f.userSpecifiedExamples);if(s.length>0){n[c]=s[0],a=!0;continue}}if(f?.autogeneratedExamples!=null){let s=Object.values(f.autogeneratedExamples);if(s.length>0){n[c]=s[0];continue}}}if(a)return{name:void 0,responseBody:{type:"json",value:n},description:void 0}}function Tx({ir:e,snippetsConfig:t,playgroundConfig:r,context:i}){let n={types:{},subpackages:{},rootPackage:Dvc(e.rootPackage,e),auth:GN_({auth:e.auth,playgroundConfig:r,context:i}),authSchemes:KN_({auth:e.auth,playgroundConfig:r,context:i}),snippetsConfiguration:t,globalHeaders:e.headers.map(a=>({availability:MD(a.availability),description:a.docs??void 0,key:a.name.wireValue,type:uv(a.valueType)})),navigation:void 0};for(let[a,o]of Object.entries(e.types))n.types[pi.TypeId(a)]={description:o.docs??void 0,name:o.name.name.originalName,shape:$N_(o.shape),availability:MD(o.availability),displayName:o.name.displayName};for(let[a,o]of Object.entries(e.subpackages)){let c=o.service!=null?e.services[o.service]:void 0;n.subpackages[pi.api.v1.SubpackageId(a)]={subpackageId:pi.api.v1.SubpackageId(a),displayName:c?.displayName??o.displayName,name:o.name.originalName,description:o.docs??void 0,...Dvc(o,e)}}return n}async function Bvc({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:o,aiEnhancerConfig:c}){let f=eE({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new kw(r,t)}),s=cHi({token:i.value}),u=Tx({ir:f,snippetsConfig:a,playgroundConfig:o,context:r});if(c){let h=t.getSources().find(y=>y.type==="openapi")?.absoluteFilePath;u=await z3n(u,c,r,i,e,h,f.apiName.originalName)}let l=await s.api.v1.register.registerApiDefinition({orgId:pi.OrgId(e),apiId:pi.ApiId(f.apiName.originalName),definition:u});if(l.ok)return r.logger.debug(`Registered API Definition ${l.body.apiDefinitionId}`),{id:l.body.apiDefinitionId,ir:f};switch(l.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",l.error)}}var lQM=new hdo({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function sSa({ir:e,apiDefinitionId:t,playgroundConfig:r,context:i}){return ydo(pdo(Tx({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:r,context:i}),sQ.ApiDefinitionId(t),lQM))}var kN_=ae(require("path"),1);async function wPe({iconPath:e,filepaths:t}){e!=null&&typeof e=="string"&&kN_.default.isAbsolute(e)&&t.add(e)}async function eF_({parsedDocsConfig:e}){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.navigation.type==="productgroup"&&e.navigation.products.forEach(i=>{i.image!=null&&t.add(i.image)}),(await Ivc({navigation:e.navigation})).forEach(i=>{t.add(i)}),e.navbarLinks&&await Promise.all(e.navbarLinks.map(async i=>{i.type==="dropdown"&&i.links.map(async n=>{n.icon&&await wPe({iconPath:n.icon,filepaths:t}),n.rightIcon&&await wPe({iconPath:n.rightIcon,filepaths:t})}),i.type!=="github"&&(i.icon&&await wPe({iconPath:i.icon,filepaths:t}),i.rightIcon&&await wPe({iconPath:i.rightIcon,filepaths:t}))})),e.js!=null&&e.js.files.forEach(i=>{t.add(i.absolutePath)}),t}async function Ivc({navigation:e}){let t=new Set;switch(e.type){case"untabbed":await Promise.all(e.items.map(r=>F3n({item:r,filepaths:t})));break;case"tabbed":await Promise.all(e.items.map(async r=>{r.icon!=null&&await wPe({iconPath:r.icon,filepaths:t}),r.child.type==="layout"&&r.child.layout!=null?await Promise.all(r.child.layout.map(i=>F3n({item:i,filepaths:t}))):r.child.type==="variants"&&r.child.variants!=null&&await Promise.all(r.child.variants.flatMap(i=>{let n=[];return i.icon!=null&&n.push(wPe({iconPath:i.icon,filepaths:t})),n.push(...i.layout.map(a=>F3n({item:a,filepaths:t}))),n}))}));break;case"versioned":await Promise.all(e.versions.map(async r=>{r.landingPage!=null&&await F3n({item:r.landingPage,filepaths:t}),(await Ivc({navigation:r.navigation})).forEach(n=>t.add(n))}));break;case"productgroup":await Promise.all(e.products.map(async r=>{r.icon!=null&&await wPe({iconPath:r.icon,filepaths:t}),r.type==="internal"&&(r.landingPage!=null&&await F3n({item:r.landingPage,filepaths:t}),(await Ivc({navigation:r.navigation})).forEach(n=>t.add(n)))}));break}return t}async function F3n({item:e,filepaths:t}){switch(e.type){case"page":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"section":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t}),await Promise.all(e.contents.map(r=>F3n({item:r,filepaths:t})));break;case"apiSection":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"link":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"changelog":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break}}async function tF_({navigation:e,apiWorkspaces:t,visitor:r,context:i}){dQM(e)?await Promise.all(e.map(async n=>{pQM(n)?await Promise.all(n.layout.map(async a=>{await s7o({navigationItem:a,visitor:r,apiWorkspaces:t,context:i})})):_QM(n)&&await Promise.all(n.variants.flatMap(a=>a.layout.map(async o=>{await s7o({navigationItem:o,visitor:r,apiWorkspaces:t,context:i})})))})):await Promise.all(e.map(async n=>{await s7o({navigationItem:n,visitor:r,apiWorkspaces:t,context:i})}))}async function s7o({navigationItem:e,visitor:t,apiWorkspaces:r,context:i}){if(await E8t(e,{alphabetized:Et,api:Et,apiName:Et,audiences:Et,displayErrors:Et,tagDescriptionPages:Et,snippets:Et,summary:Et,title:Et,layout:Et,collapsed:Et,icon:Et,slug:Et,hidden:Et,skipSlug:Et,paginated:Et,playground:Et,flattened:Et,path:Et,page:Et,featureFlag:Et,openrpc:Et,postman:Et,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await s7o({navigationItem:a,visitor:t,apiWorkspaces:r,context:i})}))},viewers:Et,orphaned:Et,availability:Et}),fQM(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function fQM(e){return e.api!=null}function dQM(e){return e[0]?.tab!=null}function pQM(e){return"layout"in e&&Array.isArray(e.layout)}function _QM(e){return"variants"in e&&Array.isArray(e.variants)}function Q1(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}iF_.default.extend(nF_.default);var hQM=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),rF_=0,yQM=async({ir:e})=>(rF_++,`${e.apiName.snakeCase.unsafeName}-${rF_}`),xFt=class{domain;docsWorkspace;ossWorkspaces;apiWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;targetAudiences;constructor({domain:t,docsWorkspace:r,ossWorkspaces:i,apiWorkspaces:n,taskContext:a,editThisPage:o,uploadFiles:c=hQM,registerApi:f=yQM,targetAudiences:s}){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.apiWorkspaces=n,this.taskContext=a,this.editThisPage=o,this.uploadFiles=c,this.registerApi=f,this.targetAudiences=s}#e=i7o.init();shouldIncludeByAudience(t){return!t||t.length===0||!this.targetAudiences||this.targetAudiences.length===0?!0:t.some(r=>this.targetAudiences?.includes(r))}applyAudienceFiltering(t){let r=this.filterNavigationByAudience(t.navigation);return{...t,navigation:r}}filterNavigationByAudience(t){return t.type==="untabbed"||t.type==="tabbed"?t:t.type==="versioned"?{...t,versions:t.versions.filter(r=>this.shouldIncludeByAudience(this.getRawVersionAudiences(r.version)))}:t.type==="productgroup"?{...t,products:t.products.filter(r=>{let i=this.getRawProductAudiences(r.product);return this.shouldIncludeByAudience(i)})}:t}getRawProductAudiences(t){let i=this.docsWorkspace.config.products?.find(n=>n.displayName===t);return Zya(i?.audiences)}getRawVersionAudiences(t){let i=this.docsWorkspace.config.versions?.find(n=>n.displayName===t);return Zya(i?.audiences)}_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;markdownFilesToSidebarTitle=new Map;markdownFilesToNoIndex=new Map;markdownFilesToTags=new Map;rawMarkdownFiles={};async resolve(){let t=performance.now(),r=process.memoryUsage();this.taskContext.logger.debug("Parsing docs configuration...");let i=performance.now();this._parsedDocsConfig=await fNs({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig});let n=performance.now()-i,a=Object.keys(this.parsedDocsConfig.pages).length;this.taskContext.logger.debug(`Parsed docs configuration in ${n.toFixed(0)}ms: ${a} pages`),this.targetAudiences&&this.targetAudiences.length>0&&(this._parsedDocsConfig=this.applyAudienceFiltering(this._parsedDocsConfig)),this.taskContext.logger.debug("Storing raw markdown content...");for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.rawMarkdownFiles[Ye.of(Pe)]=ne;let o=this.parsedDocsConfig.experimental?.openapiParserV3,c=o!=null&&!o;if(this.docsWorkspace.config.navigation!=null&&c){this.taskContext.logger.debug("Visiting navigation AST for changelog files...");let Pe=performance.now();await tF_({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:Ee})=>{(await Ee.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0,objectQueryParameters:!0,respectReadonlySchemas:!0})).changelog?.files.forEach(re=>{let ee=Sv(this.docsWorkspace.absoluteFilePath,re.absoluteFilepath);this.parsedDocsConfig.pages[ee]=re.contents,this.rawMarkdownFiles[Ye.of(ee)]=re.contents})}},apiWorkspaces:this.apiWorkspaces,context:this.taskContext});let ne=performance.now()-Pe;this.taskContext.logger.debug(`Visited navigation AST in ${ne.toFixed(0)}ms`)}this.taskContext.logger.debug("Building markdown file maps...");let f=performance.now();this.markdownFilesToFullSlugs=await this.getMarkdownFilesToFullSlugs(this.parsedDocsConfig.pages),this.markdownFilesToSidebarTitle=await this.getMarkdownFilesToSidebarTitle(this.parsedDocsConfig.pages),this.markdownFilesToNoIndex=await this.getMarkdownFilesToNoIndex(this.parsedDocsConfig.pages),this.markdownFilesToTags=await this.getMarkdownFilesToTags(this.parsedDocsConfig.pages);let s=performance.now()-f;this.taskContext.logger.debug(`Built markdown file maps in ${s.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced markdown files...");let u=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=await BGo({markdown:ne,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(Pe),context:this.taskContext});let l=performance.now()-u;this.taskContext.logger.debug(`Replaced referenced markdown in ${l.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced code files...");let p=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=await svc({markdown:ne,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(Pe),context:this.taskContext});let _=performance.now()-p;this.taskContext.logger.debug(`Replaced referenced code in ${_.toFixed(0)}ms`),this.taskContext.logger.debug("Collecting files from docs config...");let h=performance.now(),y=await eF_({parsedDocsConfig:this.parsedDocsConfig}),b=performance.now()-h;this.taskContext.logger.debug(`Collected ${y.size} files in ${b.toFixed(0)}ms`),this.taskContext.logger.debug("Parsing image paths from markdown files...");let v=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))try{let{filepaths:Ee,markdown:Qe}=L$i(ne,{absolutePathToMarkdownFile:this.resolveFilepath(Pe),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);this.parsedDocsConfig.pages[Ye.of(Pe)]=Qe;for(let re of Ee)y.add(re)}catch(Ee){throw this.taskContext.logger.error(`Failed to parse ${Pe}: ${Ee instanceof Error?Ee.message:String(Ee)}`),Ee}let O=performance.now()-v;this.taskContext.logger.debug(`Parsed image paths in ${O.toFixed(0)}ms`);let A=Array.from(y).map(Pe=>({absoluteFilePath:Pe,relativeFilePath:this.toRelativeFilepath(Pe)}));this.taskContext.logger.info(`Uploading ${A.length} files...`);let g=performance.now(),m=await this.uploadFiles(A),j=performance.now()-g;this.taskContext.logger.info(`Uploaded ${m.length} files in ${j.toFixed(0)}ms`),m.forEach(Pe=>{this.collectedFileIds.set(Pe.absoluteFilePath,Pe.fileId)}),this.taskContext.logger.debug("Building navigation tree...");let M=performance.now(),E=await this.toRootNode(),D=performance.now()-M;this.taskContext.logger.debug(`Built navigation tree in ${D.toFixed(0)}ms`),this.taskContext.logger.debug("Getting fully qualified path names...");let B=performance.now(),F=await this.getMarkdownFilesToFullyQualifiedPathNames(E),N=performance.now()-B;this.taskContext.logger.debug(`Got path names in ${N.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing image paths and URLs in markdown...");let T=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=uvc(ne,this.collectedFileIds,F,{absolutePathToMarkdownFile:this.resolveFilepath(Pe),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let R=performance.now()-T;this.taskContext.logger.debug(`Replaced image paths in ${R.toFixed(0)}ms`),this.taskContext.logger.debug("Building page content...");let Q={};Object.entries(this.parsedDocsConfig.pages).forEach(([Pe,ne])=>{let Ee=bQM(this.editThisPage,Pe),Qe=this.rawMarkdownFiles[Ye.of(Pe)];Q[TW.PageId(Pe)]={markdown:ne,editThisPageUrl:Ee?TW.Url(Ee):void 0,rawMarkdown:Qe}}),this.taskContext.logger.debug("Converting docs configuration...");let U=performance.now(),H=await this.convertDocsConfiguration(E),oe=performance.now()-U;this.taskContext.logger.debug(`Converted docs configuration in ${oe.toFixed(0)}ms`);let se={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){this.taskContext.logger.debug("Processing MDX components...");let Pe=performance.now(),ne=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async Qe=>{let re=_s(this.docsWorkspace.absoluteFilePath,Qe);(await(0,c7o.stat)(re)).isDirectory()?(await eQ(re,"{js,ts,jsx,tsx,md,mdx}")).forEach($e=>{ne.add($e)}):re.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&ne.add(re)})),se=Object.fromEntries(await Promise.all([...ne].map(async Qe=>{let re=this.toRelativeFilepath(Qe),ee=(await(0,c7o.readFile)(Qe)).toString();return[re,ee]})));let Ee=performance.now()-Pe;this.taskContext.logger.debug(`Processed ${ne.size} MDX component files in ${Ee.toFixed(0)}ms`)}let x=performance.now()-t,G=process.memoryUsage();return this.taskContext.logger.debug(`Total resolve time: ${x.toFixed(0)}ms, Memory delta: RSS=${((G.rss-r.rss)/1024/1024).toFixed(2)}MB`),{config:H,pages:Q,jsFiles:se}}resolveFilepath(t){if(t!=null)return _s(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return Sv(this.docsWorkspace.absoluteFilePath,t)}async getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.slug;if(typeof o=="string"&&o.trim().length>0){let c=o.trim();ovc(c)?r.set(this.resolveFilepath(i),c):this.taskContext.logger.warn(`Ignoring absolute URL slug "${c}" in ${i}. Absolute URLs are not allowed for frontmatter slugs.`)}}return r}async getMarkdownFilesToSidebarTitle(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data["sidebar-title"];typeof o=="string"&&o.trim().length>0&&r.set(this.resolveFilepath(i),o.trim())}return r}async getMarkdownFilesToNoIndex(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.noindex;typeof o=="boolean"&&r.set(this.resolveFilepath(i),o)}return r}async getMarkdownFilesToTags(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.tags;typeof o=="string"?r.set(this.resolveFilepath(i),o.split(",").map(c=>c.trim()).filter(c=>c.length>0)):Array.isArray(o)&&r.set(this.resolveFilepath(i),o)}return r}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=qt.migrate.FernNavigationV1ToLatest.create().root(t);return qt.NodeCollector.collect(i).slugMap.forEach((a,o)=>{if(a==null||!qt.isPage(a))return;let c=qt.getPageId(a);if(c==null)return;let f=Ft(this.docsWorkspace.absoluteFilePath,Ye.of(c));r[f]=o}),r}getDocsBasePath(){return new URL(Q1(this.domain)).pathname}async convertDocsConfiguration(t){return{aiChatConfig:this.parsedDocsConfig.aiChatConfig!=null?{model:this.parsedDocsConfig.aiChatConfig.model,systemPrompt:this.parsedDocsConfig.aiChatConfig.systemPrompt,location:this.parsedDocsConfig.aiChatConfig.location,datasources:this.parsedDocsConfig.aiChatConfig.datasources?.map(i=>({url:i.url,title:i.title}))}:void 0,hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?TW.Url(this.parsedDocsConfig.logo?.href):void 0,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>i.type==="dropdown"?{...i,links:i.links?.map(n=>({...n,url:TW.Url(n.url),icon:this.resolveIconFileId(n.icon),rightIcon:this.resolveIconFileId(n.rightIcon)})),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}:i.type==="github"?{...i,url:TW.Url(i.url)}:{...i,url:TW.Url(i.url),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,settings:this.parsedDocsConfig.settings,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:TW.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,languages:this.parsedDocsConfig.languages,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,pageActions:this.parsedDocsConfig.pageActions,theme:this.parsedDocsConfig.theme!=null?{sidebar:this.parsedDocsConfig.theme.sidebar,body:this.parsedDocsConfig.theme.body,tabs:this.parsedDocsConfig.theme.tabs,"page-actions":this.parsedDocsConfig.theme.pageActions,footerNav:this.parsedDocsConfig.theme.footerNav}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0}}getFernWorkspaceForApiSection(t){if(t.apiName!=null){let i=this.apiWorkspaces.find(n=>n.workspaceName===t.apiName);if(i!=null)return i}else if(this.apiWorkspaces.length===1&&this.apiWorkspaces[0]!=null)return this.apiWorkspaces[0];let r=t.apiName?`Failed to load API Definition '${t.apiName}' referenced in docs.
|
|
1781
|
+
`),VN_=!0}let c=new o7o(t,r,i),f=new Evc,s=a!=null?await LN_(a,r):new Set,u;if(a!=null)try{let h=await(0,Svc.readFile)(a,"utf-8");if(!QFM(h))return r.logger.debug("Non-OpenAPI spec detected, skipping AI example enhancement"),e;u=h,r.logger.debug(`Loaded OpenAPI spec (${h.length} characters) for AI enhancement`)}catch(h){r.logger.debug(`Failed to read OpenAPI spec file: ${h}`)}let l={count:0,total:0},p=[],_=await VFM(e,c,r,n,l,p,s,u,a,o,f);if(p.length>0&&a!=null)try{await wvc({enhancedExamples:p,sourceFilePath:a,context:r})}catch(h){r.logger.debug(`Failed to write AI examples override file: ${h}`)}return _}async function VFM(e,t,r,i,n,a,o,c,f,s,u){let l=[];for(let[A,g]of Object.entries(e.subpackages)){let m=WN_(g,o);l.push(...m.map(j=>({...j,packageId:A})))}let p=WN_(e.rootPackage,o);l.push(...p.map(A=>({...A,packageId:"root"}))),n.total+=l.length,r.logger.debug(`Collected ${l.length} work items across all packages`);let _=oSa.getInstance(),h=_.create(s||"API",l.length),y={count:0,total:l.length},b=await WFM(l,t,r,i,n,a,c,f,h,y,u);_.finish(h);let v={};for(let[A,g]of Object.entries(e.subpackages)){let m=xN_(g,b);v[A]=m}let O=xN_(e.rootPackage,b);return{...e,subpackages:v,rootPackage:O}}function WN_(e,t){let r=[];for(let i of e.endpoints){let n=i;for(let a of n.examples){let o=`${n.method.toLowerCase()}:${a.path}`;if(t.has(o)||!GFM(a))continue;let c=R3n(a.requestBodyV3),f=R3n(a.responseBodyV3);if(!(!c&&!f)){r.push({endpoint:n,example:a,endpointKey:o});break}}}return r}async function WFM(e,t,r,i,n,a,o,c,f,s,u){let l=new Map,p=parseInt(process.env.FERN_AI_MAX_CONCURRENT||"25",10);if(r.logger.debug(`Processing ${e.length} endpoints with max ${p} concurrent Lambda calls`),u?.shouldSkip())return r.logger.debug(`Circuit breaker is open after ${u.getFailureCount()} failures (threshold: ${u.getThreshold()}). Skipping AI enhancement for remaining endpoints.`),l;for(let _=0;_<e.length;_+=p){let h=e.slice(_,_+p),y=Math.floor(_/p)+1;if(r.logger.debug(`Processing chunk ${y} with ${h.length} endpoints concurrently`),u?.shouldSkip()){r.logger.debug(`Circuit breaker opened during processing. Stopping at chunk ${y}.`);break}let b=h.map((O,A)=>xFM(O,t,r,i,n,a,o,c,f,s,_+A+1,u)),v=await Promise.allSettled(b);for(let O=0;O<v.length;O++){let A=v[O];if(A)if(A.status==="fulfilled"&&A.value){let{endpointKey:g,enhancedReq:m,enhancedRes:j}=A.value;l.set(g,{enhancedReq:m,enhancedRes:j})}else A.status==="rejected"&&r.logger.debug(`Endpoint ${_+O+1} failed: ${A.reason}`)}if(c&&a.length>0)try{await wvc({enhancedExamples:a,sourceFilePath:c,context:r}),r.logger.debug(`Saved ${a.length} examples after chunk ${y}`)}catch(O){r.logger.debug(`Failed to save incremental results: ${O}`)}}return l}async function xFM(e,t,r,i,n,a,o,c,f,s,u,l){let p=e.endpointKey;r.logger.debug(`Processing endpoint ${u}: ${e.endpoint.method} ${e.example.path}`);let _;o&&(_=await LFM(o,[{path:e.example.path,method:e.endpoint.method}],r));let h={method:e.endpoint.method,endpointPath:e.example.path,organizationId:i,operationSummary:e.endpoint.summary,operationDescription:e.endpoint.description,originalRequestExample:R3n(e.example.requestBodyV3),originalResponseExample:R3n(e.example.responseBodyV3),pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,openApiSpec:_};for(let y=1;y<=2;y++)try{let b=await t.enhanceExample(h);l?.recordSuccess();let v=b.enhancedRequestExample!==h.originalRequestExample,O=b.enhancedResponseExample!==h.originalResponseExample;if(v||O){let A={endpoint:e.example.path,method:e.endpoint.method,pathParameters:e.example.pathParameters,queryParameters:e.example.queryParameters,headers:e.example.headers,requestBody:v?b.enhancedRequestExample:void 0,responseBody:O?b.enhancedResponseExample:void 0};return a.push(A),n.count++,s&&s.count++,r.logger.debug(`Successfully enhanced ${e.endpoint.method} ${e.example.path}`),f&&s&&oSa.getInstance().update(f,s.count),{endpointKey:p,enhancedReq:b.enhancedRequestExample,enhancedRes:b.enhancedResponseExample}}return r.logger.debug(`No changes needed for ${e.endpoint.method} ${e.example.path}`),{endpointKey:p,enhancedReq:b.enhancedRequestExample,enhancedRes:b.enhancedResponseExample}}catch(b){l?.recordFailure(),r.logger.debug(`Endpoint ${e.endpoint.method} ${e.example.path} attempt ${y} failed: ${b}`),y<2&&await new Promise(v=>setTimeout(v,1500))}return r.logger.debug(`Failed to enhance ${e.endpoint.method} ${e.example.path} after all attempts`),null}function xN_(e,t){let r=e.endpoints.map(i=>{let n=i,a=n.examples.map(o=>{let c=`${n.method.toLowerCase()}:${o.path}`,f=t.get(c);if(f){let s={...o};return f.enhancedReq!==void 0&&o.requestBodyV3&&(s.requestBody=f.enhancedReq,s.requestBodyV3={...o.requestBodyV3,value:f.enhancedReq}),f.enhancedRes!==void 0&&o.responseBodyV3&&(s.responseBody=f.enhancedRes,s.responseBodyV3={...o.responseBodyV3,value:f.enhancedRes}),s}return o});return{...i,examples:a}});return{...e,endpoints:r}}function GFM(e){let t=!e.name||e.name===""||e.name==="Example",r=!e.description||e.description==="",i=u7o(R3n(e.requestBodyV3)),n=u7o(R3n(e.responseBodyV3));return t&&r&&(i||n)}function u7o(e){return e==null?!1:typeof e=="string"?e==="string"||e==="String"||e==="":typeof e=="number"?e===1||e===0:Array.isArray(e)?e.length>0&&e.some(t=>u7o(t)):typeof e=="object"?Object.values(e).some(t=>u7o(t)):!1}function R3n(e){if(e)switch(e.type){case"json":case"stream":case"sse":return e.value;case"filename":return;default:return e.value}}function GN_({auth:e,playgroundConfig:t,context:r}){if(e.schemes.length>0&&e.schemes[0]!=null){let i=e.schemes[0];return HN_({scheme:i,playgroundConfig:t,context:r})}}function HN_({scheme:e,playgroundConfig:t,context:r}){switch(e.type){case"basic":return{type:"basicAuth",passwordName:e.password.originalName,usernameName:e.username.originalName,description:e.docs};case"bearer":return{type:"bearerAuth",tokenName:e.token.originalName,description:e.docs};case"header":return{type:"header",headerWireValue:e.name.wireValue,nameOverride:e.name.name.originalName,prefix:e.prefix,description:e.docs};case"oauth":{let i=e.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(n=>n.name.originalName).join(".")||"$.body.access_token";return t?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:pi.EndpointId(e.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:pi.JqString(i),headerName:e.configuration.tokenHeader,tokenPrefix:e.configuration.tokenPrefix,description:e.docs}}}:{type:"bearerAuth",tokenName:"token",description:e.docs}}case"inferred":{e.tokenEndpoint.authenticatedRequestHeaders.length>1&&r.logger.warn("Inferred auth scheme has multiple authenticated request headers. Only the `Authentication` or first header will be pushed to FDR.");let i=e.tokenEndpoint.authenticatedRequestHeaders.find(a=>a.headerName.toLowerCase()==="authorization");if(i)return i.responseProperty.propertyPath!=null&&i.responseProperty.propertyPath.length>0&&r.logger.warn("Inferred Authentication header has a property path. The property wirevalue will be pushed to FDR without property path."),{type:"bearerAuth",tokenName:i.responseProperty.property.name.wireValue,description:e.docs};let n=e.tokenEndpoint.authenticatedRequestHeaders[0];return n?{type:"header",headerWireValue:n.headerName,prefix:n.valuePrefix,nameOverride:void 0,description:e.docs}:{type:"bearerAuth",tokenName:"token",description:e.docs}}default:vt(e)}}function KN_({auth:e,playgroundConfig:t,context:r}){let i={};for(let n of e.schemes){let a=HN_({scheme:n,playgroundConfig:t,context:r});a!=null&&(i[pi.AuthSchemeId(n.key)]=a)}return i}function $N_(e){return e._visit({alias:t=>({type:"alias",value:uv(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:MD(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>pi.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:pi.PropertyKey(r.name.wireValue),valueType:uv(r.valueType),availability:MD(r.availability),propertyAccess:r.propertyAccess})),extraProperties:JFM(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:pi.PropertyKey(i.name.wireValue),valueType:uv(i.valueType),availability:MD(i.availability),description:i.docs,propertyAccess:i.propertyAccess}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?MD(i.availability):void 0,additionalProperties:br.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[pi.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:pi.PropertyKey(n.name.wireValue),valueType:uv(n.type),description:void 0,availability:void 0,propertyAccess:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:uv(r.type),availability:void 0,displayName:r.type.type==="named"?r.type.displayName??r.type.name.originalName:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function uv(e){return e._visit({container:t=>br.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:uv(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:uv(r),valueType:uv(i)}),optional:r=>({type:"optional",itemType:uv(r),defaultValue:void 0}),nullable:r=>({type:"nullable",itemType:uv(r)}),set:r=>({type:"set",itemType:uv(r)}),literal:r=>br.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:pi.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:br.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>KFM(t.v2),float:()=>JN_(t.v2),double:()=>JN_(t.v2),string:()=>HFM(t.v2),long:()=>({type:"long",default:t.v2?.type==="long"?t.v2.default:void 0,minimum:void 0,maximum:void 0}),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>({type:"uint"}),uint64:()=>({type:"uint64"}),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function HFM(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function KFM(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="integer"?e.default:void 0}}function JN_(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="double"?e.default:void 0}}function JFM(e){return typeof e=="boolean"?e?ri.unknown():void 0:typeof e=="string"?{type:"id",value:pi.TypeId(e),default:void 0}:uv(e)}function Dvc(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?YFM(r,t):[],webhooks:i!=null?$FM(i):[],websockets:n!=null?[XFM(n,t)]:[],types:e.types.map(a=>pi.TypeId(a)),subpackages:e.subpackages.map(a=>pi.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?pi.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function $FM(e){return e.map(t=>{let r=[];return t.v2Examples!=null?(r.push(...Object.values(t.v2Examples.userSpecifiedExamples)),r.push(...Object.values(t.v2Examples.autogeneratedExamples))):r.push(...t.examples?.map(i=>({payload:i.payload.jsonExample}))??[]),{description:t.docs??void 0,id:pi.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??zxi(t.name.originalName),headers:t.headers.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:uv(i.valueType),availability:MD(i.availability)})),payload:oQM(t.payload),examples:r}})}function YFM(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.v2Examples!=null){let c,f=i.v2Examples.userSpecifiedExamples,s=i.v2Examples.autogeneratedExamples,u=Object.values(f).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(f))c=ZN_({shouldUseExampleName:u,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c);let l=Object.values(s).map(p=>p.response?.statusCode).filter((p,_,h)=>h.indexOf(p)!==_).length>0;for(let[p,_]of Object.entries(s))c=ZN_({shouldUseExampleName:l,exampleName:_.displayName??p,example:_,irEndpoint:i,irService:e,ir:t}),c!=null&&a.push(c)}else if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(c=>Mvc({userSpecifiedExample:c,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(ps));else if(n!=null){let c=Mvc({autogeneratedExample:n,irEndpoint:i,ir:t});c!=null&&a.push(c)}else if(i.response?.body?.type==="fileDownload"){let c=eQn({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(c.type==="success"){let f=Mvc({autogeneratedExample:c,irEndpoint:i,ir:t});if(f!=null){let s={...f,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let o={slug:void 0,availability:MD(i.availability??e.availability),auth:i.auth,authV2:ZFM(i.security),multiAuth:kFM(i.security),description:i.docs??void 0,method:iQM(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?pi.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?eQM({environmentsConfig:t.environments,endpoint:i}):void 0,id:pi.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??zxi(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(c=>({description:c.docs??void 0,key:pi.PropertyKey(c.name.originalName),type:uv(c.valueType),availability:void 0,explode:void 0})),parts:[...N3n(i.basePath),...N3n(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(c=>({description:c.docs??void 0,key:pi.PropertyKey(c.name.originalName),type:uv(c.valueType),availability:void 0,explode:void 0})),parts:[...t.basePath!=null?N3n(t.basePath):[],...N3n(e.basePath),...N3n(i.path)]},queryParameters:i.queryParameters.map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:uv(c.valueType),availability:MD(c.availability),explode:void 0})),headers:[...e.headers,...i.headers].map(c=>({description:c.docs??void 0,key:c.name.wireValue,type:uv(c.valueType),availability:MD(c.availability)})),request:i.requestBody!=null?YN_(i.requestBody):void 0,requestsV2:{requests:i.v2RequestBodies?.requestBodies?.map(YN_).filter(ps)},response:i.response!=null?XN_(i.response):void 0,responsesV2:{responses:i.v2Responses?.responses?.map(XN_).filter(ps)},errors:void 0,errorsV2:nQM(i.errors,t),examples:a,protocol:i.source?._visit({openapi:()=>({type:"rest"}),openrpc:()=>({type:"openrpc",methodName:i.id}),proto:c=>({type:"grpc",methodName:i.id,methodType:c.methodType}),_other:()=>{}}),includeInApiExplorer:i.apiPlayground};r.push(o)}return r}function XFM(e,t){let r=[];if(e.v2Examples!=null&&(Object.keys(e.v2Examples.userSpecifiedExamples).length>0||Object.keys(e.v2Examples.autogeneratedExamples).length>0)){let i=Object.values(e.v2Examples.userSpecifiedExamples),n=Object.values(e.v2Examples.autogeneratedExamples),a=i.length>0?i[0]:n[0];a!=null&&r.push({name:"",description:"",path:a.baseUrl??"",pathParameters:a.pathParameters??{},queryParameters:a.queryParameters??{},headers:a.headers??{},messages:a.messages?.map(o=>({type:pi.api.v1.WebSocketMessageId(o.type),body:o.body}))??[]})}else r=e.examples.map(i=>({name:i.name?.originalName,description:i.docs,path:i.url,pathParameters:i.pathParameters.reduce((n,a)=>(n[pi.PropertyKey(a.name.originalName)]=a.value.jsonExample,n),{}),queryParameters:i.queryParameters.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),headers:i.headers.reduce((n,a)=>(n[a.name.wireValue]=a.value.jsonExample,n),{}),messages:i.messages.map(n=>({type:pi.api.v1.WebSocketMessageId(n.type),body:n.body.jsonExample}))}));return{auth:e.auth,availability:MD(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?pi.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?tQM({environmentsConfig:t.environments,channel:e}):[],id:pi.WebSocketId(e.name.originalName),name:e.displayName??zxi(e.name.originalName),path:{pathParameters:e.pathParameters.map(i=>({description:i.docs??void 0,key:pi.PropertyKey(i.name.originalName),type:uv(i.valueType),availability:void 0,explode:void 0})),parts:N3n(e.path)},headers:e.headers.map(i=>({key:i.name.wireValue,type:uv(i.valueType),description:i.docs,availability:MD(i.availability)})),queryParameters:e.queryParameters.map(i=>({description:i.docs??void 0,key:i.name.wireValue,type:uv(i.valueType),availability:MD(i.availability),explode:void 0})),messages:e.messages.map(i=>({type:pi.api.v1.WebSocketMessageId(i.type),displayName:i.displayName,origin:i.origin,body:uQM(i.body),description:i.docs,availability:MD(i.availability)})),examples:r}}function ZFM(e){if(e==null)return;if(e.length===0)return[];let t=new Set(e.flatMap(r=>Object.keys(r)));return Array.from(t).map(r=>pi.AuthSchemeId(r))}function kFM(e){if(e!=null)return e.length===0?[]:e.map(t=>({schemes:Object.keys(t).map(r=>pi.AuthSchemeId(r))}))}function MD(e){if(e!=null)switch(e.status){case"DEPRECATED":return pi.Availability.Deprecated;case"PRE_RELEASE":return pi.Availability.Beta;case"GENERAL_AVAILABILITY":return pi.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return pi.Availability.Beta;default:vt(e.status)}}function eQM({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl,n=t.v2BaseUrls;switch(r.type){case"singleBaseUrl":return r.environments.map(a=>({id:pi.EnvironmentId(a.id),baseUrl:a.url}));case"multipleBaseUrls":if(n!=null)return n.flatMap(o=>r.environments.map(c=>{let f=c.urls[o];if(f==null)throw new Error(`Encountered undefined server name "${o}" at endpoint ${t.method.toUpperCase()} ${t.path}. Expected environment ${c.id} to contain url for ${o}`);return{id:pi.EnvironmentId(o),baseUrl:f}})).filter((o,c,f)=>c===f.findIndex(s=>s.id===o.id&&s.baseUrl===o.baseUrl));if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(a=>{let o=a.urls[i];if(o==null)throw new Error(`Encountered undefined server name "${i}" at endpoint ${t.method.toUpperCase()} ${t.path.head}. Expected environment ${a.id} to contain url for ${i}`);return{id:pi.EnvironmentId(a.id),baseUrl:o}});default:vt(r)}}function tQM({environmentsConfig:e,channel:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:pi.EnvironmentId(n.id),baseUrl:rQM(n.url,"wss")}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected channel ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Encountered undefined server name ${a} at channel ${t.name.originalName} ${t.path.head}. Expected environment ${n.id} to contain url for ${i}`);return{id:pi.EnvironmentId(n.id),baseUrl:a}});default:vt(r)}}function rQM(e,t){return e.replace(/^[^:]+/,t)}function iQM(e){return br.http.HttpMethod._visit(e,{get:()=>pi.HttpMethod.Get,post:()=>pi.HttpMethod.Post,put:()=>pi.HttpMethod.Put,patch:()=>pi.HttpMethod.Patch,delete:()=>pi.HttpMethod.Delete,head:()=>pi.HttpMethod.Head,_other:()=>{throw new Error("Unknown http method: "+e)}})}function N3n(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:pi.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function YN_(e){let t=br.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??VA.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>pi.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:pi.PropertyKey(i.name.wireValue),valueType:uv(i.valueType),availability:MD(i.availability),propertyAccess:i.propertyAccess})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??VA.APPLICATION_JSON,shape:{type:"reference",value:uv(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:o=>({type:"file",key:pi.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),fileArray:o=>({type:"fileArray",key:pi.PropertyKey(o.key.wireValue),isOptional:o.isOptional,contentType:o.contentType,description:o.docs??void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:pi.PropertyKey(n.name.wireValue),valueType:uv(n.valueType),contentType:n.contentType,description:n.docs??void 0,availability:MD(n.availability),exploded:n.style==="exploded",propertyAccess:void 0}),_other:()=>{}})).filter(ps)},contentType:r.contentType,description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function XN_(e){if(e.body==null)return;let t,r=br.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:uv(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:uv(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:uv(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}});return r!=null?{type:r,statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t}:e.statusCode!=null?{statusCode:e.statusCode,isWildcard:e.isWildcardStatusCode===!0?!0:void 0,description:t,type:{type:"object",extends:[],properties:[],extraProperties:void 0}}:void 0}function nQM(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:uv(n.type)},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,name:n.displayName??n.name.name.originalName,availability:void 0,examples:sQM(n,t),headers:n.headers!=null&&n.headers.length>0?n.headers.map(a=>({description:a.docs??void 0,key:a.name.wireValue,type:uv(a.valueType),availability:MD(a.availability)})):void 0})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:pi.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0,propertyAccess:void 0}];n.type!=null&&a.push({key:pi.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:uv(n.type),description:n.docs,availability:void 0,propertyAccess:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,isWildcard:n.isWildcardStatusCode===!0?!0:void 0,description:n.docs??void 0,availability:void 0,name:n.displayName??n.name.name.originalName,examples:n.examples.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs})),headers:n.headers!=null&&n.headers.length>0?n.headers.map(o=>({description:o.docs??void 0,key:o.name.wireValue,type:uv(o.valueType),availability:MD(o.availability)})):void 0})}}return r}function ZN_({shouldUseExampleName:e,exampleName:t,example:r,irEndpoint:i,irService:n,ir:a}){if(r==null)return;let o=s=>{if(s.valueType.type==="container"&&s.valueType.container.type==="literal")return s.valueType.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}});if(s.valueType.type==="container"&&s.valueType.container.type==="optional"&&s.valueType.container.optional.type==="container"&&s.valueType.container.optional.container.type==="literal")return s.valueType.container.optional.container.literal._visit({boolean:u=>`${u}`,string:u=>u,_other:()=>{}})},c={};a.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),n.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)}),i.headers.forEach(s=>{let u=o(s);u!=null&&(c[s.name.wireValue]=u)});let f=r.response?.body!=null?r.response.body.value:void 0;return{name:e?t:void 0,description:"",path:r.request?.endpoint.path??"",pathParameters:r.request?.pathParameters??{},queryParameters:r.request?.queryParameters??{},headers:(()=>{let u={...r.request?.headers??{}};for(let[l,p]of Object.entries(c))(u[l]===null||u[l]===void 0)&&(u[l]=p);return u})(),requestBody:r.request?.requestBody,requestBodyV3:i.requestBody?._visit({inlinedRequestBody:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,reference:()=>r.request!=null?{type:"json",value:r.request.requestBody}:void 0,fileUpload:s=>{if(r.request==null)return;let u={};if(Xc(r.request.requestBody)){let l=r.request.requestBody;for(let p of s.properties)p._visit({file:_=>{let h=l[_.key.wireValue];if(_.type==="file")u[_.key.wireValue]={type:"filename",value:typeof h=="string"?h:"<file1>"};else if(_.type==="fileArray"){let y=(Array.isArray(h)?h:[h]).filter(b=>typeof b=="string");u[_.key.wireValue]={type:"filenames",value:y}}},bodyProperty:_=>{if(_.style==="exploded"){let h=l[_.name.wireValue];u[_.name.wireValue]={type:"exploded",value:Array.isArray(h)?h:[h]}}else u[_.name.wireValue]={type:"json",value:l[_.name.wireValue]}},_other:YOe})}return{type:"form",value:u}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??i.response?.statusCode??200,responseBody:f??void 0,responseBodyV3:f!=null?r.response?.body?._visit({json:s=>({type:"json",value:s}),stream:s=>Array.isArray(s)&&s.length>0&&s.every(aQM)?{type:"sse",value:s}:{type:"stream",value:s},error:()=>{},_other:()=>{throw new Error("Unknown ExampleResponseBody: "+r.response?.body?.type)}}):void 0,codeSamples:r.codeSamples?.map(s=>({name:s.name,description:s.docs??void 0,install:void 0,language:s.language,code:s.code})).filter(ps)}}function aQM(e){return typeof e=="object"&&e!==null&&"event"in e&&typeof e?.event=="string"&&"data"in e}function Mvc({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(c=>{let f;if(c.valueType.type==="container"&&c.valueType.container.type==="literal"?f=c.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):c.valueType.type==="container"&&c.valueType.container.type==="optional"&&c.valueType.container.optional.type==="container"&&c.valueType.container.optional.container.type==="literal"&&(f=c.valueType.container.optional.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}})),f!=null)return{name:c.name,value:{jsonExample:f,shape:br.ExampleTypeReferenceShape.primitive(br.ExamplePrimitive.string({original:f}))}}}).filter(ps),a=e?.example??t?.example;if(a==null)return;let{codeSamples:o}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((c,f)=>(c[pi.PropertyKey(f.name.originalName)]=f.value.jsonExample,c),{}),queryParameters:a.queryParameters.reduce((c,f)=>(c[f.name.wireValue]=f.value.jsonExample,c),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((c,f)=>(c[f.name.wireValue]=f.value.jsonExample,c),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:c=>{if(a.request==null)return;let f={};if(Xc(a.request.jsonExample)){let s=a.request.jsonExample;for(let u of c.properties)u._visit({file:l=>{let p=s[l.key.wireValue];if(l.type==="file")f[l.key.wireValue]={type:"filename",value:typeof p=="string"?p:"<file1>"};else if(l.type==="fileArray"){let _=(Array.isArray(p)?p:[p]).filter(h=>typeof h=="string");f[l.key.wireValue]={type:"filenames",value:_}}},bodyProperty:l=>{if(l.style==="exploded"){let p=s[l.name.wireValue];f[l.name.wireValue]={type:"exploded",value:Array.isArray(p)?p:[p]}}else f[l.name.wireValue]={type:"json",value:s[l.name.wireValue]}},_other:YOe})}return{type:"form",value:f}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??br.http.ExampleResponse._visit(a.response,{ok:c=>c._visit({body:f=>f!=null?200:204,stream:f=>f.length>0?200:204,sse:f=>f.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:({error:c})=>{let f=i.errors[c.errorId];if(f==null)throw new Error("Cannot find error "+c.errorId);return f.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:c=>c._visit({body:f=>f?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:c=>c.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:c=>c._visit({body:f=>f!=null?{type:"json",value:f.jsonExample}:void 0,stream:f=>({type:"stream",value:f.map(s=>s.jsonExample)}),sse:f=>({type:"sse",value:f.map(({event:s,data:u})=>({event:s,data:u.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+c.type)}}),error:c=>c.body!=null?{type:"json",value:c.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:o?.map(c=>yhe._visit(c,{language:f=>({language:f.language,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:f.install}),sdk:f=>({language:f.sdk,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:void 0}),_other:()=>{}})).filter(ps)}}function oQM(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>pi.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:pi.PropertyKey(t.name.wireValue),valueType:uv(t.valueType),availability:MD(t.availability),propertyAccess:void 0})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:uv(e.payloadType)},description:e.docs};default:vt(e)}}function uQM(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>pi.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:pi.PropertyKey(t.name.wireValue),valueType:uv(t.valueType),availability:MD(t.availability),propertyAccess:void 0})),extraProperties:void 0};case"reference":return{type:"reference",value:uv(e.bodyType)};default:vt(e)}}function sQM(e,t){let r=e.v2Examples?.userSpecifiedExamples,i=e.v2Examples?.autogeneratedExamples,n=e.examples;if(r!=null&&Object.keys(r).length>0)return Object.entries(r).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(i!=null&&Object.keys(i).length>0)return Object.entries(i).map(([o,c])=>({name:o,responseBody:{type:"json",value:c},description:void 0}));if(n.length>0)return n.map(o=>({name:o.name?.originalName,responseBody:{type:"json",value:o.jsonExample},description:o.docs}));let a=cQM(e,t);return a!=null?[a]:[]}function cQM(e,t){if(e.type==null||e.type.type!=="named")return;let r=e.type.typeId,i=t.types[r];if(i==null||i.shape.type!=="object")return;let n={},a=!1;for(let o of i.shape.properties){let c=o.name.wireValue,f=o.v2Examples;if(f?.userSpecifiedExamples!=null){let s=Object.values(f.userSpecifiedExamples);if(s.length>0){n[c]=s[0],a=!0;continue}}if(f?.autogeneratedExamples!=null){let s=Object.values(f.autogeneratedExamples);if(s.length>0){n[c]=s[0];continue}}}if(a)return{name:void 0,responseBody:{type:"json",value:n},description:void 0}}function Tx({ir:e,snippetsConfig:t,playgroundConfig:r,context:i}){let n={types:{},subpackages:{},rootPackage:Dvc(e.rootPackage,e),auth:GN_({auth:e.auth,playgroundConfig:r,context:i}),authSchemes:KN_({auth:e.auth,playgroundConfig:r,context:i}),snippetsConfiguration:t,globalHeaders:e.headers.map(a=>({availability:MD(a.availability),description:a.docs??void 0,key:a.name.wireValue,type:uv(a.valueType)})),navigation:void 0};for(let[a,o]of Object.entries(e.types))n.types[pi.TypeId(a)]={description:o.docs??void 0,name:o.name.name.originalName,shape:$N_(o.shape),availability:MD(o.availability),displayName:o.name.displayName};for(let[a,o]of Object.entries(e.subpackages)){let c=o.service!=null?e.services[o.service]:void 0;n.subpackages[pi.api.v1.SubpackageId(a)]={subpackageId:pi.api.v1.SubpackageId(a),displayName:c?.displayName??o.displayName,name:o.name.originalName,description:o.docs??void 0,...Dvc(o,e)}}return n}async function Bvc({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:o,aiEnhancerConfig:c}){let f=eE({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new kw(r,t)}),s=cHi({token:i.value}),u=Tx({ir:f,snippetsConfig:a,playgroundConfig:o,context:r});if(c){let h=t.getSources().find(y=>y.type==="openapi")?.absoluteFilePath;u=await z3n(u,c,r,i,e,h,f.apiName.originalName)}let l=await s.api.v1.register.registerApiDefinition({orgId:pi.OrgId(e),apiId:pi.ApiId(f.apiName.originalName),definition:u});if(l.ok)return r.logger.debug(`Registered API Definition ${l.body.apiDefinitionId}`),{id:l.body.apiDefinitionId,ir:f};switch(l.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",l.error)}}var lQM=new hdo({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function sSa({ir:e,apiDefinitionId:t,playgroundConfig:r,context:i}){return ydo(pdo(Tx({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0,phpSdk:void 0,swiftSdk:void 0,rustSdk:void 0},playgroundConfig:r,context:i}),sQ.ApiDefinitionId(t),lQM))}var kN_=ae(require("path"),1);async function wPe({iconPath:e,filepaths:t}){e!=null&&typeof e=="string"&&kN_.default.isAbsolute(e)&&t.add(e)}async function eF_({parsedDocsConfig:e}){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(i=>{t.add(i.absolutePath)}),e.navigation.type==="productgroup"&&e.navigation.products.forEach(i=>{i.image!=null&&t.add(i.image)}),(await Ivc({navigation:e.navigation})).forEach(i=>{t.add(i)}),e.navbarLinks&&await Promise.all(e.navbarLinks.map(async i=>{i.type==="dropdown"&&i.links.map(async n=>{n.icon&&await wPe({iconPath:n.icon,filepaths:t}),n.rightIcon&&await wPe({iconPath:n.rightIcon,filepaths:t})}),i.type!=="github"&&(i.icon&&await wPe({iconPath:i.icon,filepaths:t}),i.rightIcon&&await wPe({iconPath:i.rightIcon,filepaths:t}))})),e.js!=null&&e.js.files.forEach(i=>{t.add(i.absolutePath)}),t}async function Ivc({navigation:e}){let t=new Set;switch(e.type){case"untabbed":await Promise.all(e.items.map(r=>F3n({item:r,filepaths:t})));break;case"tabbed":await Promise.all(e.items.map(async r=>{r.icon!=null&&await wPe({iconPath:r.icon,filepaths:t}),r.child.type==="layout"&&r.child.layout!=null?await Promise.all(r.child.layout.map(i=>F3n({item:i,filepaths:t}))):r.child.type==="variants"&&r.child.variants!=null&&await Promise.all(r.child.variants.flatMap(i=>{let n=[];return i.icon!=null&&n.push(wPe({iconPath:i.icon,filepaths:t})),n.push(...i.layout.map(a=>F3n({item:a,filepaths:t}))),n}))}));break;case"versioned":await Promise.all(e.versions.map(async r=>{r.landingPage!=null&&await F3n({item:r.landingPage,filepaths:t}),(await Ivc({navigation:r.navigation})).forEach(n=>t.add(n))}));break;case"productgroup":await Promise.all(e.products.map(async r=>{r.icon!=null&&await wPe({iconPath:r.icon,filepaths:t}),r.type==="internal"&&(r.landingPage!=null&&await F3n({item:r.landingPage,filepaths:t}),(await Ivc({navigation:r.navigation})).forEach(n=>t.add(n)))}));break}return t}async function F3n({item:e,filepaths:t}){switch(e.type){case"page":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"section":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t}),await Promise.all(e.contents.map(r=>F3n({item:r,filepaths:t})));break;case"apiSection":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"link":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break;case"changelog":e.icon!=null&&await wPe({iconPath:e.icon,filepaths:t});break}}async function tF_({navigation:e,apiWorkspaces:t,visitor:r,context:i}){dQM(e)?await Promise.all(e.map(async n=>{pQM(n)?await Promise.all(n.layout.map(async a=>{await s7o({navigationItem:a,visitor:r,apiWorkspaces:t,context:i})})):_QM(n)&&await Promise.all(n.variants.flatMap(a=>a.layout.map(async o=>{await s7o({navigationItem:o,visitor:r,apiWorkspaces:t,context:i})})))})):await Promise.all(e.map(async n=>{await s7o({navigationItem:n,visitor:r,apiWorkspaces:t,context:i})}))}async function s7o({navigationItem:e,visitor:t,apiWorkspaces:r,context:i}){if(await E8t(e,{alphabetized:Et,api:Et,apiName:Et,audiences:Et,displayErrors:Et,tagDescriptionPages:Et,snippets:Et,summary:Et,title:Et,layout:Et,collapsed:Et,icon:Et,slug:Et,hidden:Et,skipSlug:Et,paginated:Et,playground:Et,flattened:Et,path:Et,page:Et,featureFlag:Et,openrpc:Et,postman:Et,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await s7o({navigationItem:a,visitor:t,apiWorkspaces:r,context:i})}))},viewers:Et,orphaned:Et,availability:Et}),fQM(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function fQM(e){return e.api!=null}function dQM(e){return e[0]?.tab!=null}function pQM(e){return"layout"in e&&Array.isArray(e.layout)}function _QM(e){return"variants"in e&&Array.isArray(e.variants)}function Q1(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}iF_.default.extend(nF_.default);var hQM=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),rF_=0,yQM=async({ir:e})=>(rF_++,`${e.apiName.snakeCase.unsafeName}-${rF_}`),xFt=class{domain;docsWorkspace;ossWorkspaces;apiWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;targetAudiences;constructor({domain:t,docsWorkspace:r,ossWorkspaces:i,apiWorkspaces:n,taskContext:a,editThisPage:o,uploadFiles:c=hQM,registerApi:f=yQM,targetAudiences:s}){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.apiWorkspaces=n,this.taskContext=a,this.editThisPage=o,this.uploadFiles=c,this.registerApi=f,this.targetAudiences=s}#e=i7o.init();shouldIncludeByAudience(t){return!t||t.length===0||!this.targetAudiences||this.targetAudiences.length===0?!0:t.some(r=>this.targetAudiences?.includes(r))}applyAudienceFiltering(t){let r=this.filterNavigationByAudience(t.navigation);return{...t,navigation:r}}filterNavigationByAudience(t){return t.type==="untabbed"||t.type==="tabbed"?t:t.type==="versioned"?{...t,versions:t.versions.filter(r=>this.shouldIncludeByAudience(this.getRawVersionAudiences(r.version)))}:t.type==="productgroup"?{...t,products:t.products.filter(r=>{let i=this.getRawProductAudiences(r.product);return this.shouldIncludeByAudience(i)})}:t}getRawProductAudiences(t){let i=this.docsWorkspace.config.products?.find(n=>n.displayName===t);return Zya(i?.audiences)}getRawVersionAudiences(t){let i=this.docsWorkspace.config.versions?.find(n=>n.displayName===t);return Zya(i?.audiences)}_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;markdownFilesToSidebarTitle=new Map;markdownFilesToNoIndex=new Map;markdownFilesToTags=new Map;rawMarkdownFiles={};async resolve(){let t=performance.now(),r=process.memoryUsage();this.taskContext.logger.debug("Parsing docs configuration...");let i=performance.now();this._parsedDocsConfig=await fNs({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig});let n=performance.now()-i,a=Object.keys(this.parsedDocsConfig.pages).length;this.taskContext.logger.debug(`Parsed docs configuration in ${n.toFixed(0)}ms: ${a} pages`),this.targetAudiences&&this.targetAudiences.length>0&&(this._parsedDocsConfig=this.applyAudienceFiltering(this._parsedDocsConfig)),this.taskContext.logger.debug("Storing raw markdown content...");for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.rawMarkdownFiles[Ye.of(Pe)]=ne;let o=this.parsedDocsConfig.experimental?.openapiParserV3,c=o!=null&&!o;if(this.docsWorkspace.config.navigation!=null&&c){this.taskContext.logger.debug("Visiting navigation AST for changelog files...");let Pe=performance.now();await tF_({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:Ee})=>{(await Ee.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0,objectQueryParameters:!0,respectReadonlySchemas:!0})).changelog?.files.forEach(re=>{let ee=Sv(this.docsWorkspace.absoluteFilePath,re.absoluteFilepath);this.parsedDocsConfig.pages[ee]=re.contents,this.rawMarkdownFiles[Ye.of(ee)]=re.contents})}},apiWorkspaces:this.apiWorkspaces,context:this.taskContext});let ne=performance.now()-Pe;this.taskContext.logger.debug(`Visited navigation AST in ${ne.toFixed(0)}ms`)}this.taskContext.logger.debug("Building markdown file maps...");let f=performance.now();this.markdownFilesToFullSlugs=await this.getMarkdownFilesToFullSlugs(this.parsedDocsConfig.pages),this.markdownFilesToSidebarTitle=await this.getMarkdownFilesToSidebarTitle(this.parsedDocsConfig.pages),this.markdownFilesToNoIndex=await this.getMarkdownFilesToNoIndex(this.parsedDocsConfig.pages),this.markdownFilesToTags=await this.getMarkdownFilesToTags(this.parsedDocsConfig.pages);let s=performance.now()-f;this.taskContext.logger.debug(`Built markdown file maps in ${s.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced markdown files...");let u=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=await BGo({markdown:ne,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(Pe),context:this.taskContext});let l=performance.now()-u;this.taskContext.logger.debug(`Replaced referenced markdown in ${l.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing referenced code files...");let p=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=await svc({markdown:ne,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(Pe),context:this.taskContext});let _=performance.now()-p;this.taskContext.logger.debug(`Replaced referenced code in ${_.toFixed(0)}ms`),this.taskContext.logger.debug("Collecting files from docs config...");let h=performance.now(),y=await eF_({parsedDocsConfig:this.parsedDocsConfig}),b=performance.now()-h;this.taskContext.logger.debug(`Collected ${y.size} files in ${b.toFixed(0)}ms`),this.taskContext.logger.debug("Parsing image paths from markdown files...");let v=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))try{let{filepaths:Ee,markdown:Qe}=L$i(ne,{absolutePathToMarkdownFile:this.resolveFilepath(Pe),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);this.parsedDocsConfig.pages[Ye.of(Pe)]=Qe;for(let re of Ee)y.add(re)}catch(Ee){throw this.taskContext.logger.error(`Failed to parse ${Pe}: ${Ee instanceof Error?Ee.message:String(Ee)}`),Ee}let O=performance.now()-v;this.taskContext.logger.debug(`Parsed image paths in ${O.toFixed(0)}ms`);let A=Array.from(y).map(Pe=>({absoluteFilePath:Pe,relativeFilePath:this.toRelativeFilepath(Pe)}));this.taskContext.logger.info(`Uploading ${A.length} files...`);let g=performance.now(),m=await this.uploadFiles(A),j=performance.now()-g;this.taskContext.logger.info(`Uploaded ${m.length} files in ${j.toFixed(0)}ms`),m.forEach(Pe=>{this.collectedFileIds.set(Pe.absoluteFilePath,Pe.fileId)}),this.taskContext.logger.debug("Building navigation tree...");let M=performance.now(),E=await this.toRootNode(),D=performance.now()-M;this.taskContext.logger.debug(`Built navigation tree in ${D.toFixed(0)}ms`),this.taskContext.logger.debug("Getting fully qualified path names...");let B=performance.now(),F=await this.getMarkdownFilesToFullyQualifiedPathNames(E),N=performance.now()-B;this.taskContext.logger.debug(`Got path names in ${N.toFixed(0)}ms`),this.taskContext.logger.debug("Replacing image paths and URLs in markdown...");let T=performance.now();for(let[Pe,ne]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[Ye.of(Pe)]=uvc(ne,this.collectedFileIds,F,{absolutePathToMarkdownFile:this.resolveFilepath(Pe),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let R=performance.now()-T;this.taskContext.logger.debug(`Replaced image paths in ${R.toFixed(0)}ms`),this.taskContext.logger.debug("Building page content...");let Q={};Object.entries(this.parsedDocsConfig.pages).forEach(([Pe,ne])=>{let Ee=bQM(this.editThisPage,Pe),Qe=this.rawMarkdownFiles[Ye.of(Pe)];Q[TW.PageId(Pe)]={markdown:ne,editThisPageUrl:Ee?TW.Url(Ee):void 0,rawMarkdown:Qe}}),this.taskContext.logger.debug("Converting docs configuration...");let U=performance.now(),H=await this.convertDocsConfiguration(E),oe=performance.now()-U;this.taskContext.logger.debug(`Converted docs configuration in ${oe.toFixed(0)}ms`);let se={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){this.taskContext.logger.debug("Processing MDX components...");let Pe=performance.now(),ne=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async Qe=>{let re=_s(this.docsWorkspace.absoluteFilePath,Qe);(await(0,c7o.stat)(re)).isDirectory()?(await eQ(re,"{js,ts,jsx,tsx,md,mdx}")).forEach($e=>{ne.add($e)}):re.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&ne.add(re)})),se=Object.fromEntries(await Promise.all([...ne].map(async Qe=>{let re=this.toRelativeFilepath(Qe),ee=(await(0,c7o.readFile)(Qe)).toString();return[re,ee]})));let Ee=performance.now()-Pe;this.taskContext.logger.debug(`Processed ${ne.size} MDX component files in ${Ee.toFixed(0)}ms`)}let x=performance.now()-t,G=process.memoryUsage();return this.taskContext.logger.debug(`Total resolve time: ${x.toFixed(0)}ms, Memory delta: RSS=${((G.rss-r.rss)/1024/1024).toFixed(2)}MB`),{config:H,pages:Q,jsFiles:se}}resolveFilepath(t){if(t!=null)return _s(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return Sv(this.docsWorkspace.absoluteFilePath,t)}async getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.slug;if(typeof o=="string"&&o.trim().length>0){let c=o.trim();ovc(c)?r.set(this.resolveFilepath(i),c):this.taskContext.logger.warn(`Ignoring absolute URL slug "${c}" in ${i}. Absolute URLs are not allowed for frontmatter slugs.`)}}return r}async getMarkdownFilesToSidebarTitle(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data["sidebar-title"];typeof o=="string"&&o.trim().length>0&&r.set(this.resolveFilepath(i),o.trim())}return r}async getMarkdownFilesToNoIndex(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.noindex;typeof o=="boolean"&&r.set(this.resolveFilepath(i),o)}return r}async getMarkdownFilesToTags(t){let r=new Map;for(let[i,n]of Object.entries(t)){let o=(0,cSa.default)(n).data.tags;typeof o=="string"?r.set(this.resolveFilepath(i),o.split(",").map(c=>c.trim()).filter(c=>c.length>0)):Array.isArray(o)&&r.set(this.resolveFilepath(i),o)}return r}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=qt.migrate.FernNavigationV1ToLatest.create().root(t);return qt.NodeCollector.collect(i).slugMap.forEach((a,o)=>{if(a==null||!qt.isPage(a))return;let c=qt.getPageId(a);if(c==null)return;let f=Ft(this.docsWorkspace.absoluteFilePath,Ye.of(c));r[f]=o}),r}getDocsBasePath(){return new URL(Q1(this.domain)).pathname}async convertDocsConfiguration(t){return{aiChatConfig:this.parsedDocsConfig.aiChatConfig!=null?{model:this.parsedDocsConfig.aiChatConfig.model,systemPrompt:this.parsedDocsConfig.aiChatConfig.systemPrompt,location:this.parsedDocsConfig.aiChatConfig.location,datasources:this.parsedDocsConfig.aiChatConfig.datasources?.map(i=>({url:i.url,title:i.title}))}:void 0,hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?TW.Url(this.parsedDocsConfig.logo?.href):void 0,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>i.type==="dropdown"?{...i,links:i.links?.map(n=>({...n,url:TW.Url(n.url),icon:this.resolveIconFileId(n.icon),rightIcon:this.resolveIconFileId(n.rightIcon)})),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}:i.type==="github"?{...i,url:TW.Url(i.url)}:{...i,url:TW.Url(i.url),icon:this.resolveIconFileId(i.icon),rightIcon:this.resolveIconFileId(i.rightIcon)}),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,settings:this.parsedDocsConfig.settings,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:TW.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,languages:this.parsedDocsConfig.languages,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,pageActions:this.parsedDocsConfig.pageActions,theme:this.parsedDocsConfig.theme!=null?{sidebar:this.parsedDocsConfig.theme.sidebar,body:this.parsedDocsConfig.theme.body,tabs:this.parsedDocsConfig.theme.tabs,"page-actions":this.parsedDocsConfig.theme.pageActions,footerNav:this.parsedDocsConfig.theme.footerNav}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0}}getFernWorkspaceForApiSection(t){if(t.apiName!=null){let i=this.apiWorkspaces.find(n=>n.workspaceName===t.apiName);if(i!=null)return i}else if(this.apiWorkspaces.length===1&&this.apiWorkspaces[0]!=null)return this.apiWorkspaces[0];let r=t.apiName?`Failed to load API Definition '${t.apiName}' referenced in docs.
|
|
1782
1782
|
A valid API configuration was not found at the path: fern/apis/${t.apiName}.
|
|
1783
1783
|
Learn more about project structure:
|
|
1784
1784
|
https://buildwithfern.com/learn/docs/getting-started/project-structure#api-definitions`:`Failed to load API Definition referenced in docs.
|
|
@@ -1819,7 +1819,7 @@ Please wait while the installation completes. This may take a few minutes depend
|
|
|
1819
1819
|
`;)b++;let O=a.slice(v,b).trim();if(a[b]==="="){for(b++;b<h&&(a[b]===" "||a[b]===`
|
|
1820
1820
|
`);)b++;if(a[b]==='"'||a[b]==="'"){let A=a[b];b++;let g=b;for(;b<h&&a[b]!==A;)a[b]==="\\"?b+=2:b++;let m=a.slice(g,b);if(b++,O==="src"){let j=c(m);j&&p.push({start:g,end:g+m.length,replacement:j})}else if(O==="href"){let j=dKo({href:m,markdownFilesToPathName:r,metadata:i});j&&j.type==="replace"&&p.push({start:g,end:g+m.length,replacement:j.slug})}}}}b<h&&a[b]===">"&&b++,_=b;continue}_++}u=pKo(a,p);let y=performance.now()-l;n.logger.debug(`Streaming replacement completed in ${y.toFixed(0)}ms: ${p.length} edits applied`)}else{let l=Cmc(a),p=Q7_(a),_=[];Fi(l,y=>{let b=y;return b.type==="image"||b.type==="link"||b.type==="mdxJsxFlowElement"||b.type==="mdxJsxTextElement"||b.type==="mdxFlowExpression"||b.type==="mdxTextExpression"},y=>{if(y.position==null)return;let{start:b,length:v}=U7_(p,y.position),O=a.slice(b,b+v),A=O;function g(M){let E=c(M);M&&E&&(A=A.replace(M,E))}function m(M){let E=dKo({href:M,markdownFilesToPathName:r,metadata:i});M!=null&&E!=null&&E.type==="replace"&&(A=A.replace(M,E.slug))}function j(M){qmc(M,{src:E=>g(Ux(_Ma(E.value))),href:E=>m(Ux(_Ma(E.value)))})}if(y.type==="image"){let M=Ux(y.url);g(Ux(M))}if(y.type==="link"&&m(Ux(y.url)),Dmc(y)){let M=y.attributes.filter(hMa).find(D=>D.name==="src");g(Ux(fKo(M?.value)));let E=y.attributes.find(D=>D.type==="mdxJsxAttribute"&&D.name==="href");m(Ux(fKo(E?.value))),y.attributes.forEach(D=>{hMa(D)&&typeof D.value!="string"&&D.value!=null&&D.value.data?.estree?j(D.value.data.estree):Imc(D)&&D.data?.estree&&j(D.data.estree)})}return Bmc(y)&&y.data?.estree&&j(y.data.estree),A!==O&&_.push({start:b,end:b+v,replacement:A}),Yn}),u=pKo(a,_)}return yMa.default.stringify(u,o)}function Ux(e){if(typeof e=="string")return e.replace(/#.*$/,"")}function sHM(e){return e.replace(/\\([()])/g,"$1")}function V7_(e,t,r){for(let i of t){let n=e[i];if(n!=null){if(typeof n=="object")n.type==="fileId"&&(e[i]={type:"fileId",value:pi.FileId(r(n.value)??n.value)});else if(typeof n=="string"){let a=r(n);e[i]=a?{type:"fileId",value:pi.FileId(a)}:{type:"url",value:pi.Url(n)}}}}}var cHM=Tt.union([Tt.string(),Tt.object({light:Tt.string().optional(),dark:Tt.string().optional()})]);function Tmc(e,t){let r=t(e);return r?{type:"fileId",value:pi.FileId(r)}:{type:"url",value:pi.Url(e)}}function W7_(e,t){let r=cHM.safeParse(e.logo);if(!r.success)return;let i=r.data;typeof i=="string"?e.logo=Tmc(i,t):(i.light!=null&&(e.logo.light=Tmc(i.light,t)),i.dark!=null&&(e.logo.dark=Tmc(i.dark,t)))}var x7_=require("fs/promises");async function lHM(e){return(await(0,x7_.readFile)(e)).toString()}function fHM(e){return e.startsWith("http://")||e.startsWith("https://")}function dHM(e,t){let r=e.split(`
|
|
1821
1821
|
`),i=new Set,n=t.trim();n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1));let a=n.split(",");for(let f of a){let s=f.trim(),u=s.match(/^(\d+)-(\d+)$/);if(u){let p=parseInt(u[1]??"1",10),_=parseInt(u[2]??"1",10);for(let h=p;h<=_;h++)i.add(h-1);continue}let l=s.match(/^(\d+)$/);if(l){let p=parseInt(l[1]??"1",10);i.add(p-1);continue}if(s!=="")return e}return i.size===0?e:Array.from(i).sort((f,s)=>f-s).filter(f=>f>=0&&f<r.length).map(f=>r[f]??"").join(`
|
|
1822
|
-
`)}async function Qmc({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,fileLoader:n=lHM}){if(!e.includes("<Code"))return e;let a=/([ \t]*)<Code(?![a-zA-Z])[\s\S]*?src={?['"]([^'"]+)['"](?! \+)}?([\s\S]*?)\/>/g,o=e,c;for(;(c=a.exec(e))!=null;){let f=c[0],s=c[1],u=c[2];if(f==null||u==null)throw new Error(`Failed to parse regex "${c}" in ${r}`);try{let l,p,_;if(fHM(u))try{let M=await fetch(u);if(!M.ok){i.logger.warn(`Failed to fetch code from URL "${u}" (status ${M.status}) referenced in ${r}`);break}l=await M.text();let D=new URL(u).pathname;p=D.split(".").pop(),_=D.split("/").pop()}catch(M){i.logger.warn(`Failed to fetch code from URL "${u}" referenced in ${r}: ${M}`);break}else{let M=_s(u.startsWith("/")?t:hn(r),Ye.of(u.replace(/^\//,"")));l=await n(M),p=M.split(".").pop(),_=M.split("/").pop()}let h=new Map,y=/(\w+)=(?:{([^}]+)}|"([^"]+)")/g,b=f?.split("src=")[0]?.trim()??"",v;for(;(v=y.exec(b))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}let O=c[3]?.trim()||"";for(y.lastIndex=0;(v=y.exec(O))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}h.delete("src");let A=h.get("language");A&&(p=A.value,h.delete("language"));let g=h.get("title");g&&(_=g.value,h.delete("title"));let m=h.get("lines");m&&(l=dHM(l,m.value),h.delete("lines"));let j="";p!=null&&(j+=p),_!=null&&(g?.fromCurlyBraces?j+=` title={${_}}`:j+=` title={"${_}"}`);for(let[M,E]of h)j+=` ${M}={${E.value}}`;l=`\`\`\`${j}
|
|
1822
|
+
`)}async function Qmc({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,fileLoader:n=lHM}){if(!e.includes("<Code"))return e;let a=/([ \t]*)<Code(?![a-zA-Z])[\s\S]*?src={?['"]([^'"]+)['"](?! \+)}?([\s\S]*?)\/>/g,o=e,c;for(;(c=a.exec(e))!=null;){let f=c[0],s=c[1],u=c[2];if(f==null||u==null)throw new Error(`Failed to parse regex "${c}" in ${r}`);try{let l,p,_;if(fHM(u))try{let M=await fetch(u);if(!M.ok){i.logger.warn(`Failed to fetch code from URL "${u}" (status ${M.status}) referenced in ${r}`);break}l=await M.text();let D=new URL(u).pathname;p=D.split(".").pop(),_=D.split("/").pop()}catch(M){i.logger.warn(`Failed to fetch code from URL "${u}" referenced in ${r}: ${M}`);break}else{let M=_s(u.startsWith("/")?t:hn(r),Ye.of(u.replace(/^\//,"")));l=await n(M),p=M.split(".").pop(),_=M.split("/").pop()}let h=new Map,y=/(\w+)=(?:{([^}]+)}|"([^"]+)")/g,b=f?.split("src=")[0]?.trim()??"",v;for(;(v=y.exec(b))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}let O=c[3]?.trim()||"";for(y.lastIndex=0;(v=y.exec(O))!==null;){let M=v[1],E=v[2]||v[3],D=v[2]!==void 0;M&&E&&h.set(M,{value:E,fromCurlyBraces:D})}h.delete("src");let A=h.get("language");A&&(p=A.value,h.delete("language"));let g=h.get("title");g&&(_=g.value,h.delete("title"));let m=h.get("lines");m&&(l=dHM(l,m.value),h.delete("lines"));let j="";p!=null&&(j+=p),_!=null&&(g?.fromCurlyBraces?j+=` title={${_}}`:j+=` title={"${_}"}`);for(let[M,E]of h)if(E.fromCurlyBraces)j+=` ${M}={${E.value}}`;else{let D=E.value.trim();/^-?\d+(\.\d+)?$/.test(D)?j+=` ${M}={${D}}`:D==="true"||D==="false"?j+=` ${M}={${D}}`:j+=` ${M}={${JSON.stringify(E.value)}}`}l=`\`\`\`${j}
|
|
1823
1823
|
${l}
|
|
1824
1824
|
\`\`\``,l=l.split(`
|
|
1825
1825
|
`).map(M=>s+M).join(`
|