fern-api 5.70.2 → 5.70.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +6 -6
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -482,7 +482,7 @@ ${o.mark.snippet}`)),o.mark!=null&&(o.reason==="bad indentation of a mapping ent
|
|
|
482
482
|
`),l=o.mark.line>=0&&o.mark.line<u.length?u[o.mark.line]:void 0;l!=null&&/:\s+@/.test(l)&&(a+=`
|
|
483
483
|
|
|
484
484
|
Hint: Values starting with "@" (such as scoped npm packages) must be wrapped in quotes.
|
|
485
|
-
Example: package-name: "@scope/package"`)}t.failAndThrow(a,void 0,{code:B.Code.ConfigError})}else throw o}}async function bL({absolutePathToWorkspace:e,context:t,lenient:r}){let n=await G$e({absolutePathToWorkspace:e,context:t,lenient:r});if(n==null)return;let i=await v$({absolutePathToWorkspace:e});if(i!=null)return B3c({absolutePathToGeneratorsConfiguration:i,rawGeneratorsConfiguration:n,context:t})}async function v$({absolutePathToWorkspace:e}){let t=We(e,we.of(Dp)),r=We(e,we.of(jHe));if(await rr(t))return t;if(await rr(r))return r}var N3c,j3c,Q3c=h(()=>{"use strict";Va();Xt();Qt();N3c=require("fs/promises");us();j3c=ye(require("path"),1);Wyo()});var z3c=h(()=>{"use strict";MQc();Wyo();udo();t2r();Tho();Q3c()});var Hyo,Mzt,M3c=h(()=>{"use strict";Hyo=class{value;next;constructor(t){this.value=t}},Mzt=class{#e;#t;#r;constructor(){this.clear()}enqueue(t){let r=new Hyo(t);this.#e?(this.#t.next=r,this.#t=r):(this.#e=r,this.#t=r),this.#r++}dequeue(){let t=this.#e;if(t)return this.#e=this.#e.next,this.#r--,this.#e||(this.#t=void 0),t.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let t=this.#e;for(;t;)yield t.value,t=t.next}*drain(){for(;this.#e;)yield this.dequeue()}}});function wjr(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new Mzt,r=0,n=()=>{r--,t.size>0&&t.dequeue()()},i=async(a,c,u)=>{r++;let l=(async()=>a(...u))();c(l);try{await l}catch{}n()},o=(a,c,u)=>{t.enqueue(i.bind(void 0,a,c,u)),(async()=>(await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()))()},s=(a,...c)=>new Promise(u=>{o(a,u,c)});return Object.defineProperties(s,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}var L3c=h(()=>{"use strict";M3c()});async function Kyo(e,t,{concurrency:r=Number.POSITIVE_INFINITY,preserveOrder:n=!0}={}){let i=wjr(r),o=[...e].map(a=>[a,i(Zyd,a,t)]),s=wjr(n?1:Number.POSITIVE_INFINITY);try{await Promise.all(o.map(a=>s($yd,a)))}catch(a){if(a instanceof Sjr)return a.value;throw a}}var Sjr,Zyd,$yd,U3c=h(()=>{"use strict";L3c();Sjr=class extends Error{constructor(t){super(),this.value=t}},Zyd=async(e,t)=>t(await e),$yd=async e=>{let t=await Promise.all(e);if(t[1]===!0)throw new Sjr(t[0]);return!1}});function ebd(e){if(!Object.hasOwnProperty.call(q3c,e))throw new Error(`Invalid type specified: ${e}`)}async function Jyo(e,{cwd:t=V3c.default.cwd(),type:r="file",allowSymlinks:n=!0,concurrency:i,preserveOrder:o}={}){ebd(r),t=rbd(t);let s=n?Tjr.promises.stat:Tjr.promises.lstat;return Kyo(e,async a=>{try{let c=await s(_3c.default.resolve(t,a));return tbd(r,c)}catch{return!1}},{concurrency:i,preserveOrder:o})}var V3c,_3c,Tjr,G3c,q3c,tbd,rbd,W3c=h(()=>{"use strict";V3c=ye(require("process"),1),_3c=ye(require("path"),1),Tjr=ye(require("fs"),1),G3c=require("url");U3c();q3c={directory:"isDirectory",file:"isFile"};tbd=(e,t)=>t[q3c[e]](),rbd=e=>e instanceof URL?(0,G3c.fileURLToPath)(e):e});var H3c,K3c=h(()=>{"use strict";H3c=ye(require("fs"),1)});async function obd(e,t={}){let r=q$e.default.resolve(nbd(t.cwd)||""),{root:n}=q$e.default.parse(r),i=q$e.default.resolve(r,t.stopAt||n),o=t.limit||Number.POSITIVE_INFINITY,s=[e].flat(),a=async u=>{if(typeof e!="function")return Jyo(s,u);let l=await e(u.cwd);return typeof l=="string"?Jyo([l],u):l},c=[];for(;;){let u=await a({...t,cwd:r});if(u===ibd||(u&&c.push(q$e.default.resolve(r,u)),r===i||c.length>=o))break;r=q$e.default.dirname(r)}return c}async function xd(e,t={}){return(await obd(e,{...t,limit:1}))[0]}var q$e,J3c,nbd,ibd,f1=h(()=>{"use strict";q$e=ye(require("path"),1),J3c=require("url");W3c();K3c();nbd=e=>e instanceof URL?(0,J3c.fileURLToPath)(e):e,ibd=Symbol("findUpStop")});async function xh(e){let t=await xd(e??p0,{type:"directory"});if(t==null)return;let r=Lt.of(t);if(await rr(We(r,we.of(hE))))return r}var Y3c=h(()=>{"use strict";Va();Xt();f1()});var Qo=h(()=>{"use strict";Va();kAc();GAc();wDc();PDc();$kr();z3c();Y3c()});function Lzt({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:sw.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return D2e(e.auth,{single:n=>{let i=e4c({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:sw.All,schemes:[i]}},any:({any:n})=>({docs:r,requirement:sw.Any,schemes:n.map(i=>e4c({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))}),endpointSecurity:()=>({docs:r,requirement:sw.EndpointSecurity,schemes:[]})})}function e4c({reference:e,authSchemeDeclarations:t,casingsGenerator:r}){let n=(o,s)=>{let a=t?.[o];if(a==null)throw new Error("Unknown auth scheme: "+o);let c=s??(typeof a=="object"?a.docs:void 0);return R2e(a,{header:u=>Gp.header({key:o,docs:c,name:r.generateNameAndWireValue({name:u.name??o,wireValue:u.header}),valueType:Ur.primitive({v1:rs.String,v2:ei.string({default:void 0,validation:void 0})}),prefix:u.prefix,headerEnvVar:u.env,headerPlaceholder:u.placeholder}),basic:u=>t4c({key:o,casingsGenerator:r,docs:c,rawScheme:u}),tokenBearer:u=>Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:u}),inferredBearer(u){return Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:void 0})},oauth:u=>Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:void 0})})},i=typeof e=="string"?e:e.scheme;switch(i){case"bearer":case"oauth":return Ojr({key:i,casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return t4c({key:i,casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return n(i,typeof e!="string"?e.docs:void 0)}}function Ojr({key:e,casingsGenerator:t,docs:r,rawScheme:n}){return Gp.bearer({key:e,docs:r,token:t.generateName(n?.token?.name??"token"),tokenEnvVar:n?.token?.env,tokenPlaceholder:n?.token?.placeholder})}function t4c({key:e,casingsGenerator:t,docs:r,rawScheme:n}){return Gp.basic({key:e,docs:r,username:t.generateName(n?.username?.name??"username"),usernameEnvVar:n?.username?.env,usernameOmit:n?.username?.omit,usernamePlaceholder:n?.username?.placeholder,password:t.generateName(n?.password?.name??"password"),passwordEnvVar:n?.password?.env,passwordOmit:n?.password?.omit,passwordPlaceholder:n?.password?.placeholder})}var r4c=h(()=>{"use strict";No();Ln()});function b0(e){let t=abd(e),{value:r,done:n}=Xyo(t,"{");return n?{head:r,parts:[]}:{head:r,parts:[...sbd(t)]}}function*sbd(e){let t;do{let{value:r}=Xyo(e,"}"),n=Xyo(e,"{");t=n.done,yield{pathParameter:r,tail:n.value}}while(!t)}function*abd(e){for(let t of e)yield t}function Xyo(e,t){let r="",n=e.next();for(;n.done!==!0&&n.value!==t;)r+=n.value,n=e.next();return{value:r,done:n.done??!1}}var n4c=h(()=>{"use strict"});function Uzt({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let n=Object.values(t)[0];if(n!=null)return{environmentsConfig:{defaultEnvironment:e??void 0,environments:CY(n,{singleBaseUrl:()=>o0.singleBaseUrl(cbd({environments:t,casingsGenerator:r})),multipleBaseUrls:i=>o0.multipleBaseUrls(ubd({baseUrls:Object.keys(i.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([i,o])=>[i,CY(o,{singleBaseUrl:s=>[...typeof s=="string"?[]:s.audiences??[]],multipleBaseUrls:s=>[...s.audiences??[]]})]))}}}function cbd({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,n])=>CY(n,{singleBaseUrl:i=>{let o=typeof i=="string",s=o?void 0:i["default-url"],a=o?void 0:i["url-template"],c=o?void 0:i.variables;return{docs:o?void 0:i.docs,id:r,name:t.generateName(r),url:Bjr(o?i:i.url),audiences:o?void 0:i.audiences,defaultUrl:s?Bjr(s):void 0,urlTemplate:a,urlVariables:c?.map(u=>({id:u.id,name:t.generateName(u.id),default:u.default,values:u.values}))}},multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function ubd({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(n=>({id:n,name:r.generateName(n)})),environments:Object.entries(t).map(([n,i])=>CY(i,{multipleBaseUrls:o=>{let s=o["url-templates"],a=o["default-urls"],c=o.variables,u=s&&Object.keys(s).length>0?s:void 0,l=a&&Object.keys(a).length>0?rp(a,d=>Bjr(d)):void 0,p=c&&Object.keys(c).length>0?Object.fromEntries(Object.entries(c).map(([d,f])=>[d,f.map(m=>({id:m.id,name:r.generateName(m.id),default:m.default,values:m.values}))])):void 0;return{docs:o.docs,id:n,name:r.generateName(n),urls:rp(o.urls,d=>Bjr(d)),audiences:o.audiences,defaultUrls:l,urlTemplates:u,urlVariables:p}},singleBaseUrl:()=>{throw new Error(`Environment ${n} does not have multiple base URLs`)}}))}}function Bjr(e){return e.endsWith("/")?e.slice(0,-1):e}var i4c=h(()=>{"use strict";No();Ln();_i()});function SEe(e){let t=2166136261;function r(o){t^=o,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t>>>=0}function n(o){for(let s=0,a=o.length;s<a;s++)r(o.charCodeAt(s))}function i(o,s){if(typeof o=="object"&&o!=null){if(s>64){n("[MaxDepthExceeded]");return}if(Array.isArray(o)){r(91);for(let a=0;a<o.length;a++)a>0&&r(44),i(o[a],s+1);r(93)}else{r(123);let a=Object.keys(o).sort(),c=a.length;for(let u=0;u<c;u++)u>0&&r(44),n(a[u]??""),r(58),i(o[a[u]??""],s+1);r(125)}}else n(String(o))}return i(e,0),t.toString(16)}var Pjr=h(()=>{"use strict"});function x$({typeReference:e,typeDeclarations:t}){if(e.type==="container"&&e.container.type==="optional")return!0;if(e.type==="named"){let r=t?.[e.typeId];if(r?.shape.type==="alias"&&r?.shape.resolvedType.type==="container"&&r?.shape.resolvedType.container.type==="optional")return!0}return!1}var Vzt=h(()=>{"use strict"});var o4c,Zyo=h(()=>{"use strict";Va();_i();o4c={[Nn.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,ku(e)])),[Nn.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[Nn.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[Nn.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all","kwargs"]),[Nn.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","internal","map","package","range","return","select","struct","switch","type","var","vendor","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[Nn.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime","object_id","hash","eql?","equal?","method","send","respond_to?","respond_to_missing?","instance_of?","kind_of?","is_a?","extend","singleton_class","instance_variables","instance_variable_get","instance_variable_set","instance_variable_defined?","remove_instance_variable","public_methods","private_methods","protected_methods","singleton_methods"]),[Nn.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[Nn.GenerationLanguage.RUST]:new Set(["as","async","await","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","union","unsafe","use","where","while","abstract","become","box","do","final","macro","override","priv","try","typeof","unsized","virtual","yield","bool","char","f32","f64","i8","i16","i32","i64","i128","isize","str","u8","u16","u32","u64","u128","usize","String","Vec","Option","Result","Box","Rc","Arc","Cell","RefCell","HashMap","HashSet","BTreeMap","BTreeSet"]),[Nn.GenerationLanguage.SWIFT]:new Set([])}});function W$e(e,t,r){let{generationLanguage:n,keywords:i,smartCasing:o}=r,s=bbd(e),a=A=>({unsafeName:A,safeName:pbd({name:A,keywords:fbd({generationLanguage:n,keywords:i})})}),c=t.preserveUnderscores===!0,u=c?(A,y)=>$yo(A,y):(A,y)=>y(A),l=u(s,$n),p=c?$yo(s,A=>ku($n(A))):ku(l),d=u(s,Gke),{leading:f,trailing:m}=c?s4c(s):{leading:"",trailing:""},g=vBt(l);if(o){!hbd(g)&&(n==null||lbd.includes(n))&&(l=f+g.map((y,E)=>{if(E>0){let v=Djr(y);if(v!=null)return v;if(Rjr(y))return y.toUpperCase()}return y}).join("")+m,p=ku(f+g.map((y,E)=>{let v=Djr(y);return v??(Rjr(y)?y.toUpperCase():E===0?ku(y):y)}).join("")+m));let A=y=>y.split(" ").map(E=>E.split(/(\d+)/).map(Gke).join("")).join("_");d=c?$yo(s,A):A(s)}return{originalName:e,camelCase:a(t.casingOverrides?.camel??l),snakeCase:a(t.casingOverrides?.snake??d),screamingSnakeCase:a(t.casingOverrides?.["screaming-snake"]??d.toUpperCase()),pascalCase:a(t.casingOverrides?.pascal??p)}}function Cw({generationLanguage:e,keywords:t,smartCasing:r}){let n={generationLanguage:e,keywords:t,smartCasing:r};return{generateName:(i,o)=>o?.casingOverrides!=null?W$e(i,o,n):i,generateNameAndWireValue:({name:i,wireValue:o,opts:s})=>s?.casingOverrides!=null?{wireValue:o,name:W$e(i,s,n)}:o===i?o:{wireValue:o,name:i}}}function TEe({generationLanguage:e,keywords:t,smartCasing:r}){let n={generationLanguage:e,keywords:t,smartCasing:r};return{generateName:(i,o)=>{if(typeof i=="string")return W$e(i,o??{},n);if("wireValue"in i){let s=i.name;return typeof s=="string"?W$e(s,o??{},n):s}return i},generateNameAndWireValue:(i,o)=>{if(typeof i=="string")return{wireValue:i,name:W$e(i,o??{},n)};let{name:s,wireValue:a}=i,c=typeof s=="string"?W$e(s,o??{},n):s;return{wireValue:a,name:c}}}}function pbd({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":mbd(e)?"_"+e:e}function fbd({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return o4c[e]}function mbd(e){return dbd.test(e)}function hbd(e){return e.some((t,r)=>{if(r===0)return!1;let n=e[r-1];if(n==null)return!1;let i=Djr(n)!=null||Rjr(n),o=Djr(t)!=null||Rjr(t);return i&&o})}function Djr(e){return Abd.get(e.toUpperCase())}function Rjr(e){return gbd.has(e.toUpperCase())}function bbd(e){return ybd.reduce((t,[r,n])=>t.replace(r,n),e)}function s4c(e){let t=e.match(/^(_+)/),r=e.match(/(_+)$/),n=t?.[1]??"",i=r?.[1]??"";if(n.length+i.length>=e.length)return{leading:e,trailing:"",core:""};let o=e.slice(n.length,e.length-i.length||void 0);return{leading:n,trailing:i,core:o}}function $yo(e,t){let{leading:r,trailing:n,core:i}=s4c(e);return r===""&&n===""?t(e):`${r}${t(i)}${n}`}var lbd,dbd,gbd,Abd,ybd,a4c=h(()=>{"use strict";_i();Zyo();lbd=["go","ruby"];dbd=/^[0-9]/;gbd=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),Abd=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]),ybd=[[/\[\]/g,"Array"]]});var UV=h(()=>{"use strict";a4c();Zyo()});function Ebd(e){return"wireValue"in e&&!("originalName"in e)}function Fjr(e){return typeof e=="string"?e:Ebd(e)?e.name:e}function Mr(e){let t=Fjr(e);return typeof t=="string"?t:t.originalName}function tr(e){return typeof e=="string"?e:e.wireValue}function kjr(e){return typeof e=="string"?e:e.name}function tbo(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).snakeCase.unsafeName:t.snakeCase.unsafeName}function rbo(){return ebo==null&&(ebo=TEe({generationLanguage:void 0,keywords:void 0,smartCasing:!0})),ebo}function nbo(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).camelCase.unsafeName:t.camelCase.unsafeName}function _zt(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).pascalCase.unsafeName:t.pascalCase.unsafeName}var ebo,aB=h(()=>{"use strict";UV()});function c4c({fieldName:e,containerType:t,maxDepth:r,currentDepth:n,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s}){if(n>=r)return uW({containerType:t});switch(t.type){case"list":{let a=em({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.list({list:[a.example,a.example],itemType:t.list}),jsonExample:[a.jsonExample,a.jsonExample]}}case"literal":return{type:"success",example:Qu.literal({literal:t.literal._visit({boolean:a=>Si.boolean(a),string:a=>Si.string({original:a}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:t.literal._visit({boolean:a=>a,string:a=>a,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":{if(o)return uW({containerType:t});let a=em({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.optional({optional:a.example,valueType:t.optional}),jsonExample:a.jsonExample}}case"nullable":{if(o)return uW({containerType:t});let a=em({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.nullable({nullable:a.example,valueType:t.nullable}),jsonExample:a.jsonExample}}case"set":{let a=em({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.set({set:[a.example],itemType:t.set}),jsonExample:[a.jsonExample]}}case"map":{let a=em({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s}),c=em({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"||c.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.map({map:[{key:a.example,value:c.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[a.jsonExample]:c.jsonExample}}}default:Ee(t)}}function uW({containerType:e}){switch(e.type){case"list":return{type:"success",example:Qu.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:Qu.literal({literal:e.literal._visit({boolean:t=>Si.boolean(t),string:t=>Si.string({original:t}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:e.literal._visit({boolean:t=>t,string:t=>t,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":return{type:"success",example:Qu.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:Qu.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:Qu.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:Qu.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Ee(e)}}var u4c=h(()=>{"use strict";Rt();Ln();H$e()});function ibo({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return wbd({fieldName:e,default_:Ibd(t.v2),validation:vbd(t.v2)});case"BASE_64":return{type:"success",example:Si.base64(Di.BASE64),jsonExample:Di.BASE64};case"BOOLEAN":return{type:"success",example:Si.boolean(Di.BOOLEAN),jsonExample:Di.BOOLEAN};case"DATE":return{type:"success",example:Si.date(Di.DATE),jsonExample:Di.DATE};case"DATE_TIME":return{type:"success",example:Si.datetime({datetime:new Date(Di.DATE_TIME),raw:Di.DATE_TIME}),jsonExample:Di.DATE_TIME};case"DOUBLE":return Sbd({fieldName:e,validation:xbd(t.v2)});case"FLOAT":return{type:"success",example:Si.float(Di.FLOAT),jsonExample:Di.FLOAT};case"INTEGER":return Tbd({fieldName:e,validation:Cbd(t.v2)});case"UINT_64":return{type:"success",example:Si.uint64(Di.INT64),jsonExample:Di.INT64};case"UINT":return{type:"success",example:Si.uint(Di.UINT),jsonExample:Di.UINT};case"BIG_INTEGER":return{type:"success",example:Si.bigInteger(Di.INT64.toString()),jsonExample:`${Di.INT64}`};case"LONG":return{type:"success",example:Si.long(Di.INT64),jsonExample:Di.INT64};case"UUID":return{type:"success",example:Si.uuid(Di.UUID),jsonExample:Di.UUID};case"DATE_TIME_RFC_2822":return{type:"success",example:Si.datetimeRfc2822({datetime:new Date(Di.DATE_TIME_RFC_2822),raw:Di.DATE_TIME_RFC_2822}),jsonExample:Di.DATE_TIME_RFC_2822};default:Ee(t.v1)}}function Ibd(e){if(e?.type==="string")return e.default}function vbd(e){if(e?.type==="string")return e.validation}function xbd(e){if(e?.type==="double")return e.validation}function Cbd(e){if(e?.type==="integer")return e.validation}function l4c(e){if(e<=0)return"";if(e<=Di.SAMPLE_STRINGS.length){let t=Di.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Di.SAMPLE_STRINGS[Di.SAMPLE_STRINGS.length-1]+".".repeat(e-Di.SAMPLE_STRINGS.length)}function wbd({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:Si.string({original:t}),jsonExample:t};if(r){let i=r.minLength,o=r.maxLength;if(i){let s=l4c(i);return{type:"success",example:Si.string({original:s}),jsonExample:s}}else if(o!=null&&o<10){let s=l4c(o);return{type:"success",example:Si.string({original:s}),jsonExample:s}}}let n=e??Di.STRING;return{type:"success",example:Si.string({original:n}),jsonExample:n}}function Sbd({fieldName:e,validation:t}){if(t){let r=t.max,n=t.min;if(r)return{type:"success",example:Si.double(r),jsonExample:r};if(n)return{type:"success",example:Si.double(n),jsonExample:n}}return{type:"success",example:Si.double(Di.DOUBLE),jsonExample:Di.DOUBLE}}function Tbd({fieldName:e,validation:t}){if(t){let r=t.max,n=t.min;if(r)return{type:"success",example:Si.integer(r),jsonExample:r};if(n)return{type:"success",example:Si.integer(n),jsonExample:n}}return{type:"success",example:Si.integer(Di.INT),jsonExample:Di.INT}}var p4c=h(()=>{"use strict";Rt();Ln()});function Obd(e,t){if(e.type==="primitive"||e.type==="container"&&e.container.type==="literal")return!0;if(e.type==="named"){let r=t[e.typeId];if(r!=null&&r.shape.type==="enum")return!0}return!1}function Uze({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s}){switch(r.shape.type){case"alias":{let a=em({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s});if(a.type==="failure")return a;let{example:c,jsonExample:u}=a;return{type:"success",example:Su.alias({value:c}),jsonExample:u}}case"enum":{let a=r.shape.values[0];return a==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Su.enum({value:a.name}),jsonExample:tr(a.name)}}case"object":{let a={},c=[];if((r.shape.extendedProperties==null||r.shape.extendedProperties.length===0)&&r.shape.extends!=null)for(let d of r.shape.extends){let f=t[d.typeId];if(f==null)continue;let m=Uze({fieldName:e,typeDeclaration:f,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});m!=null&&m.type==="success"&&m.example.type==="object"&&(Object.assign(a,m.jsonExample),c.push(...m.example.properties))}let u=Bbd({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:i,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(u.type==="failure")return u;let{example:l,jsonExample:p}=u;return{type:"success",example:Su.object({properties:[...c,...l.properties],extraProperties:l.extraProperties}),jsonExample:Object.assign({},a,p)}}case"undiscriminatedUnion":{let a=r.shape.members;if(a.every(l=>Obd(l.type,t))){let l=a.findIndex(p=>{if(p.type.type==="container"&&p.type.container.type==="literal")return!0;if(p.type.type==="named"){let d=t[p.type.typeId];if(d!=null&&d.shape.type==="enum")return d.shape.values.length>0}return!1});if(l!==-1){let p=a[l];if(p!=null){let d=em({fieldName:e,typeReference:p.type,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(d.type==="success"){let{example:f,jsonExample:m}=d;return{type:"success",example:Su.undiscriminatedUnion({index:l,singleUnionType:f}),jsonExample:m}}}}}let u=0;for(let l of a){let p=em({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(p.type==="failure"){++u;continue}let{example:d,jsonExample:f}=p;return{type:"success",example:Su.undiscriminatedUnion({index:u,singleUnionType:d}),jsonExample:f}}break}case"union":{let a=r.shape.discriminant,c={};if(r.shape.baseProperties!=null)for(let p of r.shape.baseProperties){let d=em({fieldName:tr(p.name),typeReference:p.valueType,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});d.type==="success"&&(c[tr(p.name)]=d.jsonExample)}let u=r.shape.baseProperties.map(p=>{let d=em({fieldName:tr(p.name),typeReference:p.valueType,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(d.type==="failure")throw new Error(`Failed to generate example for union base property ${tr(p.name)}`);let{example:f}=d;return{name:p.name,value:f}}),l=r.shape.extends.flatMap(p=>{let d=t[p.typeId];if(d==null)throw new Error(`Failed to find extended type declaration with id ${p.typeId}`);let f=Uze({fieldName:e,typeDeclaration:d,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(f==null||f.type==="failure")throw new Error(`Failed to generate example for extended type declaration ${d.name.typeId}`);if(f.example.type!=="object")throw new Error(`Extended type declaration ${d.name.typeId} is not an object`);return f.example.properties});for(let p of r.shape.types){let d=p.shape._visit({noProperties:()=>({type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.noProperties()},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),...c}}),samePropertiesAsObject:f=>{let m=t[f.typeId];if(m==null)return{type:"failure",message:`Failed to find type declaration with id ${f.typeId}`};let g=Uze({currentDepth:i,maxDepth:n,fieldName:e,typeDeclaration:m,typeDeclarations:t,skipOptionalProperties:o,visitedTypes:s});if(g==null)return{type:"failure",message:"Failed to generate example for type reference"};if(g.type==="failure")return g;let{example:A,jsonExample:y}=g;return{type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeId:m.name.typeId,object:A.type==="object"?A:{properties:[],extraProperties:void 0}})},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),...typeof y=="object"?y:{},...c}}},singleProperty:f=>{let m=em({currentDepth:i+1,maxDepth:n,fieldName:e,typeReference:f.type,typeDeclarations:t,skipOptionalProperties:o,visitedTypes:s});if(m.type==="failure")return m;let{example:g,jsonExample:A}=m;return{type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.singleProperty(g)},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),[tr(f.name)]:A,...c}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(d.type!=="failure")return d}}}return{type:"failure",message:"Failed to generate example for type reference"}}function Bbd({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:n,maxDepth:i,currentDepth:o,skipOptionalProperties:s,visitedTypes:a}){let c={},u=[];for(let l of[...r.properties??[],...r.extendedProperties??[]]){let p=em({fieldName:tr(l.name),typeReference:l.valueType,typeDeclarations:n,currentDepth:o+1,maxDepth:i,skipOptionalProperties:s,visitedTypes:a});if(p.type==="failure"&&!x$({typeDeclarations:n,typeReference:l.valueType}))return{type:"failure",message:`Failed to generate required property ${tr(l.name)} b/c ${p.message}`};if(p.type==="failure")continue;let{example:d,jsonExample:f}=p;u.push({name:l.name,originalTypeDeclaration:t.name,value:d,propertyAccess:l.propertyAccess}),c[tr(l.name)]=f}return{type:"success",example:Su.object({properties:u,extraProperties:void 0}),jsonExample:c}}var obo=h(()=>{"use strict";Ln();Vzt();aB();H$e()});function em({fieldName:e,typeReference:t,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s}){if(i>n)return{type:"failure",message:`Exceeded max depth of ${n}`};switch(t.type){case"named":{let a=r[t.typeId];if(a==null)return{type:"failure",message:`Failed to find type declaration with id ${t.typeId}`};let c=s??new Map,u=c.get(t.typeId)??0;if(u>=2){let m=new Set([t.typeId]);return abo({typeDeclaration:a,typeDeclarations:r,visitedMinimalTypes:m})}c.set(t.typeId,u+1);let l=Uze({fieldName:e,typeDeclaration:a,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:c}),p=(c.get(t.typeId)??1)-1;if(p<=0?c.delete(t.typeId):c.set(t.typeId,p),l==null)return{type:"failure",message:"Failed to generate example for type declaration"};if(l.type==="failure")return l;let{example:d,jsonExample:f}=l;return{type:"success",example:{jsonExample:f,shape:Zi.named({shape:d,typeName:a.name})},jsonExample:f}}case"container":{let a=c4c({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s});if(a.type==="failure"){let{example:l,jsonExample:p}=uW({containerType:t.container});return{type:"success",example:{jsonExample:p,shape:Zi.container(l)},jsonExample:p}}let{example:c,jsonExample:u}=a;return{type:"success",example:{jsonExample:u,shape:Zi.container(c)},jsonExample:u}}case"primitive":{let{jsonExample:a,example:c}=ibo({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:a,shape:Zi.primitive(c)},jsonExample:a}}case"unknown":{let a={key:"value"};return{type:"success",example:{jsonExample:a,shape:Zi.unknown(a)},jsonExample:a}}}}function sbo(e,t){switch(e.type){case"primitive":case"unknown":return!0;case"named":return t[e.typeId]?.shape.type==="enum";case"container":switch(e.container.type){case"literal":return!0;case"optional":return sbo(e.container.optional,t);case"nullable":return sbo(e.container.nullable,t);default:return!1}}}function abo({typeDeclaration:e,typeDeclarations:t,visitedMinimalTypes:r}){let n=r??new Set;switch(n.add(e.name.typeId),e.shape.type){case"object":{let i={},o=[];for(let a of[...e.shape.properties??[],...e.shape.extendedProperties??[]])if(sbo(a.valueType,t)){let c=em({fieldName:tr(a.name),typeReference:a.valueType,typeDeclarations:t,currentDepth:0,maxDepth:3,skipOptionalProperties:!0});if(c.type==="failure")continue;o.push({name:a.name,originalTypeDeclaration:e.name,value:c.example,propertyAccess:a.propertyAccess}),i[tr(a.name)]=c.jsonExample}else if(a.valueType.type==="named"&&!n.has(a.valueType.typeId)){let c=t[a.valueType.typeId];if(c!=null){let u=abo({typeDeclaration:c,typeDeclarations:t,visitedMinimalTypes:n});u.type==="success"&&(o.push({name:a.name,originalTypeDeclaration:e.name,value:u.example,propertyAccess:a.propertyAccess}),i[tr(a.name)]=u.jsonExample)}}else if(a.valueType.type==="container"){let{example:c,jsonExample:u}=uW({containerType:a.valueType.container});o.push({name:a.name,originalTypeDeclaration:e.name,value:{jsonExample:u,shape:Zi.container(c)},propertyAccess:a.propertyAccess}),i[tr(a.name)]=u}let s=Su.object({properties:o,extraProperties:void 0});return{type:"success",example:{jsonExample:i,shape:Zi.named({shape:s,typeName:e.name})},jsonExample:i}}case"enum":{let i=e.shape.values[0];if(i==null)return{type:"failure",message:"No enum values present for recursive type stub"};let o=tr(i.name),s=Su.enum({value:i.name});return{type:"success",example:{jsonExample:o,shape:Zi.named({shape:s,typeName:e.name})},jsonExample:o}}case"alias":{let i=e.shape.aliasOf;if(i.type==="primitive"){let{jsonExample:s,example:a}=ibo({fieldName:void 0,primitiveType:i.primitive});return{type:"success",example:{jsonExample:s,shape:Zi.named({shape:Su.alias({value:{jsonExample:s,shape:Zi.primitive(a)}}),typeName:e.name})},jsonExample:s}}if(i.type==="named"){let s=t[i.typeId];if(s!=null&&s.name.typeId!==e.name.typeId)return abo({typeDeclaration:s,typeDeclarations:t,visitedMinimalTypes:n})}let o={};return{type:"success",example:{jsonExample:o,shape:Zi.named({shape:Su.alias({value:{jsonExample:o,shape:Zi.unknown(o)}}),typeName:e.name})},jsonExample:o}}case"union":{let i=e.shape.discriminant;for(let o of e.shape.types)if(o.shape._visit({noProperties:()=>!0,samePropertiesAsObject:()=>!1,singleProperty:()=>!1,_other:()=>!1})){let a={[tr(i)]:tr(o.discriminantValue)};return{type:"success",example:{jsonExample:a,shape:Zi.named({shape:Su.union({discriminant:i,singleUnionType:{wireDiscriminantValue:o.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.noProperties()},baseProperties:[],extendProperties:[]}),typeName:e.name})},jsonExample:a}}return{type:"failure",message:`No simple variant available for recursive union ${e.name.typeId}`}}case"undiscriminatedUnion":return{type:"failure",message:`Cannot generate stub for recursive undiscriminated union ${e.name.typeId}`}}}var H$e=h(()=>{"use strict";Ln();aB();u4c();p4c();obo()});function Vze(e,t){let r=[];for(let n of e){let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;let o=i.example.jsonExample;if(typeof o!="string"&&typeof o!="number"&&typeof o!="boolean"){let s=Mr(n.name);r.push({name:n.name,value:{jsonExample:s,shape:Zi.primitive(Si.string({original:s}))}})}else r.push({name:n.name,value:i.example})}return{type:"success",example:r,jsonExample:void 0}}function K$e(e,t){let r=[];for(let n of e){if(t.skipOptionalRequestProperties&&x$({typeDeclarations:t.typeDeclarations,typeReference:n.valueType}))continue;let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;r.push({name:n.name,value:i.example})}return{type:"success",example:r,jsonExample:void 0}}function Njr(e,t){let r=[];for(let n of e){if(t.skipOptionalRequestProperties&&x$({typeDeclarations:t.typeDeclarations,typeReference:n.valueType}))continue;let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??10,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;r.push({name:n.name,shape:n.allowMultiple?aw.exploded():aw.single(),value:i.example})}return{type:"success",example:r,jsonExample:void 0}}var cbo=h(()=>{"use strict";Ln();Vzt();aB();H$e()});function J$e({ir:e,endpoint:t,service:r,typeDeclarations:n,skipOptionalRequestProperties:i,generationResponse:o}){let s={name:void 0,endpointHeaders:[],endpointPathParameters:[],queryParameters:[],servicePathParameters:[],serviceHeaders:[],rootPathParameters:[],request:void 0,response:Eg.ok(CA.body(void 0)),docs:void 0},a=Vze(t.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;s.endpointPathParameters=a.example;let c=Vze(r.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(c.type==="failure")return c;s.servicePathParameters=c.example;let u=Vze(e.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;s.rootPathParameters=u.example;let l=Njr(t.queryParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;s.queryParameters=l.example;let p=K$e(t.headers,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(p.type==="failure")return p;s.endpointHeaders=p.example;let d=K$e(r.headers,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(d.type==="failure")return d;if(s.serviceHeaders=d.example,t.requestBody!=null)switch(t.requestBody.type){case"bytes":return{type:"failure",message:"Bytes request unsupported"};case"fileUpload":return{type:"failure",message:"File upload unsupported"};case"inlinedRequestBody":{let f={},m=[];if(t.requestBody.extends!=null)for(let g of t.requestBody.extends){let A=n[g.typeId];if(A==null)throw new Error(`Failed to find extended type declaration with id ${g.typeId}`);let y=Uze({typeDeclaration:A,typeDeclarations:n,currentDepth:1,maxDepth:10,skipOptionalProperties:i});y!=null&&y.type==="success"&&Object.assign(f,y.jsonExample)}for(let g of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let A=em({fieldName:tr(g.name),typeReference:g.valueType,typeDeclarations:n,currentDepth:1,maxDepth:10,skipOptionalProperties:i});if(A.type==="failure"&&!x$({typeDeclarations:n,typeReference:g.valueType}))return{type:"failure",message:`Failed to generate required property ${tr(g.name)} b/c ${A.message}`};if(A.type==="failure")continue;let{example:y,jsonExample:E}=A;m.push({name:g.name,originalTypeDeclaration:void 0,value:y}),f[tr(g.name)]=E}s.request=PP.inlinedRequestBody({jsonExample:f,properties:m,extraProperties:void 0});break}case"reference":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:i});if(f.type==="failure")return f;let{example:m}=f;s.request=PP.reference(m);break}default:Ee(t.requestBody)}if(o.type==="success"&&t.response?.body!=null)switch(t.response.body.type){case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"streamParameter":{let f;switch(t.response.body.nonStreamResponse.type){case"bytes":return{type:"failure",message:"Bytes unsupported"};case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1});break;default:Ee(t.response.body.nonStreamResponse)}if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"streaming":{let f;switch(t.response.body.value.type){case"sse":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f,A=t.response.body.value.payload,y="";if(A.type==="named"){let E=n[A.typeId];if(E?.shape.type==="union"&&E.shape.discriminatorContext===Zce.Protocol){let v=E.shape.types[0];v!=null&&(y=tr(v.discriminantValue))}}s.response=Eg.ok(CA.sse([{data:{...m,jsonExample:g},event:y}]));break}case"json":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.stream([{...m,jsonExample:g}]));break}case"text":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.stream([{...m,jsonExample:g}]));break}default:Ee(t.response.body.value)}break}case"text":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1});if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Ee(t.response.body)}else if(o.type==="error")if(o.declaration.type==null)s.response=Eg.error({body:void 0,error:o.declaration.name});else{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:o.declaration.type,skipOptionalProperties:i});if(f.type==="failure")return f;let{example:m}=f;s.response=Eg.error({body:m,error:o.declaration.name})}try{return{type:"success",example:{id:SEe(s),url:Pbd(t,s),...s},jsonExample:void 0}}catch(f){return{type:"failure",message:`Parse failure with exceptions ${f}`}}}function Pbd(e,t){let r={};[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters].forEach(i=>{let o=i.value.jsonExample,s=typeof o=="string"?o:JSON.stringify(o);r[Mr(i.name)]=s});let n=e.fullPath.head+e.fullPath.parts.map(i=>encodeURIComponent(`${r[i.pathParameter]}`)+i.tail).join("");return n.startsWith("/")||n===""?n:`/${n}`}var ubo,lbo=h(()=>{"use strict";Rt();Ln();Pjr();Vzt();aB();cbo();obo();H$e();ubo=Ur.primitive({v1:rs.String,v2:ei.string({default:void 0,validation:void 0})})});function pbo({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:n}){let i={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},o=Vze(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(o.type==="failure")return o;i.pathParameters.push(...o.example);let s=Vze(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;i.pathParameters.push(...s.example);let a=Njr(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:10});if(a.type==="failure")return a;i.queryParameters=a.example;let c=K$e(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;i.headers.push(...c.example);let u=K$e(e.headers,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(u.type==="failure")return u;i.headers.push(...u.example);let p=t.messages.filter(m=>m.origin==="client")[0];if(p!=null){let m=f4c({message:p,typeDeclarations:r,skipOptionalRequestProperties:n});m!=null&&i.messages.push({type:p.type,body:m})}let f=t.messages.filter(m=>m.origin==="server")[0];if(f!=null){let m=f4c({message:f,typeDeclarations:r,skipOptionalRequestProperties:n});m!=null&&i.messages.push({type:f.type,body:m})}return{type:"success",example:{...i,url:Dbd(t,i)},jsonExample:void 0}}function f4c({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let n=em({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(n.type==="success")return K6.reference(n.example)}function Dbd(e,t){let r={};[...t.pathParameters].forEach(i=>{let o=i.value.jsonExample,s=typeof o=="string"?o:JSON.stringify(o);r[Mr(i.name)]=s});let n=e.path.head+e.path.parts.map(i=>encodeURIComponent(`${r[i.pathParameter]}`)+i.tail).join("");return n.startsWith("/")||n===""?n:`/${n}`}var d4c=h(()=>{"use strict";Ln();aB();cbo();H$e()});function Y$e(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},n=Object.values(t)[0],i=Object.values(r)[0];return{userExample:n,autoExample:i}}function OEe(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}var jjr=h(()=>{"use strict"});function m4c({ir:e,endpoint:t,skipOptionalRequestProperties:r}){let n=e.types,i={pathParameters:{},queryParameters:{},headers:{}};for(let s of t.pathParameters){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);a!==void 0?i.pathParameters[Mr(s.name)]=a:c!==void 0&&(i.pathParameters[Mr(s.name)]=c)}for(let s of t.queryParameters){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);if(a!==void 0)i.queryParameters[Mr(s.name)]=a;else if(c!==void 0){if(r&&x$({typeReference:s.valueType,typeDeclarations:n}))continue;i.queryParameters[Mr(s.name)]=c}}let o=[...t.headers,...e.headers,...e.idempotencyHeaders];for(let s of o){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);if(a!==void 0)i.headers[tr(s.name)]=a;else if(c!==void 0){if(r&&x$({typeReference:s.valueType,typeDeclarations:n}))continue;i.headers[tr(s.name)]=c}}return i}var h4c=h(()=>{"use strict";Vzt();aB();jjr()});function g4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}){let{pathParameters:n,queryParameters:i,headers:o}=m4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}),s={},a={},c={endpoint:{method:e.method,path:Rbd(e)},baseUrl:void 0,environment:e.baseUrl,auth:void 0,pathParameters:n,queryParameters:i,headers:o,requestBody:void 0,docs:void 0};if(e.requestBody!=null)switch(e.requestBody.type){case"bytes":break;case"fileUpload":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}case"inlinedRequestBody":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}case"reference":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}default:Ee(e.requestBody)}return{userRequestExamples:s,autoRequestExamples:a,baseExample:c}}function Rbd(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(n=>{let{userExample:i,autoExample:o}=Y$e(n.v2Examples),s=i??o,a;s==null?a=Mr(n.name):a=typeof s=="string"?s:JSON.stringify(s),t[Mr(n.name)]=a});let r=e.fullPath.head+e.fullPath.parts.map(n=>encodeURIComponent(`${t[n.pathParameter]}`)+n.tail).join("");return r.startsWith("/")||r===""?r:`/${r}`}var A4c=h(()=>{"use strict";Rt();aB();h4c();jjr()});function Qjr({endpoint:e,responseObject:t}){let r=t!==void 0?t:e.response,n={},i={},o={statusCode:r?.statusCode,body:void 0,docs:void 0};if(r==null)return{userResponseExamples:{},autoResponseExamples:{},baseExample:o};if(r.body==null)return e.source?.type==="openrpc"?{userResponseExamples:{},autoResponseExamples:{},baseExample:{...o,body:Dx.json(Gzt(null))}}:{userResponseExamples:{},autoResponseExamples:{},baseExample:o};switch(r.body.type){case"bytes":break;case"fileDownload":break;case"text":{let s=r.body,{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a)){let p=e.source?.type==="openrpc"?Gzt(l):l;n[u]={...o,body:Dx.json(p)}}for(let[u,l]of Object.entries(c)){let p=e.source?.type==="openrpc"?Gzt(l):l;i[u]={...o,body:Dx.json(p)}}break}case"json":{let s=r.body.value;if(s.type==="response"){let{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a)){let p=e.source?.type==="openrpc"?Gzt(l):l;n[u]={...o,body:Dx.json(p)}}for(let[u,l]of Object.entries(c)){let p=e.source?.type==="openrpc"?Gzt(l):l;i[u]={...o,body:Dx.json(p)}}}break}case"streaming":{let s=r.body.value;if(s.type==="json"){let{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a))n[u]={...o,body:Dx.stream([l])};for(let[u,l]of Object.entries(c))i[u]={...o,body:Dx.stream([l])}}break}case"streamParameter":break;default:Ee(r.body)}return{userResponseExamples:n,autoResponseExamples:i,baseExample:o}}function Gzt(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}var y4c=h(()=>{"use strict";Rt();Ln();jjr()});function zjr({key:e,displayName:t,request:r,response:n,exampleStore:i,userOrAutoStore:o}){if(!i.has(e)){let s={displayName:t,contentType:void 0,request:r,response:n,codeSamples:void 0};return o[e]=s,Fbd({exampleStore:i,key:e,example:s}),!0}return!1}function b4c({endpoint:e,ir:t,skipOptionalRequestProperties:r,logger:n}){let i={},o={},s=new Map,{userRequestExamples:a,autoRequestExamples:c,baseExample:u}=g4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}),l=Object.keys(a)[0],p=Object.values(a)[0],d=Object.keys(c)[0],f=Object.values(c)[0],m=kbd({endpoint:e,userRequestExamples:a,baseRequestExample:u,firstUserRequestName:l,firstUserRequestExample:p,firstAutoRequestName:d,firstAutoRequestExample:f,userResults:i,autoResults:o,exampleStore:s,logger:n});if(Nbd({endpoint:e,userRequestExamples:a,requestExamplesUsed:m,userResults:i,exampleStore:s}),Object.keys(i).length===0&&Object.keys(o).length===0){let{baseExample:g}=Qjr({endpoint:e}),A=X$e(d??"base","base",void 0);zjr({key:A,displayName:d??"base",request:f??u,response:g,exampleStore:s,userOrAutoStore:o})}return{userFullExamples:i,autoFullExamples:o}}function kbd({endpoint:e,userRequestExamples:t,baseRequestExample:r,firstUserRequestName:n,firstUserRequestExample:i,firstAutoRequestName:o,firstAutoRequestExample:s,userResults:a,autoResults:c,exampleStore:u,logger:l}){let p=e.v2Responses?.responses??[e.response],d=new Set;for(let f of p){let m=!1,{userResponseExamples:g,autoResponseExamples:A,baseExample:y}=Qjr({endpoint:e,responseObject:f}),E=Object.keys(A)[0],v=Object.values(A)[0];for(let[I,C]of Object.entries(g)){let w,O;t[I]?(O=t[I],d.add(I),w=X$e(I,I,f?.statusCode)):s&&o?(O=s,w=X$e(o,I,f?.statusCode)):(Object.keys(t).length>0&&l?.warn(`Response example "${I}" on ${e.method.toUpperCase()} ${e.fullPath.head} has no matching request example with the same summary. Falling back to a base request with no body. To pair them, set the request and response example summary fields to the same value.`),O=r,w=X$e("base",I,f?.statusCode)),zjr({key:w,displayName:I,request:O,response:C,exampleStore:u,userOrAutoStore:a})&&(m=!0)}if(!m){let I=$n(`${Mr(e.name)}_example`);n&&i&&d.add(n);let C=X$e(n??o??"base",E??"base",f?.statusCode),w=i!=null?a:c;zjr({key:C,displayName:n??o??I,request:i??s??r,response:v??y,exampleStore:u,userOrAutoStore:w})&&(m=!0)}}return d}function Nbd({endpoint:e,userRequestExamples:t,requestExamplesUsed:r,userResults:n,exampleStore:i}){let{userResponseExamples:o,autoResponseExamples:s,baseExample:a}=Qjr({endpoint:e}),c=Object.values(o)[0],u=Object.keys(o)[0],l=Object.keys(s)[0],p=Object.values(s)[0],d=Object.entries(t).filter(([f])=>!r.has(f));for(let[f,m]of d){let g=X$e(f,u??l??"base",c?c.statusCode:p?p.statusCode:a.statusCode);zjr({key:g,displayName:f,request:m,response:c??p??a,exampleStore:i,userOrAutoStore:n})}}var X$e,Fbd,E4c=h(()=>{"use strict";_i();aB();A4c();y4c();X$e=(e,t,r)=>{let n;return e===t?n=`${e}`:n=`${e}_${t}`,r&&(n=`${n}_${r}`),n},Fbd=({exampleStore:e,key:t,example:r})=>e.has(t)?!1:(e.set(t,r),!0)});function qzt({ir:e,exampleGeneration:t}){let r={disabled:t.disabled,includeOptionalRequestPropertyExamples:t.includeOptionalRequestPropertyExamples??!1,skipAutogenerationIfManualExamplesExist:t.skipAutogenerationIfManualExamplesExist??!1,skipErrorAutogenerationIfManualErrorExamplesExist:t.skipErrorAutogenerationIfManualErrorExamplesExist??!1};for(let[n,i]of Object.entries(e.services))for(let o of i.endpoints){let s=[];if(o.userSpecifiedExamples.length===0||r.skipAutogenerationIfManualExamplesExist===!1){let a=J$e({ir:e,service:i,endpoint:o,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples,generationResponse:{type:"success"}});a.type==="success"&&s.push({example:a.example})}if(o.userSpecifiedExamples.filter(a=>a.example?.response.type==="error").length===0||r.skipErrorAutogenerationIfManualErrorExamplesExist===!1)for(let a of o.errors){let c=e.errors[a.error.errorId];if(!c)continue;let u=J$e({ir:e,service:i,endpoint:o,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples,generationResponse:{type:"error",declaration:c}});u.type==="success"&&s.push({example:u.example})}o.autogeneratedExamples=s}for(let[n,i]of Object.entries(e.websocketChannels??{})){if(i.examples.length>0&&r.skipAutogenerationIfManualExamplesExist===!0)continue;let o=pbo({ir:e,channel:i,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples});if(o.type==="failure")continue;let{example:s}=o;i.examples=[...i.examples,s]}return e}function fbo({ir:e,exampleGeneration:t,logger:r}){let n={disabled:t.disabled,includeOptionalRequestPropertyExamples:t.includeOptionalRequestPropertyExamples??!1,skipAutogenerationIfManualExamplesExist:t.skipAutogenerationIfManualExamplesExist??!1,skipErrorAutogenerationIfManualErrorExamplesExist:t.skipErrorAutogenerationIfManualErrorExamplesExist??!1};for(let[i,o]of Object.entries(e.services))for(let s of o.endpoints){s.v2Examples==null&&(s.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}});let{userFullExamples:a,autoFullExamples:c}=b4c({endpoint:s,ir:e,skipOptionalRequestProperties:!n.includeOptionalRequestPropertyExamples,logger:r});if(Object.keys(s.v2Examples.userSpecifiedExamples).length>0){if(Object.values(s.v2Examples.userSpecifiedExamples).some(l=>l.request!=null||l.response!=null))continue;let u=Object.values(s.v2Examples.userSpecifiedExamples).filter(l=>l!=null).flatMap(l=>l.codeSamples??[]);for(let[l,p]of Object.entries(c))c[l]={...p,codeSamples:u};for(let[l,p]of Object.entries(a))a[l]={...p,codeSamples:u}}s.v2Examples.autogeneratedExamples=c,s.v2Examples.userSpecifiedExamples=a}for(let[i,o]of Object.entries(e.websocketChannels??{})){if(o.examples.length>0&&n.skipAutogenerationIfManualExamplesExist===!0)continue;let s=pbo({ir:e,channel:o,typeDeclarations:e.types,skipOptionalRequestProperties:!n.includeOptionalRequestPropertyExamples});if(s.type==="failure")continue;let{example:a}=s;o.examples=[...o.examples,a]}return e}var I4c=h(()=>{"use strict";lbo();d4c();E4c()});function EL(e){return e.allParts.map(t=>Mr(t)).join("/")}var dbo=h(()=>{"use strict";aB()});var Bu,Z$e=h(()=>{"use strict";aB();dbo();Bu={generateTypeId:e=>`type_${EL(e.fernFilepath)}:${Mr(e.name)}`,generateErrorId:e=>`error_${EL(e.fernFilepath)}:${Mr(e.name)}`,generateServiceId:e=>`service_${EL(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${EL(e)}`,generateSubpackageId:e=>`subpackage_${EL(e)}`,generateEndpointId:(e,t)=>{let r=EL(e.fernFilepath),n=Mr(t.name);return`endpoint_${r}.${n}`},generateWebhookGroupId:e=>`webhooks_${EL(e)}`,generateWebhookId:(e,t)=>`webhooks_${EL(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${EL(e)}`}});function Wzt(e,t){if(e==null||typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(e))t.has(n)&&(r[n]=i);return r}function C4c({filteredIr:e,singleUnionTypeProperties:t}){return t._visit({samePropertiesAsObject:r=>{let n=e.hasTypeId(r.typeId)?{...r,object:{...r.object,properties:r.object.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,tr(i.name))).map(i=>({...i,value:xE({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)}}:void 0;return n!==void 0?Ut.ExampleSingleUnionTypeProperties.samePropertiesAsObject(n):void 0},singleProperty:r=>{let n=xE({filteredIr:e,exampleTypeReference:r});return n!==void 0?Ut.ExampleSingleUnionTypeProperties.singleProperty(n):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function xE({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:n=>({...t,shape:Zi.container(Qu.list({...n,list:n.list.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(i=>i!==void 0)}))}),set:n=>({...t,shape:Zi.container(Qu.set({...n,set:n.set.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(i=>i!==void 0)}))}),optional:n=>{let i=n.optional!=null?xE({filteredIr:e,exampleTypeReference:n.optional}):void 0;return i!=null?{...t,shape:Zi.container(Qu.optional({optional:i,valueType:n.valueType}))}:void 0},nullable:n=>{let i=n.nullable!=null?xE({filteredIr:e,exampleTypeReference:n.nullable}):void 0;return i!=null?{...t,shape:Zi.container(Qu.nullable({nullable:i,valueType:n.valueType}))}:void 0},map:n=>({...t,shape:Zi.container(Qu.map({...n,map:n.map.map(i=>{let o=xE({filteredIr:e,exampleTypeReference:i.key}),s=xE({filteredIr:e,exampleTypeReference:i.value});return o!==void 0&&s!==void 0?{key:o,value:s}:void 0}).filter(i=>i!==void 0)}))}),literal:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}}),named:r=>e.hasTypeId(r.typeName.typeId)?r.shape._visit({alias:n=>{let i=xE({filteredIr:e,exampleTypeReference:n.value});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.alias({...n,value:i})})}:void 0},enum:n=>({...t,shape:Zi.named({...r,shape:Su.enum(n)})}),object:n=>{let i=n.properties.filter(s=>e.hasProperty(s.originalTypeDeclaration.typeId,tr(s.name))).map(s=>({...s,value:xE({filteredIr:e,exampleTypeReference:s.value})})).filter(s=>s.value!==void 0),o=new Set(i.map(s=>tr(s.name)));return{...t,jsonExample:Wzt(t.jsonExample,o),shape:Zi.named({...r,shape:Su.object({...n,properties:i})})}},union:n=>{let i=C4c({filteredIr:e,singleUnionTypeProperties:n.singleUnionType.shape});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.union({...n,singleUnionType:{...n.singleUnionType,shape:i}})})}:void 0},undiscriminatedUnion:n=>{let i=xE({filteredIr:e,exampleTypeReference:n.singleUnionType});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.undiscriminatedUnion({...n,singleUnionType:i})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function mbo({filteredIr:e,pathParameters:t}){return t.map(r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...r,value:n}:void 0}).filter(r=>r!==void 0)}function jbd({filteredIr:e,queryParameters:t,endpointId:r}){return t.filter(n=>r==null||e.hasQueryParameter(r,tr(n.name))).map(n=>{let i=xE({filteredIr:e,exampleTypeReference:n.value});return i!==void 0?{...n,value:i}:void 0}).filter(n=>n!==void 0)}function v4c({filteredIr:e,headers:t}){return t.map(r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...r,value:n}:void 0}).filter(r=>r!==void 0)}function Qbd({filteredIr:e,requestBody:t,endpointId:r}){return t._visit({inlinedRequestBody:n=>{let i=n.properties.filter(s=>{let a=tr(s.name);return s.originalTypeDeclaration==null?r!=null?e.hasRequestProperty(r,a):!0:e.hasProperty(s.originalTypeDeclaration.typeId,a)}).map(s=>{let a=xE({filteredIr:e,exampleTypeReference:s.value});return a!==void 0?{...s,value:a}:void 0}).filter(s=>s!==void 0),o=new Set(i.map(s=>tr(s.name)));return{...t,jsonExample:Wzt(n.jsonExample,o),properties:i}},reference:n=>{let i=xE({filteredIr:e,exampleTypeReference:n});return i!==void 0?PP.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function zbd({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:n=>Eg.ok(CA.body(n!=null?xE({filteredIr:e,exampleTypeReference:n}):void 0)),stream:n=>Eg.ok(CA.stream(n.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(Oa))),sse:n=>Eg.ok(CA.sse(n.map(({event:i,data:o})=>{let s=xE({filteredIr:e,exampleTypeReference:o});return s!==void 0?{event:i,data:s}:void 0}).filter(Oa))),_other:({type:n})=>{throw new Error(`Received unknown type for OK example: ${n}`)}}),error:({error:r,body:n})=>Eg.error({error:r,body:n!=null?xE({filteredIr:e,exampleTypeReference:n}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function hbo({filteredIr:e,example:t,endpointId:r}){return{...t,rootPathParameters:mbo({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:mbo({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:mbo({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:v4c({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:v4c({filteredIr:e,headers:t.endpointHeaders}),queryParameters:jbd({filteredIr:e,queryParameters:t.queryParameters,endpointId:r}),request:t.request!==void 0?Qbd({filteredIr:e,requestBody:t.request,endpointId:r}):void 0,response:zbd({filteredIr:e,response:t.response})}}function w4c({filteredIr:e,payload:t,webhookId:r}){if(r==null)return t;let n=i=>e.hasWebhookPayloadProperty(r,i);if(t.shape.type==="named"&&t.shape.shape.type==="object"){let i=t.shape,o=i.shape;if(o.type!=="object")return t;let s=o.properties.filter(c=>n(tr(c.name))),a=new Set(s.map(c=>tr(c.name)));return{...t,jsonExample:Wzt(t.jsonExample,a),shape:Zi.named({...i,shape:Su.object({...o,properties:s})})}}if(t.shape.type==="container"&&t.shape.container.type==="map"){let i=t.shape.container,o=i.map.filter(a=>{let c=a.key.jsonExample;return typeof c=="string"&&n(c)}),s=new Set(o.map(a=>a.key.jsonExample).filter(a=>typeof a=="string"));return{...t,jsonExample:Wzt(t.jsonExample,s),shape:Zi.container(Qu.map({...i,map:o}))}}return t}function S4c({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...t,shape:Su.alias({...r,value:n})}:void 0},enum:()=>t,object:r=>{let n=r.properties.filter(o=>e.hasProperty(o.originalTypeDeclaration.typeId,tr(o.name))).map(o=>({...o,value:xE({filteredIr:e,exampleTypeReference:o.value})})).filter(o=>o.value!==void 0),i=new Set(n.map(o=>tr(o.name)));return{...t,jsonExample:Wzt(t.jsonExample,i),shape:Su.object({...r,properties:n})}},union:r=>{let n=C4c({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return n!==void 0?{...t,shape:Su.union({...r,singleUnionType:{...r.singleUnionType,shape:n}})}:void 0},undiscriminatedUnion:r=>{let n=xE({filteredIr:e,exampleTypeReference:r.singleUnionType});return n!==void 0?{...t,shape:Su.undiscriminatedUnion({...r,singleUnionType:n})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function Mjr(e,t){if(e==null||typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(e))t(n)&&(r[n]=i);return r}function x4c(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,Mjr(n,t)]))}function PEe(e,t){return e==null?e:{userSpecifiedExamples:x4c(e.userSpecifiedExamples,t),autogeneratedExamples:x4c(e.autogeneratedExamples,t)}}function BEe(e){return e._visit({named:t=>Bu.generateTypeId(t),container:t=>t._visit({optional:r=>BEe(r),nullable:r=>BEe(r),list:r=>BEe(r),set:r=>BEe(r),map:()=>{},literal:()=>{},_other:()=>{}}),primitive:()=>{},unknown:()=>{},_other:()=>{}})}function T4c({v2Examples:e,requestBodyIsAllowed:t,responseBodyIsAllowed:r,queryParameterIsAllowed:n}){if(e==null)return e;let i=o=>Object.fromEntries(Object.entries(o).map(([s,a])=>[s,{...a,request:a.request!=null?{...a.request,requestBody:Mjr(a.request.requestBody,t),queryParameters:a.request.queryParameters!=null?Object.fromEntries(Object.entries(a.request.queryParameters).filter(([c])=>n(c))):a.request.queryParameters}:a.request,response:a.response?.body!=null?{...a.response,body:Mbd(a.response.body,r)}:a.response}]));return{userSpecifiedExamples:i(e.userSpecifiedExamples),autogeneratedExamples:i(e.autogeneratedExamples)}}function Mbd(e,t){return e._visit({json:r=>Ut.V2HttpEndpointResponseBody.json(Mjr(r,t)),error:r=>Ut.V2HttpEndpointResponseBody.error(r),stream:r=>Ut.V2HttpEndpointResponseBody.stream(r),_other:()=>e})}function O4c(e,t){if(e==null)return e;let r=n=>Object.fromEntries(Object.entries(n).map(([i,o])=>[i,{...o,payload:Mjr(o.payload,t)}]));return{userSpecifiedExamples:r(e.userSpecifiedExamples),autogeneratedExamples:r(e.autogeneratedExamples)}}var B4c=h(()=>{"use strict";Rt();Ln();Z$e();aB()});function Hzt(e,t){if(t==null)return e;let r=_ke(e.types,a=>t.hasType(a)),n=Object.fromEntries(Object.entries(r).map(([a,c])=>{let u=Bu.generateTypeId(c.name),l=d=>t.hasProperty(u,d),p=[];if(c.userProvidedExamples=c.userProvidedExamples.map(d=>S4c({filteredIr:t,exampleType:d})).filter(d=>d!==void 0),c.v2Examples=PEe(c.v2Examples,l),c.shape.type==="object"){for(let d of c.shape.properties)l(tr(d.name))&&p.push(d);return[a,{...c,shape:dc.object({...c.shape,properties:p})}]}return[a,c]})),i=Object.fromEntries(Object.entries(e.webhookGroups).map(([a,c])=>{let u=c.filter(l=>t.hasWebhook(l)).map(l=>{let p=l.id,d=()=>!0;if(l.payload.type==="inlinedPayload"&&p!=null)d=f=>t.hasWebhookPayloadProperty(p,f),l.payload={...l.payload,properties:l.payload.properties.filter(f=>d(tr(f.name)))};else if(l.payload.type==="reference"){let f=BEe(l.payload.payloadType);f!=null&&(d=m=>t.hasProperty(f,m))}return l.examples!=null&&p!=null&&(l.examples=l.examples.map(f=>({...f,payload:w4c({filteredIr:t,payload:f.payload,webhookId:p})}))),l.v2Examples=O4c(l.v2Examples,d),l});return[a,u]})),o=e.websocketChannels!=null?Object.fromEntries(Object.entries(e.websocketChannels).filter(([a])=>t.hasChannel(a)).map(([a,c])=>[a,{...c}])):{},s=e.environments;if(s){switch(s.environments.type){case"singleBaseUrl":{s.environments.environments=s.environments.environments.filter(a=>t.hasEnvironmentId(a.id));break}case"multipleBaseUrls":{s.environments.environments=s.environments.environments.filter(a=>t.hasEnvironmentId(a.id));break}}s.defaultEnvironment&&(t.hasEnvironmentId(s.defaultEnvironment)||(s.defaultEnvironment=void 0))}return{...e,environments:s,types:n,errors:_ke(e.errors,a=>t.hasError(a)),services:rp(_ke(e.services,a=>t.hasService(a)),a=>({...a,endpoints:a.endpoints.filter(c=>t.hasEndpoint(c)).map(c=>Vbd(c,t))})),websocketChannels:o,webhookGroups:i,serviceTypeReferenceInfo:_bd(e.serviceTypeReferenceInfo,t)}}function Lbd(e,t){let r=e.requestBody;if(r==null)return()=>!0;if(r.type==="inlinedRequestBody")return n=>t.hasRequestProperty(e.id,n);if(r.type==="reference"){let n=BEe(r.requestBodyType);if(n!=null)return i=>t.hasProperty(n,i)}return()=>!0}function Ubd(e,t){let r=e.response?.body;if(r?.type!=="json")return()=>!0;let n=r.value,i=n.type==="response"||n.type==="nestedPropertyAsResponse"?n.responseBodyType:void 0;if(i==null)return()=>!0;let o=BEe(i);return o==null?()=>!0:s=>t.hasProperty(o,s)}function Vbd(e,t){let r=e.id,n=Lbd(e,t),i=Ubd(e,t),o=s=>t.hasQueryParameter(r,s);if(e.autogeneratedExamples=e.autogeneratedExamples.map(s=>({...s,example:hbo({filteredIr:t,example:s.example,endpointId:r})})),e.userSpecifiedExamples=e.userSpecifiedExamples.map(s=>({...s,example:s.example!=null?hbo({filteredIr:t,example:s.example,endpointId:r}):void 0})),e.queryParameters.length>0&&(e.queryParameters=e.queryParameters.filter(s=>o(tr(s.name)))),e.v2Examples=T4c({v2Examples:e.v2Examples,requestBodyIsAllowed:n,responseBodyIsAllowed:i,queryParameterIsAllowed:o}),e.response?.body?.type==="json"){let s=e.response.body.value;(s.type==="response"||s.type==="nestedPropertyAsResponse")&&(s.v2Examples=PEe(s.v2Examples,i))}return e.v2Responses?.responses!=null&&(e.v2Responses={...e.v2Responses,responses:e.v2Responses.responses.map(s=>{if(s.body?.type!=="json")return s;let a=s.body.value;return a.type==="response"||a.type==="nestedPropertyAsResponse"?{...s,body:{...s.body,value:{...a,v2Examples:PEe(a.v2Examples,i)}}}:s})}),e.v2RequestBodies?.requestBodies!=null&&(e.v2RequestBodies={...e.v2RequestBodies,requestBodies:e.v2RequestBodies.requestBodies.map(s=>s.type==="inlinedRequestBody"?{...s,properties:s.properties.filter(a=>n(tr(a.name))),v2Examples:PEe(s.v2Examples,n)}:s.type==="reference"?{...s,v2Examples:PEe(s.v2Examples,n)}:s)}),e.requestBody?.type==="inlinedRequestBody"?{...e,requestBody:{...e.requestBody,properties:e.requestBody.properties.filter(s=>n(tr(s.name))),v2Examples:PEe(e.requestBody.v2Examples,n)}}:e.requestBody?.type==="reference"?{...e,requestBody:{...e.requestBody,v2Examples:PEe(e.requestBody.v2Examples,n)}}:e}function _bd(e,t){if(t==null)return e;let r={};return Object.entries(e.typesReferencedOnlyByService).forEach(([n,i])=>{t.hasServiceId(n)&&(r[n]=i.filter(o=>t.hasTypeId(o)))}),{sharedTypes:e.sharedTypes.filter(n=>t.hasTypeId(n)),typesReferencedOnlyByService:r}}var P4c=h(()=>{"use strict";Ln();_i();Z$e();aB();B4c()});function _ze(e){let t={};for(let[r,n]of Object.entries(e))if(typeof n!="string")for(let i of n.audiences??[])t[i]==null&&(t[i]=new Set),t[i]?.add(r);return t}var gbo=h(()=>{"use strict"});function $$e(e){return e.type!=null}var Abo=h(()=>{"use strict"});var Ljr,D4c=h(()=>{"use strict";Z$e();Ljr=class{environments=new Set;types=new Set;excludedProperties;errors=new Set;services=new Set;endpoints=new Set;excludedRequestProperties;excludedQueryParameters;webhooks=new Set;excludedWebhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,excludedProperties:r,errors:n,environments:i,services:o,endpoints:s,webhooks:a,subpackages:c,excludedQueryParameters:u,excludedRequestProperties:l,excludedWebhookPayloadProperties:p,channels:d}){this.environments=i,this.types=t,this.excludedProperties=r,this.errors=n,this.services=o,this.endpoints=s,this.webhooks=a,this.excludedWebhookPayloadProperties=p,this.subpackages=c,this.excludedRequestProperties=l,this.excludedQueryParameters=u,this.channels=d}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Bu.generateTypeId(t.name);return this.types.has(r)}hasProperty(t,r){let n=this.excludedProperties[t];return n==null||!n.has(r)}hasError(t){let r=Bu.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Bu.generateServiceId(t.name);return this.services.has(r)}hasEnvironmentId(t){return this.environments.has(t)}hasEndpoint(t){return this.endpoints.has(t.id)}hasRequestProperty(t,r){let n=this.excludedRequestProperties[t];return n==null||!n.has(r)}hasQueryParameter(t,r){let n=this.excludedQueryParameters[t];return n==null||!n.has(r)}hasSubpackage(t){return this.subpackages.has(t)}hasWebhook(t){return t.id?this.webhooks.has(t.id):!0}hasChannel(t){return t?this.channels.has(t):!0}hasWebhookPayloadProperty(t,r){let n=this.excludedWebhookPayloadProperties[t];return n==null||!n.has(r)}}});function Ujr(e,t){let r=new Set;for(let i of t)e[i]?.forEach(o=>r.add(o));let n=new Set;for(let i of Object.values(e))i.forEach(o=>{r.has(o)||n.add(o)});return n}function Gbd(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Ee(e)}}function E0(e,t,r){Ur._visit(e,{container:n=>{qbd(n,t,r)},named:n=>{Vjr(n,t,r)},primitive:gt,unknown:gt,_other:gt})}function Vjr(e,t,r){t.add(Bu.generateTypeId(e)),r.add(e.fernFilepath)}function qbd(e,t,r){Bs._visit(e,{list:n=>{E0(n,t,r)},map:n=>{E0(n.keyType,t,r),E0(n.valueType,t,r)},optional:n=>{E0(n,t,r)},nullable:n=>{E0(n,t,r)},set:n=>{E0(n,t,r)},literal:gt,_other:gt})}var Gze,R4c=h(()=>{"use strict";Rt();No();Ln();Z$e();Abo();D4c();gbo();Gze=class{types={};properties={};queryParameters={};requestProperties={};webhookProperties={};errors={};endpoints={};webhooks={};channels={};audiences;typesReferencedByService={};environmentsNeededForAudience=new Set;typesNeededForAudience=new Set;servicesNeededForAudience=new Set;endpointsNeededForAudience=new Set;webhooksNeededForAudience=new Set;channelsNeededForAudience=new Set;subpackagesNeededForAudience=new Set;schemaIdToGraphTypeId=new Map;constructor(t){this.audiences=Gbd(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:n,descendantTypeIdsByAudience:i,propertiesByAudience:o}){let s=Bu.generateTypeId(t),a={typeId:s,allDescendants:r,descendantsByAudience:i,referencedSubpackages:n};this.types[s]=a,t.typeId!=null&&t.typeId!==s&&this.schemaIdToGraphTypeId.set(t.typeId,s),this.typesReferencedByService[s]==null&&(this.typesReferencedByService[s]=new Set),this.properties[s]={typeId:s,propertiesByAudience:o}}markTypeForAudiences(t,r){let n=Bu.generateTypeId(t);this.hasAudience(r)&&(this.typesNeededForAudience.add(n),this.addSubpackages(t.fernFilepath),this.types[n]?.referencedSubpackages.forEach(i=>{this.addSubpackages(i)}))}markEnvironmentForAudiences(t,r,n){t&&(this.hasAudience(r)||n)&&this.environmentsNeededForAudience.add(t.id)}getTypesReferencedByService(){for(let t of Object.values(this.endpoints))for(let r of t.referencedTypes)this.markTypeForService(r,t.serviceId);return this.typesReferencedByService}addError(t){let r=Bu.generateErrorId(t.name),n=new Set,i=new Set;t.type!=null&&E0(t.type,n,i);let o={errorId:r,referencedTypes:n,referencedSubpackages:i};this.errors[r]=o}addEndpoint(t,r,n){let i=Bu.generateServiceId(t.name),o=r.id,s=new Set,a=new Set,c=new Set;for(let u of[...t.headers,...r.headers])E0(u.valueType,s,c);for(let u of[...t.pathParameters,...r.pathParameters])E0(u.valueType,s,c);for(let u of r.queryParameters)E0(u.valueType,s,c);if(n!=null&&n.request!=null&&typeof n.request!="string"){let u=_ze(n.request["query-parameters"]??{});this.queryParameters[o]={endpointId:o,parametersByAudience:u}}r.requestBody!=null&&Hf._visit(r.requestBody,{inlinedRequestBody:u=>{for(let l of u.extends)Vjr(l,s,c);for(let l of u.properties)E0(l.valueType,s,c);if(n!=null&&typeof n.request=="object"&&typeof n.request.body=="object"&&bg(n.request.body)){let l=_ze(n.request.body.properties??{});this.requestProperties[o]={endpointId:o,propertiesByAudience:l}}},reference:({requestBodyType:u})=>{E0(u,s,c)},fileUpload:({properties:u})=>{for(let l of u)Rx._visit(l,{file:gt,bodyProperty:({valueType:p})=>{E0(p,s,c)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+l.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&mu._visit(r.response.body,{fileDownload:gt,json:u=>{E0(u.responseBodyType,s,c)},streaming:u=>{u._visit({sse:l=>E0(l.payload,s,c),json:l=>E0(l.payload,s,c),text:gt,_other:()=>{throw new Error("Unknown streamingResponse type: "+u.type)}})},streamParameter:u=>{u.streamResponse._visit({sse:l=>E0(l.payload,s,c),json:l=>E0(l.payload,s,c),text:gt,_other:()=>{throw new Error("Unknown streamingResponse type: "+u.streamResponse.type)}}),u.nonStreamResponse.type==="json"&&E0(u.nonStreamResponse.value.responseBodyType,s,c)},text:gt,bytes:gt,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(u=>{a.add(Bu.generateErrorId(u.error)),c.add(u.error.fernFilepath)}),this.endpoints[o]={endpointId:o,serviceId:i,referencedTypes:s,referencedErrors:a,referencedSubpackages:c}}markEndpointForAudience(t,r,n){if(this.hasAudience(n)){let i=Bu.generateServiceId(t);this.servicesNeededForAudience.add(i),r.forEach(o=>{let s=o.id;this.endpointsNeededForAudience.add(s),this.endpoints[s]?.referencedSubpackages.forEach(a=>{this.addSubpackages(a)})}),this.servicesNeededForAudience.add(i),this.addSubpackages(t.fernFilepath)}}getFilteredSubpackages(){return this.subpackagesNeededForAudience}getFilteredServices(){return this.servicesNeededForAudience}getFilteredEndpoints(){return this.endpointsNeededForAudience}getFilteredChannels(){return this.channelsNeededForAudience}getFilteredWebhooks(){return this.webhooksNeededForAudience}addWebhook(t,r,n){let i=r.id;if(i==null)return;let o=new Set,s=new Set;r.payload!=null&&DS._visit(r.payload,{inlinedPayload:a=>{for(let c of a.extends)Vjr(c,o,s);for(let c of a.properties)E0(c.valueType,o,s);if(n?.payload!=null&&typeof n.payload=="object"&&!$$e(n.payload)){let c=_ze(n.payload.properties??{});this.webhookProperties[i]={webhookId:i,propertiesByAudience:c}}},reference:({payloadType:a})=>{E0(a,o,s)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),s.add(t),this.webhooks[i]={webhookId:i,referencedTypes:o,referencedSubpackages:s}}markWebhookForAudiences(t,r,n){let i=r.id;i!=null&&this.hasAudience(n)&&(this.webhooksNeededForAudience.add(i),this.addSubpackages(t))}markInlinedRequestPropertiesForAudiences(t,r){this.requestProperties[t]={endpointId:t,propertiesByAudience:r}}markQueryParametersForAudiences(t,r){this.queryParameters[t]={endpointId:t,parametersByAudience:r}}markInlinedWebhookPayloadPropertiesForAudiences(t,r){this.webhookProperties[t]={webhookId:t,propertiesByAudience:r}}addChannel(t,r,n,i){if(r==null)return;let o=new Set,s=new Set;for(let a of n.messages)OO._visit(a.body,{reference:({bodyType:c})=>{E0(c,o,s)},inlinedBody:c=>{for(let u of c.extends)Vjr(u,o,s);for(let u of c.properties)E0(u.valueType,o,s)},_other:()=>{}});for(let a of n.queryParameters)E0(a.valueType,o,s);s.add(t),this.channels[r]={channelId:r,referencedTypes:o,referencedSubpackages:s}}markChannelForAudiences(t,r,n){r!=null&&this.hasAudience(n)&&(this.channelsNeededForAudience.add(r),this.addSubpackages(t))}build(){let t=new Set,r=new Set;for(let a of this.endpointsNeededForAudience.keys()){let c=this.getEndpointNode(a);for(let u of c.referencedErrors){if(r.has(u))continue;r.add(u);let l=this.getErrorNode(u);this.addReferencedTypes(t,l.referencedTypes)}this.addReferencedTypes(t,c.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let a of this.webhooksNeededForAudience.keys()){let c=this.getWebhookNode(a);this.addReferencedTypes(t,c.referencedTypes)}for(let a of this.channelsNeededForAudience.keys()){let c=this.getChannelNode(a);this.addReferencedTypes(t,c.referencedTypes)}let n={},i={},o={},s={};if(this.audiences.type==="filtered"){let a=this.audiences.audiences;for(let[c,u]of Object.entries(this.properties))t.has(c)&&(n[c]=Ujr(u.propertiesByAudience,a));for(let[c,u]of Object.entries(this.requestProperties))this.endpointsNeededForAudience.has(c)&&(i[c]=Ujr(u.propertiesByAudience,a));for(let[c,u]of Object.entries(this.queryParameters))this.endpointsNeededForAudience.has(c)&&(o[c]=Ujr(u.parametersByAudience,a));for(let[c,u]of Object.entries(this.webhookProperties))this.webhooksNeededForAudience.has(c)&&(s[c]=Ujr(u.propertiesByAudience,a))}return new Ljr({types:t,excludedProperties:n,errors:r,excludedRequestProperties:i,excludedQueryParameters:o,environments:this.environmentsNeededForAudience,services:this.servicesNeededForAudience,endpoints:this.endpointsNeededForAudience,webhooks:this.webhooksNeededForAudience,excludedWebhookPayloadProperties:s,subpackages:this.subpackagesNeededForAudience,channels:this.channelsNeededForAudience})}markTypeForService(t,r){let n=this.typesReferencedByService[t]??=new Set;if(n.has(r))return;n.add(r);let i=this.getTypeNode(t);for(let o of i.allDescendants)this.markTypeForService(this.resolveTypeId(o),r)}resolveTypeId(t){return this.schemaIdToGraphTypeId.get(t)??t}addReferencedTypes(t,r){let n=[...r];for(;n.length>0;){let i=n.pop();if(i==null||t.has(i))continue;t.add(i);let o=this.getTypeNode(i),s=a=>{let c=this.resolveTypeId(a);t.has(c)||n.push(c)};if(this.audiences.type==="filtered")for(let a of this.audiences.audiences){let c=o.descendantsByAudience[a];if(c!=null)c.forEach(s);else{o.allDescendants.forEach(s);break}}else o.allDescendants.forEach(s)}}getTypeNode(t){let r=this.types[t];if(r==null)throw new Error(`Failed to find type node with id ${t}`);return r}getErrorNode(t){let r=this.errors[t];if(r==null)throw new Error(`Failed to find error node with id ${t}`);return r}getEndpointNode(t){let r=this.endpoints[t];if(r==null)throw new Error(`Failed to find endpoint node with id ${t}`);return r}getWebhookNode(t){let r=this.webhooks[t];if(r==null)throw new Error(`Failed to find webhook node with id ${t}`);return r}getChannelNode(t){let r=this.channels[t];if(r==null)throw new Error(`Failed to find channel node with id ${t}`);return r}hasNoAudiences(){return this.audiences.type==="none"}hasAudience(t){let r=this.audiences;switch(r.type){case"none":return!0;case"filtered":return t.some(n=>r.audiences.has(n));default:Ee(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let n={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Bu.generateSubpackageId(n))}}}});function Kzt(e,{onWarning:t}={}){let r=e.globalParameters;if(!(r==null||r.length===0))for(let n of Object.values(e.services))for(let i of n.endpoints)i.globalParameters=Wbd({endpoint:i,globalParameters:r,types:e.types,onWarning:t})}function Wbd({endpoint:e,globalParameters:t,types:r,onWarning:n}){let i=new Set(e.globalParameters??[]),o=[];for(let s of t){let a=s.apply==="auto",c;switch(s.location){case"body":{let u=Kbd({requestBody:e.requestBody,dottedTarget:s.target,types:r});a?c=u:i.has(s.id)?(c=u,u||n?.(`Endpoint "${e.id}" opts into global parameter "${s.id}" (in: body, target: "${s.target}") via x-fern-global-parameter, but its request body schema does not contain that path. The parameter will not be injected for this endpoint.`)):c=!1;break}case"header":case"query":c=a||i.has(s.id);break;case"path":c=a?Hbd(e,s.target):i.has(s.id);break;default:Ee(s.location)}c&&o.push(s.id)}return o.length>0?o:void 0}function Hbd(e,t){return e.allPathParameters.some(r=>Mr(r.name)===t)}function Kbd({requestBody:e,dottedTarget:t,types:r}){if(e==null)return!1;let n=t.split(".");if(n.length===0)return!1;switch(e.type){case"inlinedRequestBody":{let i=new Set,o=[...e.properties.map(s=>({wireValue:tr(s.name),valueType:s.valueType})),...(e.extendedProperties??[]).map(s=>({wireValue:tr(s.name),valueType:s.valueType}))];for(let s of e.extends)o.push(...Jbd({typeId:s.typeId,types:r,seen:i}));return F4c({properties:o,segments:n,types:r,seen:i})}case"reference":return k4c({typeReference:e.requestBodyType,segments:n,types:r,seen:new Set});case"fileUpload":case"bytes":return!1;default:Ee(e)}}function F4c({properties:e,segments:t,types:r,seen:n}){let[i,...o]=t,s=e.find(a=>a.wireValue===i);return s==null?!1:o.length===0?!0:k4c({typeReference:s.valueType,segments:o,types:r,seen:new Set})}function k4c({typeReference:e,segments:t,types:r,seen:n}){let i=_jr({typeReference:e,types:r,seen:n});return i==null?!1:F4c({properties:i,segments:t,types:r,seen:n})}function _jr({typeReference:e,types:t,seen:r}){switch(e.type){case"container":{let n=e.container;switch(n.type){case"optional":return _jr({typeReference:n.optional,types:t,seen:r});case"nullable":return _jr({typeReference:n.nullable,types:t,seen:r});case"list":case"set":case"map":case"literal":return;default:return Ee(n)}}case"named":{if(r.has(e.typeId))return;r.add(e.typeId);let n=t[e.typeId];if(n==null)return;switch(n.shape.type){case"object":return ybo({object:n.shape,types:t,seen:r});case"alias":return _jr({typeReference:n.shape.aliasOf,types:t,seen:r});case"enum":case"union":case"undiscriminatedUnion":return;default:return Ee(n.shape)}}case"primitive":case"unknown":return;default:return Ee(e)}}function Jbd({typeId:e,types:t,seen:r}){if(r.has(e))return[];r.add(e);let n=t[e];return n==null||n.shape.type!=="object"?[]:ybo({object:n.shape,types:t,seen:r})}function ybo({object:e,types:t,seen:r}){let n=e.properties.map(i=>({wireValue:tr(i.name),valueType:i.valueType}));for(let i of e.extendedProperties??[])n.push({wireValue:tr(i.name),valueType:i.valueType});for(let i of e.extends){if(r.has(i.typeId))continue;r.add(i.typeId);let o=t[i.typeId];o!=null&&o.shape.type==="object"&&n.push(...ybo({object:o.shape,types:t,seen:r}))}return n}var N4c=h(()=>{"use strict";Rt();aB()});function ape(e){return e!=null&&!Ybd.includes(e.status)}var Ybd,j4c=h(()=>{"use strict";Ln();Ybd=[Ut.AvailabilityStatus.GeneralAvailability]});var bbo,Jzt,Q4c=h(()=>{"use strict";Rt();Pjr();j4c();aB();bbo=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},Jzt=class{errors;constructor(){this.errors=new bbo}async check({from:t,to:r}){let n=this.toInternalIr(t),i=this.toInternalIr(r),o=SEe(n),s=SEe(i);if(o===s)return{bump:"no_change",isBreaking:!1,errors:[]};let a=this.checkBreaking({from:n,to:i});return{bump:a.isBreaking?"major":"minor",isBreaking:a.isBreaking,errors:a.errors}}toInternalIr(t){return{types:t.types,errors:t.errors,services:t.services}}checkBreaking({from:t,to:r}){this.checkTypeBreakingChanges({from:t.types,to:r.types}),this.checkErrorsBreakingChanges({from:t.errors,to:r.errors}),this.checkServicesBreakingChanges({from:t.services,to:r.services});let n=this.errors.hasErrors();return{bump:n?"major":"minor",isBreaking:n,errors:this.errors.getErrors()}}checkTypeBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){if(ape(i.availability))continue;let o=r[n];if(!o){this.errors.add(`Type "${n}" was removed.`);continue}if(ape(o.availability)){this.errors.add(`Type "${n}" was moved from stable to unstable availability status.`);continue}this.areTypeDeclarationsCompatible({from:i,to:o})||this.errors.add(`Type "${n}" has an incompatible change.`)}}checkErrorsBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){let o=Object.values(r).find(s=>s.name.errorId===i.name.errorId);if(!o){this.errors.add(`Error "${i.name.errorId}" with status code "${i.statusCode}" was removed.`);continue}this.checkErrorBreakingChanges({from:i,to:o})}}checkErrorBreakingChanges({from:t,to:r}){if(t.type!=null){if(r.type==null){this.errors.add(`Error "${t.name.errorId}" with status code "${t.statusCode}" had its type removed.`);return}this.areTypeReferencesCompatible({from:t.type,to:r.type})||this.errors.add(`Error "${t.name.errorId}" type reference changed.`)}this.areDeclaredErrorNamesCompatible({from:t.name,to:r.name})||this.errors.add(`Error "${t.name.errorId}" name changed.`),this.areNameAndWireValuesCompatible({from:t.discriminantValue,to:r.discriminantValue})||this.errors.add(`Error "${t.name.errorId}" discriminant value changed.`)}checkServicesBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){if(ape(i.availability)||(i.endpoints?.every(s=>ape(s.availability))??!1))continue;let o=r[n];if(!o){this.errors.add(`Service "${n}" was removed.`);continue}if(ape(o.availability)){this.errors.add(`Service "${n}" was moved from stable to unstable availability status.`);continue}this.checkServiceBreakingChanges({id:n,from:i,to:o})}}checkServiceBreakingChanges({id:t,from:r,to:n}){this.checkHeadersBreakingChanges({id:t,from:r.headers,to:n.headers}),this.checkEndpointsBreakingChanges({id:t,from:r,to:n})}checkEndpointsBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.endpoints.map(s=>[s.id,s])),o=Object.fromEntries(n.endpoints.map(s=>[s.id,s]));for(let[s,a]of Object.entries(i)){if(ape(a.availability))continue;let c=o[s];if(!c){this.errors.add(`Endpoint "${s}" was removed.`);continue}if(ape(c.availability)){this.errors.add(`Endpoint "${s}" was moved from stable to unstable availability status.`);continue}this.checkEndpointBreakingChanges({id:s,from:a,to:c})}}checkEndpointBreakingChanges({id:t,from:r,to:n}){this.checkHttpMethodsBreakingChanges({id:t,from:r.method,to:n.method}),this.checkHttpPathsBreakingChanges({id:t,from:r.fullPath,to:n.fullPath}),this.checkPathParametersBreakingChanges({id:t,from:r.pathParameters,to:n.pathParameters}),this.checkQueryParametersBreakingChanges({id:t,from:r.queryParameters,to:n.queryParameters}),this.checkHeadersBreakingChanges({id:t,from:r.headers,to:n.headers}),r.requestBody!=null&&(n.requestBody!=null?this.checkHttpRequestBodiesCompatible({id:t,from:r.requestBody,to:n.requestBody}):this.errors.add(`Request body was removed from endpoint "${r.id}".`)),r.response!=null&&(n.response!=null?this.checkHttpResponseBreakingChanges({id:t,from:r.response,to:n.response}):this.errors.add(`Response was removed from endpoint "${r.id}".`)),(r.pagination!=null&&n.pagination==null||r.pagination==null&&n.pagination!=null)&&this.errors.add(`Pagination was ${r.pagination!=null?"added":"removed"} from endpoint "${r.id}".`)}checkPathParametersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[Mr(s.name),s])),o=Object.fromEntries(n.map(s=>[Mr(s.name),s]));for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Path parameter "${s}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Path parameter "${s}" type changed in endpoint "${t}".`)}}checkQueryParametersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[tr(s.name),s])),o=Object.fromEntries(n.map(s=>[tr(s.name),s]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([s,a])=>[s,a.valueType])),to:Object.fromEntries(Object.entries(o).map(([s,a])=>[s,a.valueType]))});for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Query parameter "${s}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Query parameter "${s}" type changed in endpoint "${t}".`),a.allowMultiple!==c.allowMultiple&&this.errors.add(`Query parameter "${s}" allow-multiple values changed in endpoint "${t}".`)}}checkHeadersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[tr(s.name),s])),o=Object.fromEntries(n.map(s=>[tr(s.name),s]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([s,a])=>[s,a.valueType])),to:Object.fromEntries(Object.entries(o).map(([s,a])=>[s,a.valueType]))});for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Header "${s}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Header "${s}" type changed in ${t}.`)}}checkHttpMethodsBreakingChanges({id:t,from:r,to:n}){r!==n&&this.errors.add(`HTTP method changed in ${t}.`)}checkHttpPathsBreakingChanges({id:t,from:r,to:n}){this.areHttpPathsCompatible({from:r,to:n})||this.errors.add(`HTTP path changed in ${t}.`)}areHttpPathsCompatible({from:t,to:r}){if(t.head!==r.head||t.parts.length!==r.parts.length)return!1;for(let n=0;n<t.parts.length;n++){let i=t.parts[n];if(i==null)return!1;let o=r.parts[n];if(o==null||i.pathParameter!==o.pathParameter||i.tail!==o.tail)return!1}return!0}checkHttpRequestBodiesCompatible({id:t,from:r,to:n}){switch(r.type){case"inlinedRequestBody":if(n.type==="inlinedRequestBody"&&this.areInlinedRequestBodiesCompatible({from:r,to:n}))return;break;case"reference":if(n.type==="reference"&&this.areReferenceRequestBodiesCompatible({from:r,to:n}))return;break;case"fileUpload":if(n.type==="fileUpload"&&this.areFileUploadRequestBodiesCompatible({from:r,to:n}))return;break;case"bytes":if(n.type==="bytes")return;break;default:Ee(r)}this.errors.add(`Request body type changed from "${r.type}" to "${n.type}" in endpoint "${t}".`)}areInlinedRequestBodiesCompatible({from:t,to:r}){let n=this.getInlinedRequestBody(t),i=this.getInlinedRequestBody(r);return this.checkForNewInlinedRequestBodyProperties({from:n,to:i}),Object.entries(n).every(([o,s])=>{let a=i[o];return a?this.areTypeReferencesCompatible({from:s,to:a}):(this.errors.add(`Request body property "${o}" was removed.`),!1)})}areReferenceRequestBodiesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.requestBodyType,to:r.requestBodyType})}areFileUploadRequestBodiesCompatible({from:t,to:r}){let n=this.getFileUploadRequest(t.properties),i=this.getFileUploadRequest(r.properties);this.checkForNewFileUploadRequestProperties({from:n,to:i});for(let[o,s]of Object.entries(n)){let a=i[o];if(!a)return this.errors.add(`File upload property "${o}" was removed.`),!1;if(s==="file"&&a!=="file")return this.errors.add(`File upload property "${o}" type changed.`),!1;if(s==="fileArray"&&a!=="fileArray")return this.errors.add(`File upload property "${o}" type changed.`),!1;if(s!=="file"&&s!=="fileArray"&&a!=="file"&&a!=="fileArray"&&!this.areTypeReferencesCompatible({from:s,to:a}))return this.errors.add(`File upload property "${o}" type changed.`),!1}return!0}checkHttpResponseBreakingChanges({id:t,from:r,to:n}){if(r.statusCode!==n.statusCode&&this.errors.add(`Response status code changed from "${r.statusCode}" to "${n.statusCode}".`),!(r.body==null&&n.body==null)){if(r.body==null||n.body==null){this.errors.add(`Response body was ${r.body==null?"added":"removed"}.`);return}switch(r.body.type){case"json":if(n.body.type==="json"){this.areJsonResponsesCompatible({from:r.body.value,to:n.body.value});return}break;case"fileDownload":if(n.body.type==="fileDownload")return;break;case"text":if(n.body.type==="text")return;break;case"bytes":if(n.body.type==="bytes")return;break;case"streaming":if(n.body.type==="streaming"){this.areStreamingResponsesCompatible({from:r.body.value,to:n.body.value});return}break;case"streamParameter":if(n.body.type==="streamParameter"){this.areStreamingResponsesCompatible({from:r.body.streamResponse,to:n.body.streamResponse});return}break;default:Ee(r.body)}this.errors.add(`HTTP response type "${r.body.type}" defined for endpoint "${t}" is not compatible with type "${n.body.type}".`)}}areJsonResponsesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.responseBodyType,to:r.responseBodyType})}areStreamingResponsesCompatible({from:t,to:r}){switch(t.type){case"json":if(r.type==="json")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"sse":if(r.type==="sse")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"text":if(r.type==="text")return!0;break;default:Ee(t)}return this.errors.add(`Streaming response type "${t.type}" is not compatible with type "${r.type}".`),!1}areTypeDeclarationsCompatible({from:t,to:r}){return ape(t.availability)?!0:this.areDeclaredTypeNamesCompatible({from:t.name,to:r.name})&&this.areTypeShapesCompatible({from:t.shape,to:r.shape})}areTypeShapesCompatible({from:t,to:r}){switch(t.type){case"alias":if(r.type==="alias")return this.areAliasTypesCompatible({from:t,to:r});break;case"enum":if(r.type==="enum")return this.areEnumTypesCompatible({from:t,to:r});break;case"object":if(r.type==="object")return this.areObjectTypesCompatible({from:t,to:r});break;case"union":if(r.type==="union")return this.areUnionTypesCompatible({from:t,to:r});break;case"undiscriminatedUnion":if(r.type==="undiscriminatedUnion")return this.areUndiscriminatedUnionTypesCompatible({from:t,to:r});break;default:Ee(t)}return this.errors.add(`Type "${t.type}" is not compatible with type "${r.type}".`),!1}areAliasTypesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.aliasOf,to:r.aliasOf})}areEnumTypesCompatible({from:t,to:r}){let n=Object.fromEntries(t.values.map(o=>[tr(o.name),o])),i=Object.fromEntries(r.values.map(o=>[tr(o.name),o]));return Object.keys(n).length!==Object.keys(i).length?!1:Object.values(n).every(o=>{let s=i[tr(o.name)];return s?this.areNameAndWireValuesCompatible({from:o.name,to:s.name}):(this.errors.add(`Enum value "${tr(o.name)}" was removed.`),!1)})}areObjectTypesCompatible({from:t,to:r}){let n=Object.fromEntries([...t.properties.map(o=>[tr(o.name),o]),...t.extendedProperties?.map(o=>[tr(o.name),o])??[]]),i=Object.fromEntries([...r.properties.map(o=>[tr(o.name),o]),...r.extendedProperties?.map(o=>[tr(o.name),o])??[]]);return this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([o,s])=>[o,s.valueType])),to:Object.fromEntries(Object.entries(i).map(([o,s])=>[o,s.valueType]))}),Object.values(n).every(o=>{let s=i[tr(o.name)];return s?this.areObjectPropertiesCompatible({from:o,to:s}):(this.errors.add(`Object property "${tr(o.name)}" was removed.`),!1)})}areObjectPropertiesCompatible({from:t,to:r}){return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType})}areUnionTypesCompatible({from:t,to:r}){if(!this.areNameAndWireValuesCompatible({from:t.discriminant,to:r.discriminant}))return this.errors.add(`Union type with discriminant value "${tr(t.discriminant)}" changed.`),!1;let n=new Set(t.extends.map(u=>this.getKeyForDeclaration(u))),i=new Set(r.extends.map(u=>this.getKeyForDeclaration(u)));for(let u of n)if(!i.has(u))return this.errors.add(`Extended type "${u}" was removed.`),!1;let o=Object.fromEntries(t.baseProperties.map(u=>[tr(u.name),u])),s=Object.fromEntries(r.baseProperties.map(u=>[tr(u.name),u]));for(let u of Object.values(o)){let l=s[tr(u.name)];if(!l)return this.errors.add(`Union type with discriminant value "${tr(u.name)}" no longer has a property named "${tr(u.name)}".`),!1;if(!this.areObjectPropertiesCompatible({from:u,to:l}))return!1}this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(o).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(s).map(([u,l])=>[u,l.valueType]))});let a=Object.fromEntries(t.types.map(u=>[tr(u.discriminantValue),u])),c=Object.fromEntries(r.types.map(u=>[tr(u.discriminantValue),u]));return Object.values(a).every(u=>{let l=c[tr(u.discriminantValue)];return l?this.areSingleUnionTypesCompatible({from:u.shape,to:l.shape}):(this.errors.add(`Union type for discriminant value "${tr(u.discriminantValue)}" was removed.`),!1)})}areSingleUnionTypesCompatible({from:t,to:r}){switch(t.propertiesType){case"samePropertiesAsObject":if(r.propertiesType==="samePropertiesAsObject")return this.areDeclaredTypeNamesCompatible({from:t,to:r});break;case"singleProperty":if(r.propertiesType==="singleProperty")return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.type,to:r.type});break;case"noProperties":if(r.propertiesType==="noProperties")return!0;break;default:Ee(t)}return this.errors.add(`Single union type of style "${t.propertiesType}" is not compatible with style "${r.propertiesType}".`),!1}areUndiscriminatedUnionTypesCompatible({from:t,to:r}){return t.members.every((n,i)=>{let o=r.members[i];return o?this.areTypeReferencesCompatible({from:n.type,to:o.type}):(this.errors.add(`Undiscriminated union member at index ${i} was removed.`),!1)})}checkForNewRequiredTypeReferences({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}checkForNewFileUploadRequestProperties({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||i==="file"||i==="fileArray"||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}checkForNewInlinedRequestBodyProperties({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}areTypeReferencesCompatible({from:t,to:r}){switch(t.type){case"primitive":if(r.type==="primitive")return this.arePrimitiveTypesCompatible({from:t,to:r});break;case"container":if(r.type==="container")return this.areContainerTypesCompatible({from:t.container,to:r.container});break;case"named":if(r.type==="named")return this.areNamedTypesCompatible({from:t,to:r});break;case"unknown":if(r.type==="unknown")return!0;break;default:Ee(t)}return this.errors.add(`TypeReference "${t.type}" is not compatible with type "${r.type}".`),!1}arePrimitiveTypesCompatible({from:t,to:r}){return t.primitive.v1===r.primitive.v1}areContainerTypesCompatible({from:t,to:r}){switch(t.type){case"list":if(r.type==="list")return this.areTypeReferencesCompatible({from:t.list,to:r.list});break;case"set":if(r.type==="set")return this.areTypeReferencesCompatible({from:t.set,to:r.set});break;case"map":if(r.type==="map")return this.areTypeReferencesCompatible({from:t.keyType,to:r.keyType})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType});break;case"optional":if(r.type==="optional")return this.areTypeReferencesCompatible({from:t.optional,to:r.optional});break;case"nullable":if(r.type==="nullable")return this.areTypeReferencesCompatible({from:t.nullable,to:r.nullable});break;case"literal":if(r.type==="literal")return this.areLiteralsCompatible({from:t.literal,to:r.literal});break;default:Ee(t)}return this.errors.add(`Container type "${t.type}" is not compatible with type "${r.type}".`),!1}areNamedTypesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredTypeNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredErrorNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areNameAndWireValuesCompatible({from:t,to:r}){return this.areNamesCompatible({from:kjr(t),to:kjr(r)})&&tr(t)===tr(r)}areLiteralsCompatible({from:t,to:r}){switch(t.type){case"boolean":if(r.type==="boolean")return t.boolean===r.boolean;break;case"string":if(r.type==="string")return t.string===r.string;break;default:Ee(t)}return!1}areFernFilepathsCompatible({from:t,to:r}){return t.allParts.length!==r.allParts.length?!1:t.allParts.every((n,i)=>{let o=r.allParts[i];return o==null?!1:this.areNamesCompatible({from:n,to:o})})}areNamesCompatible({from:t,to:r}){return Mr(t)===Mr(r)}getInlinedRequestBody(t){let r={};for(let n of[...t.extendedProperties??[],...t.properties])r[tr(n.name)]=n.valueType;return r}getFileUploadRequest(t){let r={};for(let n of t)switch(n.type){case"file":r[tr(n.value.key)]="file";break;case"bodyProperty":r[tr(n.name)]=n.valueType;break;default:Ee(n)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(i=>Mr(i)).join(".")}.${Mr(t)}`}}});function qze(e,t,r){let{environments:n,changedBaseUrlIds1:i,changedBaseUrlIds2:o}=Zbd(e.environments,t.environments,r),{services:s,websocketChannels:a}=$bd(e,t,i,o);return{apiName:e.apiName,basePath:e.basePath,selfHosted:e.selfHosted&&t.selfHosted,specVersion:e.specVersion??t.specVersion,apiDisplayName:e.apiDisplayName??t.apiDisplayName,apiDocs:e.apiDocs??t.apiDocs,auth:{requirement:e.auth?.requirement??t.auth?.requirement,schemes:t.auth?.schemes?.length!=null&&t.auth.schemes.length>(e.auth?.schemes?.length??0)?t.auth.schemes:e.auth?.schemes??[],docs:e.auth?.docs??t.auth?.docs},headers:M4c([...e.headers??[],...t.headers??[]]),environments:n,types:{...e.types??{},...t.types??{}},constants:{...e.constants??{},...t.constants??{}},errors:{...e.errors??{},...t.errors??{}},services:s,webhookGroups:{...e.webhookGroups??{},...t.webhookGroups??{}},subpackages:Xbd(e.subpackages,t.subpackages),websocketChannels:a,rootPackage:{service:e.rootPackage.service??t.rootPackage.service,types:[...e.rootPackage.types??[],...t.rootPackage.types??[]],errors:[...e.rootPackage.errors??[],...t.rootPackage.errors??[]],subpackages:[...e.rootPackage.subpackages??[],...(t.rootPackage.subpackages??[]).filter(c=>!e.rootPackage.subpackages?.includes(c))],fernFilepath:e.rootPackage.fernFilepath??t.rootPackage.fernFilepath,webhooks:e.rootPackage.webhooks??t.rootPackage.webhooks,websocket:e.rootPackage.websocket??t.rootPackage.websocket,hasEndpointsInTree:e.rootPackage.hasEndpointsInTree||t.rootPackage.hasEndpointsInTree,hasWebSocketInTree:(e.rootPackage.hasWebSocketInTree??!1)||(t.rootPackage.hasWebSocketInTree??!1)||void 0,navigationConfig:e.rootPackage.navigationConfig??t.rootPackage.navigationConfig,docs:e.rootPackage.docs??t.rootPackage.docs},fdrApiDefinitionId:e.fdrApiDefinitionId??t.fdrApiDefinitionId,apiVersion:e.apiVersion??t.apiVersion,idempotencyHeaders:M4c([...e.idempotencyHeaders??[],...t.idempotencyHeaders??[]]),pathParameters:[...e.pathParameters??[],...t.pathParameters??[]],errorDiscriminationStrategy:e.errorDiscriminationStrategy??t.errorDiscriminationStrategy,variables:[...e.variables??[],...t.variables??[]],globalParameters:n0d(e.globalParameters,t.globalParameters),serviceTypeReferenceInfo:e.serviceTypeReferenceInfo??t.serviceTypeReferenceInfo,readmeConfig:e.readmeConfig??t.readmeConfig,sourceConfig:e.sourceConfig??t.sourceConfig,publishConfig:e.publishConfig??t.publishConfig,dynamic:e.dynamic??t.dynamic,sdkConfig:e.sdkConfig??t.sdkConfig,audiences:[...e.audiences??[],...t.audiences??[]],generationMetadata:e.generationMetadata??t.generationMetadata,apiPlayground:e.apiPlayground??t.apiPlayground,casingsConfig:e.casingsConfig??t.casingsConfig}}function Xbd(e,t){let r=e;for(let[n,i]of Object.entries(t))r[n]==null?r[n]=i:r[n]={name:i.name,displayName:i.displayName,fernFilepath:i.fernFilepath,hasEndpointsInTree:r[n].hasEndpointsInTree||i.hasEndpointsInTree,hasWebSocketInTree:(r[n].hasWebSocketInTree??!1)||(i.hasWebSocketInTree??!1)||void 0,navigationConfig:r[n].navigationConfig??i.navigationConfig,docs:r[n].docs??i.docs,service:r[n].service??i.service,subpackages:[...r[n].subpackages??[],...(i.subpackages??[]).filter(o=>!r[n]?.subpackages?.includes(o))],webhooks:r[n].webhooks??i.webhooks,websocket:r[n].websocket??i.websocket,errors:[...r[n].errors??[],...i.errors??[]],types:[...r[n].types??[],...i.types??[]]};return r}function Zbd(e,t,r){if(e==null&&t==null)return{environments:void 0,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(t==null)return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(e==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(JSON.stringify(e)===JSON.stringify(t))return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let n=z4c(e),i=z4c(t);if(n&&i&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:o0.singleBaseUrl({environments:[...e.environments.environments,...t.environments.environments]})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let o=n?t.defaultEnvironment:e.defaultEnvironment,s=e.environments,a=t.environments;if(s.type==="singleBaseUrl"&&a.type==="singleBaseUrl"){let c=n?a:s,u=n?s:a,l={},{deconflictedEnvironments2:p,changedBaseUrlIds2:d}=e0d(c,u,r);if(c.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let f="Base",m=r.generateName("Base");return c.environments.forEach(g=>{l[g.id]=f}),{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[{id:f,name:m},...p.environments.map(g=>({id:g.id,name:g.name}))],environments:c.environments.map(g=>({id:g.id,name:g.name,urls:{[f]:g.url,...Object.fromEntries(p.environments.map(A=>[A.id,A.url]))},docs:void 0,audiences:g.audiences,defaultUrls:void 0,urlTemplates:void 0,urlVariables:void 0}))})},changedBaseUrlIds1:n?d:l,changedBaseUrlIds2:n?l:d}}if(s.type==="multipleBaseUrls"&&a.type==="singleBaseUrl"||s.type==="singleBaseUrl"&&a.type==="multipleBaseUrls"){let c=s.type==="singleBaseUrl"?s:a,u=s.type==="multipleBaseUrls"?s:a,{deconflictedEnvironments1:l,changedBaseUrlIds1:p}=t0d(c,u,r);return{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[...u.baseUrls,...l.environments.map(d=>({id:d.id,name:d.name}))],environments:u.environments.map(d=>({...d,urls:{...d.urls,...Object.fromEntries(l.environments.map(f=>[f.id,f.url]))}}))})},changedBaseUrlIds1:s.type==="singleBaseUrl"?p:void 0,changedBaseUrlIds2:s.type==="singleBaseUrl"?void 0:p}}if(s.type==="multipleBaseUrls"&&a.type==="multipleBaseUrls"){let{deconflictedEnvironments:c,changedBaseUrlIds:u}=r0d(s,a,r);return{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[...s.baseUrls,...c.baseUrls],environments:s.environments.flatMap(l=>c.environments.map(p=>({...l,urls:{...l.urls,...p.urls}})))})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:u}}return{environments:e??t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0}}function $bd(e,t,r,n){if(r!=null)for(let[s,a]of Object.entries(r)){for(let c of Object.values(e.services))for(let u of Object.values(c.endpoints))u.baseUrl==s&&(u.baseUrl=a),u.v2BaseUrls?.includes(s)&&(u.v2BaseUrls=u.v2BaseUrls.map(l=>l===s?a:l));for(let c of Object.values(e.websocketChannels??{}))c.baseUrl==s&&(c.baseUrl=a)}if(n!=null)for(let[s,a]of Object.entries(n)){for(let c of Object.values(t.services))for(let u of Object.values(c.endpoints))u.baseUrl==s&&(u.baseUrl=a),u.v2BaseUrls?.includes(s)&&(u.v2BaseUrls=u.v2BaseUrls.map(l=>l===s?a:l));for(let c of Object.values(t.websocketChannels??{}))c.baseUrl==s&&(c.baseUrl=a)}let i=e.services;for(let[s,a]of Object.entries(t.services))i[s]==null?i[s]=a:i[s]={availability:a.availability,name:a.name,displayName:a.displayName,basePath:a.basePath,endpoints:[...i[s].endpoints??[],...a.endpoints],pathParameters:[...i[s].pathParameters??[],...a.pathParameters??[]],headers:[...i[s].headers??[],...a.headers??[]],encoding:a.encoding,transport:a.transport,audiences:[...i[s].audiences??[],...a.audiences??[]]};let o={...e.websocketChannels??{},...t.websocketChannels??{}};return{services:i,websocketChannels:o}}function e0d(e,t,r){let n={},i=new Set(e.environments.map(u=>u.id)),o=new Set(e.environments.map(u=>u.name)),s=new Map(e.environments.map(u=>[u.url,u.id])),a=t.environments.filter(u=>{let l=s.get(u.url);return l!=null?(n[u.id]=l,!1):!0}).map(u=>{if(i.has(u.id)||o.has(u.name)){let l=Ebo(u.id,i);return n[u.id]=l,{...u,id:l,name:r.generateName(l)}}return u});return{deconflictedEnvironments2:o0.singleBaseUrl({environments:a}),changedBaseUrlIds2:n}}function t0d(e,t,r){let n={},i=new Set(t.baseUrls.map(c=>c.id)),o=new Set(t.baseUrls.map(c=>c.name)),s=e.environments.map(c=>{if(i.has(c.id)||o.has(c.name)){let u=Ebo(c.id,i);return n[c.id]=u,{...c,id:u,name:r.generateName(u)}}return c});return{deconflictedEnvironments1:o0.singleBaseUrl({environments:s}),changedBaseUrlIds1:n}}function r0d(e,t,r){let n={},i=new Set(e.baseUrls.map(u=>u.id)),o=new Set(e.baseUrls.map(u=>u.name)),s=t.baseUrls.map(u=>{if(i.has(u.id)||o.has(u.name)){let l=Ebo(u.id,i);return n[u.id]=l,{...u,id:l,name:r.generateName(l)}}return u}),a=t.environments.map(u=>({...u,urls:Object.fromEntries(Object.entries(u.urls).map(([l,p])=>[n[l]??l,p]))}));return{deconflictedEnvironments:o0.multipleBaseUrls({baseUrls:s,environments:a}),changedBaseUrlIds:n}}function z4c(e){return e.environments.type==="singleBaseUrl"?e.environments.environments.some(t=>t.url&&(t.url.startsWith("ws://")||t.url.startsWith("wss://"))):e.environments.type==="multipleBaseUrls"?e.environments.environments.some(t=>Object.values(t.urls).some(r=>r&&(r.startsWith("ws://")||r.startsWith("wss://")))):!1}function M4c(e){let t=new Set;return e.filter(r=>{let n=tr(r.name).toLowerCase();return t.has(n)?!1:(t.add(n),!0)})}function n0d(e,t){if(!(e==null&&t==null))return[...e??[],...t??[]]}function Ebo(e,t){let r=e,n=1;for(;t.has(r);)r=`${e}-${n}`,n++;return r}var L4c=h(()=>{"use strict";Ln();aB()});var tc=h(()=>{"use strict";r4c();n4c();i4c();I4c();lbo();P4c();gbo();R4c();N4c();Pjr();Q4c();L4c();Z$e();Abo();aB();dbo()});function fQ({relativeFilepath:e,casingsGenerator:t}){let r=cU(e),n=bS(e,{stripExtension:!0}),i=r==="."?[]:r.split("/").map(a=>t.generateName(a)),o=n!==rNe?t.generateName(n):void 0,s=[];return s.push(...i),o!=null&&s.push(o),{allParts:s,packagePath:i,file:o}}var eet=h(()=>{"use strict";Va();ZA()});function DEe({referencedIn:e,importPath:t}){return dI(cU(e),t)}var Gjr=h(()=>{"use strict";ZA()});function IL({reference:e,referencedIn:t,imports:r}){let[n,i,...o]=e.split(".");if(n==null||o.length>0)return;if(i==null)return{typeName:n,relativeFilepath:t};let a=r[n];if(a!=null)return{relativeFilepath:DEe({referencedIn:t,importPath:a}),typeName:i}}var tet=h(()=>{"use strict";Gjr()});function d1({typeName:e,file:t}){let r=IL({reference:e,referencedIn:t.relativeFilepath,imports:t.imports});if(r==null)throw new B({message:"Failed to locate type: "+e,code:B.Code.ResolutionError});let n={name:t.casingsGenerator.generateName(r.typeName),fernFilepath:fQ({relativeFilepath:r.relativeFilepath,casingsGenerator:t.casingsGenerator}),displayName:void 0};return{...n,typeId:Bu.generateTypeId(n)}}var C$=h(()=>{"use strict";tc();Qt();eet();tet()});function Yzt(e){if(e!=null)return e=e.replace(/\*\//g,"* /"),e.endsWith(`
|
|
485
|
+
Example: package-name: "@scope/package"`)}t.failAndThrow(a,void 0,{code:B.Code.ConfigError})}else throw o}}async function bL({absolutePathToWorkspace:e,context:t,lenient:r}){let n=await G$e({absolutePathToWorkspace:e,context:t,lenient:r});if(n==null)return;let i=await v$({absolutePathToWorkspace:e});if(i!=null)return B3c({absolutePathToGeneratorsConfiguration:i,rawGeneratorsConfiguration:n,context:t})}async function v$({absolutePathToWorkspace:e}){let t=We(e,we.of(Dp)),r=We(e,we.of(jHe));if(await rr(t))return t;if(await rr(r))return r}var N3c,j3c,Q3c=h(()=>{"use strict";Va();Xt();Qt();N3c=require("fs/promises");us();j3c=ye(require("path"),1);Wyo()});var z3c=h(()=>{"use strict";MQc();Wyo();udo();t2r();Tho();Q3c()});var Hyo,Mzt,M3c=h(()=>{"use strict";Hyo=class{value;next;constructor(t){this.value=t}},Mzt=class{#e;#t;#r;constructor(){this.clear()}enqueue(t){let r=new Hyo(t);this.#e?(this.#t.next=r,this.#t=r):(this.#e=r,this.#t=r),this.#r++}dequeue(){let t=this.#e;if(t)return this.#e=this.#e.next,this.#r--,this.#e||(this.#t=void 0),t.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let t=this.#e;for(;t;)yield t.value,t=t.next}*drain(){for(;this.#e;)yield this.dequeue()}}});function wjr(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new Mzt,r=0,n=()=>{r--,t.size>0&&t.dequeue()()},i=async(a,c,u)=>{r++;let l=(async()=>a(...u))();c(l);try{await l}catch{}n()},o=(a,c,u)=>{t.enqueue(i.bind(void 0,a,c,u)),(async()=>(await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()))()},s=(a,...c)=>new Promise(u=>{o(a,u,c)});return Object.defineProperties(s,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}var L3c=h(()=>{"use strict";M3c()});async function Kyo(e,t,{concurrency:r=Number.POSITIVE_INFINITY,preserveOrder:n=!0}={}){let i=wjr(r),o=[...e].map(a=>[a,i(Zyd,a,t)]),s=wjr(n?1:Number.POSITIVE_INFINITY);try{await Promise.all(o.map(a=>s($yd,a)))}catch(a){if(a instanceof Sjr)return a.value;throw a}}var Sjr,Zyd,$yd,U3c=h(()=>{"use strict";L3c();Sjr=class extends Error{constructor(t){super(),this.value=t}},Zyd=async(e,t)=>t(await e),$yd=async e=>{let t=await Promise.all(e);if(t[1]===!0)throw new Sjr(t[0]);return!1}});function ebd(e){if(!Object.hasOwnProperty.call(q3c,e))throw new Error(`Invalid type specified: ${e}`)}async function Jyo(e,{cwd:t=V3c.default.cwd(),type:r="file",allowSymlinks:n=!0,concurrency:i,preserveOrder:o}={}){ebd(r),t=rbd(t);let s=n?Tjr.promises.stat:Tjr.promises.lstat;return Kyo(e,async a=>{try{let c=await s(_3c.default.resolve(t,a));return tbd(r,c)}catch{return!1}},{concurrency:i,preserveOrder:o})}var V3c,_3c,Tjr,G3c,q3c,tbd,rbd,W3c=h(()=>{"use strict";V3c=ye(require("process"),1),_3c=ye(require("path"),1),Tjr=ye(require("fs"),1),G3c=require("url");U3c();q3c={directory:"isDirectory",file:"isFile"};tbd=(e,t)=>t[q3c[e]](),rbd=e=>e instanceof URL?(0,G3c.fileURLToPath)(e):e});var H3c,K3c=h(()=>{"use strict";H3c=ye(require("fs"),1)});async function obd(e,t={}){let r=q$e.default.resolve(nbd(t.cwd)||""),{root:n}=q$e.default.parse(r),i=q$e.default.resolve(r,t.stopAt||n),o=t.limit||Number.POSITIVE_INFINITY,s=[e].flat(),a=async u=>{if(typeof e!="function")return Jyo(s,u);let l=await e(u.cwd);return typeof l=="string"?Jyo([l],u):l},c=[];for(;;){let u=await a({...t,cwd:r});if(u===ibd||(u&&c.push(q$e.default.resolve(r,u)),r===i||c.length>=o))break;r=q$e.default.dirname(r)}return c}async function xd(e,t={}){return(await obd(e,{...t,limit:1}))[0]}var q$e,J3c,nbd,ibd,f1=h(()=>{"use strict";q$e=ye(require("path"),1),J3c=require("url");W3c();K3c();nbd=e=>e instanceof URL?(0,J3c.fileURLToPath)(e):e,ibd=Symbol("findUpStop")});async function xh(e){let t=await xd(e??p0,{type:"directory"});if(t==null)return;let r=Lt.of(t);if(await rr(We(r,we.of(hE))))return r}var Y3c=h(()=>{"use strict";Va();Xt();f1()});var Qo=h(()=>{"use strict";Va();kAc();GAc();wDc();PDc();$kr();z3c();Y3c()});function Lzt({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:sw.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return D2e(e.auth,{single:n=>{let i=e4c({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:sw.All,schemes:[i]}},any:({any:n})=>({docs:r,requirement:sw.Any,schemes:n.map(i=>e4c({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))}),endpointSecurity:()=>({docs:r,requirement:sw.EndpointSecurity,schemes:[]})})}function e4c({reference:e,authSchemeDeclarations:t,casingsGenerator:r}){let n=(o,s)=>{let a=t?.[o];if(a==null)throw new Error("Unknown auth scheme: "+o);let c=s??(typeof a=="object"?a.docs:void 0);return R2e(a,{header:u=>Gp.header({key:o,docs:c,name:r.generateNameAndWireValue({name:u.name??o,wireValue:u.header}),valueType:Ur.primitive({v1:rs.String,v2:ei.string({default:void 0,validation:void 0})}),prefix:u.prefix,headerEnvVar:u.env,headerPlaceholder:u.placeholder}),basic:u=>t4c({key:o,casingsGenerator:r,docs:c,rawScheme:u}),tokenBearer:u=>Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:u}),inferredBearer(u){return Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:void 0})},oauth:u=>Ojr({key:o,casingsGenerator:r,docs:c,rawScheme:void 0})})},i=typeof e=="string"?e:e.scheme;switch(i){case"bearer":case"oauth":return Ojr({key:i,casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return t4c({key:i,casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return n(i,typeof e!="string"?e.docs:void 0)}}function Ojr({key:e,casingsGenerator:t,docs:r,rawScheme:n}){return Gp.bearer({key:e,docs:r,token:t.generateName(n?.token?.name??"token"),tokenEnvVar:n?.token?.env,tokenPlaceholder:n?.token?.placeholder})}function t4c({key:e,casingsGenerator:t,docs:r,rawScheme:n}){return Gp.basic({key:e,docs:r,username:t.generateName(n?.username?.name??"username"),usernameEnvVar:n?.username?.env,usernameOmit:n?.username?.omit,usernamePlaceholder:n?.username?.placeholder,password:t.generateName(n?.password?.name??"password"),passwordEnvVar:n?.password?.env,passwordOmit:n?.password?.omit,passwordPlaceholder:n?.password?.placeholder})}var r4c=h(()=>{"use strict";No();Ln()});function b0(e){let t=abd(e),{value:r,done:n}=Xyo(t,"{");return n?{head:r,parts:[]}:{head:r,parts:[...sbd(t)]}}function*sbd(e){let t;do{let{value:r}=Xyo(e,"}"),n=Xyo(e,"{");t=n.done,yield{pathParameter:r,tail:n.value}}while(!t)}function*abd(e){for(let t of e)yield t}function Xyo(e,t){let r="",n=e.next();for(;n.done!==!0&&n.value!==t;)r+=n.value,n=e.next();return{value:r,done:n.done??!1}}var n4c=h(()=>{"use strict"});function Uzt({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let n=Object.values(t)[0];if(n!=null)return{environmentsConfig:{defaultEnvironment:e??void 0,environments:CY(n,{singleBaseUrl:()=>o0.singleBaseUrl(cbd({environments:t,casingsGenerator:r})),multipleBaseUrls:i=>o0.multipleBaseUrls(ubd({baseUrls:Object.keys(i.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([i,o])=>[i,CY(o,{singleBaseUrl:s=>[...typeof s=="string"?[]:s.audiences??[]],multipleBaseUrls:s=>[...s.audiences??[]]})]))}}}function cbd({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,n])=>CY(n,{singleBaseUrl:i=>{let o=typeof i=="string",s=o?void 0:i["default-url"],a=o?void 0:i["url-template"],c=o?void 0:i.variables;return{docs:o?void 0:i.docs,id:r,name:t.generateName(r),url:Bjr(o?i:i.url),audiences:o?void 0:i.audiences,defaultUrl:s?Bjr(s):void 0,urlTemplate:a,urlVariables:c?.map(u=>({id:u.id,name:t.generateName(u.id),default:u.default,values:u.values}))}},multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function ubd({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(n=>({id:n,name:r.generateName(n)})),environments:Object.entries(t).map(([n,i])=>CY(i,{multipleBaseUrls:o=>{let s=o["url-templates"],a=o["default-urls"],c=o.variables,u=s&&Object.keys(s).length>0?s:void 0,l=a&&Object.keys(a).length>0?rp(a,d=>Bjr(d)):void 0,p=c&&Object.keys(c).length>0?Object.fromEntries(Object.entries(c).map(([d,f])=>[d,f.map(m=>({id:m.id,name:r.generateName(m.id),default:m.default,values:m.values}))])):void 0;return{docs:o.docs,id:n,name:r.generateName(n),urls:rp(o.urls,d=>Bjr(d)),audiences:o.audiences,defaultUrls:l,urlTemplates:u,urlVariables:p}},singleBaseUrl:()=>{throw new Error(`Environment ${n} does not have multiple base URLs`)}}))}}function Bjr(e){return e.endsWith("/")?e.slice(0,-1):e}var i4c=h(()=>{"use strict";No();Ln();_i()});function SEe(e){let t=2166136261;function r(o){t^=o,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t>>>=0}function n(o){for(let s=0,a=o.length;s<a;s++)r(o.charCodeAt(s))}function i(o,s){if(typeof o=="object"&&o!=null){if(s>64){n("[MaxDepthExceeded]");return}if(Array.isArray(o)){r(91);for(let a=0;a<o.length;a++)a>0&&r(44),i(o[a],s+1);r(93)}else{r(123);let a=Object.keys(o).sort(),c=a.length;for(let u=0;u<c;u++)u>0&&r(44),n(a[u]??""),r(58),i(o[a[u]??""],s+1);r(125)}}else n(String(o))}return i(e,0),t.toString(16)}var Pjr=h(()=>{"use strict"});function x$({typeReference:e,typeDeclarations:t}){if(e.type==="container"&&e.container.type==="optional")return!0;if(e.type==="named"){let r=t?.[e.typeId];if(r?.shape.type==="alias"&&r?.shape.resolvedType.type==="container"&&r?.shape.resolvedType.container.type==="optional")return!0}return!1}var Vzt=h(()=>{"use strict"});var o4c,Zyo=h(()=>{"use strict";Va();_i();o4c={[Nn.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,ku(e)])),[Nn.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[Nn.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[Nn.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all","kwargs"]),[Nn.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","internal","map","package","range","return","select","struct","switch","type","var","vendor","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[Nn.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime","object_id","hash","eql?","equal?","method","send","respond_to?","respond_to_missing?","instance_of?","kind_of?","is_a?","extend","singleton_class","instance_variables","instance_variable_get","instance_variable_set","instance_variable_defined?","remove_instance_variable","public_methods","private_methods","protected_methods","singleton_methods"]),[Nn.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[Nn.GenerationLanguage.RUST]:new Set(["as","async","await","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","union","unsafe","use","where","while","abstract","become","box","do","final","macro","override","priv","try","typeof","unsized","virtual","yield","bool","char","f32","f64","i8","i16","i32","i64","i128","isize","str","u8","u16","u32","u64","u128","usize","String","Vec","Option","Result","Box","Rc","Arc","Cell","RefCell","HashMap","HashSet","BTreeMap","BTreeSet"]),[Nn.GenerationLanguage.SWIFT]:new Set([])}});function W$e(e,t,r){let{generationLanguage:n,keywords:i,smartCasing:o}=r,s=bbd(e),a=A=>({unsafeName:A,safeName:pbd({name:A,keywords:fbd({generationLanguage:n,keywords:i})})}),c=t.preserveUnderscores===!0,u=c?(A,y)=>$yo(A,y):(A,y)=>y(A),l=u(s,$n),p=c?$yo(s,A=>ku($n(A))):ku(l),d=u(s,Gke),{leading:f,trailing:m}=c?s4c(s):{leading:"",trailing:""},g=vBt(l);if(o){!hbd(g)&&(n==null||lbd.includes(n))&&(l=f+g.map((y,E)=>{if(E>0){let v=Djr(y);if(v!=null)return v;if(Rjr(y))return y.toUpperCase()}return y}).join("")+m,p=ku(f+g.map((y,E)=>{let v=Djr(y);return v??(Rjr(y)?y.toUpperCase():E===0?ku(y):y)}).join("")+m));let A=y=>y.split(" ").map(E=>{let v=E.split(/(\d+)/);return v.map((I,C)=>{let w=Gke(I),O=v[C-1];return w!==""&&O!=null&&/^\d+$/.test(O)&&/^[^a-z0-9]/.test(I)?`_${w}`:w}).join("")}).join("_");d=c?$yo(s,A):A(s)}return{originalName:e,camelCase:a(t.casingOverrides?.camel??l),snakeCase:a(t.casingOverrides?.snake??d),screamingSnakeCase:a(t.casingOverrides?.["screaming-snake"]??d.toUpperCase()),pascalCase:a(t.casingOverrides?.pascal??p)}}function Cw({generationLanguage:e,keywords:t,smartCasing:r}){let n={generationLanguage:e,keywords:t,smartCasing:r};return{generateName:(i,o)=>o?.casingOverrides!=null?W$e(i,o,n):i,generateNameAndWireValue:({name:i,wireValue:o,opts:s})=>s?.casingOverrides!=null?{wireValue:o,name:W$e(i,s,n)}:o===i?o:{wireValue:o,name:i}}}function TEe({generationLanguage:e,keywords:t,smartCasing:r}){let n={generationLanguage:e,keywords:t,smartCasing:r};return{generateName:(i,o)=>{if(typeof i=="string")return W$e(i,o??{},n);if("wireValue"in i){let s=i.name;return typeof s=="string"?W$e(s,o??{},n):s}return i},generateNameAndWireValue:(i,o)=>{if(typeof i=="string")return{wireValue:i,name:W$e(i,o??{},n)};let{name:s,wireValue:a}=i,c=typeof s=="string"?W$e(s,o??{},n):s;return{wireValue:a,name:c}}}}function pbd({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":mbd(e)?"_"+e:e}function fbd({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return o4c[e]}function mbd(e){return dbd.test(e)}function hbd(e){return e.some((t,r)=>{if(r===0)return!1;let n=e[r-1];if(n==null)return!1;let i=Djr(n)!=null||Rjr(n),o=Djr(t)!=null||Rjr(t);return i&&o})}function Djr(e){return Abd.get(e.toUpperCase())}function Rjr(e){return gbd.has(e.toUpperCase())}function bbd(e){return ybd.reduce((t,[r,n])=>t.replace(r,n),e)}function s4c(e){let t=e.match(/^(_+)/),r=e.match(/(_+)$/),n=t?.[1]??"",i=r?.[1]??"";if(n.length+i.length>=e.length)return{leading:e,trailing:"",core:""};let o=e.slice(n.length,e.length-i.length||void 0);return{leading:n,trailing:i,core:o}}function $yo(e,t){let{leading:r,trailing:n,core:i}=s4c(e);return r===""&&n===""?t(e):`${r}${t(i)}${n}`}var lbd,dbd,gbd,Abd,ybd,a4c=h(()=>{"use strict";_i();Zyo();lbd=["go","ruby"];dbd=/^[0-9]/;gbd=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),Abd=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]),ybd=[[/\[\]/g,"Array"]]});var UV=h(()=>{"use strict";a4c();Zyo()});function Ebd(e){return"wireValue"in e&&!("originalName"in e)}function Fjr(e){return typeof e=="string"?e:Ebd(e)?e.name:e}function Mr(e){let t=Fjr(e);return typeof t=="string"?t:t.originalName}function tr(e){return typeof e=="string"?e:e.wireValue}function kjr(e){return typeof e=="string"?e:e.name}function tbo(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).snakeCase.unsafeName:t.snakeCase.unsafeName}function rbo(){return ebo==null&&(ebo=TEe({generationLanguage:void 0,keywords:void 0,smartCasing:!0})),ebo}function nbo(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).camelCase.unsafeName:t.camelCase.unsafeName}function _zt(e){let t=Fjr(e);return typeof t=="string"?rbo().generateName(t).pascalCase.unsafeName:t.pascalCase.unsafeName}var ebo,aB=h(()=>{"use strict";UV()});function c4c({fieldName:e,containerType:t,maxDepth:r,currentDepth:n,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s}){if(n>=r)return uW({containerType:t});switch(t.type){case"list":{let a=em({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.list({list:[a.example,a.example],itemType:t.list}),jsonExample:[a.jsonExample,a.jsonExample]}}case"literal":return{type:"success",example:Qu.literal({literal:t.literal._visit({boolean:a=>Si.boolean(a),string:a=>Si.string({original:a}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:t.literal._visit({boolean:a=>a,string:a=>a,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":{if(o)return uW({containerType:t});let a=em({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.optional({optional:a.example,valueType:t.optional}),jsonExample:a.jsonExample}}case"nullable":{if(o)return uW({containerType:t});let a=em({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.nullable({nullable:a.example,valueType:t.nullable}),jsonExample:a.jsonExample}}case"set":{let a=em({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.set({set:[a.example],itemType:t.set}),jsonExample:[a.jsonExample]}}case"map":{let a=em({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s}),c=em({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:n+1,typeDeclarations:i,skipOptionalProperties:o,visitedTypes:s});return a.type==="failure"||c.type==="failure"?uW({containerType:t}):{type:"success",example:Qu.map({map:[{key:a.example,value:c.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[a.jsonExample]:c.jsonExample}}}default:Ee(t)}}function uW({containerType:e}){switch(e.type){case"list":return{type:"success",example:Qu.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:Qu.literal({literal:e.literal._visit({boolean:t=>Si.boolean(t),string:t=>Si.string({original:t}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:e.literal._visit({boolean:t=>t,string:t=>t,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":return{type:"success",example:Qu.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:Qu.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:Qu.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:Qu.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Ee(e)}}var u4c=h(()=>{"use strict";Rt();Ln();H$e()});function ibo({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return wbd({fieldName:e,default_:Ibd(t.v2),validation:vbd(t.v2)});case"BASE_64":return{type:"success",example:Si.base64(Di.BASE64),jsonExample:Di.BASE64};case"BOOLEAN":return{type:"success",example:Si.boolean(Di.BOOLEAN),jsonExample:Di.BOOLEAN};case"DATE":return{type:"success",example:Si.date(Di.DATE),jsonExample:Di.DATE};case"DATE_TIME":return{type:"success",example:Si.datetime({datetime:new Date(Di.DATE_TIME),raw:Di.DATE_TIME}),jsonExample:Di.DATE_TIME};case"DOUBLE":return Sbd({fieldName:e,validation:xbd(t.v2)});case"FLOAT":return{type:"success",example:Si.float(Di.FLOAT),jsonExample:Di.FLOAT};case"INTEGER":return Tbd({fieldName:e,validation:Cbd(t.v2)});case"UINT_64":return{type:"success",example:Si.uint64(Di.INT64),jsonExample:Di.INT64};case"UINT":return{type:"success",example:Si.uint(Di.UINT),jsonExample:Di.UINT};case"BIG_INTEGER":return{type:"success",example:Si.bigInteger(Di.INT64.toString()),jsonExample:`${Di.INT64}`};case"LONG":return{type:"success",example:Si.long(Di.INT64),jsonExample:Di.INT64};case"UUID":return{type:"success",example:Si.uuid(Di.UUID),jsonExample:Di.UUID};case"DATE_TIME_RFC_2822":return{type:"success",example:Si.datetimeRfc2822({datetime:new Date(Di.DATE_TIME_RFC_2822),raw:Di.DATE_TIME_RFC_2822}),jsonExample:Di.DATE_TIME_RFC_2822};default:Ee(t.v1)}}function Ibd(e){if(e?.type==="string")return e.default}function vbd(e){if(e?.type==="string")return e.validation}function xbd(e){if(e?.type==="double")return e.validation}function Cbd(e){if(e?.type==="integer")return e.validation}function l4c(e){if(e<=0)return"";if(e<=Di.SAMPLE_STRINGS.length){let t=Di.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Di.SAMPLE_STRINGS[Di.SAMPLE_STRINGS.length-1]+".".repeat(e-Di.SAMPLE_STRINGS.length)}function wbd({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:Si.string({original:t}),jsonExample:t};if(r){let i=r.minLength,o=r.maxLength;if(i){let s=l4c(i);return{type:"success",example:Si.string({original:s}),jsonExample:s}}else if(o!=null&&o<10){let s=l4c(o);return{type:"success",example:Si.string({original:s}),jsonExample:s}}}let n=e??Di.STRING;return{type:"success",example:Si.string({original:n}),jsonExample:n}}function Sbd({fieldName:e,validation:t}){if(t){let r=t.max,n=t.min;if(r)return{type:"success",example:Si.double(r),jsonExample:r};if(n)return{type:"success",example:Si.double(n),jsonExample:n}}return{type:"success",example:Si.double(Di.DOUBLE),jsonExample:Di.DOUBLE}}function Tbd({fieldName:e,validation:t}){if(t){let r=t.max,n=t.min;if(r)return{type:"success",example:Si.integer(r),jsonExample:r};if(n)return{type:"success",example:Si.integer(n),jsonExample:n}}return{type:"success",example:Si.integer(Di.INT),jsonExample:Di.INT}}var p4c=h(()=>{"use strict";Rt();Ln()});function Obd(e,t){if(e.type==="primitive"||e.type==="container"&&e.container.type==="literal")return!0;if(e.type==="named"){let r=t[e.typeId];if(r!=null&&r.shape.type==="enum")return!0}return!1}function Uze({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s}){switch(r.shape.type){case"alias":{let a=em({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s});if(a.type==="failure")return a;let{example:c,jsonExample:u}=a;return{type:"success",example:Su.alias({value:c}),jsonExample:u}}case"enum":{let a=r.shape.values[0];return a==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Su.enum({value:a.name}),jsonExample:tr(a.name)}}case"object":{let a={},c=[];if((r.shape.extendedProperties==null||r.shape.extendedProperties.length===0)&&r.shape.extends!=null)for(let d of r.shape.extends){let f=t[d.typeId];if(f==null)continue;let m=Uze({fieldName:e,typeDeclaration:f,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});m!=null&&m.type==="success"&&m.example.type==="object"&&(Object.assign(a,m.jsonExample),c.push(...m.example.properties))}let u=Bbd({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:i,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(u.type==="failure")return u;let{example:l,jsonExample:p}=u;return{type:"success",example:Su.object({properties:[...c,...l.properties],extraProperties:l.extraProperties}),jsonExample:Object.assign({},a,p)}}case"undiscriminatedUnion":{let a=r.shape.members;if(a.every(l=>Obd(l.type,t))){let l=a.findIndex(p=>{if(p.type.type==="container"&&p.type.container.type==="literal")return!0;if(p.type.type==="named"){let d=t[p.type.typeId];if(d!=null&&d.shape.type==="enum")return d.shape.values.length>0}return!1});if(l!==-1){let p=a[l];if(p!=null){let d=em({fieldName:e,typeReference:p.type,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(d.type==="success"){let{example:f,jsonExample:m}=d;return{type:"success",example:Su.undiscriminatedUnion({index:l,singleUnionType:f}),jsonExample:m}}}}}let u=0;for(let l of a){let p=em({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(p.type==="failure"){++u;continue}let{example:d,jsonExample:f}=p;return{type:"success",example:Su.undiscriminatedUnion({index:u,singleUnionType:d}),jsonExample:f}}break}case"union":{let a=r.shape.discriminant,c={};if(r.shape.baseProperties!=null)for(let p of r.shape.baseProperties){let d=em({fieldName:tr(p.name),typeReference:p.valueType,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});d.type==="success"&&(c[tr(p.name)]=d.jsonExample)}let u=r.shape.baseProperties.map(p=>{let d=em({fieldName:tr(p.name),typeReference:p.valueType,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(d.type==="failure")throw new Error(`Failed to generate example for union base property ${tr(p.name)}`);let{example:f}=d;return{name:p.name,value:f}}),l=r.shape.extends.flatMap(p=>{let d=t[p.typeId];if(d==null)throw new Error(`Failed to find extended type declaration with id ${p.typeId}`);let f=Uze({fieldName:e,typeDeclaration:d,typeDeclarations:t,currentDepth:i+1,maxDepth:n,skipOptionalProperties:o,visitedTypes:s});if(f==null||f.type==="failure")throw new Error(`Failed to generate example for extended type declaration ${d.name.typeId}`);if(f.example.type!=="object")throw new Error(`Extended type declaration ${d.name.typeId} is not an object`);return f.example.properties});for(let p of r.shape.types){let d=p.shape._visit({noProperties:()=>({type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.noProperties()},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),...c}}),samePropertiesAsObject:f=>{let m=t[f.typeId];if(m==null)return{type:"failure",message:`Failed to find type declaration with id ${f.typeId}`};let g=Uze({currentDepth:i,maxDepth:n,fieldName:e,typeDeclaration:m,typeDeclarations:t,skipOptionalProperties:o,visitedTypes:s});if(g==null)return{type:"failure",message:"Failed to generate example for type reference"};if(g.type==="failure")return g;let{example:A,jsonExample:y}=g;return{type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.samePropertiesAsObject({typeId:m.name.typeId,object:A.type==="object"?A:{properties:[],extraProperties:void 0}})},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),...typeof y=="object"?y:{},...c}}},singleProperty:f=>{let m=em({currentDepth:i+1,maxDepth:n,fieldName:e,typeReference:f.type,typeDeclarations:t,skipOptionalProperties:o,visitedTypes:s});if(m.type==="failure")return m;let{example:g,jsonExample:A}=m;return{type:"success",example:Su.union({discriminant:a,singleUnionType:{wireDiscriminantValue:p.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.singleProperty(g)},baseProperties:u,extendProperties:l}),jsonExample:{[tr(a)]:tr(p.discriminantValue),[tr(f.name)]:A,...c}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(d.type!=="failure")return d}}}return{type:"failure",message:"Failed to generate example for type reference"}}function Bbd({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:n,maxDepth:i,currentDepth:o,skipOptionalProperties:s,visitedTypes:a}){let c={},u=[];for(let l of[...r.properties??[],...r.extendedProperties??[]]){let p=em({fieldName:tr(l.name),typeReference:l.valueType,typeDeclarations:n,currentDepth:o+1,maxDepth:i,skipOptionalProperties:s,visitedTypes:a});if(p.type==="failure"&&!x$({typeDeclarations:n,typeReference:l.valueType}))return{type:"failure",message:`Failed to generate required property ${tr(l.name)} b/c ${p.message}`};if(p.type==="failure")continue;let{example:d,jsonExample:f}=p;u.push({name:l.name,originalTypeDeclaration:t.name,value:d,propertyAccess:l.propertyAccess}),c[tr(l.name)]=f}return{type:"success",example:Su.object({properties:u,extraProperties:void 0}),jsonExample:c}}var obo=h(()=>{"use strict";Ln();Vzt();aB();H$e()});function em({fieldName:e,typeReference:t,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s}){if(i>n)return{type:"failure",message:`Exceeded max depth of ${n}`};switch(t.type){case"named":{let a=r[t.typeId];if(a==null)return{type:"failure",message:`Failed to find type declaration with id ${t.typeId}`};let c=s??new Map,u=c.get(t.typeId)??0;if(u>=2){let m=new Set([t.typeId]);return abo({typeDeclaration:a,typeDeclarations:r,visitedMinimalTypes:m})}c.set(t.typeId,u+1);let l=Uze({fieldName:e,typeDeclaration:a,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:c}),p=(c.get(t.typeId)??1)-1;if(p<=0?c.delete(t.typeId):c.set(t.typeId,p),l==null)return{type:"failure",message:"Failed to generate example for type declaration"};if(l.type==="failure")return l;let{example:d,jsonExample:f}=l;return{type:"success",example:{jsonExample:f,shape:Zi.named({shape:d,typeName:a.name})},jsonExample:f}}case"container":{let a=c4c({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:n,currentDepth:i,skipOptionalProperties:o,visitedTypes:s});if(a.type==="failure"){let{example:l,jsonExample:p}=uW({containerType:t.container});return{type:"success",example:{jsonExample:p,shape:Zi.container(l)},jsonExample:p}}let{example:c,jsonExample:u}=a;return{type:"success",example:{jsonExample:u,shape:Zi.container(c)},jsonExample:u}}case"primitive":{let{jsonExample:a,example:c}=ibo({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:a,shape:Zi.primitive(c)},jsonExample:a}}case"unknown":{let a={key:"value"};return{type:"success",example:{jsonExample:a,shape:Zi.unknown(a)},jsonExample:a}}}}function sbo(e,t){switch(e.type){case"primitive":case"unknown":return!0;case"named":return t[e.typeId]?.shape.type==="enum";case"container":switch(e.container.type){case"literal":return!0;case"optional":return sbo(e.container.optional,t);case"nullable":return sbo(e.container.nullable,t);default:return!1}}}function abo({typeDeclaration:e,typeDeclarations:t,visitedMinimalTypes:r}){let n=r??new Set;switch(n.add(e.name.typeId),e.shape.type){case"object":{let i={},o=[];for(let a of[...e.shape.properties??[],...e.shape.extendedProperties??[]])if(sbo(a.valueType,t)){let c=em({fieldName:tr(a.name),typeReference:a.valueType,typeDeclarations:t,currentDepth:0,maxDepth:3,skipOptionalProperties:!0});if(c.type==="failure")continue;o.push({name:a.name,originalTypeDeclaration:e.name,value:c.example,propertyAccess:a.propertyAccess}),i[tr(a.name)]=c.jsonExample}else if(a.valueType.type==="named"&&!n.has(a.valueType.typeId)){let c=t[a.valueType.typeId];if(c!=null){let u=abo({typeDeclaration:c,typeDeclarations:t,visitedMinimalTypes:n});u.type==="success"&&(o.push({name:a.name,originalTypeDeclaration:e.name,value:u.example,propertyAccess:a.propertyAccess}),i[tr(a.name)]=u.jsonExample)}}else if(a.valueType.type==="container"){let{example:c,jsonExample:u}=uW({containerType:a.valueType.container});o.push({name:a.name,originalTypeDeclaration:e.name,value:{jsonExample:u,shape:Zi.container(c)},propertyAccess:a.propertyAccess}),i[tr(a.name)]=u}let s=Su.object({properties:o,extraProperties:void 0});return{type:"success",example:{jsonExample:i,shape:Zi.named({shape:s,typeName:e.name})},jsonExample:i}}case"enum":{let i=e.shape.values[0];if(i==null)return{type:"failure",message:"No enum values present for recursive type stub"};let o=tr(i.name),s=Su.enum({value:i.name});return{type:"success",example:{jsonExample:o,shape:Zi.named({shape:s,typeName:e.name})},jsonExample:o}}case"alias":{let i=e.shape.aliasOf;if(i.type==="primitive"){let{jsonExample:s,example:a}=ibo({fieldName:void 0,primitiveType:i.primitive});return{type:"success",example:{jsonExample:s,shape:Zi.named({shape:Su.alias({value:{jsonExample:s,shape:Zi.primitive(a)}}),typeName:e.name})},jsonExample:s}}if(i.type==="named"){let s=t[i.typeId];if(s!=null&&s.name.typeId!==e.name.typeId)return abo({typeDeclaration:s,typeDeclarations:t,visitedMinimalTypes:n})}let o={};return{type:"success",example:{jsonExample:o,shape:Zi.named({shape:Su.alias({value:{jsonExample:o,shape:Zi.unknown(o)}}),typeName:e.name})},jsonExample:o}}case"union":{let i=e.shape.discriminant;for(let o of e.shape.types)if(o.shape._visit({noProperties:()=>!0,samePropertiesAsObject:()=>!1,singleProperty:()=>!1,_other:()=>!1})){let a={[tr(i)]:tr(o.discriminantValue)};return{type:"success",example:{jsonExample:a,shape:Zi.named({shape:Su.union({discriminant:i,singleUnionType:{wireDiscriminantValue:o.discriminantValue,shape:Ut.ExampleSingleUnionTypeProperties.noProperties()},baseProperties:[],extendProperties:[]}),typeName:e.name})},jsonExample:a}}return{type:"failure",message:`No simple variant available for recursive union ${e.name.typeId}`}}case"undiscriminatedUnion":return{type:"failure",message:`Cannot generate stub for recursive undiscriminated union ${e.name.typeId}`}}}var H$e=h(()=>{"use strict";Ln();aB();u4c();p4c();obo()});function Vze(e,t){let r=[];for(let n of e){let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;let o=i.example.jsonExample;if(typeof o!="string"&&typeof o!="number"&&typeof o!="boolean"){let s=Mr(n.name);r.push({name:n.name,value:{jsonExample:s,shape:Zi.primitive(Si.string({original:s}))}})}else r.push({name:n.name,value:i.example})}return{type:"success",example:r,jsonExample:void 0}}function K$e(e,t){let r=[];for(let n of e){if(t.skipOptionalRequestProperties&&x$({typeDeclarations:t.typeDeclarations,typeReference:n.valueType}))continue;let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;r.push({name:n.name,value:i.example})}return{type:"success",example:r,jsonExample:void 0}}function Njr(e,t){let r=[];for(let n of e){if(t.skipOptionalRequestProperties&&x$({typeDeclarations:t.typeDeclarations,typeReference:n.valueType}))continue;let i=em({fieldName:Mr(n.name),currentDepth:0,maxDepth:t.maxDepth??10,typeDeclarations:t.typeDeclarations,typeReference:n.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(i.type==="failure")return i;r.push({name:n.name,shape:n.allowMultiple?aw.exploded():aw.single(),value:i.example})}return{type:"success",example:r,jsonExample:void 0}}var cbo=h(()=>{"use strict";Ln();Vzt();aB();H$e()});function J$e({ir:e,endpoint:t,service:r,typeDeclarations:n,skipOptionalRequestProperties:i,generationResponse:o}){let s={name:void 0,endpointHeaders:[],endpointPathParameters:[],queryParameters:[],servicePathParameters:[],serviceHeaders:[],rootPathParameters:[],request:void 0,response:Eg.ok(CA.body(void 0)),docs:void 0},a=Vze(t.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;s.endpointPathParameters=a.example;let c=Vze(r.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(c.type==="failure")return c;s.servicePathParameters=c.example;let u=Vze(e.pathParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;s.rootPathParameters=u.example;let l=Njr(t.queryParameters,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;s.queryParameters=l.example;let p=K$e(t.headers,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(p.type==="failure")return p;s.endpointHeaders=p.example;let d=K$e(r.headers,{typeDeclarations:n,skipOptionalRequestProperties:i,maxDepth:1});if(d.type==="failure")return d;if(s.serviceHeaders=d.example,t.requestBody!=null)switch(t.requestBody.type){case"bytes":return{type:"failure",message:"Bytes request unsupported"};case"fileUpload":return{type:"failure",message:"File upload unsupported"};case"inlinedRequestBody":{let f={},m=[];if(t.requestBody.extends!=null)for(let g of t.requestBody.extends){let A=n[g.typeId];if(A==null)throw new Error(`Failed to find extended type declaration with id ${g.typeId}`);let y=Uze({typeDeclaration:A,typeDeclarations:n,currentDepth:1,maxDepth:10,skipOptionalProperties:i});y!=null&&y.type==="success"&&Object.assign(f,y.jsonExample)}for(let g of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let A=em({fieldName:tr(g.name),typeReference:g.valueType,typeDeclarations:n,currentDepth:1,maxDepth:10,skipOptionalProperties:i});if(A.type==="failure"&&!x$({typeDeclarations:n,typeReference:g.valueType}))return{type:"failure",message:`Failed to generate required property ${tr(g.name)} b/c ${A.message}`};if(A.type==="failure")continue;let{example:y,jsonExample:E}=A;m.push({name:g.name,originalTypeDeclaration:void 0,value:y}),f[tr(g.name)]=E}s.request=PP.inlinedRequestBody({jsonExample:f,properties:m,extraProperties:void 0});break}case"reference":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:i});if(f.type==="failure")return f;let{example:m}=f;s.request=PP.reference(m);break}default:Ee(t.requestBody)}if(o.type==="success"&&t.response?.body!=null)switch(t.response.body.type){case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"streamParameter":{let f;switch(t.response.body.nonStreamResponse.type){case"bytes":return{type:"failure",message:"Bytes unsupported"};case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1});break;default:Ee(t.response.body.nonStreamResponse)}if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"streaming":{let f;switch(t.response.body.value.type){case"sse":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f,A=t.response.body.value.payload,y="";if(A.type==="named"){let E=n[A.typeId];if(E?.shape.type==="union"&&E.shape.discriminatorContext===Zce.Protocol){let v=E.shape.types[0];v!=null&&(y=tr(v.discriminantValue))}}s.response=Eg.ok(CA.sse([{data:{...m,jsonExample:g},event:y}]));break}case"json":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.stream([{...m,jsonExample:g}]));break}case"text":{if(f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1}),f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.stream([{...m,jsonExample:g}]));break}default:Ee(t.response.body.value)}break}case"text":{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:ubo,skipOptionalProperties:!1});if(f.type==="failure")return f;let{example:m,jsonExample:g}=f;s.response=Eg.ok(CA.body({...m,jsonExample:g}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Ee(t.response.body)}else if(o.type==="error")if(o.declaration.type==null)s.response=Eg.error({body:void 0,error:o.declaration.name});else{let f=em({currentDepth:0,maxDepth:10,typeDeclarations:n,typeReference:o.declaration.type,skipOptionalProperties:i});if(f.type==="failure")return f;let{example:m}=f;s.response=Eg.error({body:m,error:o.declaration.name})}try{return{type:"success",example:{id:SEe(s),url:Pbd(t,s),...s},jsonExample:void 0}}catch(f){return{type:"failure",message:`Parse failure with exceptions ${f}`}}}function Pbd(e,t){let r={};[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters].forEach(i=>{let o=i.value.jsonExample,s=typeof o=="string"?o:JSON.stringify(o);r[Mr(i.name)]=s});let n=e.fullPath.head+e.fullPath.parts.map(i=>encodeURIComponent(`${r[i.pathParameter]}`)+i.tail).join("");return n.startsWith("/")||n===""?n:`/${n}`}var ubo,lbo=h(()=>{"use strict";Rt();Ln();Pjr();Vzt();aB();cbo();obo();H$e();ubo=Ur.primitive({v1:rs.String,v2:ei.string({default:void 0,validation:void 0})})});function pbo({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:n}){let i={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},o=Vze(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(o.type==="failure")return o;i.pathParameters.push(...o.example);let s=Vze(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;i.pathParameters.push(...s.example);let a=Njr(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:10});if(a.type==="failure")return a;i.queryParameters=a.example;let c=K$e(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;i.headers.push(...c.example);let u=K$e(e.headers,{typeDeclarations:r,skipOptionalRequestProperties:n,maxDepth:1});if(u.type==="failure")return u;i.headers.push(...u.example);let p=t.messages.filter(m=>m.origin==="client")[0];if(p!=null){let m=f4c({message:p,typeDeclarations:r,skipOptionalRequestProperties:n});m!=null&&i.messages.push({type:p.type,body:m})}let f=t.messages.filter(m=>m.origin==="server")[0];if(f!=null){let m=f4c({message:f,typeDeclarations:r,skipOptionalRequestProperties:n});m!=null&&i.messages.push({type:f.type,body:m})}return{type:"success",example:{...i,url:Dbd(t,i)},jsonExample:void 0}}function f4c({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let n=em({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(n.type==="success")return K6.reference(n.example)}function Dbd(e,t){let r={};[...t.pathParameters].forEach(i=>{let o=i.value.jsonExample,s=typeof o=="string"?o:JSON.stringify(o);r[Mr(i.name)]=s});let n=e.path.head+e.path.parts.map(i=>encodeURIComponent(`${r[i.pathParameter]}`)+i.tail).join("");return n.startsWith("/")||n===""?n:`/${n}`}var d4c=h(()=>{"use strict";Ln();aB();cbo();H$e()});function Y$e(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},n=Object.values(t)[0],i=Object.values(r)[0];return{userExample:n,autoExample:i}}function OEe(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}var jjr=h(()=>{"use strict"});function m4c({ir:e,endpoint:t,skipOptionalRequestProperties:r}){let n=e.types,i={pathParameters:{},queryParameters:{},headers:{}};for(let s of t.pathParameters){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);a!==void 0?i.pathParameters[Mr(s.name)]=a:c!==void 0&&(i.pathParameters[Mr(s.name)]=c)}for(let s of t.queryParameters){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);if(a!==void 0)i.queryParameters[Mr(s.name)]=a;else if(c!==void 0){if(r&&x$({typeReference:s.valueType,typeDeclarations:n}))continue;i.queryParameters[Mr(s.name)]=c}}let o=[...t.headers,...e.headers,...e.idempotencyHeaders];for(let s of o){let{userExample:a,autoExample:c}=Y$e(s.v2Examples);if(a!==void 0)i.headers[tr(s.name)]=a;else if(c!==void 0){if(r&&x$({typeReference:s.valueType,typeDeclarations:n}))continue;i.headers[tr(s.name)]=c}}return i}var h4c=h(()=>{"use strict";Vzt();aB();jjr()});function g4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}){let{pathParameters:n,queryParameters:i,headers:o}=m4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}),s={},a={},c={endpoint:{method:e.method,path:Rbd(e)},baseUrl:void 0,environment:e.baseUrl,auth:void 0,pathParameters:n,queryParameters:i,headers:o,requestBody:void 0,docs:void 0};if(e.requestBody!=null)switch(e.requestBody.type){case"bytes":break;case"fileUpload":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}case"inlinedRequestBody":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}case"reference":{let{userExamples:u,autoExamples:l}=OEe(e.requestBody.v2Examples);for(let[p,d]of Object.entries(u))s[p]={...c,requestBody:d};for(let[p,d]of Object.entries(l))a[p]={...c,requestBody:d};break}default:Ee(e.requestBody)}return{userRequestExamples:s,autoRequestExamples:a,baseExample:c}}function Rbd(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(n=>{let{userExample:i,autoExample:o}=Y$e(n.v2Examples),s=i??o,a;s==null?a=Mr(n.name):a=typeof s=="string"?s:JSON.stringify(s),t[Mr(n.name)]=a});let r=e.fullPath.head+e.fullPath.parts.map(n=>encodeURIComponent(`${t[n.pathParameter]}`)+n.tail).join("");return r.startsWith("/")||r===""?r:`/${r}`}var A4c=h(()=>{"use strict";Rt();aB();h4c();jjr()});function Qjr({endpoint:e,responseObject:t}){let r=t!==void 0?t:e.response,n={},i={},o={statusCode:r?.statusCode,body:void 0,docs:void 0};if(r==null)return{userResponseExamples:{},autoResponseExamples:{},baseExample:o};if(r.body==null)return e.source?.type==="openrpc"?{userResponseExamples:{},autoResponseExamples:{},baseExample:{...o,body:Dx.json(Gzt(null))}}:{userResponseExamples:{},autoResponseExamples:{},baseExample:o};switch(r.body.type){case"bytes":break;case"fileDownload":break;case"text":{let s=r.body,{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a)){let p=e.source?.type==="openrpc"?Gzt(l):l;n[u]={...o,body:Dx.json(p)}}for(let[u,l]of Object.entries(c)){let p=e.source?.type==="openrpc"?Gzt(l):l;i[u]={...o,body:Dx.json(p)}}break}case"json":{let s=r.body.value;if(s.type==="response"){let{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a)){let p=e.source?.type==="openrpc"?Gzt(l):l;n[u]={...o,body:Dx.json(p)}}for(let[u,l]of Object.entries(c)){let p=e.source?.type==="openrpc"?Gzt(l):l;i[u]={...o,body:Dx.json(p)}}}break}case"streaming":{let s=r.body.value;if(s.type==="json"){let{userExamples:a,autoExamples:c}=OEe(s.v2Examples);for(let[u,l]of Object.entries(a))n[u]={...o,body:Dx.stream([l])};for(let[u,l]of Object.entries(c))i[u]={...o,body:Dx.stream([l])}}break}case"streamParameter":break;default:Ee(r.body)}return{userResponseExamples:n,autoResponseExamples:i,baseExample:o}}function Gzt(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}var y4c=h(()=>{"use strict";Rt();Ln();jjr()});function zjr({key:e,displayName:t,request:r,response:n,exampleStore:i,userOrAutoStore:o}){if(!i.has(e)){let s={displayName:t,contentType:void 0,request:r,response:n,codeSamples:void 0};return o[e]=s,Fbd({exampleStore:i,key:e,example:s}),!0}return!1}function b4c({endpoint:e,ir:t,skipOptionalRequestProperties:r,logger:n}){let i={},o={},s=new Map,{userRequestExamples:a,autoRequestExamples:c,baseExample:u}=g4c({endpoint:e,ir:t,skipOptionalRequestProperties:r}),l=Object.keys(a)[0],p=Object.values(a)[0],d=Object.keys(c)[0],f=Object.values(c)[0],m=kbd({endpoint:e,userRequestExamples:a,baseRequestExample:u,firstUserRequestName:l,firstUserRequestExample:p,firstAutoRequestName:d,firstAutoRequestExample:f,userResults:i,autoResults:o,exampleStore:s,logger:n});if(Nbd({endpoint:e,userRequestExamples:a,requestExamplesUsed:m,userResults:i,exampleStore:s}),Object.keys(i).length===0&&Object.keys(o).length===0){let{baseExample:g}=Qjr({endpoint:e}),A=X$e(d??"base","base",void 0);zjr({key:A,displayName:d??"base",request:f??u,response:g,exampleStore:s,userOrAutoStore:o})}return{userFullExamples:i,autoFullExamples:o}}function kbd({endpoint:e,userRequestExamples:t,baseRequestExample:r,firstUserRequestName:n,firstUserRequestExample:i,firstAutoRequestName:o,firstAutoRequestExample:s,userResults:a,autoResults:c,exampleStore:u,logger:l}){let p=e.v2Responses?.responses??[e.response],d=new Set;for(let f of p){let m=!1,{userResponseExamples:g,autoResponseExamples:A,baseExample:y}=Qjr({endpoint:e,responseObject:f}),E=Object.keys(A)[0],v=Object.values(A)[0];for(let[I,C]of Object.entries(g)){let w,O;t[I]?(O=t[I],d.add(I),w=X$e(I,I,f?.statusCode)):s&&o?(O=s,w=X$e(o,I,f?.statusCode)):(Object.keys(t).length>0&&l?.warn(`Response example "${I}" on ${e.method.toUpperCase()} ${e.fullPath.head} has no matching request example with the same summary. Falling back to a base request with no body. To pair them, set the request and response example summary fields to the same value.`),O=r,w=X$e("base",I,f?.statusCode)),zjr({key:w,displayName:I,request:O,response:C,exampleStore:u,userOrAutoStore:a})&&(m=!0)}if(!m){let I=$n(`${Mr(e.name)}_example`);n&&i&&d.add(n);let C=X$e(n??o??"base",E??"base",f?.statusCode),w=i!=null?a:c;zjr({key:C,displayName:n??o??I,request:i??s??r,response:v??y,exampleStore:u,userOrAutoStore:w})&&(m=!0)}}return d}function Nbd({endpoint:e,userRequestExamples:t,requestExamplesUsed:r,userResults:n,exampleStore:i}){let{userResponseExamples:o,autoResponseExamples:s,baseExample:a}=Qjr({endpoint:e}),c=Object.values(o)[0],u=Object.keys(o)[0],l=Object.keys(s)[0],p=Object.values(s)[0],d=Object.entries(t).filter(([f])=>!r.has(f));for(let[f,m]of d){let g=X$e(f,u??l??"base",c?c.statusCode:p?p.statusCode:a.statusCode);zjr({key:g,displayName:f,request:m,response:c??p??a,exampleStore:i,userOrAutoStore:n})}}var X$e,Fbd,E4c=h(()=>{"use strict";_i();aB();A4c();y4c();X$e=(e,t,r)=>{let n;return e===t?n=`${e}`:n=`${e}_${t}`,r&&(n=`${n}_${r}`),n},Fbd=({exampleStore:e,key:t,example:r})=>e.has(t)?!1:(e.set(t,r),!0)});function qzt({ir:e,exampleGeneration:t}){let r={disabled:t.disabled,includeOptionalRequestPropertyExamples:t.includeOptionalRequestPropertyExamples??!1,skipAutogenerationIfManualExamplesExist:t.skipAutogenerationIfManualExamplesExist??!1,skipErrorAutogenerationIfManualErrorExamplesExist:t.skipErrorAutogenerationIfManualErrorExamplesExist??!1};for(let[n,i]of Object.entries(e.services))for(let o of i.endpoints){let s=[];if(o.userSpecifiedExamples.length===0||r.skipAutogenerationIfManualExamplesExist===!1){let a=J$e({ir:e,service:i,endpoint:o,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples,generationResponse:{type:"success"}});a.type==="success"&&s.push({example:a.example})}if(o.userSpecifiedExamples.filter(a=>a.example?.response.type==="error").length===0||r.skipErrorAutogenerationIfManualErrorExamplesExist===!1)for(let a of o.errors){let c=e.errors[a.error.errorId];if(!c)continue;let u=J$e({ir:e,service:i,endpoint:o,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples,generationResponse:{type:"error",declaration:c}});u.type==="success"&&s.push({example:u.example})}o.autogeneratedExamples=s}for(let[n,i]of Object.entries(e.websocketChannels??{})){if(i.examples.length>0&&r.skipAutogenerationIfManualExamplesExist===!0)continue;let o=pbo({ir:e,channel:i,typeDeclarations:e.types,skipOptionalRequestProperties:!r.includeOptionalRequestPropertyExamples});if(o.type==="failure")continue;let{example:s}=o;i.examples=[...i.examples,s]}return e}function fbo({ir:e,exampleGeneration:t,logger:r}){let n={disabled:t.disabled,includeOptionalRequestPropertyExamples:t.includeOptionalRequestPropertyExamples??!1,skipAutogenerationIfManualExamplesExist:t.skipAutogenerationIfManualExamplesExist??!1,skipErrorAutogenerationIfManualErrorExamplesExist:t.skipErrorAutogenerationIfManualErrorExamplesExist??!1};for(let[i,o]of Object.entries(e.services))for(let s of o.endpoints){s.v2Examples==null&&(s.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}});let{userFullExamples:a,autoFullExamples:c}=b4c({endpoint:s,ir:e,skipOptionalRequestProperties:!n.includeOptionalRequestPropertyExamples,logger:r});if(Object.keys(s.v2Examples.userSpecifiedExamples).length>0){if(Object.values(s.v2Examples.userSpecifiedExamples).some(l=>l.request!=null||l.response!=null))continue;let u=Object.values(s.v2Examples.userSpecifiedExamples).filter(l=>l!=null).flatMap(l=>l.codeSamples??[]);for(let[l,p]of Object.entries(c))c[l]={...p,codeSamples:u};for(let[l,p]of Object.entries(a))a[l]={...p,codeSamples:u}}s.v2Examples.autogeneratedExamples=c,s.v2Examples.userSpecifiedExamples=a}for(let[i,o]of Object.entries(e.websocketChannels??{})){if(o.examples.length>0&&n.skipAutogenerationIfManualExamplesExist===!0)continue;let s=pbo({ir:e,channel:o,typeDeclarations:e.types,skipOptionalRequestProperties:!n.includeOptionalRequestPropertyExamples});if(s.type==="failure")continue;let{example:a}=s;o.examples=[...o.examples,a]}return e}var I4c=h(()=>{"use strict";lbo();d4c();E4c()});function EL(e){return e.allParts.map(t=>Mr(t)).join("/")}var dbo=h(()=>{"use strict";aB()});var Bu,Z$e=h(()=>{"use strict";aB();dbo();Bu={generateTypeId:e=>`type_${EL(e.fernFilepath)}:${Mr(e.name)}`,generateErrorId:e=>`error_${EL(e.fernFilepath)}:${Mr(e.name)}`,generateServiceId:e=>`service_${EL(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${EL(e)}`,generateSubpackageId:e=>`subpackage_${EL(e)}`,generateEndpointId:(e,t)=>{let r=EL(e.fernFilepath),n=Mr(t.name);return`endpoint_${r}.${n}`},generateWebhookGroupId:e=>`webhooks_${EL(e)}`,generateWebhookId:(e,t)=>`webhooks_${EL(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${EL(e)}`}});function Wzt(e,t){if(e==null||typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(e))t.has(n)&&(r[n]=i);return r}function C4c({filteredIr:e,singleUnionTypeProperties:t}){return t._visit({samePropertiesAsObject:r=>{let n=e.hasTypeId(r.typeId)?{...r,object:{...r.object,properties:r.object.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,tr(i.name))).map(i=>({...i,value:xE({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)}}:void 0;return n!==void 0?Ut.ExampleSingleUnionTypeProperties.samePropertiesAsObject(n):void 0},singleProperty:r=>{let n=xE({filteredIr:e,exampleTypeReference:r});return n!==void 0?Ut.ExampleSingleUnionTypeProperties.singleProperty(n):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function xE({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:n=>({...t,shape:Zi.container(Qu.list({...n,list:n.list.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(i=>i!==void 0)}))}),set:n=>({...t,shape:Zi.container(Qu.set({...n,set:n.set.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(i=>i!==void 0)}))}),optional:n=>{let i=n.optional!=null?xE({filteredIr:e,exampleTypeReference:n.optional}):void 0;return i!=null?{...t,shape:Zi.container(Qu.optional({optional:i,valueType:n.valueType}))}:void 0},nullable:n=>{let i=n.nullable!=null?xE({filteredIr:e,exampleTypeReference:n.nullable}):void 0;return i!=null?{...t,shape:Zi.container(Qu.nullable({nullable:i,valueType:n.valueType}))}:void 0},map:n=>({...t,shape:Zi.container(Qu.map({...n,map:n.map.map(i=>{let o=xE({filteredIr:e,exampleTypeReference:i.key}),s=xE({filteredIr:e,exampleTypeReference:i.value});return o!==void 0&&s!==void 0?{key:o,value:s}:void 0}).filter(i=>i!==void 0)}))}),literal:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}}),named:r=>e.hasTypeId(r.typeName.typeId)?r.shape._visit({alias:n=>{let i=xE({filteredIr:e,exampleTypeReference:n.value});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.alias({...n,value:i})})}:void 0},enum:n=>({...t,shape:Zi.named({...r,shape:Su.enum(n)})}),object:n=>{let i=n.properties.filter(s=>e.hasProperty(s.originalTypeDeclaration.typeId,tr(s.name))).map(s=>({...s,value:xE({filteredIr:e,exampleTypeReference:s.value})})).filter(s=>s.value!==void 0),o=new Set(i.map(s=>tr(s.name)));return{...t,jsonExample:Wzt(t.jsonExample,o),shape:Zi.named({...r,shape:Su.object({...n,properties:i})})}},union:n=>{let i=C4c({filteredIr:e,singleUnionTypeProperties:n.singleUnionType.shape});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.union({...n,singleUnionType:{...n.singleUnionType,shape:i}})})}:void 0},undiscriminatedUnion:n=>{let i=xE({filteredIr:e,exampleTypeReference:n.singleUnionType});return i!==void 0?{...t,shape:Zi.named({...r,shape:Su.undiscriminatedUnion({...n,singleUnionType:i})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function mbo({filteredIr:e,pathParameters:t}){return t.map(r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...r,value:n}:void 0}).filter(r=>r!==void 0)}function jbd({filteredIr:e,queryParameters:t,endpointId:r}){return t.filter(n=>r==null||e.hasQueryParameter(r,tr(n.name))).map(n=>{let i=xE({filteredIr:e,exampleTypeReference:n.value});return i!==void 0?{...n,value:i}:void 0}).filter(n=>n!==void 0)}function v4c({filteredIr:e,headers:t}){return t.map(r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...r,value:n}:void 0}).filter(r=>r!==void 0)}function Qbd({filteredIr:e,requestBody:t,endpointId:r}){return t._visit({inlinedRequestBody:n=>{let i=n.properties.filter(s=>{let a=tr(s.name);return s.originalTypeDeclaration==null?r!=null?e.hasRequestProperty(r,a):!0:e.hasProperty(s.originalTypeDeclaration.typeId,a)}).map(s=>{let a=xE({filteredIr:e,exampleTypeReference:s.value});return a!==void 0?{...s,value:a}:void 0}).filter(s=>s!==void 0),o=new Set(i.map(s=>tr(s.name)));return{...t,jsonExample:Wzt(n.jsonExample,o),properties:i}},reference:n=>{let i=xE({filteredIr:e,exampleTypeReference:n});return i!==void 0?PP.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function zbd({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:n=>Eg.ok(CA.body(n!=null?xE({filteredIr:e,exampleTypeReference:n}):void 0)),stream:n=>Eg.ok(CA.stream(n.map(i=>xE({filteredIr:e,exampleTypeReference:i})).filter(Oa))),sse:n=>Eg.ok(CA.sse(n.map(({event:i,data:o})=>{let s=xE({filteredIr:e,exampleTypeReference:o});return s!==void 0?{event:i,data:s}:void 0}).filter(Oa))),_other:({type:n})=>{throw new Error(`Received unknown type for OK example: ${n}`)}}),error:({error:r,body:n})=>Eg.error({error:r,body:n!=null?xE({filteredIr:e,exampleTypeReference:n}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function hbo({filteredIr:e,example:t,endpointId:r}){return{...t,rootPathParameters:mbo({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:mbo({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:mbo({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:v4c({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:v4c({filteredIr:e,headers:t.endpointHeaders}),queryParameters:jbd({filteredIr:e,queryParameters:t.queryParameters,endpointId:r}),request:t.request!==void 0?Qbd({filteredIr:e,requestBody:t.request,endpointId:r}):void 0,response:zbd({filteredIr:e,response:t.response})}}function w4c({filteredIr:e,payload:t,webhookId:r}){if(r==null)return t;let n=i=>e.hasWebhookPayloadProperty(r,i);if(t.shape.type==="named"&&t.shape.shape.type==="object"){let i=t.shape,o=i.shape;if(o.type!=="object")return t;let s=o.properties.filter(c=>n(tr(c.name))),a=new Set(s.map(c=>tr(c.name)));return{...t,jsonExample:Wzt(t.jsonExample,a),shape:Zi.named({...i,shape:Su.object({...o,properties:s})})}}if(t.shape.type==="container"&&t.shape.container.type==="map"){let i=t.shape.container,o=i.map.filter(a=>{let c=a.key.jsonExample;return typeof c=="string"&&n(c)}),s=new Set(o.map(a=>a.key.jsonExample).filter(a=>typeof a=="string"));return{...t,jsonExample:Wzt(t.jsonExample,s),shape:Zi.container(Qu.map({...i,map:o}))}}return t}function S4c({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let n=xE({filteredIr:e,exampleTypeReference:r.value});return n!==void 0?{...t,shape:Su.alias({...r,value:n})}:void 0},enum:()=>t,object:r=>{let n=r.properties.filter(o=>e.hasProperty(o.originalTypeDeclaration.typeId,tr(o.name))).map(o=>({...o,value:xE({filteredIr:e,exampleTypeReference:o.value})})).filter(o=>o.value!==void 0),i=new Set(n.map(o=>tr(o.name)));return{...t,jsonExample:Wzt(t.jsonExample,i),shape:Su.object({...r,properties:n})}},union:r=>{let n=C4c({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return n!==void 0?{...t,shape:Su.union({...r,singleUnionType:{...r.singleUnionType,shape:n}})}:void 0},undiscriminatedUnion:r=>{let n=xE({filteredIr:e,exampleTypeReference:r.singleUnionType});return n!==void 0?{...t,shape:Su.undiscriminatedUnion({...r,singleUnionType:n})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function Mjr(e,t){if(e==null||typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(e))t(n)&&(r[n]=i);return r}function x4c(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,Mjr(n,t)]))}function PEe(e,t){return e==null?e:{userSpecifiedExamples:x4c(e.userSpecifiedExamples,t),autogeneratedExamples:x4c(e.autogeneratedExamples,t)}}function BEe(e){return e._visit({named:t=>Bu.generateTypeId(t),container:t=>t._visit({optional:r=>BEe(r),nullable:r=>BEe(r),list:r=>BEe(r),set:r=>BEe(r),map:()=>{},literal:()=>{},_other:()=>{}}),primitive:()=>{},unknown:()=>{},_other:()=>{}})}function T4c({v2Examples:e,requestBodyIsAllowed:t,responseBodyIsAllowed:r,queryParameterIsAllowed:n}){if(e==null)return e;let i=o=>Object.fromEntries(Object.entries(o).map(([s,a])=>[s,{...a,request:a.request!=null?{...a.request,requestBody:Mjr(a.request.requestBody,t),queryParameters:a.request.queryParameters!=null?Object.fromEntries(Object.entries(a.request.queryParameters).filter(([c])=>n(c))):a.request.queryParameters}:a.request,response:a.response?.body!=null?{...a.response,body:Mbd(a.response.body,r)}:a.response}]));return{userSpecifiedExamples:i(e.userSpecifiedExamples),autogeneratedExamples:i(e.autogeneratedExamples)}}function Mbd(e,t){return e._visit({json:r=>Ut.V2HttpEndpointResponseBody.json(Mjr(r,t)),error:r=>Ut.V2HttpEndpointResponseBody.error(r),stream:r=>Ut.V2HttpEndpointResponseBody.stream(r),_other:()=>e})}function O4c(e,t){if(e==null)return e;let r=n=>Object.fromEntries(Object.entries(n).map(([i,o])=>[i,{...o,payload:Mjr(o.payload,t)}]));return{userSpecifiedExamples:r(e.userSpecifiedExamples),autogeneratedExamples:r(e.autogeneratedExamples)}}var B4c=h(()=>{"use strict";Rt();Ln();Z$e();aB()});function Hzt(e,t){if(t==null)return e;let r=_ke(e.types,a=>t.hasType(a)),n=Object.fromEntries(Object.entries(r).map(([a,c])=>{let u=Bu.generateTypeId(c.name),l=d=>t.hasProperty(u,d),p=[];if(c.userProvidedExamples=c.userProvidedExamples.map(d=>S4c({filteredIr:t,exampleType:d})).filter(d=>d!==void 0),c.v2Examples=PEe(c.v2Examples,l),c.shape.type==="object"){for(let d of c.shape.properties)l(tr(d.name))&&p.push(d);return[a,{...c,shape:dc.object({...c.shape,properties:p})}]}return[a,c]})),i=Object.fromEntries(Object.entries(e.webhookGroups).map(([a,c])=>{let u=c.filter(l=>t.hasWebhook(l)).map(l=>{let p=l.id,d=()=>!0;if(l.payload.type==="inlinedPayload"&&p!=null)d=f=>t.hasWebhookPayloadProperty(p,f),l.payload={...l.payload,properties:l.payload.properties.filter(f=>d(tr(f.name)))};else if(l.payload.type==="reference"){let f=BEe(l.payload.payloadType);f!=null&&(d=m=>t.hasProperty(f,m))}return l.examples!=null&&p!=null&&(l.examples=l.examples.map(f=>({...f,payload:w4c({filteredIr:t,payload:f.payload,webhookId:p})}))),l.v2Examples=O4c(l.v2Examples,d),l});return[a,u]})),o=e.websocketChannels!=null?Object.fromEntries(Object.entries(e.websocketChannels).filter(([a])=>t.hasChannel(a)).map(([a,c])=>[a,{...c}])):{},s=e.environments;if(s){switch(s.environments.type){case"singleBaseUrl":{s.environments.environments=s.environments.environments.filter(a=>t.hasEnvironmentId(a.id));break}case"multipleBaseUrls":{s.environments.environments=s.environments.environments.filter(a=>t.hasEnvironmentId(a.id));break}}s.defaultEnvironment&&(t.hasEnvironmentId(s.defaultEnvironment)||(s.defaultEnvironment=void 0))}return{...e,environments:s,types:n,errors:_ke(e.errors,a=>t.hasError(a)),services:rp(_ke(e.services,a=>t.hasService(a)),a=>({...a,endpoints:a.endpoints.filter(c=>t.hasEndpoint(c)).map(c=>Vbd(c,t))})),websocketChannels:o,webhookGroups:i,serviceTypeReferenceInfo:_bd(e.serviceTypeReferenceInfo,t)}}function Lbd(e,t){let r=e.requestBody;if(r==null)return()=>!0;if(r.type==="inlinedRequestBody")return n=>t.hasRequestProperty(e.id,n);if(r.type==="reference"){let n=BEe(r.requestBodyType);if(n!=null)return i=>t.hasProperty(n,i)}return()=>!0}function Ubd(e,t){let r=e.response?.body;if(r?.type!=="json")return()=>!0;let n=r.value,i=n.type==="response"||n.type==="nestedPropertyAsResponse"?n.responseBodyType:void 0;if(i==null)return()=>!0;let o=BEe(i);return o==null?()=>!0:s=>t.hasProperty(o,s)}function Vbd(e,t){let r=e.id,n=Lbd(e,t),i=Ubd(e,t),o=s=>t.hasQueryParameter(r,s);if(e.autogeneratedExamples=e.autogeneratedExamples.map(s=>({...s,example:hbo({filteredIr:t,example:s.example,endpointId:r})})),e.userSpecifiedExamples=e.userSpecifiedExamples.map(s=>({...s,example:s.example!=null?hbo({filteredIr:t,example:s.example,endpointId:r}):void 0})),e.queryParameters.length>0&&(e.queryParameters=e.queryParameters.filter(s=>o(tr(s.name)))),e.v2Examples=T4c({v2Examples:e.v2Examples,requestBodyIsAllowed:n,responseBodyIsAllowed:i,queryParameterIsAllowed:o}),e.response?.body?.type==="json"){let s=e.response.body.value;(s.type==="response"||s.type==="nestedPropertyAsResponse")&&(s.v2Examples=PEe(s.v2Examples,i))}return e.v2Responses?.responses!=null&&(e.v2Responses={...e.v2Responses,responses:e.v2Responses.responses.map(s=>{if(s.body?.type!=="json")return s;let a=s.body.value;return a.type==="response"||a.type==="nestedPropertyAsResponse"?{...s,body:{...s.body,value:{...a,v2Examples:PEe(a.v2Examples,i)}}}:s})}),e.v2RequestBodies?.requestBodies!=null&&(e.v2RequestBodies={...e.v2RequestBodies,requestBodies:e.v2RequestBodies.requestBodies.map(s=>s.type==="inlinedRequestBody"?{...s,properties:s.properties.filter(a=>n(tr(a.name))),v2Examples:PEe(s.v2Examples,n)}:s.type==="reference"?{...s,v2Examples:PEe(s.v2Examples,n)}:s)}),e.requestBody?.type==="inlinedRequestBody"?{...e,requestBody:{...e.requestBody,properties:e.requestBody.properties.filter(s=>n(tr(s.name))),v2Examples:PEe(e.requestBody.v2Examples,n)}}:e.requestBody?.type==="reference"?{...e,requestBody:{...e.requestBody,v2Examples:PEe(e.requestBody.v2Examples,n)}}:e}function _bd(e,t){if(t==null)return e;let r={};return Object.entries(e.typesReferencedOnlyByService).forEach(([n,i])=>{t.hasServiceId(n)&&(r[n]=i.filter(o=>t.hasTypeId(o)))}),{sharedTypes:e.sharedTypes.filter(n=>t.hasTypeId(n)),typesReferencedOnlyByService:r}}var P4c=h(()=>{"use strict";Ln();_i();Z$e();aB();B4c()});function _ze(e){let t={};for(let[r,n]of Object.entries(e))if(typeof n!="string")for(let i of n.audiences??[])t[i]==null&&(t[i]=new Set),t[i]?.add(r);return t}var gbo=h(()=>{"use strict"});function $$e(e){return e.type!=null}var Abo=h(()=>{"use strict"});var Ljr,D4c=h(()=>{"use strict";Z$e();Ljr=class{environments=new Set;types=new Set;excludedProperties;errors=new Set;services=new Set;endpoints=new Set;excludedRequestProperties;excludedQueryParameters;webhooks=new Set;excludedWebhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,excludedProperties:r,errors:n,environments:i,services:o,endpoints:s,webhooks:a,subpackages:c,excludedQueryParameters:u,excludedRequestProperties:l,excludedWebhookPayloadProperties:p,channels:d}){this.environments=i,this.types=t,this.excludedProperties=r,this.errors=n,this.services=o,this.endpoints=s,this.webhooks=a,this.excludedWebhookPayloadProperties=p,this.subpackages=c,this.excludedRequestProperties=l,this.excludedQueryParameters=u,this.channels=d}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Bu.generateTypeId(t.name);return this.types.has(r)}hasProperty(t,r){let n=this.excludedProperties[t];return n==null||!n.has(r)}hasError(t){let r=Bu.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Bu.generateServiceId(t.name);return this.services.has(r)}hasEnvironmentId(t){return this.environments.has(t)}hasEndpoint(t){return this.endpoints.has(t.id)}hasRequestProperty(t,r){let n=this.excludedRequestProperties[t];return n==null||!n.has(r)}hasQueryParameter(t,r){let n=this.excludedQueryParameters[t];return n==null||!n.has(r)}hasSubpackage(t){return this.subpackages.has(t)}hasWebhook(t){return t.id?this.webhooks.has(t.id):!0}hasChannel(t){return t?this.channels.has(t):!0}hasWebhookPayloadProperty(t,r){let n=this.excludedWebhookPayloadProperties[t];return n==null||!n.has(r)}}});function Ujr(e,t){let r=new Set;for(let i of t)e[i]?.forEach(o=>r.add(o));let n=new Set;for(let i of Object.values(e))i.forEach(o=>{r.has(o)||n.add(o)});return n}function Gbd(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Ee(e)}}function E0(e,t,r){Ur._visit(e,{container:n=>{qbd(n,t,r)},named:n=>{Vjr(n,t,r)},primitive:gt,unknown:gt,_other:gt})}function Vjr(e,t,r){t.add(Bu.generateTypeId(e)),r.add(e.fernFilepath)}function qbd(e,t,r){Bs._visit(e,{list:n=>{E0(n,t,r)},map:n=>{E0(n.keyType,t,r),E0(n.valueType,t,r)},optional:n=>{E0(n,t,r)},nullable:n=>{E0(n,t,r)},set:n=>{E0(n,t,r)},literal:gt,_other:gt})}var Gze,R4c=h(()=>{"use strict";Rt();No();Ln();Z$e();Abo();D4c();gbo();Gze=class{types={};properties={};queryParameters={};requestProperties={};webhookProperties={};errors={};endpoints={};webhooks={};channels={};audiences;typesReferencedByService={};environmentsNeededForAudience=new Set;typesNeededForAudience=new Set;servicesNeededForAudience=new Set;endpointsNeededForAudience=new Set;webhooksNeededForAudience=new Set;channelsNeededForAudience=new Set;subpackagesNeededForAudience=new Set;schemaIdToGraphTypeId=new Map;constructor(t){this.audiences=Gbd(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:n,descendantTypeIdsByAudience:i,propertiesByAudience:o}){let s=Bu.generateTypeId(t),a={typeId:s,allDescendants:r,descendantsByAudience:i,referencedSubpackages:n};this.types[s]=a,t.typeId!=null&&t.typeId!==s&&this.schemaIdToGraphTypeId.set(t.typeId,s),this.typesReferencedByService[s]==null&&(this.typesReferencedByService[s]=new Set),this.properties[s]={typeId:s,propertiesByAudience:o}}markTypeForAudiences(t,r){let n=Bu.generateTypeId(t);this.hasAudience(r)&&(this.typesNeededForAudience.add(n),this.addSubpackages(t.fernFilepath),this.types[n]?.referencedSubpackages.forEach(i=>{this.addSubpackages(i)}))}markEnvironmentForAudiences(t,r,n){t&&(this.hasAudience(r)||n)&&this.environmentsNeededForAudience.add(t.id)}getTypesReferencedByService(){for(let t of Object.values(this.endpoints))for(let r of t.referencedTypes)this.markTypeForService(r,t.serviceId);return this.typesReferencedByService}addError(t){let r=Bu.generateErrorId(t.name),n=new Set,i=new Set;t.type!=null&&E0(t.type,n,i);let o={errorId:r,referencedTypes:n,referencedSubpackages:i};this.errors[r]=o}addEndpoint(t,r,n){let i=Bu.generateServiceId(t.name),o=r.id,s=new Set,a=new Set,c=new Set;for(let u of[...t.headers,...r.headers])E0(u.valueType,s,c);for(let u of[...t.pathParameters,...r.pathParameters])E0(u.valueType,s,c);for(let u of r.queryParameters)E0(u.valueType,s,c);if(n!=null&&n.request!=null&&typeof n.request!="string"){let u=_ze(n.request["query-parameters"]??{});this.queryParameters[o]={endpointId:o,parametersByAudience:u}}r.requestBody!=null&&Hf._visit(r.requestBody,{inlinedRequestBody:u=>{for(let l of u.extends)Vjr(l,s,c);for(let l of u.properties)E0(l.valueType,s,c);if(n!=null&&typeof n.request=="object"&&typeof n.request.body=="object"&&bg(n.request.body)){let l=_ze(n.request.body.properties??{});this.requestProperties[o]={endpointId:o,propertiesByAudience:l}}},reference:({requestBodyType:u})=>{E0(u,s,c)},fileUpload:({properties:u})=>{for(let l of u)Rx._visit(l,{file:gt,bodyProperty:({valueType:p})=>{E0(p,s,c)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+l.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&mu._visit(r.response.body,{fileDownload:gt,json:u=>{E0(u.responseBodyType,s,c)},streaming:u=>{u._visit({sse:l=>E0(l.payload,s,c),json:l=>E0(l.payload,s,c),text:gt,_other:()=>{throw new Error("Unknown streamingResponse type: "+u.type)}})},streamParameter:u=>{u.streamResponse._visit({sse:l=>E0(l.payload,s,c),json:l=>E0(l.payload,s,c),text:gt,_other:()=>{throw new Error("Unknown streamingResponse type: "+u.streamResponse.type)}}),u.nonStreamResponse.type==="json"&&E0(u.nonStreamResponse.value.responseBodyType,s,c)},text:gt,bytes:gt,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(u=>{a.add(Bu.generateErrorId(u.error)),c.add(u.error.fernFilepath)}),this.endpoints[o]={endpointId:o,serviceId:i,referencedTypes:s,referencedErrors:a,referencedSubpackages:c}}markEndpointForAudience(t,r,n){if(this.hasAudience(n)){let i=Bu.generateServiceId(t);this.servicesNeededForAudience.add(i),r.forEach(o=>{let s=o.id;this.endpointsNeededForAudience.add(s),this.endpoints[s]?.referencedSubpackages.forEach(a=>{this.addSubpackages(a)})}),this.servicesNeededForAudience.add(i),this.addSubpackages(t.fernFilepath)}}getFilteredSubpackages(){return this.subpackagesNeededForAudience}getFilteredServices(){return this.servicesNeededForAudience}getFilteredEndpoints(){return this.endpointsNeededForAudience}getFilteredChannels(){return this.channelsNeededForAudience}getFilteredWebhooks(){return this.webhooksNeededForAudience}addWebhook(t,r,n){let i=r.id;if(i==null)return;let o=new Set,s=new Set;r.payload!=null&&DS._visit(r.payload,{inlinedPayload:a=>{for(let c of a.extends)Vjr(c,o,s);for(let c of a.properties)E0(c.valueType,o,s);if(n?.payload!=null&&typeof n.payload=="object"&&!$$e(n.payload)){let c=_ze(n.payload.properties??{});this.webhookProperties[i]={webhookId:i,propertiesByAudience:c}}},reference:({payloadType:a})=>{E0(a,o,s)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),s.add(t),this.webhooks[i]={webhookId:i,referencedTypes:o,referencedSubpackages:s}}markWebhookForAudiences(t,r,n){let i=r.id;i!=null&&this.hasAudience(n)&&(this.webhooksNeededForAudience.add(i),this.addSubpackages(t))}markInlinedRequestPropertiesForAudiences(t,r){this.requestProperties[t]={endpointId:t,propertiesByAudience:r}}markQueryParametersForAudiences(t,r){this.queryParameters[t]={endpointId:t,parametersByAudience:r}}markInlinedWebhookPayloadPropertiesForAudiences(t,r){this.webhookProperties[t]={webhookId:t,propertiesByAudience:r}}addChannel(t,r,n,i){if(r==null)return;let o=new Set,s=new Set;for(let a of n.messages)OO._visit(a.body,{reference:({bodyType:c})=>{E0(c,o,s)},inlinedBody:c=>{for(let u of c.extends)Vjr(u,o,s);for(let u of c.properties)E0(u.valueType,o,s)},_other:()=>{}});for(let a of n.queryParameters)E0(a.valueType,o,s);s.add(t),this.channels[r]={channelId:r,referencedTypes:o,referencedSubpackages:s}}markChannelForAudiences(t,r,n){r!=null&&this.hasAudience(n)&&(this.channelsNeededForAudience.add(r),this.addSubpackages(t))}build(){let t=new Set,r=new Set;for(let a of this.endpointsNeededForAudience.keys()){let c=this.getEndpointNode(a);for(let u of c.referencedErrors){if(r.has(u))continue;r.add(u);let l=this.getErrorNode(u);this.addReferencedTypes(t,l.referencedTypes)}this.addReferencedTypes(t,c.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let a of this.webhooksNeededForAudience.keys()){let c=this.getWebhookNode(a);this.addReferencedTypes(t,c.referencedTypes)}for(let a of this.channelsNeededForAudience.keys()){let c=this.getChannelNode(a);this.addReferencedTypes(t,c.referencedTypes)}let n={},i={},o={},s={};if(this.audiences.type==="filtered"){let a=this.audiences.audiences;for(let[c,u]of Object.entries(this.properties))t.has(c)&&(n[c]=Ujr(u.propertiesByAudience,a));for(let[c,u]of Object.entries(this.requestProperties))this.endpointsNeededForAudience.has(c)&&(i[c]=Ujr(u.propertiesByAudience,a));for(let[c,u]of Object.entries(this.queryParameters))this.endpointsNeededForAudience.has(c)&&(o[c]=Ujr(u.parametersByAudience,a));for(let[c,u]of Object.entries(this.webhookProperties))this.webhooksNeededForAudience.has(c)&&(s[c]=Ujr(u.propertiesByAudience,a))}return new Ljr({types:t,excludedProperties:n,errors:r,excludedRequestProperties:i,excludedQueryParameters:o,environments:this.environmentsNeededForAudience,services:this.servicesNeededForAudience,endpoints:this.endpointsNeededForAudience,webhooks:this.webhooksNeededForAudience,excludedWebhookPayloadProperties:s,subpackages:this.subpackagesNeededForAudience,channels:this.channelsNeededForAudience})}markTypeForService(t,r){let n=this.typesReferencedByService[t]??=new Set;if(n.has(r))return;n.add(r);let i=this.getTypeNode(t);for(let o of i.allDescendants)this.markTypeForService(this.resolveTypeId(o),r)}resolveTypeId(t){return this.schemaIdToGraphTypeId.get(t)??t}addReferencedTypes(t,r){let n=[...r];for(;n.length>0;){let i=n.pop();if(i==null||t.has(i))continue;t.add(i);let o=this.getTypeNode(i),s=a=>{let c=this.resolveTypeId(a);t.has(c)||n.push(c)};if(this.audiences.type==="filtered")for(let a of this.audiences.audiences){let c=o.descendantsByAudience[a];if(c!=null)c.forEach(s);else{o.allDescendants.forEach(s);break}}else o.allDescendants.forEach(s)}}getTypeNode(t){let r=this.types[t];if(r==null)throw new Error(`Failed to find type node with id ${t}`);return r}getErrorNode(t){let r=this.errors[t];if(r==null)throw new Error(`Failed to find error node with id ${t}`);return r}getEndpointNode(t){let r=this.endpoints[t];if(r==null)throw new Error(`Failed to find endpoint node with id ${t}`);return r}getWebhookNode(t){let r=this.webhooks[t];if(r==null)throw new Error(`Failed to find webhook node with id ${t}`);return r}getChannelNode(t){let r=this.channels[t];if(r==null)throw new Error(`Failed to find channel node with id ${t}`);return r}hasNoAudiences(){return this.audiences.type==="none"}hasAudience(t){let r=this.audiences;switch(r.type){case"none":return!0;case"filtered":return t.some(n=>r.audiences.has(n));default:Ee(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let n={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Bu.generateSubpackageId(n))}}}});function Kzt(e,{onWarning:t}={}){let r=e.globalParameters;if(!(r==null||r.length===0))for(let n of Object.values(e.services))for(let i of n.endpoints)i.globalParameters=Wbd({endpoint:i,globalParameters:r,types:e.types,onWarning:t})}function Wbd({endpoint:e,globalParameters:t,types:r,onWarning:n}){let i=new Set(e.globalParameters??[]),o=[];for(let s of t){let a=s.apply==="auto",c;switch(s.location){case"body":{let u=Kbd({requestBody:e.requestBody,dottedTarget:s.target,types:r});a?c=u:i.has(s.id)?(c=u,u||n?.(`Endpoint "${e.id}" opts into global parameter "${s.id}" (in: body, target: "${s.target}") via x-fern-global-parameter, but its request body schema does not contain that path. The parameter will not be injected for this endpoint.`)):c=!1;break}case"header":case"query":c=a||i.has(s.id);break;case"path":c=a?Hbd(e,s.target):i.has(s.id);break;default:Ee(s.location)}c&&o.push(s.id)}return o.length>0?o:void 0}function Hbd(e,t){return e.allPathParameters.some(r=>Mr(r.name)===t)}function Kbd({requestBody:e,dottedTarget:t,types:r}){if(e==null)return!1;let n=t.split(".");if(n.length===0)return!1;switch(e.type){case"inlinedRequestBody":{let i=new Set,o=[...e.properties.map(s=>({wireValue:tr(s.name),valueType:s.valueType})),...(e.extendedProperties??[]).map(s=>({wireValue:tr(s.name),valueType:s.valueType}))];for(let s of e.extends)o.push(...Jbd({typeId:s.typeId,types:r,seen:i}));return F4c({properties:o,segments:n,types:r,seen:i})}case"reference":return k4c({typeReference:e.requestBodyType,segments:n,types:r,seen:new Set});case"fileUpload":case"bytes":return!1;default:Ee(e)}}function F4c({properties:e,segments:t,types:r,seen:n}){let[i,...o]=t,s=e.find(a=>a.wireValue===i);return s==null?!1:o.length===0?!0:k4c({typeReference:s.valueType,segments:o,types:r,seen:new Set})}function k4c({typeReference:e,segments:t,types:r,seen:n}){let i=_jr({typeReference:e,types:r,seen:n});return i==null?!1:F4c({properties:i,segments:t,types:r,seen:n})}function _jr({typeReference:e,types:t,seen:r}){switch(e.type){case"container":{let n=e.container;switch(n.type){case"optional":return _jr({typeReference:n.optional,types:t,seen:r});case"nullable":return _jr({typeReference:n.nullable,types:t,seen:r});case"list":case"set":case"map":case"literal":return;default:return Ee(n)}}case"named":{if(r.has(e.typeId))return;r.add(e.typeId);let n=t[e.typeId];if(n==null)return;switch(n.shape.type){case"object":return ybo({object:n.shape,types:t,seen:r});case"alias":return _jr({typeReference:n.shape.aliasOf,types:t,seen:r});case"enum":case"union":case"undiscriminatedUnion":return;default:return Ee(n.shape)}}case"primitive":case"unknown":return;default:return Ee(e)}}function Jbd({typeId:e,types:t,seen:r}){if(r.has(e))return[];r.add(e);let n=t[e];return n==null||n.shape.type!=="object"?[]:ybo({object:n.shape,types:t,seen:r})}function ybo({object:e,types:t,seen:r}){let n=e.properties.map(i=>({wireValue:tr(i.name),valueType:i.valueType}));for(let i of e.extendedProperties??[])n.push({wireValue:tr(i.name),valueType:i.valueType});for(let i of e.extends){if(r.has(i.typeId))continue;r.add(i.typeId);let o=t[i.typeId];o!=null&&o.shape.type==="object"&&n.push(...ybo({object:o.shape,types:t,seen:r}))}return n}var N4c=h(()=>{"use strict";Rt();aB()});function ape(e){return e!=null&&!Ybd.includes(e.status)}var Ybd,j4c=h(()=>{"use strict";Ln();Ybd=[Ut.AvailabilityStatus.GeneralAvailability]});var bbo,Jzt,Q4c=h(()=>{"use strict";Rt();Pjr();j4c();aB();bbo=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},Jzt=class{errors;constructor(){this.errors=new bbo}async check({from:t,to:r}){let n=this.toInternalIr(t),i=this.toInternalIr(r),o=SEe(n),s=SEe(i);if(o===s)return{bump:"no_change",isBreaking:!1,errors:[]};let a=this.checkBreaking({from:n,to:i});return{bump:a.isBreaking?"major":"minor",isBreaking:a.isBreaking,errors:a.errors}}toInternalIr(t){return{types:t.types,errors:t.errors,services:t.services}}checkBreaking({from:t,to:r}){this.checkTypeBreakingChanges({from:t.types,to:r.types}),this.checkErrorsBreakingChanges({from:t.errors,to:r.errors}),this.checkServicesBreakingChanges({from:t.services,to:r.services});let n=this.errors.hasErrors();return{bump:n?"major":"minor",isBreaking:n,errors:this.errors.getErrors()}}checkTypeBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){if(ape(i.availability))continue;let o=r[n];if(!o){this.errors.add(`Type "${n}" was removed.`);continue}if(ape(o.availability)){this.errors.add(`Type "${n}" was moved from stable to unstable availability status.`);continue}this.areTypeDeclarationsCompatible({from:i,to:o})||this.errors.add(`Type "${n}" has an incompatible change.`)}}checkErrorsBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){let o=Object.values(r).find(s=>s.name.errorId===i.name.errorId);if(!o){this.errors.add(`Error "${i.name.errorId}" with status code "${i.statusCode}" was removed.`);continue}this.checkErrorBreakingChanges({from:i,to:o})}}checkErrorBreakingChanges({from:t,to:r}){if(t.type!=null){if(r.type==null){this.errors.add(`Error "${t.name.errorId}" with status code "${t.statusCode}" had its type removed.`);return}this.areTypeReferencesCompatible({from:t.type,to:r.type})||this.errors.add(`Error "${t.name.errorId}" type reference changed.`)}this.areDeclaredErrorNamesCompatible({from:t.name,to:r.name})||this.errors.add(`Error "${t.name.errorId}" name changed.`),this.areNameAndWireValuesCompatible({from:t.discriminantValue,to:r.discriminantValue})||this.errors.add(`Error "${t.name.errorId}" discriminant value changed.`)}checkServicesBreakingChanges({from:t,to:r}){for(let[n,i]of Object.entries(t)){if(ape(i.availability)||(i.endpoints?.every(s=>ape(s.availability))??!1))continue;let o=r[n];if(!o){this.errors.add(`Service "${n}" was removed.`);continue}if(ape(o.availability)){this.errors.add(`Service "${n}" was moved from stable to unstable availability status.`);continue}this.checkServiceBreakingChanges({id:n,from:i,to:o})}}checkServiceBreakingChanges({id:t,from:r,to:n}){this.checkHeadersBreakingChanges({id:t,from:r.headers,to:n.headers}),this.checkEndpointsBreakingChanges({id:t,from:r,to:n})}checkEndpointsBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.endpoints.map(s=>[s.id,s])),o=Object.fromEntries(n.endpoints.map(s=>[s.id,s]));for(let[s,a]of Object.entries(i)){if(ape(a.availability))continue;let c=o[s];if(!c){this.errors.add(`Endpoint "${s}" was removed.`);continue}if(ape(c.availability)){this.errors.add(`Endpoint "${s}" was moved from stable to unstable availability status.`);continue}this.checkEndpointBreakingChanges({id:s,from:a,to:c})}}checkEndpointBreakingChanges({id:t,from:r,to:n}){this.checkHttpMethodsBreakingChanges({id:t,from:r.method,to:n.method}),this.checkHttpPathsBreakingChanges({id:t,from:r.fullPath,to:n.fullPath}),this.checkPathParametersBreakingChanges({id:t,from:r.pathParameters,to:n.pathParameters}),this.checkQueryParametersBreakingChanges({id:t,from:r.queryParameters,to:n.queryParameters}),this.checkHeadersBreakingChanges({id:t,from:r.headers,to:n.headers}),r.requestBody!=null&&(n.requestBody!=null?this.checkHttpRequestBodiesCompatible({id:t,from:r.requestBody,to:n.requestBody}):this.errors.add(`Request body was removed from endpoint "${r.id}".`)),r.response!=null&&(n.response!=null?this.checkHttpResponseBreakingChanges({id:t,from:r.response,to:n.response}):this.errors.add(`Response was removed from endpoint "${r.id}".`)),(r.pagination!=null&&n.pagination==null||r.pagination==null&&n.pagination!=null)&&this.errors.add(`Pagination was ${r.pagination!=null?"added":"removed"} from endpoint "${r.id}".`)}checkPathParametersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[Mr(s.name),s])),o=Object.fromEntries(n.map(s=>[Mr(s.name),s]));for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Path parameter "${s}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Path parameter "${s}" type changed in endpoint "${t}".`)}}checkQueryParametersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[tr(s.name),s])),o=Object.fromEntries(n.map(s=>[tr(s.name),s]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([s,a])=>[s,a.valueType])),to:Object.fromEntries(Object.entries(o).map(([s,a])=>[s,a.valueType]))});for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Query parameter "${s}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Query parameter "${s}" type changed in endpoint "${t}".`),a.allowMultiple!==c.allowMultiple&&this.errors.add(`Query parameter "${s}" allow-multiple values changed in endpoint "${t}".`)}}checkHeadersBreakingChanges({id:t,from:r,to:n}){let i=Object.fromEntries(r.map(s=>[tr(s.name),s])),o=Object.fromEntries(n.map(s=>[tr(s.name),s]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([s,a])=>[s,a.valueType])),to:Object.fromEntries(Object.entries(o).map(([s,a])=>[s,a.valueType]))});for(let[s,a]of Object.entries(i)){let c=o[s];if(!c){this.errors.add(`Header "${s}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:a.valueType,to:c.valueType})||this.errors.add(`Header "${s}" type changed in ${t}.`)}}checkHttpMethodsBreakingChanges({id:t,from:r,to:n}){r!==n&&this.errors.add(`HTTP method changed in ${t}.`)}checkHttpPathsBreakingChanges({id:t,from:r,to:n}){this.areHttpPathsCompatible({from:r,to:n})||this.errors.add(`HTTP path changed in ${t}.`)}areHttpPathsCompatible({from:t,to:r}){if(t.head!==r.head||t.parts.length!==r.parts.length)return!1;for(let n=0;n<t.parts.length;n++){let i=t.parts[n];if(i==null)return!1;let o=r.parts[n];if(o==null||i.pathParameter!==o.pathParameter||i.tail!==o.tail)return!1}return!0}checkHttpRequestBodiesCompatible({id:t,from:r,to:n}){switch(r.type){case"inlinedRequestBody":if(n.type==="inlinedRequestBody"&&this.areInlinedRequestBodiesCompatible({from:r,to:n}))return;break;case"reference":if(n.type==="reference"&&this.areReferenceRequestBodiesCompatible({from:r,to:n}))return;break;case"fileUpload":if(n.type==="fileUpload"&&this.areFileUploadRequestBodiesCompatible({from:r,to:n}))return;break;case"bytes":if(n.type==="bytes")return;break;default:Ee(r)}this.errors.add(`Request body type changed from "${r.type}" to "${n.type}" in endpoint "${t}".`)}areInlinedRequestBodiesCompatible({from:t,to:r}){let n=this.getInlinedRequestBody(t),i=this.getInlinedRequestBody(r);return this.checkForNewInlinedRequestBodyProperties({from:n,to:i}),Object.entries(n).every(([o,s])=>{let a=i[o];return a?this.areTypeReferencesCompatible({from:s,to:a}):(this.errors.add(`Request body property "${o}" was removed.`),!1)})}areReferenceRequestBodiesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.requestBodyType,to:r.requestBodyType})}areFileUploadRequestBodiesCompatible({from:t,to:r}){let n=this.getFileUploadRequest(t.properties),i=this.getFileUploadRequest(r.properties);this.checkForNewFileUploadRequestProperties({from:n,to:i});for(let[o,s]of Object.entries(n)){let a=i[o];if(!a)return this.errors.add(`File upload property "${o}" was removed.`),!1;if(s==="file"&&a!=="file")return this.errors.add(`File upload property "${o}" type changed.`),!1;if(s==="fileArray"&&a!=="fileArray")return this.errors.add(`File upload property "${o}" type changed.`),!1;if(s!=="file"&&s!=="fileArray"&&a!=="file"&&a!=="fileArray"&&!this.areTypeReferencesCompatible({from:s,to:a}))return this.errors.add(`File upload property "${o}" type changed.`),!1}return!0}checkHttpResponseBreakingChanges({id:t,from:r,to:n}){if(r.statusCode!==n.statusCode&&this.errors.add(`Response status code changed from "${r.statusCode}" to "${n.statusCode}".`),!(r.body==null&&n.body==null)){if(r.body==null||n.body==null){this.errors.add(`Response body was ${r.body==null?"added":"removed"}.`);return}switch(r.body.type){case"json":if(n.body.type==="json"){this.areJsonResponsesCompatible({from:r.body.value,to:n.body.value});return}break;case"fileDownload":if(n.body.type==="fileDownload")return;break;case"text":if(n.body.type==="text")return;break;case"bytes":if(n.body.type==="bytes")return;break;case"streaming":if(n.body.type==="streaming"){this.areStreamingResponsesCompatible({from:r.body.value,to:n.body.value});return}break;case"streamParameter":if(n.body.type==="streamParameter"){this.areStreamingResponsesCompatible({from:r.body.streamResponse,to:n.body.streamResponse});return}break;default:Ee(r.body)}this.errors.add(`HTTP response type "${r.body.type}" defined for endpoint "${t}" is not compatible with type "${n.body.type}".`)}}areJsonResponsesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.responseBodyType,to:r.responseBodyType})}areStreamingResponsesCompatible({from:t,to:r}){switch(t.type){case"json":if(r.type==="json")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"sse":if(r.type==="sse")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"text":if(r.type==="text")return!0;break;default:Ee(t)}return this.errors.add(`Streaming response type "${t.type}" is not compatible with type "${r.type}".`),!1}areTypeDeclarationsCompatible({from:t,to:r}){return ape(t.availability)?!0:this.areDeclaredTypeNamesCompatible({from:t.name,to:r.name})&&this.areTypeShapesCompatible({from:t.shape,to:r.shape})}areTypeShapesCompatible({from:t,to:r}){switch(t.type){case"alias":if(r.type==="alias")return this.areAliasTypesCompatible({from:t,to:r});break;case"enum":if(r.type==="enum")return this.areEnumTypesCompatible({from:t,to:r});break;case"object":if(r.type==="object")return this.areObjectTypesCompatible({from:t,to:r});break;case"union":if(r.type==="union")return this.areUnionTypesCompatible({from:t,to:r});break;case"undiscriminatedUnion":if(r.type==="undiscriminatedUnion")return this.areUndiscriminatedUnionTypesCompatible({from:t,to:r});break;default:Ee(t)}return this.errors.add(`Type "${t.type}" is not compatible with type "${r.type}".`),!1}areAliasTypesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.aliasOf,to:r.aliasOf})}areEnumTypesCompatible({from:t,to:r}){let n=Object.fromEntries(t.values.map(o=>[tr(o.name),o])),i=Object.fromEntries(r.values.map(o=>[tr(o.name),o]));return Object.keys(n).length!==Object.keys(i).length?!1:Object.values(n).every(o=>{let s=i[tr(o.name)];return s?this.areNameAndWireValuesCompatible({from:o.name,to:s.name}):(this.errors.add(`Enum value "${tr(o.name)}" was removed.`),!1)})}areObjectTypesCompatible({from:t,to:r}){let n=Object.fromEntries([...t.properties.map(o=>[tr(o.name),o]),...t.extendedProperties?.map(o=>[tr(o.name),o])??[]]),i=Object.fromEntries([...r.properties.map(o=>[tr(o.name),o]),...r.extendedProperties?.map(o=>[tr(o.name),o])??[]]);return this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([o,s])=>[o,s.valueType])),to:Object.fromEntries(Object.entries(i).map(([o,s])=>[o,s.valueType]))}),Object.values(n).every(o=>{let s=i[tr(o.name)];return s?this.areObjectPropertiesCompatible({from:o,to:s}):(this.errors.add(`Object property "${tr(o.name)}" was removed.`),!1)})}areObjectPropertiesCompatible({from:t,to:r}){return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType})}areUnionTypesCompatible({from:t,to:r}){if(!this.areNameAndWireValuesCompatible({from:t.discriminant,to:r.discriminant}))return this.errors.add(`Union type with discriminant value "${tr(t.discriminant)}" changed.`),!1;let n=new Set(t.extends.map(u=>this.getKeyForDeclaration(u))),i=new Set(r.extends.map(u=>this.getKeyForDeclaration(u)));for(let u of n)if(!i.has(u))return this.errors.add(`Extended type "${u}" was removed.`),!1;let o=Object.fromEntries(t.baseProperties.map(u=>[tr(u.name),u])),s=Object.fromEntries(r.baseProperties.map(u=>[tr(u.name),u]));for(let u of Object.values(o)){let l=s[tr(u.name)];if(!l)return this.errors.add(`Union type with discriminant value "${tr(u.name)}" no longer has a property named "${tr(u.name)}".`),!1;if(!this.areObjectPropertiesCompatible({from:u,to:l}))return!1}this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(o).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(s).map(([u,l])=>[u,l.valueType]))});let a=Object.fromEntries(t.types.map(u=>[tr(u.discriminantValue),u])),c=Object.fromEntries(r.types.map(u=>[tr(u.discriminantValue),u]));return Object.values(a).every(u=>{let l=c[tr(u.discriminantValue)];return l?this.areSingleUnionTypesCompatible({from:u.shape,to:l.shape}):(this.errors.add(`Union type for discriminant value "${tr(u.discriminantValue)}" was removed.`),!1)})}areSingleUnionTypesCompatible({from:t,to:r}){switch(t.propertiesType){case"samePropertiesAsObject":if(r.propertiesType==="samePropertiesAsObject")return this.areDeclaredTypeNamesCompatible({from:t,to:r});break;case"singleProperty":if(r.propertiesType==="singleProperty")return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.type,to:r.type});break;case"noProperties":if(r.propertiesType==="noProperties")return!0;break;default:Ee(t)}return this.errors.add(`Single union type of style "${t.propertiesType}" is not compatible with style "${r.propertiesType}".`),!1}areUndiscriminatedUnionTypesCompatible({from:t,to:r}){return t.members.every((n,i)=>{let o=r.members[i];return o?this.areTypeReferencesCompatible({from:n.type,to:o.type}):(this.errors.add(`Undiscriminated union member at index ${i} was removed.`),!1)})}checkForNewRequiredTypeReferences({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}checkForNewFileUploadRequestProperties({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||i==="file"||i==="fileArray"||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}checkForNewInlinedRequestBodyProperties({from:t,to:r}){for(let[n,i]of Object.entries(r))t[n]||(i.type!=="container"||i.container.type!=="optional")&&this.errors.add(`Required property "${n}" was added.`)}areTypeReferencesCompatible({from:t,to:r}){switch(t.type){case"primitive":if(r.type==="primitive")return this.arePrimitiveTypesCompatible({from:t,to:r});break;case"container":if(r.type==="container")return this.areContainerTypesCompatible({from:t.container,to:r.container});break;case"named":if(r.type==="named")return this.areNamedTypesCompatible({from:t,to:r});break;case"unknown":if(r.type==="unknown")return!0;break;default:Ee(t)}return this.errors.add(`TypeReference "${t.type}" is not compatible with type "${r.type}".`),!1}arePrimitiveTypesCompatible({from:t,to:r}){return t.primitive.v1===r.primitive.v1}areContainerTypesCompatible({from:t,to:r}){switch(t.type){case"list":if(r.type==="list")return this.areTypeReferencesCompatible({from:t.list,to:r.list});break;case"set":if(r.type==="set")return this.areTypeReferencesCompatible({from:t.set,to:r.set});break;case"map":if(r.type==="map")return this.areTypeReferencesCompatible({from:t.keyType,to:r.keyType})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType});break;case"optional":if(r.type==="optional")return this.areTypeReferencesCompatible({from:t.optional,to:r.optional});break;case"nullable":if(r.type==="nullable")return this.areTypeReferencesCompatible({from:t.nullable,to:r.nullable});break;case"literal":if(r.type==="literal")return this.areLiteralsCompatible({from:t.literal,to:r.literal});break;default:Ee(t)}return this.errors.add(`Container type "${t.type}" is not compatible with type "${r.type}".`),!1}areNamedTypesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredTypeNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredErrorNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areNameAndWireValuesCompatible({from:t,to:r}){return this.areNamesCompatible({from:kjr(t),to:kjr(r)})&&tr(t)===tr(r)}areLiteralsCompatible({from:t,to:r}){switch(t.type){case"boolean":if(r.type==="boolean")return t.boolean===r.boolean;break;case"string":if(r.type==="string")return t.string===r.string;break;default:Ee(t)}return!1}areFernFilepathsCompatible({from:t,to:r}){return t.allParts.length!==r.allParts.length?!1:t.allParts.every((n,i)=>{let o=r.allParts[i];return o==null?!1:this.areNamesCompatible({from:n,to:o})})}areNamesCompatible({from:t,to:r}){return Mr(t)===Mr(r)}getInlinedRequestBody(t){let r={};for(let n of[...t.extendedProperties??[],...t.properties])r[tr(n.name)]=n.valueType;return r}getFileUploadRequest(t){let r={};for(let n of t)switch(n.type){case"file":r[tr(n.value.key)]="file";break;case"bodyProperty":r[tr(n.name)]=n.valueType;break;default:Ee(n)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(i=>Mr(i)).join(".")}.${Mr(t)}`}}});function qze(e,t,r){let{environments:n,changedBaseUrlIds1:i,changedBaseUrlIds2:o}=Zbd(e.environments,t.environments,r),{services:s,websocketChannels:a}=$bd(e,t,i,o);return{apiName:e.apiName,basePath:e.basePath,selfHosted:e.selfHosted&&t.selfHosted,specVersion:e.specVersion??t.specVersion,apiDisplayName:e.apiDisplayName??t.apiDisplayName,apiDocs:e.apiDocs??t.apiDocs,auth:{requirement:e.auth?.requirement??t.auth?.requirement,schemes:t.auth?.schemes?.length!=null&&t.auth.schemes.length>(e.auth?.schemes?.length??0)?t.auth.schemes:e.auth?.schemes??[],docs:e.auth?.docs??t.auth?.docs},headers:M4c([...e.headers??[],...t.headers??[]]),environments:n,types:{...e.types??{},...t.types??{}},constants:{...e.constants??{},...t.constants??{}},errors:{...e.errors??{},...t.errors??{}},services:s,webhookGroups:{...e.webhookGroups??{},...t.webhookGroups??{}},subpackages:Xbd(e.subpackages,t.subpackages),websocketChannels:a,rootPackage:{service:e.rootPackage.service??t.rootPackage.service,types:[...e.rootPackage.types??[],...t.rootPackage.types??[]],errors:[...e.rootPackage.errors??[],...t.rootPackage.errors??[]],subpackages:[...e.rootPackage.subpackages??[],...(t.rootPackage.subpackages??[]).filter(c=>!e.rootPackage.subpackages?.includes(c))],fernFilepath:e.rootPackage.fernFilepath??t.rootPackage.fernFilepath,webhooks:e.rootPackage.webhooks??t.rootPackage.webhooks,websocket:e.rootPackage.websocket??t.rootPackage.websocket,hasEndpointsInTree:e.rootPackage.hasEndpointsInTree||t.rootPackage.hasEndpointsInTree,hasWebSocketInTree:(e.rootPackage.hasWebSocketInTree??!1)||(t.rootPackage.hasWebSocketInTree??!1)||void 0,navigationConfig:e.rootPackage.navigationConfig??t.rootPackage.navigationConfig,docs:e.rootPackage.docs??t.rootPackage.docs},fdrApiDefinitionId:e.fdrApiDefinitionId??t.fdrApiDefinitionId,apiVersion:e.apiVersion??t.apiVersion,idempotencyHeaders:M4c([...e.idempotencyHeaders??[],...t.idempotencyHeaders??[]]),pathParameters:[...e.pathParameters??[],...t.pathParameters??[]],errorDiscriminationStrategy:e.errorDiscriminationStrategy??t.errorDiscriminationStrategy,variables:[...e.variables??[],...t.variables??[]],globalParameters:n0d(e.globalParameters,t.globalParameters),serviceTypeReferenceInfo:e.serviceTypeReferenceInfo??t.serviceTypeReferenceInfo,readmeConfig:e.readmeConfig??t.readmeConfig,sourceConfig:e.sourceConfig??t.sourceConfig,publishConfig:e.publishConfig??t.publishConfig,dynamic:e.dynamic??t.dynamic,sdkConfig:e.sdkConfig??t.sdkConfig,audiences:[...e.audiences??[],...t.audiences??[]],generationMetadata:e.generationMetadata??t.generationMetadata,apiPlayground:e.apiPlayground??t.apiPlayground,casingsConfig:e.casingsConfig??t.casingsConfig}}function Xbd(e,t){let r=e;for(let[n,i]of Object.entries(t))r[n]==null?r[n]=i:r[n]={name:i.name,displayName:i.displayName,fernFilepath:i.fernFilepath,hasEndpointsInTree:r[n].hasEndpointsInTree||i.hasEndpointsInTree,hasWebSocketInTree:(r[n].hasWebSocketInTree??!1)||(i.hasWebSocketInTree??!1)||void 0,navigationConfig:r[n].navigationConfig??i.navigationConfig,docs:r[n].docs??i.docs,service:r[n].service??i.service,subpackages:[...r[n].subpackages??[],...(i.subpackages??[]).filter(o=>!r[n]?.subpackages?.includes(o))],webhooks:r[n].webhooks??i.webhooks,websocket:r[n].websocket??i.websocket,errors:[...r[n].errors??[],...i.errors??[]],types:[...r[n].types??[],...i.types??[]]};return r}function Zbd(e,t,r){if(e==null&&t==null)return{environments:void 0,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(t==null)return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(e==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(JSON.stringify(e)===JSON.stringify(t))return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let n=z4c(e),i=z4c(t);if(n&&i&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:o0.singleBaseUrl({environments:[...e.environments.environments,...t.environments.environments]})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let o=n?t.defaultEnvironment:e.defaultEnvironment,s=e.environments,a=t.environments;if(s.type==="singleBaseUrl"&&a.type==="singleBaseUrl"){let c=n?a:s,u=n?s:a,l={},{deconflictedEnvironments2:p,changedBaseUrlIds2:d}=e0d(c,u,r);if(c.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let f="Base",m=r.generateName("Base");return c.environments.forEach(g=>{l[g.id]=f}),{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[{id:f,name:m},...p.environments.map(g=>({id:g.id,name:g.name}))],environments:c.environments.map(g=>({id:g.id,name:g.name,urls:{[f]:g.url,...Object.fromEntries(p.environments.map(A=>[A.id,A.url]))},docs:void 0,audiences:g.audiences,defaultUrls:void 0,urlTemplates:void 0,urlVariables:void 0}))})},changedBaseUrlIds1:n?d:l,changedBaseUrlIds2:n?l:d}}if(s.type==="multipleBaseUrls"&&a.type==="singleBaseUrl"||s.type==="singleBaseUrl"&&a.type==="multipleBaseUrls"){let c=s.type==="singleBaseUrl"?s:a,u=s.type==="multipleBaseUrls"?s:a,{deconflictedEnvironments1:l,changedBaseUrlIds1:p}=t0d(c,u,r);return{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[...u.baseUrls,...l.environments.map(d=>({id:d.id,name:d.name}))],environments:u.environments.map(d=>({...d,urls:{...d.urls,...Object.fromEntries(l.environments.map(f=>[f.id,f.url]))}}))})},changedBaseUrlIds1:s.type==="singleBaseUrl"?p:void 0,changedBaseUrlIds2:s.type==="singleBaseUrl"?void 0:p}}if(s.type==="multipleBaseUrls"&&a.type==="multipleBaseUrls"){let{deconflictedEnvironments:c,changedBaseUrlIds:u}=r0d(s,a,r);return{environments:{defaultEnvironment:o,environments:o0.multipleBaseUrls({baseUrls:[...s.baseUrls,...c.baseUrls],environments:s.environments.flatMap(l=>c.environments.map(p=>({...l,urls:{...l.urls,...p.urls}})))})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:u}}return{environments:e??t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0}}function $bd(e,t,r,n){if(r!=null)for(let[s,a]of Object.entries(r)){for(let c of Object.values(e.services))for(let u of Object.values(c.endpoints))u.baseUrl==s&&(u.baseUrl=a),u.v2BaseUrls?.includes(s)&&(u.v2BaseUrls=u.v2BaseUrls.map(l=>l===s?a:l));for(let c of Object.values(e.websocketChannels??{}))c.baseUrl==s&&(c.baseUrl=a)}if(n!=null)for(let[s,a]of Object.entries(n)){for(let c of Object.values(t.services))for(let u of Object.values(c.endpoints))u.baseUrl==s&&(u.baseUrl=a),u.v2BaseUrls?.includes(s)&&(u.v2BaseUrls=u.v2BaseUrls.map(l=>l===s?a:l));for(let c of Object.values(t.websocketChannels??{}))c.baseUrl==s&&(c.baseUrl=a)}let i=e.services;for(let[s,a]of Object.entries(t.services))i[s]==null?i[s]=a:i[s]={availability:a.availability,name:a.name,displayName:a.displayName,basePath:a.basePath,endpoints:[...i[s].endpoints??[],...a.endpoints],pathParameters:[...i[s].pathParameters??[],...a.pathParameters??[]],headers:[...i[s].headers??[],...a.headers??[]],encoding:a.encoding,transport:a.transport,audiences:[...i[s].audiences??[],...a.audiences??[]]};let o={...e.websocketChannels??{},...t.websocketChannels??{}};return{services:i,websocketChannels:o}}function e0d(e,t,r){let n={},i=new Set(e.environments.map(u=>u.id)),o=new Set(e.environments.map(u=>u.name)),s=new Map(e.environments.map(u=>[u.url,u.id])),a=t.environments.filter(u=>{let l=s.get(u.url);return l!=null?(n[u.id]=l,!1):!0}).map(u=>{if(i.has(u.id)||o.has(u.name)){let l=Ebo(u.id,i);return n[u.id]=l,{...u,id:l,name:r.generateName(l)}}return u});return{deconflictedEnvironments2:o0.singleBaseUrl({environments:a}),changedBaseUrlIds2:n}}function t0d(e,t,r){let n={},i=new Set(t.baseUrls.map(c=>c.id)),o=new Set(t.baseUrls.map(c=>c.name)),s=e.environments.map(c=>{if(i.has(c.id)||o.has(c.name)){let u=Ebo(c.id,i);return n[c.id]=u,{...c,id:u,name:r.generateName(u)}}return c});return{deconflictedEnvironments1:o0.singleBaseUrl({environments:s}),changedBaseUrlIds1:n}}function r0d(e,t,r){let n={},i=new Set(e.baseUrls.map(u=>u.id)),o=new Set(e.baseUrls.map(u=>u.name)),s=t.baseUrls.map(u=>{if(i.has(u.id)||o.has(u.name)){let l=Ebo(u.id,i);return n[u.id]=l,{...u,id:l,name:r.generateName(l)}}return u}),a=t.environments.map(u=>({...u,urls:Object.fromEntries(Object.entries(u.urls).map(([l,p])=>[n[l]??l,p]))}));return{deconflictedEnvironments:o0.multipleBaseUrls({baseUrls:s,environments:a}),changedBaseUrlIds:n}}function z4c(e){return e.environments.type==="singleBaseUrl"?e.environments.environments.some(t=>t.url&&(t.url.startsWith("ws://")||t.url.startsWith("wss://"))):e.environments.type==="multipleBaseUrls"?e.environments.environments.some(t=>Object.values(t.urls).some(r=>r&&(r.startsWith("ws://")||r.startsWith("wss://")))):!1}function M4c(e){let t=new Set;return e.filter(r=>{let n=tr(r.name).toLowerCase();return t.has(n)?!1:(t.add(n),!0)})}function n0d(e,t){if(!(e==null&&t==null))return[...e??[],...t??[]]}function Ebo(e,t){let r=e,n=1;for(;t.has(r);)r=`${e}-${n}`,n++;return r}var L4c=h(()=>{"use strict";Ln();aB()});var tc=h(()=>{"use strict";r4c();n4c();i4c();I4c();lbo();P4c();gbo();R4c();N4c();Pjr();Q4c();L4c();Z$e();Abo();aB();dbo()});function fQ({relativeFilepath:e,casingsGenerator:t}){let r=cU(e),n=bS(e,{stripExtension:!0}),i=r==="."?[]:r.split("/").map(a=>t.generateName(a)),o=n!==rNe?t.generateName(n):void 0,s=[];return s.push(...i),o!=null&&s.push(o),{allParts:s,packagePath:i,file:o}}var eet=h(()=>{"use strict";Va();ZA()});function DEe({referencedIn:e,importPath:t}){return dI(cU(e),t)}var Gjr=h(()=>{"use strict";ZA()});function IL({reference:e,referencedIn:t,imports:r}){let[n,i,...o]=e.split(".");if(n==null||o.length>0)return;if(i==null)return{typeName:n,relativeFilepath:t};let a=r[n];if(a!=null)return{relativeFilepath:DEe({referencedIn:t,importPath:a}),typeName:i}}var tet=h(()=>{"use strict";Gjr()});function d1({typeName:e,file:t}){let r=IL({reference:e,referencedIn:t.relativeFilepath,imports:t.imports});if(r==null)throw new B({message:"Failed to locate type: "+e,code:B.Code.ResolutionError});let n={name:t.casingsGenerator.generateName(r.typeName),fernFilepath:fQ({relativeFilepath:r.relativeFilepath,casingsGenerator:t.casingsGenerator}),displayName:void 0};return{...n,typeId:Bu.generateTypeId(n)}}var C$=h(()=>{"use strict";tc();Qt();eet();tet()});function Yzt(e){if(e!=null)return e=e.replace(/\*\//g,"* /"),e.endsWith(`
|
|
486
486
|
`)||e.endsWith("\r")?e.substring(0,e.length-1):e}var Ibo=h(()=>{"use strict"});function m1(e){return typeof e=="string"?i0d:{docs:Yzt(e.docs),availability:dQ(e.availability)}}function dQ(e){if(e!=null)return{status:o0d(typeof e=="string"?e:e.status),message:typeof e!="string"?e.message:void 0}}function U4c(e){return typeof e=="string"?[]:e.audiences??[]}function o0d(e){switch(e){case"in-development":return Pm.InDevelopment;case"pre-release":return Pm.PreRelease;case"deprecated":return Pm.Deprecated;case"generally-available":return Pm.GeneralAvailability;case"alpha":return Pm.Alpha;case"beta":return Pm.Beta;case"preview":return Pm.Preview;case"legacy":return Pm.Legacy;default:Ee(e)}}var i0d,vL=h(()=>{"use strict";Rt();Ln();Ibo();i0d={docs:void 0,availability:void 0}});function V4c({object:e,file:t}){return dc.object({extends:lW(e.extends).map(r=>d1({typeName:r,file:t})),properties:Xzt(e,t),extraProperties:e["extra-properties"]??!1,extendedProperties:void 0})}function Xzt(e,t){return e.properties==null?[]:Object.entries(e.properties).map(([r,n])=>({...m1(n),name:t.casingsGenerator.generateNameAndWireValue({wireValue:r,name:Xx({propertyKey:r,property:n}).name}),valueType:t.parseTypeReference(n),propertyAccess:REe({property:n}),defaultValue:typeof n!="string"?n.default:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}}))}function lW(e){return e==null?[]:typeof e=="string"?[e]:e}function Xx({propertyKey:e,property:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function REe({property:e}){if(typeof e=="string")return;let t=e.access;if(t!=null)switch(t){case"read-only":return h2e.ReadOnly;case"write-only":return h2e.WriteOnly;default:Ee(t)}}var VV=h(()=>{"use strict";Rt();Ln();C$();vL()});function G4c({request:e,file:t}){let r=e!=null?wDt(e):void 0;if(r!=null)return Hf.bytes({isOptional:r.isOptional,contentType:typeof e=="string"?void 0:e?.["content-type"],docs:typeof e=="string"?void 0:e?.docs,v2Examples:void 0});if(typeof e=="string")return Hf.reference(qjr({requestBody:e,file:t}));if(e?.body==null)return;let n=O2e(e);if(n!=null)return Hf.fileUpload({contentType:e["content-type"],name:t.casingsGenerator.generateName(n.name),properties:n.properties.map(i=>i.isFile?i.isArray?Rx.file(mj.fileArray({key:t.casingsGenerator.generateNameAndWireValue({wireValue:i.key,name:i.key}),isOptional:i.isOptional,contentType:i.contentType,docs:i.docs})):Rx.file(mj.file({key:t.casingsGenerator.generateNameAndWireValue({wireValue:i.key,name:i.key}),isOptional:i.isOptional,contentType:i.contentType,docs:i.docs})):Rx.bodyProperty({..._4c({propertyKey:i.key,propertyDefinition:i.propertyType,docs:i.docs,availability:dQ(i.availability),file:t}),style:i.style??a0d(i.contentType),contentType:i.contentType})),docs:e.docs,v2Examples:void 0});if(bg(e.body)){if(e.name==null)throw new B({message:"Name is missing for inlined request",code:B.Code.InternalError});return Hf.inlinedRequestBody({name:t.casingsGenerator.generateName(e.name),extends:lW(e.body.extends).map(i=>d1({typeName:i,file:t})),contentType:e["content-type"],docs:e.docs,properties:e.body.properties!=null?Object.entries(e.body.properties).map(([i,o])=>_4c({propertyKey:i,propertyDefinition:o,docs:typeof o!="string"?o.docs:void 0,availability:typeof o!="string"?dQ(o.availability):void 0,file:t})):[],extraProperties:e.body["extra-properties"]??!1,extendedProperties:void 0,v2Examples:void 0})}return Hf.reference(qjr({requestBody:e.body,file:t,contentType:e["content-type"]}))}function a0d(e){return e?s0d[e]:void 0}function qjr({requestBody:e,file:t,contentType:r}){return{docs:typeof e!="string"?e.docs:void 0,requestBodyType:t.parseTypeReference(e),contentType:r,v2Examples:void 0}}function _4c({propertyKey:e,propertyDefinition:t,docs:r,availability:n,file:i}){return{docs:r,availability:n,name:i.casingsGenerator.generateNameAndWireValue({wireValue:e,name:Xx({propertyKey:e,property:t}).name}),valueType:i.parseTypeReference(t),defaultValue:typeof t!="string"?t.default:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}},propertyAccess:void 0}}var s0d,vbo=h(()=>{"use strict";No();Ln();Qt();C$();vL();VV();s0d={"application/json":"json"}});function Wze({typeResolver:e,file:t,resolvedType:r,property:n}){switch(r._type){case"container":if(r.container._type==="optional")return Wze({typeResolver:e,file:t,resolvedType:r.container.itemType,property:n});break;case"named":if(ef(r.declaration))return xbo({typeResolver:e,file:r.file,objectSchema:r.declaration,property:n});break;case"primitive":case"unknown":break;default:Ee(r)}throw new B({message:`Response must be an object in order to return property ${n} as a response.`,code:B.Code.ReferenceError})}function xbo({typeResolver:e,file:t,objectSchema:r,property:n}){let o=q4c(r,t,e)[n];if(o==null)throw new B({message:`Object does not have a property named ${n}.`,code:B.Code.ReferenceError});return o}function q4c(e,t,r){let n=[];typeof e.extends=="string"?n=[e.extends]:Array.isArray(e.extends)&&(n=e.extends);let i={};for(let s of n){let a=c0d(s,t,r);Object.entries(a).map(([c,u])=>{i[c]=u})}return Xzt(e,t).forEach(s=>{let a=Mr(s.name);i[a]=s}),i}function c0d(e,t,r){let n=r.resolveNamedTypeOrThrow({referenceToNamedType:e,file:t});if(n._type==="named"&&ef(n.declaration))return q4c(n.declaration,t,r);throw new B({message:`Extended type ${e} must be another named type`,code:B.Code.InternalError})}var Wjr=h(()=>{"use strict";Rt();No();tc();Qt();VV()});function Hjr({typeResolver:e,file:t,resolvedType:r,propertyComponents:n}){if(n.length===0)return;if(n.length===1)return Wze({typeResolver:e,file:t,resolvedType:r,property:n[0]??""});let i=H4c(r);if(i!=null)return Kjr({typeResolver:e,file:t,objectSchema:i,propertyComponents:n})}function Kjr({typeResolver:e,file:t,objectSchema:r,propertyComponents:n}){if(n.length===0)return;if(n.length===1)return xbo({typeResolver:e,file:t,objectSchema:r,property:n[0]??""});let i=u0d({typeResolver:e,file:t,objectSchema:r,property:n[0]??""}),o=e.resolveTypeOrThrow({type:i,file:t});return Hjr({typeResolver:e,file:ret(o)??t,resolvedType:o,propertyComponents:n.slice(1)})}function u0d({typeResolver:e,file:t,objectSchema:r,property:n}){let o=W4c({typeResolver:e,file:t,objectSchema:r})[n];if(o==null)throw new B({message:`Response does not have a property named ${n}.`,code:B.Code.ReferenceError});return o}function W4c({typeResolver:e,file:t,objectSchema:r}){let n=[];typeof r.extends=="string"?n=[r.extends]:Array.isArray(r.extends)&&(n=r.extends);let i={};for(let o of n){let s=l0d({typeResolver:e,file:t,extendedType:o});Object.entries(s).map(([a,c])=>{i[a]=c})}return r.properties!=null&&Object.entries(r.properties).map(([o,s])=>{i[o]=typeof s=="string"?s:s.type}),i}function l0d({typeResolver:e,file:t,extendedType:r}){let n=e.resolveNamedTypeOrThrow({referenceToNamedType:r,file:t});if(n._type==="named"&&ef(n.declaration))return W4c({typeResolver:e,file:ret(n)??t,objectSchema:n.declaration});throw new B({message:`Extended type ${r} must be another named type.`,code:B.Code.InternalError})}function ret(e){if(e!=null){if(e._type==="named")return e.file;if(e._type==="container"&&e.container._type==="optional")return ret(e.container.itemType)}}function H4c(e){if(e!=null){if(e._type==="named"&&ef(e.declaration))return e.declaration;if(e._type==="container"&&e.container._type==="optional")return H4c(e.container.itemType)}}function pW(e){return e.substring(9)?.split(".")??[]}function cB(e){return e.substring(10)?.split(".")??[]}var net=h(()=>{"use strict";No();Qt();Wjr()});function J4c({request:e,endpointKey:t,endpoint:r,service:n,file:i,typeResolver:o,propertyResolver:s}){let a=p0d({request:e,service:n,file:i,typeResolver:o});if(a!=null)return{shape:a,requestParameterName:i.casingsGenerator.generateName(Jjr),streamParameter:r["stream-condition"]!=null?s.resolveRequestPropertyOrThrow({file:i,endpoint:t,propertyComponents:pW(r["stream-condition"])}):void 0}}function p0d({service:e,request:t,file:r,typeResolver:n}){let i=()=>{if(typeof t=="string"||t?.name==null)throw new B({message:"Name is missing for request wrapper",code:B.Code.InternalError});return IU.wrapper({wrapperName:r.casingsGenerator.generateName(t.name),bodyKey:r.casingsGenerator.generateName(Zzt),includePathParameters:d0d(t),onlyPathParameters:f0d({request:t,file:r,typeResolver:n})})};if(!Cbo({headers:e.headers??{},file:r,typeResolver:n}))return i();if(t==null)return;if(typeof t=="string")return IU.justRequestBody(K4c({requestBody:t,file:r}));let{body:o}=t;if(Yjr({request:t,file:r,typeResolver:n})||o!=null&&bg(o))return i();if(o!=null)return IU.justRequestBody(K4c({requestBody:o,file:r}))}function K4c({requestBody:e,file:t,contentType:r}){let n=typeof e=="string"?PU(e):PU(e.type);return n!=null?Zq.bytes({isOptional:n.isOptional,contentType:r,docs:void 0,v2Examples:void 0}):Zq.typeReference(qjr({requestBody:e,file:t,contentType:r}))}function Yjr({request:e,file:t,typeResolver:r}){let{headers:n={},"path-parameters":i={},"query-parameters":o={}}=e;return!Cbo({headers:n,file:t,typeResolver:r})||Ah(i)>0||Ah(o)>0}function f0d({request:e,file:t,typeResolver:r}){let{headers:n={},"path-parameters":i={},"query-parameters":o={}}=e;return Ah(i)>0&&Cbo({headers:n,file:t,typeResolver:r})&&Ah(o)===0&&e.body==null}function d0d(e){return typeof e!="string"&&e?.["path-parameters"]!=null}function Cbo({headers:e,file:t,typeResolver:r}){return Object.values(e).filter(n=>{let i=typeof n=="string"?n:n.type,o=r.resolveTypeOrThrow({type:i,file:t});return!(o._type==="container"&&o.container._type==="literal")}).length===0}var Jjr,Zzt,wbo=h(()=>{"use strict";No();Ln();Qt();_i();vbo();net();Jjr="request",Zzt="body"});function xL(e){return typeof e.request!="string"&&e.request?.["path-parameters"]?e.request?.["path-parameters"]:e["path-parameters"]!=null?e["path-parameters"]:{}}var $zt=h(()=>{"use strict"});function Xjr(e,t){let r=m0d(e);if(r.length===0)return t;let n=new Map;for(let s of t)n.set(Mr(s.name),s);let i=[],o=new Set;for(let s of r){let a=n.get(s);a!=null&&(i.push(a),o.add(s))}for(let s of t)o.has(Mr(s.name))||i.push(s);return i}function m0d(e){let t=[],r=/{([^}]+)}/g,n;for(;(n=r.exec(e))!==null;)n[1]!=null&&t.push(n[1]);return t}var Y4c=h(()=>{"use strict";tc()});function X4c({codeSample:e,file:t}){return QVi(e,{language:r=>q6.language({name:r.name!=null?t.casingsGenerator.generateName(r.name):void 0,docs:r.docs,language:r.language,code:r.code,install:r.install}),sdk:r=>q6.sdk({name:r.name!=null?t.casingsGenerator.generateName(r.name):void 0,docs:r.docs,sdk:h0d(r.sdk),code:r.code})})}function h0d(e){switch(e){case"js":return"javascript";case"node":return"javascript";case"ts":return"typescript";case"nodets":return"typescript";case"golang":return"go";case"dotnet":return"csharp";case"c#":return"csharp";case"jvm":return"java";default:return e}}var Z4c=h(()=>{"use strict";No();Ln()});function eMt(e){if(e!=null){if(typeof e=="string")return a0.string(e);if(typeof e=="boolean")return a0.boolean(e)}}var Sbo=h(()=>{"use strict";Ln()});function FEe({errorName:e,file:t}){let r=IL({reference:e,referencedIn:t.relativeFilepath,imports:t.imports});if(r==null)throw new B({message:"Failed to locate error "+e,code:B.Code.ResolutionError});let n={name:t.casingsGenerator.generateName(r.typeName),fernFilepath:fQ({relativeFilepath:r.relativeFilepath,casingsGenerator:t.casingsGenerator})};return{...n,errorId:Bu.generateErrorId(n)}}var tMt=h(()=>{"use strict";tc();Qt();eet();tet()});function $4c(e){if(typeof e=="string"||e.availability==null)return;let t=typeof e.availability=="string"?{status:e.availability}:e.availability;return dQ(e.availability)}var eUc=h(()=>{"use strict";vL()});function tUc(e){if(typeof e!="string")return e["display-name"]}var rUc=h(()=>{"use strict"});function Tbo(e){if(typeof e!="string")return e.docs}var nUc=h(()=>{"use strict"});function oUc({union:e,file:t,typeResolver:r}){let n=cpe(e),i=e["default-variant"],o=Object.entries(e.union).map(([a,c])=>{let u=typeof c=="string"?c:typeof c.type=="string"?c.type:void 0,l=t.casingsGenerator.generateNameAndWireValue({wireValue:a,name:oet({unionKey:a,rawSingleUnionType:c}).name}),p=Tbo(c);if(u==null)return{discriminantValue:l,docs:p,shape:PS.noProperties(),displayName:void 0,availability:void 0};let d=t.parseTypeReference(u);return{discriminantValue:l,shape:Obo({rawSingleUnionType:c,rawValueType:u,parsedValueType:d,file:t,typeResolver:r}),docs:Tbo(c),displayName:tUc(c),availability:$4c(c)}}),s=i!=null?o.find(a=>(typeof a.discriminantValue=="string"?a.discriminantValue:a.discriminantValue.wireValue)===i):void 0;return dc.union({discriminant:t.casingsGenerator.generateNameAndWireValue({wireValue:n,name:iet(e).name}),extends:lW(e.extends).map(a=>d1({typeName:a,file:t})),baseProperties:e["base-properties"]!=null?Object.entries(e["base-properties"]).map(([a,c])=>({...m1(c),name:t.casingsGenerator.generateNameAndWireValue({wireValue:a,name:Xx({propertyKey:a,property:c}).name}),valueType:t.parseTypeReference(c),propertyAccess:REe({property:c}),defaultValue:typeof c!="string"?c.default:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}})):[],types:o,default:s,discriminatorContext:b0d({union:e})})}function cpe(e){return e.discriminant==null?"type":typeof e.discriminant=="string"?e.discriminant:e.discriminant.value}function iet(e){return e.discriminant!=null&&typeof e.discriminant!="string"&&e.discriminant.name!=null?{name:e.discriminant.name,wasExplicitlySet:!0}:{name:cpe(e),wasExplicitlySet:!1}}function oet({unionKey:e,rawSingleUnionType:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function Obo({rawSingleUnionType:e,rawValueType:t,parsedValueType:r,file:n,typeResolver:i}){let o=typeof e!="string"?e.key:void 0,s=i.resolveTypeOrThrow({type:t,file:n}),a=y0d(s),c=sUc(s);return!a&&c._type==="named"&&ef(c.declaration)&&o==null?PS.samePropertiesAsObject(c.name):PS.singleProperty({name:n.casingsGenerator.generateNameAndWireValue({wireValue:A0d(o),name:g0d(o)}),type:r})}function g0d(e){return e!=null?typeof e=="string"?e:e.name??e.value:iUc}function A0d(e){return e!=null?typeof e=="string"?e:e.value:iUc}function y0d(e){return e._type==="container"&&(e.container._type==="nullable"||e.container._type==="optional")}function sUc(e){return e._type==="container"&&(e.container._type==="nullable"||e.container._type==="optional")?sUc(e.container.itemType):e}function b0d({union:e}){return(typeof e.discriminant=="object"&&e.discriminant?.context)==="protocol"?Zce.Protocol:Zce.Data}var iUc,set=h(()=>{"use strict";No();Ln();eUc();rUc();nUc();C$();vL();VV();iUc="value"});function _V(e,t){return[{message:`Expected example to be ${t}. Example is: ${typeof e!="number"?JSON.stringify(e):e}`}]}var rMt=h(()=>{"use strict"});function aUc({rawAlias:e,example:t,file:r,typeResolver:n,exampleResolver:i,workspace:o,breadcrumbs:s,depth:a}){return h1({rawTypeReference:typeof e=="string"?e:e.type,example:t,file:r,typeResolver:n,exampleResolver:i,workspace:o,breadcrumbs:s,depth:a+1})}var cUc=h(()=>{"use strict";Hze()});function uUc({rawEnum:e,example:t,breadcrumbs:r}){let n=e.enum.map(s=>typeof s=="string"?s:s.value),i=n.map(s=>` - ${s}`).join(`
|
|
487
487
|
`);if(typeof t!="string")return _V(t,"a string");if(n.includes(t))return[];let o=t;return typeof t=="string"&&t.startsWith("\\$")&&(o=t.slice(1)),n.includes(o)?[]:[{message:`"${t}" is not a valid example for this enum. Enum values are:
|
|
488
488
|
`+i}]}var lUc=h(()=>{"use strict";rMt()});function nMt({type:e,file:t,_default:r,validation:n}){return hv({type:e,_default:r,validation:n,visitor:{primitive:Ur.primitive,unknown:Ur.unknown,map:({keyType:i,valueType:o})=>Ur.container(Bs.map({keyType:i,valueType:o})),list:i=>Ur.container(Bs.list(i)),set:i=>Ur.container(Bs.set(i)),optional:i=>Ur.container(Bs.optional(i)),nullable:i=>Ur.container(Bs.nullable(i)),literal:i=>Ur.container(Bs.literal(i)),named:i=>Ur.named({...d1({typeName:i,file:t}),default:void 0,inline:void 0})}})}var Bbo=h(()=>{"use strict";No();Ln();C$()});function upe({casingsGenerator:e,rootApiFile:t}){return au({relativeFilepath:Ls.of("."),definitionFile:{imports:t.imports},casingsGenerator:e,rootApiFile:t})}function au({defaultUrl:e,relativeFilepath:t,definitionFile:r,casingsGenerator:n,rootApiFile:i}){let o={defaultUrl:e,relativeFilepath:t,fernFilepath:fQ({relativeFilepath:t,casingsGenerator:n}),imports:rp(r.imports??{},Ls.of),definitionFile:r,parseTypeReference:s=>typeof s=="string"?nMt({type:s,_default:void 0,validation:void 0,file:o}):nMt({type:s.type,_default:s.default,validation:s.validation,file:o}),casingsGenerator:n,rootApiFile:i};return o}var lpe=h(()=>{"use strict";ZA();_i();eet();Bbo()});function CL({typeName:e,objectDeclaration:t,filepathOfDeclaration:r,definitionFile:n,workspace:i,typeResolver:o,smartCasing:s,path:a=[],seen:c={}}){let u=[];if(e!=null){let d=c[r]??=new Set;if(d.has(e))return u;d.add(e)}let l=iMt;s&&(l=Cw({generationLanguage:void 0,keywords:void 0,smartCasing:s}));let p=au({relativeFilepath:r,definitionFile:n,casingsGenerator:l,rootApiFile:i.definition.rootApiFile.contents});if(t.properties!=null)for(let[d,f]of Object.entries(t.properties)){let m=typeof f=="string"?f:f.type,g=o.resolveType({type:m,file:p});g!=null&&u.push({wireKey:d,name:Xx({propertyKey:d,property:f}).name,filepathOfDeclaration:r,path:a,propertyType:m,resolvedPropertyType:g,isOptional:g._type==="container"&&g.container._type==="optional",isNullable:g._type==="container"&&g.container._type==="nullable"})}if(t.extends!=null){let d=typeof t.extends=="string"?[t.extends]:t.extends;for(let f of d){let m=o.resolveNamedType({referenceToNamedType:f,file:p});if(m?._type==="named"&&ef(m.declaration)){let g=pV(i,m.filepath);g!=null&&u.push(...CL({typeName:m.rawName,objectDeclaration:m.declaration,filepathOfDeclaration:m.filepath,definitionFile:g,workspace:i,typeResolver:o,smartCasing:s,path:[...a,{reference:f,followedVia:"extension"},...m.objectPath.map(A=>({reference:A.reference,followedVia:"alias"}))],seen:c}))}}}return u}function oMt({property:e,prefixBreadcrumbs:t=[]}){return[...t,...E0d(e.path),e.wireKey].join(" -> ")}function E0d(e){return e.map(I0d)}function I0d(e){return[v0d(e),e.reference].join(" ")}function v0d(e){switch(e.followedVia){case"alias":return"(alias of)";case"extension":return"(extends)"}}var iMt,aet=h(()=>{"use strict";ip();UV();No();VV();lpe();iMt=Cw({generationLanguage:void 0,keywords:void 0,smartCasing:!1})});function Kze({typeName:e,typeNameForBreadcrumb:t,rawObject:r,file:n,typeResolver:i,exampleResolver:o,workspace:s,example:a,breadcrumbs:c,depth:u}){if(!oo(a))return _V(a,"an object");let l=[],p=CL({typeName:e,objectDeclaration:r,typeResolver:i,definitionFile:n.definitionFile,workspace:s,filepathOfDeclaration:n.relativeFilepath,smartCasing:!1}),d=LPi(p,m=>m.wireKey),f=p.filter(m=>!m.isNullable&&!m.isOptional&&m.resolvedPropertyType._type!=="unknown");for(let m of f)if(!(m.resolvedPropertyType._type==="container"&&m.resolvedPropertyType.container._type==="literal")&&typeof a[m.wireKey]>"u"){let A=`Example is missing required property "${c.length>0?`${c.join(".")}.${m.wireKey}`:m.wireKey}"`;l.push({message:A})}for(let[m,g]of Object.entries(a)){let A=d[m];if(!r["extra-properties"])if(A==null)l.push({message:`Unexpected property "${m}"`});else{let y=pV(s,A.filepathOfDeclaration);if(y==null)throw new B({message:"Service file does not exist for property: "+A.wireKey,code:B.Code.InternalError});l.push(...h1({rawTypeReference:A.propertyType,example:g,file:au({relativeFilepath:A.filepathOfDeclaration,definitionFile:y,casingsGenerator:n.casingsGenerator,rootApiFile:s.definition.rootApiFile.contents}),workspace:s,typeResolver:i,exampleResolver:o,breadcrumbs:[...c,`${m}`],depth:u+1}))}}return l}var Zjr=h(()=>{"use strict";ip();Rt();Qt();_i();lpe();aet();rMt();Hze()});function pUc({rawUnion:e,example:t,typeResolver:r,exampleResolver:n,file:i,workspace:o,breadcrumbs:s,depth:a}){let c=[];for(let u of e.union){let l=h1({rawTypeReference:typeof u=="string"?u:u.type,example:t,typeResolver:r,exampleResolver:n,file:i,workspace:o,breadcrumbs:s,depth:a+1});if(l.length===0)return[];c.length===0&&c.push(...l)}return c}var fUc=h(()=>{"use strict";Hze()});function mUc({typeName:e,rawUnion:t,example:r,typeResolver:n,exampleResolver:i,file:o,workspace:s,breadcrumbs:a,depth:c}){if(!oo(r))return _V(r,"an object");let u=cpe(t),{[u]:l,...p}=r;if(l==null)return[{message:`Missing discriminant property ("${u}")`}];if(typeof l!="string")return _V(l,"a string");let d=t.union[l];if(l.startsWith("\\$")&&(d=t.union[l.slice(1)]),d==null)return[{message:`Invalid discriminant property: "${l}". Allowed discriminant values:
|
|
@@ -3073,7 +3073,7 @@ ${jOu.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&Iko(th
|
|
|
3073
3073
|
`+X6e.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?X6e.default.cyan(qOu(t,this.opt.mask)):X6e.default.italic(X6e.default.dim("[hidden]")):this.opt.mask?qOu(t,this.opt.mask):X6e.default.italic(X6e.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 w9r=ye(Dw(),1);var GBu=ye(r2o(),1),x9r=require("child_process"),qnt=require("fs"),v9r=ye(require("path"),1),qBu=ye(require("os"),1),WBu=require("crypto"),L2o=ye(VBu(),1);var b9r=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var nUt=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var E9r=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var I9r=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function C9r(e="",t,r){let n=new U2o(e,r);n.runAsync((i,o)=>{if(i)setImmediate(t,i,void 0);else try{n.cleanup(),setImmediate(t,void 0,o)}catch(s){setImmediate(t,s,void 0)}})}function _Bu(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function ypm(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e.charAt(n);n>0&&i===" "&&e[n-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${i}`}return r.length>0&&t.push(r),t}var U2o=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=ypm(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??qBu.default.tmpdir(),r=(0,WBu.randomUUID)(),n=_Bu(this.fileOptions.prefix),i=_Bu(this.fileOptions.postfix),o=`${n}${r}${i}`,s=v9r.default.resolve(t,o),a=v9r.default.resolve(t)+v9r.default.sep;if(!s.startsWith(a))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=s;let c={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(c.mode=this.fileOptions.mode),(0,qnt.writeFileSync)(this.tempFile,this.text,c)}catch(t){throw new b9r(t)}}readTemporaryFile(){try{let t=(0,qnt.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,GBu.detect)(t)??"utf8";L2o.default.encodingExists(r)||(r="utf8"),this.text=L2o.default.decode(t,r)}}catch(t){throw new E9r(t)}}removeTemporaryFile(){try{(0,qnt.unlinkSync)(this.tempFile)}catch(t){throw new I9r(t)}}launchEditor(){try{let t=(0,x9r.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new nUt(t)}}launchEditorAsync(t){try{(0,x9r.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new nUt(r)}}};var HBu=ye(JL(),1);var iUt=class extends Rw{_run(t){this.done=t,this.editorResult=new HBu.Subject;let r=EB(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?w9r.default.dim("Received"):w9r.default.dim("Press <enter> to launch your preferred editor."),t&&(r=w9r.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),C9r(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 ZBu=require("stream");var YBu=ye(require("readline"),1),XBu=ye(JBu(),1),tLe=class{constructor(t){this.rl||=YBu.default.createInterface(Epm(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 Epm(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new XBu.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var oUt=class extends tLe{constructor(t={}){super(t),this.log=new ZBu.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return V4t(this.rl,this.bottomBar.split(`
|
|
3074
3074
|
`).length),this}updateBottomBar(t){return V4t(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+`
|
|
3075
3075
|
`}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&&H8r(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var Td=ye(JL(),1),tPu=ye(b4t(),1);var S9r=ye(JL(),1),$Bu=ye(b4t(),1),T9r=function(e,t,r){return typeof e[t]!="function"?(0,S9r.of)(e):(0,S9r.from)((0,$Bu.default)(e[t])(r).then(n=>(e[t]=n,e)))};var ePu={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,o,s)=>{i==="__proto__"||i==="constructor"||(o===s.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=o=>String.prototype.split.call(t,o).filter(Boolean).reduce((s,a)=>s!=null?s[a]:s,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},Wnt=class extends tLe{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,Td.from)(t):(0,Td.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,Td.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,Td.from)([t]),this.process=n.pipe((0,Td.concatMap)(this.processQuestion.bind(this)),(0,Td.publish)()),this.process.connect(),this.process.pipe((0,Td.reduce)((i,o)=>(ePu.set(i,o.name,o.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,Td.defer)(()=>(0,Td.of)(t).pipe((0,Td.concatMap)(this.setDefaultType.bind(this)),(0,Td.concatMap)(this.filterIfRunnable.bind(this)),(0,Td.concatMap)(()=>T9r(t,"message",this.answers)),(0,Td.concatMap)(()=>T9r(t,"default",this.answers)),(0,Td.concatMap)(()=>T9r(t,"choices",this.answers)),(0,Td.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,Td.defer)(()=>(0,Td.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,Td.defer)(()=>(0,Td.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&ePu.get(this.answers,t.name)!==void 0)return Td.EMPTY;if(t.when===!1)return Td.EMPTY;if(typeof t.when!="function")return(0,Td.of)(t);let{answers:r}=this;return(0,Td.defer)(()=>(0,Td.from)((0,tPu.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,Td.filter)(n=>n!=null)))}};function rPu(e){let t=function(r,n){let i;try{i=new Wnt(t.prompts,e)}catch(s){return Promise.reject(s)}let o=i.run(r,n);return o.ui=i,o};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",G4t),this.registerPrompt("input",Y6e),this.registerPrompt("number",q4t),this.registerPrompt("confirm",W4t),this.registerPrompt("rawlist",H4t),this.registerPrompt("expand",K4t),this.registerPrompt("checkbox",J4t),this.registerPrompt("password",Y4t),this.registerPrompt("editor",iUt)},t.restoreDefaultPrompts(),t}var _2o=rPu();function vpm(e,t){_2o.registerPrompt(e,t)}function xpm(){_2o.restoreDefaultPrompts()}var Cpm={prompt:_2o,ui:{BottomBar:oUt,Prompt:Wnt},createPromptModule:rPu,registerPrompt:vpm,restoreDefaultPrompts:xpm,Separator:QQ},cu=Cpm;var Hnt=require("path");function iPu(){let e=wpm();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function wpm(e=process.argv[1]?(0,Hnt.dirname)(process.argv[1]):process.cwd(),t=Hnt.sep==="\\"){let r=t?nPu(e):e;return n=>{if(!n)return;let i=t?nPu(n):n,{dir:o,base:s,ext:a}=Hnt.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,-1*a.length));let c=decodeURIComponent(s);o||(o=".");let u=o.lastIndexOf("/node_modules");if(u>-1)return`${o.slice(u+14).replace(/\//g,".")}:${c}`;if(o.startsWith(r)){let l=o.slice(r.length+1).replace(/\//g,".");return l?`${l}:${c}`:c}return c}}function nPu(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var G2o=e=>{if("flags"in e){let t=oPu(e.flags),r=sPu(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,q2o(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,Spm(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function Spm(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 oPu=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,sUt(r)]).filter(([,t])=>t!==void 0)),sPu=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let n=t[r];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(r=>{let n=t[r].metadata?.payload;return[r,n?q2o(n):void 0]}))};var sUt=e=>e===void 0?void 0:e.variant??e.enabled,q2o=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var Kk=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.LogsQueue="logs_queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e.DeviceId="device_id",e})({});function W2o(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}var Opm="NativeGzipValidationError",Bpm=31,Ppm=139,Dpm=8,Rpm=e=>e.length>=2&&e[0]===Bpm&&e[1]===Ppm;var aUt,Fpm=()=>{if(aUt)return aUt;aUt=[];for(let e=0;e<256;e++){let t=e;for(let r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;aUt[e]=t>>>0}return aUt},kpm=e=>{let t=Fpm(),r=4294967295;for(let n=0;n<e.length;n++)r=t[(r^e[n])&255]^r>>>8;return(4294967295^r)>>>0},O9r=e=>{let t=new Error(`Native gzip produced invalid output: ${e}`);throw t.name=Opm,t},Npm=async(e,t)=>{e.size<18&&O9r("too-short");let r=new Uint8Array(await e.slice(0,10).arrayBuffer());(!Rpm(r)||r[2]!==Dpm)&&O9r("invalid-header");let n=new DataView(await e.slice(e.size-8).arrayBuffer());n.getUint32(0,!0)!==kpm(t)&&O9r("invalid-crc");let i=t.length>>>0;n.getUint32(4,!0)!==i&&O9r("invalid-size")};async function cUt(e,t=!0,r){try{let n=new TextEncoder().encode(e),i=new CompressionStream("gzip"),o=i.writable.getWriter(),s=o.write(n).then(()=>o.close()).catch(async u=>{try{await o.abort(u)}catch{}throw u}),a=new Response(i.readable).blob(),[c]=await Promise.all([a,s]);return await Npm(c,n),c}catch(n){if(r?.rethrow)throw n;return t&&console.error("Failed to gzip compress data",n),null}}var jpm=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],aPu=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return jpm.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var zpm=Array.isArray,cPu=Object.prototype,lgI=cPu.hasOwnProperty,H2o=cPu.toString,Knt=zpm||function(e){return H2o.call(e)==="[object Array]"};var uUt=e=>e===Object(e)&&!Knt(e);var Jnt=e=>e===void 0,xve=e=>H2o.call(e)=="[object String]",uPu=e=>xve(e)&&e.trim().length===0;var lUt=e=>H2o.call(e)=="[object Number]"&&e===e;var K2o=e=>e instanceof Error;function B9r(e){return e===null||typeof e!="object"}function rLe(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function lPu(e){return rLe(e,"ErrorEvent")}function Ynt(e){return typeof Event<"u"&&Mpm(e,Event)}function pPu(e){return rLe(e,"Object")}function Mpm(e,t){try{return e instanceof t}catch{return!1}}function pUt(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),lUt(e)?e>r?(n.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(n.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(n.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+i),pUt(i||r,t,r,n))}var Lpm=864e5,P9r=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=pUt(t.bucketSize,0,100,t._logger),this._refillRate=pUt(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=pUt(t.refillInterval,0,Lpm,t._logger)}_applyRefill(t,r){let n=r-t.lastAccess,i=Math.floor(n/this._refillInterval);if(i>0){let o=i*this._refillRate;t.tokens=Math.min(t.tokens+o,this._bucketSize),t.lastAccess=t.lastAccess+i*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),n=String(t),i=this._buckets[n];return i?this._applyRefill(i,r):(i={tokens:this._bucketSize,lastAccess:r},this._buckets[n]=i),i.tokens===0?!0:(i.tokens--,i.tokens===0&&this._onBucketRateLimited?.(t),i.tokens===0)}stop(){this._buckets={}}};var D9r="0123456789abcdef",R9r=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,n,i){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(i)||t<0||r<0||n<0||i<0||t>0xffffffffffff||r>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=t/2**40,o[1]=t/2**32,o[2]=t/2**24,o[3]=t/2**16,o[4]=t/256,o[5]=t,o[6]=112|r>>>8,o[7]=r,o[8]=128|n>>>24,o[9]=n>>>16,o[10]=n>>>8,o[11]=n,o[12]=i>>>24,o[13]=i>>>16,o[14]=i>>>8,o[15]=i,new e(o)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let n=new Uint8Array(16);for(let i=0;i<16;i+=4){let o=parseInt(r.substring(2*i,2*i+8),16);n[i+0]=o>>>24,n[i+1]=o>>>16,n[i+2]=o>>>8,n[i+3]=o}return new e(n)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=D9r.charAt(this.bytes[r]>>>4),t+=D9r.charAt(15&this.bytes[r]),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=D9r.charAt(this.bytes[r]>>>4),t+=D9r.charAt(15&this.bytes[r]);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let n=this.bytes[r]-t.bytes[r];if(n!==0)return Math.sign(n)}return 0}},J2o=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??Upm()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let n=this.generateOrAbortCore(t,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(t,r)),n}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return R9r.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let t=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return t[6]=64|t[6]>>>4,t[8]=128|t[8]>>>2,R9r.ofInner(t)}},Upm=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),fPu,pee=()=>Vpm().toString(),Vpm=()=>(fPu||(fPu=new J2o)).generate();var F9r=class{add(t){let r=pee();return this.promiseByIds[r]=t,t.catch(()=>{}).finally(()=>{delete this.promiseByIds[r]}),t}async join(){let t=Object.values(this.promiseByIds),r=t.length;for(;r>0;)await Promise.all(t),t=Object.values(this.promiseByIds),r=t.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function _pm(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var dPu=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{debug:(...o)=>{n("debug",...o)},info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>dPu(`${e} ${o}`,t,r)}},Gpm=e=>e();function mPu(e,t=Gpm){return dPu(e,t,_pm())}var Znt="Mobile",N9r="iOS",Xnt="Android",hPu="Tablet",vgI=Xnt+" "+hPu;var Wpm="Apple",xgI=Wpm+" Watch",gPu="Safari",j9r="BlackBerry",APu="Samsung",Hpm=APu+"Browser",Kpm=APu+" Internet",Q9r="Chrome",Jpm=Q9r+" OS",Ypm=Q9r+" "+N9r,yPu="Internet Explorer",Xpm=yPu+" "+Znt,X2o="Opera",CgI=X2o+" Mini",bPu="Edge",Zpm="Microsoft "+bPu,Z2o="Firefox",$pm=Z2o+" "+N9r,$2o="Nintendo",eNo="PlayStation",k9r="Xbox",efm=Xnt+" "+Znt,tfm=Znt+" "+gPu,fUt="Windows",rfm=fUt+" Phone";var EPu="Generic",wgI=EPu+" "+Znt.toLowerCase(),SgI=EPu+" "+hPu.toLowerCase(),nfm="Konqueror",ifm="Oculus Browser",TD="(\\d+(\\.\\d+)?)",Y2o=new RegExp("Version/"+TD),TgI=new RegExp(k9r,"i"),OgI=new RegExp(eNo+" \\w+","i"),BgI=new RegExp($2o+" \\w+","i"),ofm=new RegExp(j9r+"|PlayBook|BB10","i"),sfm={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"};var PgI={[Xpm]:[new RegExp("rv:"+TD)],[Zpm]:[new RegExp(bPu+"?\\/"+TD)],[Q9r]:[new RegExp("("+Q9r+"|CrMo)\\/"+TD)],[Ypm]:[new RegExp("CriOS\\/"+TD)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+TD)],[gPu]:[Y2o],[tfm]:[Y2o],[X2o]:[new RegExp("("+X2o+"|OPR)\\/"+TD)],[Z2o]:[new RegExp(Z2o+"\\/"+TD)],[$pm]:[new RegExp("FxiOS\\/"+TD)],[nfm]:[new RegExp("Konqueror[:/]?"+TD,"i")],[j9r]:[new RegExp(j9r+" "+TD),Y2o],[efm]:[new RegExp("android\\s"+TD,"i")],[Kpm]:[new RegExp(Hpm+"\\/"+TD)],[ifm]:[new RegExp("OculusBrowser\\/"+TD)],[yPu]:[new RegExp("(rv:|MSIE )"+TD)],Mozilla:[new RegExp("rv:"+TD)]};var DgI=[[new RegExp(k9r+"; "+k9r+" (.*?)[);]","i"),e=>[k9r,e&&e[1]||""]],[new RegExp($2o,"i"),[$2o,""]],[new RegExp(eNo,"i"),[eNo,""]],[ofm,[j9r,""]],[new RegExp(fUt,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[rfm,""];if(new RegExp(Znt).test(t)&&!/IEMobile\b/.test(t))return[fUt+" "+Znt,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=sfm[n]||"";return/arm/i.test(t)&&(i="RT"),[fUt,i]}return[fUt,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[N9r,t.join(".")]}return[N9r,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=Jnt(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+Xnt+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Xnt+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[Xnt,t.join(".")]}return[Xnt,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{let t=["Mac OS X",""];if(e&&e[1]){let r=[e[1],e[2],e[3]||"0"];t[1]=r.join(".")}return t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[Jpm,""]],[/Linux|debian/i,["Linux",""]]];var IPu="utf8";function vPu(e){return e?.replace(/\/+$/,"")}async function xPu(e,t){let r=null;for(let n=0;n<t.retryCount+1;n++){n>0&&await new Promise(i=>setTimeout(i,t.retryDelay));try{return await e()}catch(i){if(r=i,!t.retryCheck(i))throw i}}throw r}function z9r(){return new Date().toISOString()}function fee(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var CPu=e=>e instanceof Error;function tNo(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var afm={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},qgI=afm.info;var M9r=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(n=>n!==r)}}emit(t,r){for(let n of this.events[t]||[])n(r);for(let n of this.events["*"]||[])n(t,r)}};var iLe=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()}},nLe=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function wPu(e){if(e instanceof iLe){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 L9r(e){return typeof e=="object"&&(e instanceof iLe||e instanceof nLe)}function U9r(e){return typeof e=="object"&&e instanceof iLe&&e.status===413}var dUt=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new F9r,this._events=new M9r,this._isInitialized=!1;let n=typeof t=="string"?t.trim():"",i=typeof r.host=="string"?r.host.trim():"",o=!n;this._logger=mPu("[PostHog]",this.logMsgIfDebug.bind(this)),o&&this._logger.error("You must pass your PostHog project's api key. The client will be disabled."),this.apiKey=n,this.host=vPu(i||"https://us.i.posthog.com"),this.flushAt=r.flushAt?Math.max(r.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r.maxQueueSize??1e3),this.flushInterval=r.flushInterval??1e4,this.preloadFeatureFlags=r.preloadFeatureFlags??!0,this.defaultOptIn=r.defaultOptIn??!0,this.disableSurveys=r.disableSurveys??!1,this._retryOptions={retryCount:r.fetchRetryCount??3,retryDelay:r.fetchRetryDelay??3e3,retryCheck:L9r},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)||o,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!W2o()||(r?.disableCompression??!1)}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(Kk.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(Kk.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(Kk.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(n,i)=>this._logger.info(n,i));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,n){this.wrap(()=>{let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",i,n)})}async identifyStatelessImmediate(t,r,n){let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",i,n)}captureStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({distinct_id:t,event:r,properties:n});this.enqueue("capture",o,i)})}async captureStatelessImmediate(t,r,n,i){let o=this.buildPayload({distinct_id:t,event:r,properties:n});await this.sendImmediate("capture",o,i)}aliasStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});this.enqueue("alias",o,i)})}async aliasStatelessImmediate(t,r,n,i){let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",o,i)}groupIdentifyStateless(t,r,n,i,o,s){this.wrap(()=>{let a=this.buildPayload({distinct_id:o||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:n||{},...s||{}}});this.enqueue("capture",a,i)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(i=>i.json()).catch(i=>{this._logger.error("Remote config could not be loaded",i),this._events.emit("error",i)})}async getFlags(t,r={},n={},i={},o={},s=!1){await this._initPromise;let a=s?"&config=true":"",c=`${this.host}/flags/?v=2${a}`,u={token:this.apiKey,distinct_id:t,groups:r,person_properties:n,group_properties:i,...o};n.$device_id&&(u.$device_id=n.$device_id),this.evaluationContexts&&this.evaluationContexts.length>0&&(u.evaluation_contexts=this.evaluationContexts);let l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(u)};return this._logger.info("Flags URL",c),this.fetchWithRetry(c,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(p=>p.json()).then(p=>({success:!0,response:G2o(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof iLe)return{type:"api_error",statusCode:t.status};if(t instanceof nLe){let r=t.error;return r instanceof Error&&(r.name==="AbortError"||r.name==="TimeoutError")?{type:"timeout"}:{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailStateless(t,r,n,i,o,s);if(a===void 0)return{response:void 0,requestId:void 0};let c=sUt(a.response);return c===void 0&&(c=!1),{response:c,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let c=a[t];return c===void 0?null:c}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let c=await this.getFlags(t,r,n,i,a);if(!c.success)return;let u=c.response;return u.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),u.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:u?.requestId,quotaLimited:u.quotaLimited}):u}async getSurveysStateless(){if(await this._initPromise,this.disabled)return[];if(this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(Kk.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(Kk.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(Kk.Props,this.props)})}processBeforeEnqueue(t){return t}async flushStorage(){}enqueue(t,r,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o=this.getPersistedProperty(Kk.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(Kk.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=fee(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,n){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o={api_key:this.apiKey,batch:[i],sent_at:z9r()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,c=this.disableCompression?null:await cUt(s,this.isDebug),u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||s};try{await(await this.fetchWithRetry(a,u)).body?.cancel()?.catch(()=>{})}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:z9r(),uuid:n?.uuid?n.uuid:pee()};return(n?.disableGeoip??this.disableGeoip)&&(i.properties||(i.properties={}),i.properties.$geoip_disable=!0),i.distinctId&&(i.distinct_id=i.distinctId,delete i.distinctId),i}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await wPu(t)})}async flush(){if(this.disabled)return;let t=tNo([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),tNo([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(Kk.Queue)||[];if(!t.length)return;let r=[],n=t.length;for(;t.length>0&&r.length<n;){let i=t.slice(0,this.maxBatchSize),o=i.map(f=>f.message),s=async()=>{let m=(this.getPersistedProperty(Kk.Queue)||[]).slice(i.length);this.setPersistedProperty(Kk.Queue,m),t=m,await this.flushStorage()},a={api_key:this.apiKey,batch:o,sent_at:z9r()};this.historicalMigration&&(a.historical_migration=!0);let c=JSON.stringify(a),u=`${this.host}/batch/`,l=this.disableCompression?null:await cUt(c,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||c},d={retryCheck:f=>U9r(f)?!1:L9r(f)};try{await(await this.fetchWithRetry(u,p,d)).body?.cancel()?.catch(()=>{})}catch(f){if(U9r(f)&&o.length>1){this.maxBatchSize=Math.max(1,Math.floor(o.length/2)),this._logger.warn(`Received 413 when sending batch of size ${o.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw f instanceof nLe||await s(),this._events.emit("error",f),f}await s(),r.push(...o)}this._events.emit("flush",r)}async _sendLogsBatch(t){if(this.disabled)return{kind:"fatal",error:new Error("The client is disabled")};let r=JSON.stringify(t),n=`${this.host}/i/v1/logs?token=${encodeURIComponent(this.apiKey)}`,i=this.disableCompression?null:await cUt(r,this.isDebug),o={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...i!==null&&{"Content-Encoding":"gzip"}},body:i||r};try{return await this.fetchWithRetry(n,o,{retryCheck:s=>U9r(s)?!1:L9r(s)}),{kind:"ok"}}catch(s){return U9r(s)?{kind:"too-large"}:s instanceof nLe?{kind:"retry-later",error:s}:{kind:"fatal",error:s}}}async fetchWithRetry(t,r,n,i){let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,IPu)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await xPu(async()=>{let a=new AbortController,c=i??this.requestTimeout,u=fee(()=>a.abort(),c),l=null;try{l=await this.fetch(t,{signal:a.signal,...r})}catch(d){throw new nLe(d)}finally{clearTimeout(u)}if(!(r.mode==="no-cors")&&(l.status<200||l.status>=400))throw new iLe(l,s);return l},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;if(this.clearFlushTimer(),this.disabled)return;let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(Kk.Queue)||[]).length===0||(await this.flush(),r)););}catch(o){if(!L9r(o))throw o;await wPu(o)}},i;try{return await Promise.race([new Promise((o,s)=>{i=fee(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,s("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),n()])}finally{clearTimeout(i)}}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var MQ={};X(MQ,{DEFAULT_EXCEPTION_STEPS_CONFIG:()=>W9r,DOMExceptionCoercer:()=>oNo,EXCEPTION_STEP_INTERNAL_FIELDS:()=>mUt,ErrorCoercer:()=>sNo,ErrorEventCoercer:()=>aNo,ErrorPropertiesBuilder:()=>rNo,EventCoercer:()=>lNo,ExceptionStepsBuffer:()=>hNo,ObjectCoercer:()=>uNo,PrimitiveCoercer:()=>pNo,PromiseRejectionEventCoercer:()=>fNo,ReduceableCache:()=>dNo,StringCoercer:()=>cNo,chromeStackLineParser:()=>nNo,createDefaultStackParser:()=>Cfm,createStackParser:()=>jPu,geckoStackLineParser:()=>iNo,getUtf8ByteLength:()=>zPu,nodeStackLineParser:()=>RPu,opera10StackLineParser:()=>BPu,opera11StackLineParser:()=>PPu,resolveExceptionStepsConfig:()=>mNo,reverseAndStripFrames:()=>NPu,stripReservedExceptionStepFields:()=>Tfm,winjsStackLineParser:()=>OPu});var V9r,SPu,_9r;function TPu(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return _9r&&r.length===SPu||(SPu=r.length,_9r=r.reduce((n,i)=>{V9r||(V9r={});let o=V9r[i];if(o)n[o[0]]=o[1];else{let s=e(i);for(let a=s.length-1;a>=0;a--){let u=s[a]?.filename,l=t[i];if(u&&l){n[u]=l,V9r[i]=[u,l];break}}}return n},{})),_9r}var pfm=4,rNo=class{constructor(t,r,n=[]){this.coercers=t,this.stackParser=r,this.modifiers=n}buildFromUnknown(t,r={}){let i=r&&r.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,r,0).apply(t),a=this.buildParsingContext(r),c=this.parseStacktrace(s,a);return{$exception_list:this.convertToExceptionList(c,i),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&Knt(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let n;t.cause!=null&&(n=this.parseStacktrace(t.cause,r));let i;return t.stack!=""&&t.stack!=null&&(i=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?r.skipFirstLines:0),r.chunkIdMap)),{...t,cause:n,stack:i}}applyChunkIds(t,r){return t.map(n=>(n.filename&&r&&(n.chunk_id=r[n.filename]),n))}applyCoercers(t,r){for(let n of this.coercers)if(n.match(t))return n.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let n of this.modifiers)r=await n(r);return r}convertToExceptionList(t,r){let n={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(n.stacktrace={type:"raw",frames:t.stack});let i=[n];return t.cause!=null&&i.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),i}buildParsingContext(t){return{chunkIdMap:TPu(this.stackParser),skipFirstLines:t.skipFirstLines??1}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=pfm){let c=this.buildCoercingContext(t,r,a);return this.applyCoercers(s,c)}};return{...r,syntheticException:n==0?r.syntheticException:void 0,mechanism:t,apply:s=>i(s,n),next:s=>i(s,n+1)}}};var vB="?";function dee(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?vB:r,in_app:!0};return Jnt(n)||(o.lineno=n),Jnt(i)||(o.colno=i),o}var G9r=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:vB,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var ffm=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,dfm=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,mfm=/\((\S*)(?::(\d+))(?::(\d+))\)/,nNo=(e,t)=>{let r=ffm.exec(e);if(r){let[,i,o,s]=r;return dee(t,i,vB,+o,+s)}let n=dfm.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=mfm.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=G9r(n[1]||vB,n[2]);return dee(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var hfm=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,gfm=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,iNo=(e,t)=>{let r=hfm.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=gfm.exec(r[3]);s&&(r[1]=r[1]||"eval",r[3]=s[1],r[4]=s[2],r[5]="")}let i=r[3],o=r[1]||vB;return[o,i]=G9r(o,i),dee(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var Afm=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,OPu=(e,t)=>{let r=Afm.exec(e);return r?dee(t,r[2],r[1]||vB,+r[3],r[4]?+r[4]:void 0):void 0};var yfm=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,BPu=(e,t)=>{let r=yfm.exec(e);return r?dee(t,r[2],r[3]||vB,+r[1]):void 0},bfm=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,PPu=(e,t)=>{let r=bfm.exec(e);return r?dee(t,r[5],r[3]||r[4]||vB,+r[1],+r[2]):void 0};var Efm=/^\s*[-]{4,}$/,Ifm=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,RPu=(e,t)=>{let r=e.match(Ifm);if(r){let n,i,o,s,a;if(r[1]){o=r[1];let l=o.lastIndexOf(".");if(o[l-1]==="."&&l--,l>0){n=o.slice(0,l),i=o.slice(l+1);let p=n.indexOf(".Module");p>0&&(o=o.slice(p+1),n=n.slice(0,p))}s=void 0}i&&(s=n,a=i),i==="<anonymous>"&&(a=void 0,o=void 0),o===void 0&&(a=a||vB,o=s?`${s}.${a}`:a);let c=r[2]?.startsWith("file://")?r[2].slice(7):r[2],u=r[5]==="native";return c?.match(/\/[A-Z]:/)&&(c=c.slice(1)),!c&&r[5]&&!u&&(c=r[5]),{filename:c?decodeURI(c):void 0,module:void 0,function:o,lineno:DPu(r[3]),colno:DPu(r[4]),in_app:vfm(c||"",u),platform:t}}if(e.match(Efm))return{filename:e,platform:t}};function vfm(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 DPu(e){return parseInt(e||"",10)||void 0}var FPu=/\(error: (.*)\)/,kPu=50;function NPu(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,kPu).map(r=>({...r,filename:r.filename||xfm(t).filename,function:r.function||vB}))}function xfm(e){return e[e.length-1]||{}}function Cfm(){return jPu("web:javascript",nNo,iNo)}function jPu(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
|
|
3076
|
-
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=FPu.test(a)?a.replace(FPu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=kPu)break}}return NPu(i)}}var oNo=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=xve(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rLe(t,"DOMException")}isDOMError(t){return rLe(t,"DOMError")}};var sNo=class{match(t){return K2o(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var aNo=class{constructor(){}match(t){return lPu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var wfm=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,cNo=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(wfm);return i&&(r=i[1],n=i[2]),[r,n]}};var QPu=["fatal","error","warning","log","info","debug"];function q9r(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var uNo=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return Ynt(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=q9r(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return xve(t)&&!uPu(t)&&QPu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(CPu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var lNo=class{match(t){return Ynt(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${q9r(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var pNo=class{match(t){return B9r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var fNo=class{match(t){return rLe(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Ynt(t))return!1;try{let r=t.detail;return r!=null&&typeof r=="object"&&"reason"in r}catch{return!1}}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return B9r(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){try{if("reason"in t)return t.reason;if("detail"in t&&t.detail!=null&&typeof t.detail=="object"&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var dNo=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var mUt={MESSAGE:"$message",TIMESTAMP:"$timestamp"},Sfm=new Set([mUt.MESSAGE,mUt.TIMESTAMP]),W9r={enabled:!0,max_bytes:32768};function mNo(e){return e?{enabled:e.enabled??W9r.enabled,max_bytes:Ofm(e.max_bytes,W9r.max_bytes)}:{...W9r}}function Tfm(e){if(!e)return{sanitizedProperties:{},droppedKeys:[]};let t=[];return{sanitizedProperties:Object.keys(e).reduce((n,i)=>Sfm.has(i)?(t.push(i),n):(n[i]=e[i],n),{}),droppedKeys:t}}var hNo=class{constructor(t){this._entries=[],this._totalBytes=0,this._config=mNo(t)}setConfig(t){this._config=mNo(t),this._trimToMaxBytes()}add(t){let r=Bfm(t);if(!r)return;let n=zPu(r.json);n>this._config.max_bytes||(this._entries.push({step:r.step,bytes:n}),this._totalBytes+=n,this._trimToMaxBytes())}getAttachable(){return this._entries.map(t=>t.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){for(;this._totalBytes>this._config.max_bytes&&this._entries.length>0;){let t=this._entries.shift();t&&(this._totalBytes-=t.bytes)}}};function Ofm(e,t){if(!lUt(e)||e===1/0||e===-1/0)return t;let r=Math.floor(e);return r<0?t:r}function Bfm(e){let t=Pfm(e);if(t)try{let r=JSON.parse(t);if(!uUt(r))return;let n=r,i=n[mUt.MESSAGE],o=n[mUt.TIMESTAMP];return!xve(i)||i.trim().length===0||!xve(o)&&!lUt(o)?void 0:{step:n,json:t}}catch{return}}function Pfm(e){let t=new WeakSet;try{return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(!(typeof n=="function"||typeof n=="symbol")){if(n instanceof Date)return n.toISOString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(n&&typeof n=="object"){if(t.has(n))return"[Circular]";t.add(n)}return n}})}catch{return}}function zPu(e){if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length;let t=encodeURIComponent(e),r=0;for(let n=0;n<t.length;n++)t[n]==="%"?(r+=1,n+=2):r+=1;return r}var UPu=require("fs"),VPu=require("readline"),H9r=new MQ.ReduceableCache(25),_Pu=new MQ.ReduceableCache(20),gNo=7,Dfm=1e3,Rfm=1e4;async function GPu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||jfm(s)||Qfm(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(_Pu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=Mfm(o);if(s.every(c=>zfm(i,c)))continue;let a=Lfm(H9r,i,{});n.push(Ffm(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&kfm(e,H9r),H9r.reduce(),e}function Ffm(e,t,r){return new Promise(n=>{let i=(0,UPu.createReadStream)(e),o=(0,VPu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function d(){_Pu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=Ufm(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let m=t[c];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function kfm(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;Nfm(r.lineno,r,n)}}function Nfm(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=qPu(e);i<e;i++){let o=r[i];if(o===void 0)return void MPu(t);t.pre_context.push(o)}if(r[e]===void 0)return void MPu(t);t.context_line=r[e];let n=WPu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function MPu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function jfm(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function Qfm(e){return e.lineno!==void 0&&e.lineno>Rfm||e.colno!==void 0&&e.colno>Dfm}function zfm(e,t){let r=H9r.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function Mfm(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=LPu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+gNo:(i.push(n),n=LPu(o)),t++}return i}function LPu(e){return[qPu(e),WPu(e)]}function qPu(e){return Math.max(1,e-gNo)}function WPu(e){return e+gNo}function Lfm(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function Ufm(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}var $nt=require("path");function HPu(e=process.cwd()){let t=$nt.sep==="\\",r=i=>t?i.replace(/\\/g,"/"):i,n=r(e);return async i=>{for(let o of i)!o.filename||o.filename.startsWith("node:")||o.filename.startsWith("data:")||(0,$nt.isAbsolute)(o.filename)&&(o.filename=r((0,$nt.relative)(n,r(o.filename))));return i}}function Vfm(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function KPu(e,t){globalThis.process?.on("uncaughtException",Vfm(e,t))}function JPu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var _fm=2e3,iH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new P9r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return uUt(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i},s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n,properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(KPu(this.onException.bind(this),this.onFatalError.bind(this)),JPu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(_fm),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var YPu="5.35.1";var pfe={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};var eit=class e{constructor(t){this._host=t.host,this._distinctId=t.distinctId,this._groups=t.groups,this._disableGeoip=t.disableGeoip,this._flags=t.flags,this._requestId=t.requestId,this._evaluatedAt=t.evaluatedAt,this._flagDefinitionsLoadedAt=t.flagDefinitionsLoadedAt,this._errorsWhileComputing=t.errorsWhileComputing??!1,this._quotaLimited=t.quotaLimited??!1,this._accessed=t.accessed??new Set,this._isSlice=t.isSlice??!1}isEnabled(t){let r=this._flags[t];return this._recordAccess(t),r?.enabled??!1}getFlag(t){let r=this._flags[t];if(this._recordAccess(t),!!r)return r.enabled?r.variant??!0:!1}getFlagPayload(t){return this._flags[t]?.payload}onlyAccessed(){let t={};for(let r of this._accessed){let n=this._flags[r];n&&(t[r]=n)}return this._cloneWith(t)}only(t){let r={},n=[];for(let i of t){let o=this._flags[i];o?r[i]=o:n.push(i)}return n.length>0&&this._host.logWarning(`FeatureFlagEvaluations.only() was called with flag keys that are not in the evaluation set and will be dropped: ${n.join(", ")}`),this._cloneWith(r)}get keys(){return Object.keys(this._flags)}_getEventProperties(){let t={},r=[];for(let[n,i]of Object.entries(this._flags)){let o=i.enabled===!1?!1:i.variant??!0;t[`$feature/${n}`]=o,i.enabled&&r.push(n)}return r.length>0&&(r.sort(),t.$active_feature_flags=r),t}_cloneWith(t){return new e({host:this._host,distinctId:this._distinctId,groups:this._groups,disableGeoip:this._disableGeoip,flags:t,requestId:this._requestId,evaluatedAt:this._evaluatedAt,flagDefinitionsLoadedAt:this._flagDefinitionsLoadedAt,errorsWhileComputing:this._errorsWhileComputing,quotaLimited:this._quotaLimited,accessed:new Set(this._accessed),isSlice:!0})}_recordAccess(t){if(this._accessed.add(t),this._distinctId===""||this._isSlice&&!(t in this._flags))return;let r=this._flags[t],n=r===void 0?void 0:r.enabled===!1?!1:r.variant??!0,i={$feature_flag:t,$feature_flag_response:n,$feature_flag_id:r?.id,$feature_flag_version:r?.version,$feature_flag_reason:r?.reason,locally_evaluated:r?.locallyEvaluated??!1,[`$feature/${t}`]:n,$feature_flag_request_id:this._requestId,$feature_flag_evaluated_at:r?.locallyEvaluated?Date.now():this._evaluatedAt};r?.locallyEvaluated&&this._flagDefinitionsLoadedAt!==void 0&&(i.$feature_flag_definitions_loaded_at=this._flagDefinitionsLoadedAt);let o=[];this._errorsWhileComputing&&o.push(pfe.ERRORS_WHILE_COMPUTING),this._quotaLimited&&o.push(pfe.QUOTA_LIMITED),r===void 0&&o.push(pfe.FLAG_MISSING),o.length>0&&(i.$feature_flag_error=o.join(",")),this._host.captureFlagCalledEventIfNeeded({distinctId:this._distinctId,key:t,response:n,groups:this._groups,disableGeoip:this._disableGeoip,properties:i})}};async function XPu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var Gfm=6e4,qfm=1152921504606847e3,Wfm=["is_not","is_set"],tit=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Od=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},mee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},K9r=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let c=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,c)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(u){u instanceof mee||u instanceof Od?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${t}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${u}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(c=>this.featureFlagsByKey[c]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async c=>{try{let{value:u,payload:l}=await this.computeFlagAndPayloadLocally(c,a);n[c.key]=u,l&&(i[c.key]=l)}catch(u){u instanceof mee||u instanceof Od?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${c.key}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${c.key}: ${u}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(!t.active)return!1;if(t.ensure_experience_continuity)throw new Od("Flag has experience continuity enabled");let c=(t.filters||{}).aggregation_group_type_index;if(c!=null){let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new Od("Flag has unknown group type index");if(!(u in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[u];return await this.matchFeatureFlagProperties(t,i[u],l,r)}{let u=this.getBucketingValueForFlag(t,n,o);if(u===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new Od(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,u,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new Od("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Od(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Od(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Od(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[c]=p}catch(p){throw new Od(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Od(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Od(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=o.aggregation_group_type_index,{groups:c,groupProperties:u}=i,l=!1,p;for(let d of s)try{let f=d.aggregation_group_type_index!==void 0?d.aggregation_group_type_index:a,m=n,g=r;if(f!==a&&f!=null){let A=this.groupTypeMapping[String(f)];if(!A||!(A in c)){this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${t.key}': group type index ${f} not available`));continue}if(!(A in u)){l=!0;continue}m=u[A],g=c[A]}if(await this.isConditionMatch(t,g,d,m,i)){let A=d.variant,y=o.multivariate?.variants||[];p=A&&y.some(E=>E.key===A)?A:await this.getMatchingVariant(t,g)||!0;break}}catch(f){if(f instanceof mee)throw f;if(f instanceof Od)l=!0;else throw f}if(p!==void 0)return p;if(l)throw new Od("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?await rDu(c,i,this.cohorts,this.debugMode,p=>this.evaluateFlagDependency(p,i,o)):u==="flag"?await this.evaluateFlagDependency(c,i,o):tDu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await ZPu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await ZPu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(Gfm,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new tit(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new tit(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new tit(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof tit&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=fee(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function ZPu(e,t,r=""){let n=await XPu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/qfm}function tDu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")return!1}else{if(o==="is_not_set")return!0;throw new Od(`Property ${n} not found in propertyValues`)}let s=t[n];if(s==null&&!Wfm.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return $Pu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return $Pu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:parseFloat(String(i)),l;return l=typeof s=="number"?s:s!=null?parseFloat(String(s)):NaN,Number.isFinite(u)&&Number.isFinite(l)?c(l,u,o):c(String(s),String(i),o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Od("Date operations cannot be performed on boolean values");let u=Xfm(String(i));if(u==null&&(u=eDu(i)),u==null)throw new Od(`Invalid date: ${i}`);let l=eDu(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return w_(xB(String(s)),xB(String(i)))===0;case"semver_neq":return w_(xB(String(s)),xB(String(i)))!==0;case"semver_gt":return w_(xB(String(s)),xB(String(i)))>0;case"semver_gte":return w_(xB(String(s)),xB(String(i)))>=0;case"semver_lt":return w_(xB(String(s)),xB(String(i)))<0;case"semver_lte":return w_(xB(String(s)),xB(String(i)))<=0;case"semver_tilde":{let u=xB(String(s)),{lower:l,upper:p}=Kfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}case"semver_caret":{let u=xB(String(s)),{lower:l,upper:p}=Jfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}case"semver_wildcard":{let u=xB(String(s)),{lower:l,upper:p}=Yfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}default:throw new Od(`Unknown operator: ${o}`)}}function Hfm(e,t){if(!(e in t))throw new mee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}async function rDu(e,t,r,n=!1,i){let o=String(e.value);Hfm(o,r);let s=r[o];return nDu(s,t,r,n,i)}async function nDu(e,t,r,n=!1,i){if(!e)return!0;let o=e.type,s=e.values;if(!s||s.length===0)return!0;let a=!1;if("values"in s[0]){for(let c of s)try{let u=await nDu(c,t,r,n,i);if(o==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof mee)throw u;if(u instanceof Od)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Od("Can't match cohort without a given cohort property value");return o==="AND"}for(let c of s)try{let u;if(c.type==="cohort")u=await rDu(c,t,r,n,i);else if(c.type==="flag"){if(!i)throw new Od(`Flag dependency '${c.key||"unknown"}' cannot be evaluated without a flag dependency evaluator`);u=await i(c)}else u=tDu(c,t);let l=c.negation||!1;if(o==="AND"){if(!u&&!l||u&&l)return!1}else if(u&&!l||!u&&l)return!0}catch(u){if(u instanceof mee)throw u;if(u instanceof Od)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Od("can't match cohort without a given cohort property value");return o==="AND"}function $Pu(e){try{return new RegExp(e),!0}catch{return!1}}function iDu(e,t){if(!/^\d+$/.test(e))throw new Od(`Invalid semver: ${t}`);if(e.length>1&&e[0]==="0")throw new Od(`Invalid semver: ${t}`);return parseInt(e,10)}function xB(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Od(`Invalid semver: ${e}`);let n=r.split("."),i=c=>c===void 0||c===""?0:iDu(c,e),o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function w_(e,t){for(let r=0;r<3;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return 0}function Kfm(e){let t=xB(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function Jfm(e){let t=xB(e),[r,n,i]=t,o=[r,n,i],s;return s=r>0?[r+1,0,0]:n>0?[0,n+1,0]:[0,0,i+1],{lower:o,upper:s}}function Yfm(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Od(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=c=>{try{return iDu(c,e)}catch{throw new Od(`Invalid wildcard semver: ${e}`)}},o=i(n[0]),s,a;if(n.length===1)s=[o,0,0],a=[o+1,0,0];else{let c=i(n[1]);s=[o,c,0],a=[o,c+1,0]}return{lower:s,upper:a}}function eDu(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 Od(`${e} is in an invalid date format`)}throw new Od(`The date provided ${e} must be a string, number, or date object`)}function Xfm(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var J9r=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var Zfm=100,oDu=3e4,$fm=5e4,edm=50,tdm=500,rdm="https://us.i.posthog.com",sDu=new Set;function Y9r(e,t){sDu.has(e)||(sDu.add(e),console.warn(`[PostHog] ${t}`))}function ndm(e){return typeof e=="string"?e.trim():""}function idm(e){return(typeof e=="string"?e.trim():"")||void 0}function odm(e){return(typeof e=="string"?e.trim():"")||rdm}function sdm(e){if(!e)return{};let t={};for(let[n,i]of Object.entries(e))t[`$feature/${n}`]=i;let r=Object.keys(e).filter(n=>e[n]!==!1).sort();return r.length>0&&(t.$active_feature_flags=r),t}var X9r=class extends dUt{constructor(t,r={}){let n=ndm(t),i={...r,host:odm(r.host),personalApiKey:idm(r.personalApiKey)};if(super(n,i),this._memoryStorage=new J9r,this.options=i,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof i.featureFlagsPollingInterval=="number"?Math.max(i.featureFlagsPollingInterval,Zfm):oDu,typeof i.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(i.waitUntilDebounceMs,0)),typeof i.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(i.waitUntilMaxWaitMs,0)),i.personalApiKey){if(i.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.');i.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new K9r({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:i.personalApiKey,projectApiKey:n,timeout:i.requestTimeout??1e4,host:this.host,fetch:i.fetch,onError:s=>{this._events.emit("error",s)},onLoad:s=>{this._events.emit("localEvaluationFlagsLoaded",s)},customHeaders:this.getCustomHeaders(),cacheProvider:i.flagDefinitionCacheProvider,strictLocalEvaluation:i.strictLocalEvaluation}))}this.errorTracking=new iH(this,i,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=i.maxCacheSize||$fm}enqueue(t,r,n){super.enqueue(t,r,n),this.scheduleDebouncedFlush()}async flush(){let t=super.flush(),r=this.options.waitUntil;if(r&&!this._waitUntilCycle)try{r(t.catch(()=>{}))}catch{}return t}scheduleDebouncedFlush(){let t=this.options.waitUntil;if(!t||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let s,a=new Promise(c=>{s=c});try{t(a)}catch{return}this._waitUntilCycle={resolve:s,startedAt:Date.now(),timer:void 0}}let r=Date.now()-this._waitUntilCycle.startedAt,n=this.options.waitUntilMaxWaitMs??tdm,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??edm;this._waitUntilCycle.timer=fee(()=>{this.resolveWaitUntilFlush()},o)}_consumeWaitUntilCycle(){let t=this._waitUntilCycle;return t&&(clearTimeout(t.timer),this._waitUntilCycle=void 0),t?.resolve}async resolveWaitUntilFlush(){let t=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{t?.()}}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return YPu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};await super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=oDu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f,m=!1,g,A,y,E,v,I;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(O){m=!0;let D=O.value;E=w.id,I="Evaluated locally",f={key:t,enabled:D!==!1,variant:typeof D=="string"?D:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof mee||O instanceof Od)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!m&&!c){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)y=pfe.UNKNOWN_ERROR;else{g=w.requestId,A=w.evaluatedAt;let O=[];w.errorsWhileComputingFlags&&O.push(pfe.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&O.push(pfe.QUOTA_LIMITED);let D=w.flags[t];if(D===void 0)O.push(pfe.FLAG_MISSING);else{E=D.metadata?.id,v=D.metadata?.version,I=D.reason?.description??D.reason?.code;let T;if(D.metadata?.payload!==void 0)try{T=JSON.parse(D.metadata.payload)}catch{T=D.metadata.payload}f={key:t,enabled:D.enabled,variant:D.variant,payload:T}}O.length>0&&(y=O.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,O={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:E,$feature_flag_version:v,$feature_flag_reason:I,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:g,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let D=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();D!==void 0&&(O.$feature_flag_definitions_loaded_at=D)}y&&(O.$feature_flag_error=y),this._captureFlagCalledEventIfNeeded({distinctId:r,key:t,response:w,groups:s,disableGeoip:a,properties:O})}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){Y9r("getFeatureFlag","`getFeatureFlag` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlag(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(Y9r("getFeatureFlagPayload","`getFeatureFlagPayload` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlagPayload(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request."),this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){Y9r("isFeatureEnabled","`isFeatureEnabled` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.isEnabled(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});return i===void 0?void 0:i.enabled===!1?!1:!!(i.variant??!0)||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},g={},A=!0;if(f&&(m=f.response,g=f.payloads,A=f.fallbackToFlags),A&&!c){let y=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...y.flags||{}},g={...g,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(g={...g,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:g}}async evaluateFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to evaluate feature flags \u2014 pass it explicitly or use withContext()"),new eit({host:this._getFeatureFlagEvaluationsHost(),distinctId:"",flags:{}});let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f={},m,g,A=!1,y=!1,E=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),v=new Set;if(E)for(let[C,w]of Object.entries(E.response)){let O=this.featureFlagsPoller?.featureFlagsByKey[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:E.payloads[C],id:O?.id,version:void 0,reason:"Evaluated locally",locallyEvaluated:!0},v.add(C)}if((E?E.fallbackToFlags:!0)&&!c){let C=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);if(C){m=C.requestId,g=C.evaluatedAt,A=!!C.errorsWhileComputingFlags,y=Array.isArray(C.quotaLimited)&&C.quotaLimited.includes("feature_flags");for(let[w,O]of Object.entries(C.flags)){if(v.has(w))continue;let D;if(O.metadata?.payload!==void 0)try{D=JSON.parse(O.metadata.payload)}catch{D=O.metadata.payload}f[w]={key:w,enabled:O.enabled,variant:O.variant,payload:D,id:O.metadata?.id,version:O.metadata?.version,reason:O.reason?.description??O.reason?.code,locallyEvaluated:!1}}}}if(this._flagOverrides!==void 0)for(let[C,w]of Object.entries(this._flagOverrides)){if(w===void 0){delete f[C];continue}let O=f[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:O?.payload,id:O?.id,version:O?.version,reason:O?.reason,locallyEvaluated:O?.locallyEvaluated??!1}}if(this._payloadOverrides!==void 0)for(let[C,w]of Object.entries(this._payloadOverrides)){let O=f[C];O&&(f[C]={...O,payload:w})}return new eit({host:this._getFeatureFlagEvaluationsHost(),distinctId:n,groups:o,disableGeoip:s,flags:f,requestId:m,evaluatedAt:g,flagDefinitionsLoadedAt:this.featureFlagsPoller?.getFlagDefinitionsLoadedAt(),errorsWhileComputing:A,quotaLimited:y})}_captureFlagCalledEventIfNeeded(t){let{distinctId:r,key:n,response:i,groups:o,disableGeoip:s,properties:a}=t,c=`${n}_${i}`;r in this.distinctIdHasSentFlagCalls&&this.distinctIdHasSentFlagCalls[r].includes(c)||(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(c):this.distinctIdHasSentFlagCalls[r]=[c],this.capture({distinctId:r,event:"$feature_flag_called",properties:a,groups:o,disableGeoip:s}))}_getFeatureFlagEvaluationsHost(){return this._featureFlagEvaluationsHost||(this._featureFlagEvaluationsHost={captureFlagCalledEventIfNeeded:t=>this._captureFlagCalledEventIfNeeded(t),logWarning:t=>{this.options.featureFlagsLogWarnings!==!1&&console.warn(`[PostHog] ${t}`)}}),this._featureFlagEvaluationsHost}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){let r=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown();try{return await super._shutdown(t)}finally{r?.()}}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=fee(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(pPu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i,o){if(!iH.isPreviouslyCapturedError(t)){let s=new Error("PostHog syntheticException");this.addPendingPromise(iH.buildEventMessage(t,{syntheticException:s},r,n).then(a=>this.capture({...a,uuid:i,flags:o})))}}async captureExceptionImmediate(t,r,n,i){if(!iH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");return this.addPendingPromise(iH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.captureImmediate({...s,flags:i})))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l}=t,p=this.context?.get(),d=r||p?.distinctId,f={...this.props,...p?.properties||{},...i||{}};d||(d=pee(),f.$process_person_profile=!1),p?.sessionId&&!f.$session_id&&(f.$session_id=p.sessionId);let m=this._runBeforeSend({distinctId:d,event:n,properties:f,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l});if(!m)return Promise.reject(null);let g=await Promise.resolve().then(async()=>{if(s)return a&&console.warn("[PostHog] Both `flags` and `sendFeatureFlags` were passed to capture(); using `flags` and ignoring `sendFeatureFlags`."),s._getEventProperties();if(a){Y9r("sendFeatureFlags","`sendFeatureFlags` is deprecated and will be removed in a future major version. Pass a `flags` snapshot from `posthog.evaluateFlags(...)` instead \u2014 it avoids a second `/flags` request per capture and guarantees the event carries the exact flag values your code branched on.");let A=typeof a=="object"?a:void 0,y=await this.getFeatureFlagsForEvent(m.distinctId,o,u,A);return sdm(y)}return{}}).catch(()=>({})).then(A=>({...A,...m.properties||{},$groups:m.groups||o}));return m.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof g.$raw_user_agent=="string"&&aPu(g.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(m.event="$bot_pageview",g.$browser_type="bot"),{distinctId:m.distinctId,event:m.event,properties:g,options:{timestamp:m.timestamp,disableGeoip:m.disableGeoip,uuid:m.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var aDu=require("async_hooks"),Z9r=class{constructor(){this.storage=new aDu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var cDu="posthog-node";function adm(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[ANo.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(g=>({...g,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var ANo=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=cDu,this.name=cDu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(adm(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};iH.errorPropertiesBuilder=new MQ.ErrorPropertiesBuilder([new MQ.EventCoercer,new MQ.ErrorCoercer,new MQ.ObjectCoercer,new MQ.StringCoercer,new MQ.PrimitiveCoercer],MQ.createStackParser("node:javascript",MQ.nodeStackLineParser),[iPu(),GPu,HPu()]);var Cve=class extends X9r{getLibraryId(){return"posthog-node"}initializeContext(){return new Z9r}};var $9r=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Cve(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.70.2",usingAccessToken:!0,...$ae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}};var hUt=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};im();Xt();var rit=require("fs/promises"),uDu=require("os"),lDu=require("path");Utt();var cdm="id",udm=".fern",gUt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Cve(r),this.userId=t==null?void 0:LBo(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"5.70.2",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...$ae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await xf({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=vD(),r=We(Lt.of((0,uDu.homedir)()),we.of(udm),we.of(cdm));try{await rr(r)?this.persistedDistinctId=(await(0,rit.readFile)(r)).toString():(await(0,rit.mkdir)((0,lDu.dirname)(r),{recursive:!0}),await(0,rit.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var yNo;async function AUt(){return yNo==null&&(yNo=await ldm()),yNo}async function ldm(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new hUt;let r=await Art();return r!=null?new gUt({token:r,posthogApiKey:e}):await u_()!=null?new $9r({posthogApiKey:e}):new gUt({token:void 0,posthogApiKey:e})}catch{return new hUt}}bn();Rt();Qt();SW();var yUt=ye(require("process"),1);rqe();var dDu=ye(dIo(),1),mDu=ye(fDu(),1);function k1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=Qq(e),e.length===0))return 0;e=e.replace((0,mDu.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(dDu.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}bn();function eGr(e){let t=0;for(let r of e.split(`
|
|
3076
|
+
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=FPu.test(a)?a.replace(FPu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=kPu)break}}return NPu(i)}}var oNo=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=xve(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return rLe(t,"DOMException")}isDOMError(t){return rLe(t,"DOMError")}};var sNo=class{match(t){return K2o(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var aNo=class{constructor(){}match(t){return lPu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var wfm=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,cNo=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(wfm);return i&&(r=i[1],n=i[2]),[r,n]}};var QPu=["fatal","error","warning","log","info","debug"];function q9r(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var uNo=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return Ynt(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=q9r(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return xve(t)&&!uPu(t)&&QPu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(CPu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var lNo=class{match(t){return Ynt(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${q9r(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var pNo=class{match(t){return B9r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var fNo=class{match(t){return rLe(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Ynt(t))return!1;try{let r=t.detail;return r!=null&&typeof r=="object"&&"reason"in r}catch{return!1}}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return B9r(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){try{if("reason"in t)return t.reason;if("detail"in t&&t.detail!=null&&typeof t.detail=="object"&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var dNo=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var mUt={MESSAGE:"$message",TIMESTAMP:"$timestamp"},Sfm=new Set([mUt.MESSAGE,mUt.TIMESTAMP]),W9r={enabled:!0,max_bytes:32768};function mNo(e){return e?{enabled:e.enabled??W9r.enabled,max_bytes:Ofm(e.max_bytes,W9r.max_bytes)}:{...W9r}}function Tfm(e){if(!e)return{sanitizedProperties:{},droppedKeys:[]};let t=[];return{sanitizedProperties:Object.keys(e).reduce((n,i)=>Sfm.has(i)?(t.push(i),n):(n[i]=e[i],n),{}),droppedKeys:t}}var hNo=class{constructor(t){this._entries=[],this._totalBytes=0,this._config=mNo(t)}setConfig(t){this._config=mNo(t),this._trimToMaxBytes()}add(t){let r=Bfm(t);if(!r)return;let n=zPu(r.json);n>this._config.max_bytes||(this._entries.push({step:r.step,bytes:n}),this._totalBytes+=n,this._trimToMaxBytes())}getAttachable(){return this._entries.map(t=>t.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){for(;this._totalBytes>this._config.max_bytes&&this._entries.length>0;){let t=this._entries.shift();t&&(this._totalBytes-=t.bytes)}}};function Ofm(e,t){if(!lUt(e)||e===1/0||e===-1/0)return t;let r=Math.floor(e);return r<0?t:r}function Bfm(e){let t=Pfm(e);if(t)try{let r=JSON.parse(t);if(!uUt(r))return;let n=r,i=n[mUt.MESSAGE],o=n[mUt.TIMESTAMP];return!xve(i)||i.trim().length===0||!xve(o)&&!lUt(o)?void 0:{step:n,json:t}}catch{return}}function Pfm(e){let t=new WeakSet;try{return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(!(typeof n=="function"||typeof n=="symbol")){if(n instanceof Date)return n.toISOString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(n&&typeof n=="object"){if(t.has(n))return"[Circular]";t.add(n)}return n}})}catch{return}}function zPu(e){if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length;let t=encodeURIComponent(e),r=0;for(let n=0;n<t.length;n++)t[n]==="%"?(r+=1,n+=2):r+=1;return r}var UPu=require("fs"),VPu=require("readline"),H9r=new MQ.ReduceableCache(25),_Pu=new MQ.ReduceableCache(20),gNo=7,Dfm=1e3,Rfm=1e4;async function GPu(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||jfm(s)||Qfm(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(_Pu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=Mfm(o);if(s.every(c=>zfm(i,c)))continue;let a=Lfm(H9r,i,{});n.push(Ffm(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&kfm(e,H9r),H9r.reduce(),e}function Ffm(e,t,r){return new Promise(n=>{let i=(0,UPu.createReadStream)(e),o=(0,VPu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function d(){_Pu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=Ufm(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let m=t[c];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function kfm(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;Nfm(r.lineno,r,n)}}function Nfm(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=qPu(e);i<e;i++){let o=r[i];if(o===void 0)return void MPu(t);t.pre_context.push(o)}if(r[e]===void 0)return void MPu(t);t.context_line=r[e];let n=WPu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function MPu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function jfm(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function Qfm(e){return e.lineno!==void 0&&e.lineno>Rfm||e.colno!==void 0&&e.colno>Dfm}function zfm(e,t){let r=H9r.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function Mfm(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=LPu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+gNo:(i.push(n),n=LPu(o)),t++}return i}function LPu(e){return[qPu(e),WPu(e)]}function qPu(e){return Math.max(1,e-gNo)}function WPu(e){return e+gNo}function Lfm(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function Ufm(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}var $nt=require("path");function HPu(e=process.cwd()){let t=$nt.sep==="\\",r=i=>t?i.replace(/\\/g,"/"):i,n=r(e);return async i=>{for(let o of i)!o.filename||o.filename.startsWith("node:")||o.filename.startsWith("data:")||(0,$nt.isAbsolute)(o.filename)&&(o.filename=r((0,$nt.relative)(n,r(o.filename))));return i}}function Vfm(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function KPu(e,t){globalThis.process?.on("uncaughtException",Vfm(e,t))}function JPu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var _fm=2e3,iH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new P9r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return uUt(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i},s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n,properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(KPu(this.onException.bind(this),this.onFatalError.bind(this)),JPu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(_fm),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var YPu="5.35.1";var pfe={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};var eit=class e{constructor(t){this._host=t.host,this._distinctId=t.distinctId,this._groups=t.groups,this._disableGeoip=t.disableGeoip,this._flags=t.flags,this._requestId=t.requestId,this._evaluatedAt=t.evaluatedAt,this._flagDefinitionsLoadedAt=t.flagDefinitionsLoadedAt,this._errorsWhileComputing=t.errorsWhileComputing??!1,this._quotaLimited=t.quotaLimited??!1,this._accessed=t.accessed??new Set,this._isSlice=t.isSlice??!1}isEnabled(t){let r=this._flags[t];return this._recordAccess(t),r?.enabled??!1}getFlag(t){let r=this._flags[t];if(this._recordAccess(t),!!r)return r.enabled?r.variant??!0:!1}getFlagPayload(t){return this._flags[t]?.payload}onlyAccessed(){let t={};for(let r of this._accessed){let n=this._flags[r];n&&(t[r]=n)}return this._cloneWith(t)}only(t){let r={},n=[];for(let i of t){let o=this._flags[i];o?r[i]=o:n.push(i)}return n.length>0&&this._host.logWarning(`FeatureFlagEvaluations.only() was called with flag keys that are not in the evaluation set and will be dropped: ${n.join(", ")}`),this._cloneWith(r)}get keys(){return Object.keys(this._flags)}_getEventProperties(){let t={},r=[];for(let[n,i]of Object.entries(this._flags)){let o=i.enabled===!1?!1:i.variant??!0;t[`$feature/${n}`]=o,i.enabled&&r.push(n)}return r.length>0&&(r.sort(),t.$active_feature_flags=r),t}_cloneWith(t){return new e({host:this._host,distinctId:this._distinctId,groups:this._groups,disableGeoip:this._disableGeoip,flags:t,requestId:this._requestId,evaluatedAt:this._evaluatedAt,flagDefinitionsLoadedAt:this._flagDefinitionsLoadedAt,errorsWhileComputing:this._errorsWhileComputing,quotaLimited:this._quotaLimited,accessed:new Set(this._accessed),isSlice:!0})}_recordAccess(t){if(this._accessed.add(t),this._distinctId===""||this._isSlice&&!(t in this._flags))return;let r=this._flags[t],n=r===void 0?void 0:r.enabled===!1?!1:r.variant??!0,i={$feature_flag:t,$feature_flag_response:n,$feature_flag_id:r?.id,$feature_flag_version:r?.version,$feature_flag_reason:r?.reason,locally_evaluated:r?.locallyEvaluated??!1,[`$feature/${t}`]:n,$feature_flag_request_id:this._requestId,$feature_flag_evaluated_at:r?.locallyEvaluated?Date.now():this._evaluatedAt};r?.locallyEvaluated&&this._flagDefinitionsLoadedAt!==void 0&&(i.$feature_flag_definitions_loaded_at=this._flagDefinitionsLoadedAt);let o=[];this._errorsWhileComputing&&o.push(pfe.ERRORS_WHILE_COMPUTING),this._quotaLimited&&o.push(pfe.QUOTA_LIMITED),r===void 0&&o.push(pfe.FLAG_MISSING),o.length>0&&(i.$feature_flag_error=o.join(",")),this._host.captureFlagCalledEventIfNeeded({distinctId:this._distinctId,key:t,response:n,groups:this._groups,disableGeoip:this._disableGeoip,properties:i})}};async function XPu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var Gfm=6e4,qfm=1152921504606847e3,Wfm=["is_not","is_set"],tit=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Od=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},mee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},K9r=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let c=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,c)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(u){u instanceof mee||u instanceof Od?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${t}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${u}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(c=>this.featureFlagsByKey[c]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async c=>{try{let{value:u,payload:l}=await this.computeFlagAndPayloadLocally(c,a);n[c.key]=u,l&&(i[c.key]=l)}catch(u){u instanceof mee||u instanceof Od?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${c.key}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${c.key}: ${u}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(!t.active)return!1;if(t.ensure_experience_continuity)throw new Od("Flag has experience continuity enabled");let c=(t.filters||{}).aggregation_group_type_index;if(c!=null){let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new Od("Flag has unknown group type index");if(!(u in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[u];return await this.matchFeatureFlagProperties(t,i[u],l,r)}{let u=this.getBucketingValueForFlag(t,n,o);if(u===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new Od(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,u,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new Od("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Od(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Od(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Od(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[c]=p}catch(p){throw new Od(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Od(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Od(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=o.aggregation_group_type_index,{groups:c,groupProperties:u}=i,l=!1,p;for(let d of s)try{let f=d.aggregation_group_type_index!==void 0?d.aggregation_group_type_index:a,m=n,g=r;if(f!==a&&f!=null){let A=this.groupTypeMapping[String(f)];if(!A||!(A in c)){this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${t.key}': group type index ${f} not available`));continue}if(!(A in u)){l=!0;continue}m=u[A],g=c[A]}if(await this.isConditionMatch(t,g,d,m,i)){let A=d.variant,y=o.multivariate?.variants||[];p=A&&y.some(E=>E.key===A)?A:await this.getMatchingVariant(t,g)||!0;break}}catch(f){if(f instanceof mee)throw f;if(f instanceof Od)l=!0;else throw f}if(p!==void 0)return p;if(l)throw new Od("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?await rDu(c,i,this.cohorts,this.debugMode,p=>this.evaluateFlagDependency(p,i,o)):u==="flag"?await this.evaluateFlagDependency(c,i,o):tDu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await ZPu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await ZPu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(Gfm,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new tit(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new tit(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new tit(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof tit&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=fee(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function ZPu(e,t,r=""){let n=await XPu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/qfm}function tDu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")return!1}else{if(o==="is_not_set")return!0;throw new Od(`Property ${n} not found in propertyValues`)}let s=t[n];if(s==null&&!Wfm.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return $Pu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return $Pu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:parseFloat(String(i)),l;return l=typeof s=="number"?s:s!=null?parseFloat(String(s)):NaN,Number.isFinite(u)&&Number.isFinite(l)?c(l,u,o):c(String(s),String(i),o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Od("Date operations cannot be performed on boolean values");let u=Xfm(String(i));if(u==null&&(u=eDu(i)),u==null)throw new Od(`Invalid date: ${i}`);let l=eDu(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return w_(xB(String(s)),xB(String(i)))===0;case"semver_neq":return w_(xB(String(s)),xB(String(i)))!==0;case"semver_gt":return w_(xB(String(s)),xB(String(i)))>0;case"semver_gte":return w_(xB(String(s)),xB(String(i)))>=0;case"semver_lt":return w_(xB(String(s)),xB(String(i)))<0;case"semver_lte":return w_(xB(String(s)),xB(String(i)))<=0;case"semver_tilde":{let u=xB(String(s)),{lower:l,upper:p}=Kfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}case"semver_caret":{let u=xB(String(s)),{lower:l,upper:p}=Jfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}case"semver_wildcard":{let u=xB(String(s)),{lower:l,upper:p}=Yfm(String(i));return w_(u,l)>=0&&w_(u,p)<0}default:throw new Od(`Unknown operator: ${o}`)}}function Hfm(e,t){if(!(e in t))throw new mee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}async function rDu(e,t,r,n=!1,i){let o=String(e.value);Hfm(o,r);let s=r[o];return nDu(s,t,r,n,i)}async function nDu(e,t,r,n=!1,i){if(!e)return!0;let o=e.type,s=e.values;if(!s||s.length===0)return!0;let a=!1;if("values"in s[0]){for(let c of s)try{let u=await nDu(c,t,r,n,i);if(o==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof mee)throw u;if(u instanceof Od)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Od("Can't match cohort without a given cohort property value");return o==="AND"}for(let c of s)try{let u;if(c.type==="cohort")u=await rDu(c,t,r,n,i);else if(c.type==="flag"){if(!i)throw new Od(`Flag dependency '${c.key||"unknown"}' cannot be evaluated without a flag dependency evaluator`);u=await i(c)}else u=tDu(c,t);let l=c.negation||!1;if(o==="AND"){if(!u&&!l||u&&l)return!1}else if(u&&!l||!u&&l)return!0}catch(u){if(u instanceof mee)throw u;if(u instanceof Od)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Od("can't match cohort without a given cohort property value");return o==="AND"}function $Pu(e){try{return new RegExp(e),!0}catch{return!1}}function iDu(e,t){if(!/^\d+$/.test(e))throw new Od(`Invalid semver: ${t}`);if(e.length>1&&e[0]==="0")throw new Od(`Invalid semver: ${t}`);return parseInt(e,10)}function xB(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Od(`Invalid semver: ${e}`);let n=r.split("."),i=c=>c===void 0||c===""?0:iDu(c,e),o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function w_(e,t){for(let r=0;r<3;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return 0}function Kfm(e){let t=xB(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function Jfm(e){let t=xB(e),[r,n,i]=t,o=[r,n,i],s;return s=r>0?[r+1,0,0]:n>0?[0,n+1,0]:[0,0,i+1],{lower:o,upper:s}}function Yfm(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Od(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=c=>{try{return iDu(c,e)}catch{throw new Od(`Invalid wildcard semver: ${e}`)}},o=i(n[0]),s,a;if(n.length===1)s=[o,0,0],a=[o+1,0,0];else{let c=i(n[1]);s=[o,c,0],a=[o,c+1,0]}return{lower:s,upper:a}}function eDu(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 Od(`${e} is in an invalid date format`)}throw new Od(`The date provided ${e} must be a string, number, or date object`)}function Xfm(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var J9r=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var Zfm=100,oDu=3e4,$fm=5e4,edm=50,tdm=500,rdm="https://us.i.posthog.com",sDu=new Set;function Y9r(e,t){sDu.has(e)||(sDu.add(e),console.warn(`[PostHog] ${t}`))}function ndm(e){return typeof e=="string"?e.trim():""}function idm(e){return(typeof e=="string"?e.trim():"")||void 0}function odm(e){return(typeof e=="string"?e.trim():"")||rdm}function sdm(e){if(!e)return{};let t={};for(let[n,i]of Object.entries(e))t[`$feature/${n}`]=i;let r=Object.keys(e).filter(n=>e[n]!==!1).sort();return r.length>0&&(t.$active_feature_flags=r),t}var X9r=class extends dUt{constructor(t,r={}){let n=ndm(t),i={...r,host:odm(r.host),personalApiKey:idm(r.personalApiKey)};if(super(n,i),this._memoryStorage=new J9r,this.options=i,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof i.featureFlagsPollingInterval=="number"?Math.max(i.featureFlagsPollingInterval,Zfm):oDu,typeof i.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(i.waitUntilDebounceMs,0)),typeof i.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(i.waitUntilMaxWaitMs,0)),i.personalApiKey){if(i.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.');i.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new K9r({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:i.personalApiKey,projectApiKey:n,timeout:i.requestTimeout??1e4,host:this.host,fetch:i.fetch,onError:s=>{this._events.emit("error",s)},onLoad:s=>{this._events.emit("localEvaluationFlagsLoaded",s)},customHeaders:this.getCustomHeaders(),cacheProvider:i.flagDefinitionCacheProvider,strictLocalEvaluation:i.strictLocalEvaluation}))}this.errorTracking=new iH(this,i,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=i.maxCacheSize||$fm}enqueue(t,r,n){super.enqueue(t,r,n),this.scheduleDebouncedFlush()}async flush(){let t=super.flush(),r=this.options.waitUntil;if(r&&!this._waitUntilCycle)try{r(t.catch(()=>{}))}catch{}return t}scheduleDebouncedFlush(){let t=this.options.waitUntil;if(!t||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let s,a=new Promise(c=>{s=c});try{t(a)}catch{return}this._waitUntilCycle={resolve:s,startedAt:Date.now(),timer:void 0}}let r=Date.now()-this._waitUntilCycle.startedAt,n=this.options.waitUntilMaxWaitMs??tdm,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??edm;this._waitUntilCycle.timer=fee(()=>{this.resolveWaitUntilFlush()},o)}_consumeWaitUntilCycle(){let t=this._waitUntilCycle;return t&&(clearTimeout(t.timer),this._waitUntilCycle=void 0),t?.resolve}async resolveWaitUntilFlush(){let t=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{t?.()}}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return YPu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};await super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=oDu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:O}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f,m=!1,g,A,y,E,v,I;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(O){m=!0;let D=O.value;E=w.id,I="Evaluated locally",f={key:t,enabled:D!==!1,variant:typeof D=="string"?D:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof mee||O instanceof Od)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!m&&!c){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)y=pfe.UNKNOWN_ERROR;else{g=w.requestId,A=w.evaluatedAt;let O=[];w.errorsWhileComputingFlags&&O.push(pfe.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&O.push(pfe.QUOTA_LIMITED);let D=w.flags[t];if(D===void 0)O.push(pfe.FLAG_MISSING);else{E=D.metadata?.id,v=D.metadata?.version,I=D.reason?.description??D.reason?.code;let T;if(D.metadata?.payload!==void 0)try{T=JSON.parse(D.metadata.payload)}catch{T=D.metadata.payload}f={key:t,enabled:D.enabled,variant:D.variant,payload:T}}O.length>0&&(y=O.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,O={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:E,$feature_flag_version:v,$feature_flag_reason:I,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:g,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let D=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();D!==void 0&&(O.$feature_flag_definitions_loaded_at=D)}y&&(O.$feature_flag_error=y),this._captureFlagCalledEventIfNeeded({distinctId:r,key:t,response:w,groups:s,disableGeoip:a,properties:O})}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){Y9r("getFeatureFlag","`getFeatureFlag` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlag(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(Y9r("getFeatureFlagPayload","`getFeatureFlagPayload` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlagPayload(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request."),this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){Y9r("isFeatureEnabled","`isFeatureEnabled` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.isEnabled(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});return i===void 0?void 0:i.enabled===!1?!1:!!(i.variant??!0)||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},g={},A=!0;if(f&&(m=f.response,g=f.payloads,A=f.fallbackToFlags),A&&!c){let y=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...y.flags||{}},g={...g,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(g={...g,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:g}}async evaluateFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to evaluate feature flags \u2014 pass it explicitly or use withContext()"),new eit({host:this._getFeatureFlagEvaluationsHost(),distinctId:"",flags:{}});let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f={},m,g,A=!1,y=!1,E=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),v=new Set;if(E)for(let[C,w]of Object.entries(E.response)){let O=this.featureFlagsPoller?.featureFlagsByKey[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:E.payloads[C],id:O?.id,version:void 0,reason:"Evaluated locally",locallyEvaluated:!0},v.add(C)}if((E?E.fallbackToFlags:!0)&&!c){let C=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);if(C){m=C.requestId,g=C.evaluatedAt,A=!!C.errorsWhileComputingFlags,y=Array.isArray(C.quotaLimited)&&C.quotaLimited.includes("feature_flags");for(let[w,O]of Object.entries(C.flags)){if(v.has(w))continue;let D;if(O.metadata?.payload!==void 0)try{D=JSON.parse(O.metadata.payload)}catch{D=O.metadata.payload}f[w]={key:w,enabled:O.enabled,variant:O.variant,payload:D,id:O.metadata?.id,version:O.metadata?.version,reason:O.reason?.description??O.reason?.code,locallyEvaluated:!1}}}}if(this._flagOverrides!==void 0)for(let[C,w]of Object.entries(this._flagOverrides)){if(w===void 0){delete f[C];continue}let O=f[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:O?.payload,id:O?.id,version:O?.version,reason:O?.reason,locallyEvaluated:O?.locallyEvaluated??!1}}if(this._payloadOverrides!==void 0)for(let[C,w]of Object.entries(this._payloadOverrides)){let O=f[C];O&&(f[C]={...O,payload:w})}return new eit({host:this._getFeatureFlagEvaluationsHost(),distinctId:n,groups:o,disableGeoip:s,flags:f,requestId:m,evaluatedAt:g,flagDefinitionsLoadedAt:this.featureFlagsPoller?.getFlagDefinitionsLoadedAt(),errorsWhileComputing:A,quotaLimited:y})}_captureFlagCalledEventIfNeeded(t){let{distinctId:r,key:n,response:i,groups:o,disableGeoip:s,properties:a}=t,c=`${n}_${i}`;r in this.distinctIdHasSentFlagCalls&&this.distinctIdHasSentFlagCalls[r].includes(c)||(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(c):this.distinctIdHasSentFlagCalls[r]=[c],this.capture({distinctId:r,event:"$feature_flag_called",properties:a,groups:o,disableGeoip:s}))}_getFeatureFlagEvaluationsHost(){return this._featureFlagEvaluationsHost||(this._featureFlagEvaluationsHost={captureFlagCalledEventIfNeeded:t=>this._captureFlagCalledEventIfNeeded(t),logWarning:t=>{this.options.featureFlagsLogWarnings!==!1&&console.warn(`[PostHog] ${t}`)}}),this._featureFlagEvaluationsHost}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){let r=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown();try{return await super._shutdown(t)}finally{r?.()}}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=fee(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(pPu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i,o){if(!iH.isPreviouslyCapturedError(t)){let s=new Error("PostHog syntheticException");this.addPendingPromise(iH.buildEventMessage(t,{syntheticException:s},r,n).then(a=>this.capture({...a,uuid:i,flags:o})))}}async captureExceptionImmediate(t,r,n,i){if(!iH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");return this.addPendingPromise(iH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.captureImmediate({...s,flags:i})))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l}=t,p=this.context?.get(),d=r||p?.distinctId,f={...this.props,...p?.properties||{},...i||{}};d||(d=pee(),f.$process_person_profile=!1),p?.sessionId&&!f.$session_id&&(f.$session_id=p.sessionId);let m=this._runBeforeSend({distinctId:d,event:n,properties:f,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l});if(!m)return Promise.reject(null);let g=await Promise.resolve().then(async()=>{if(s)return a&&console.warn("[PostHog] Both `flags` and `sendFeatureFlags` were passed to capture(); using `flags` and ignoring `sendFeatureFlags`."),s._getEventProperties();if(a){Y9r("sendFeatureFlags","`sendFeatureFlags` is deprecated and will be removed in a future major version. Pass a `flags` snapshot from `posthog.evaluateFlags(...)` instead \u2014 it avoids a second `/flags` request per capture and guarantees the event carries the exact flag values your code branched on.");let A=typeof a=="object"?a:void 0,y=await this.getFeatureFlagsForEvent(m.distinctId,o,u,A);return sdm(y)}return{}}).catch(()=>({})).then(A=>({...A,...m.properties||{},$groups:m.groups||o}));return m.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof g.$raw_user_agent=="string"&&aPu(g.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(m.event="$bot_pageview",g.$browser_type="bot"),{distinctId:m.distinctId,event:m.event,properties:g,options:{timestamp:m.timestamp,disableGeoip:m.disableGeoip,uuid:m.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var aDu=require("async_hooks"),Z9r=class{constructor(){this.storage=new aDu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var cDu="posthog-node";function adm(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[ANo.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(g=>({...g,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var ANo=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=cDu,this.name=cDu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(adm(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};iH.errorPropertiesBuilder=new MQ.ErrorPropertiesBuilder([new MQ.EventCoercer,new MQ.ErrorCoercer,new MQ.ObjectCoercer,new MQ.StringCoercer,new MQ.PrimitiveCoercer],MQ.createStackParser("node:javascript",MQ.nodeStackLineParser),[iPu(),GPu,HPu()]);var Cve=class extends X9r{getLibraryId(){return"posthog-node"}initializeContext(){return new Z9r}};var $9r=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Cve(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.70.3",usingAccessToken:!0,...$ae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}};var hUt=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};im();Xt();var rit=require("fs/promises"),uDu=require("os"),lDu=require("path");Utt();var cdm="id",udm=".fern",gUt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Cve(r),this.userId=t==null?void 0:LBo(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"5.70.3",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...$ae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await xf({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=vD(),r=We(Lt.of((0,uDu.homedir)()),we.of(udm),we.of(cdm));try{await rr(r)?this.persistedDistinctId=(await(0,rit.readFile)(r)).toString():(await(0,rit.mkdir)((0,lDu.dirname)(r),{recursive:!0}),await(0,rit.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var yNo;async function AUt(){return yNo==null&&(yNo=await ldm()),yNo}async function ldm(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new hUt;let r=await Art();return r!=null?new gUt({token:r,posthogApiKey:e}):await u_()!=null?new $9r({posthogApiKey:e}):new gUt({token:void 0,posthogApiKey:e})}catch{return new hUt}}bn();Rt();Qt();SW();var yUt=ye(require("process"),1);rqe();var dDu=ye(dIo(),1),mDu=ye(fDu(),1);function k1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=Qq(e),e.length===0))return 0;e=e.replace((0,mDu.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(dDu.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}bn();function eGr(e){let t=0;for(let r of e.split(`
|
|
3077
3077
|
`))t=Math.max(t,k1(r));return t}var kDu=ye(ENo(),1);var fdm=/[\p{Lu}]/u,ddm=/[\p{Ll}]/u,ADu=/^[\p{Lu}](?![\p{Lu}])/gu,EDu=/([\p{Alpha}\p{N}_]|$)/u,INo=/[_.\- ]+/,mdm=new RegExp("^"+INo.source),yDu=new RegExp(INo.source+EDu.source,"gu"),bDu=new RegExp("\\d+"+EDu.source,"gu"),hdm=(e,t,r,n)=>{let i=!1,o=!1,s=!1,a=!1;for(let c=0;c<e.length;c++){let u=e[c];a=c>2?e[c-3]==="-":!0,i&&fdm.test(u)?(e=e.slice(0,c)+"-"+e.slice(c),i=!1,s=o,o=!0,c++):o&&s&&ddm.test(u)&&(!a||n)?(e=e.slice(0,c-1)+"-"+e.slice(c-1),s=o,o=!1,i=!0):(i=t(u)===u&&r(u)!==u,s=o,o=r(u)===u&&t(u)!==u)}return e},gdm=(e,t)=>(ADu.lastIndex=0,e.replace(ADu,r=>t(r))),Adm=(e,t)=>(yDu.lastIndex=0,bDu.lastIndex=0,e.replace(yDu,(r,n)=>t(n)).replace(bDu,r=>t(r)));function vNo(e,t){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),n=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?INo.test(e)?"":t.pascalCase?n(e):r(e):(e!==r(e)&&(e=hdm(e,r,n,t.preserveConsecutiveUppercase)),e=e.replace(mdm,""),e=t.preserveConsecutiveUppercase?gdm(e,r):r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),Adm(e,n))}var SNo=ye(vDu(),1);rqe();var xDu=(e=0)=>t=>`\x1B[${t+e}m`,CDu=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,wDu=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,P0={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Q0I=Object.keys(P0.modifier),Idm=Object.keys(P0.color),vdm=Object.keys(P0.bgColor),z0I=[...Idm,...vdm];function xdm(){let e=new Map;for(let[t,r]of Object.entries(P0)){for(let[n,i]of Object.entries(r))P0[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=P0[n],e.set(i[0],i[1]);Object.defineProperty(P0,t,{value:r,enumerable:!1})}return Object.defineProperty(P0,"codes",{value:e,enumerable:!1}),P0.color.close="\x1B[39m",P0.bgColor.close="\x1B[49m",P0.color.ansi=xDu(),P0.color.ansi256=CDu(),P0.color.ansi16m=wDu(),P0.bgColor.ansi=xDu(10),P0.bgColor.ansi256=CDu(10),P0.bgColor.ansi16m=wDu(10),Object.defineProperties(P0,{rgbToAnsi256:{value(t,r,n){return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(o=>o+o).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>P0.rgbToAnsi256(...P0.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,i=a%6/5}let o=Math.max(r,n,i)*2;if(o===0)return 30;let s=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return o===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>P0.ansi256ToAnsi(P0.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>P0.ansi256ToAnsi(P0.hexToAnsi256(t)),enumerable:!1}}),P0}var Cdm=xdm(),SDu=Cdm;var tGr=new Set(["\x1B","\x9B"]),wdm=39,CNo="\x07",BDu="[",Sdm="]",PDu="m",wNo=`${Sdm}8;;`,TDu=e=>`${tGr.values().next().value}${BDu}${e}${PDu}`,ODu=e=>`${tGr.values().next().value}${wNo}${e}${CNo}`,Tdm=e=>e.split(" ").map(t=>k1(t)),xNo=(e,t,r)=>{let n=[...t],i=!1,o=!1,s=k1(Qq(e[e.length-1]));for(let[a,c]of n.entries()){let u=k1(c);if(s+u<=r?e[e.length-1]+=c:(e.push(c),s=0),tGr.has(c)&&(i=!0,o=n.slice(a+1).join("").startsWith(wNo)),i){o?c===CNo&&(i=!1,o=!1):c===PDu&&(i=!1);continue}s+=u,s===r&&a<n.length-1&&(e.push(""),s=0)}!s&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Odm=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(k1(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Bdm=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,o,s=Tdm(e),a=[""];for(let[u,l]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=k1(a[a.length-1]);if(u!==0&&(p>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),p=0),(p>0||r.trim===!1)&&(a[a.length-1]+=" ",p++)),r.hard&&s[u]>t){let d=t-p,f=1+Math.floor((s[u]-d-1)/t);Math.floor((s[u]-1)/t)<f&&a.push(""),xNo(a,l,t);continue}if(p+s[u]>t&&p>0&&s[u]>0){if(r.wordWrap===!1&&p<t){xNo(a,l,t);continue}a.push("")}if(p+s[u]>t&&r.wordWrap===!1){xNo(a,l,t);continue}a[a.length-1]+=l}r.trim!==!1&&(a=a.map(u=>Odm(u)));let c=[...a.join(`
|
|
3078
3078
|
`)];for(let[u,l]of c.entries()){if(n+=l,tGr.has(l)){let{groups:d}=new RegExp(`(?:\\${BDu}(?<code>\\d+)m|\\${wNo}(?<uri>.*)${CNo})`).exec(c.slice(u).join(""))||{groups:{}};if(d.code!==void 0){let f=Number.parseFloat(d.code);i=f===wdm?void 0:f}else d.uri!==void 0&&(o=d.uri.length===0?void 0:d.uri)}let p=SDu.codes.get(Number(i));c[u+1]===`
|
|
3079
3079
|
`?(o&&(n+=ODu("")),i&&p&&(n+=TDu(p))):l===`
|
|
@@ -3645,7 +3645,7 @@ Hint: Values starting with "@" (such as scoped npm packages) must be wrapped in
|
|
|
3645
3645
|
Add a 'docs:' section to your fern.yml to get started.`,code:B.Code.ConfigError});let o=await new JBe({context:t}).check({workspace:n,strict:r.strict}),s=new Set(o.mdxParseErrors.map(p=>p.displayRelativeFilepath)),a=new Set(o.mdxParseErrors.map(p=>p.rawMessage)),c=o.violations.filter(p=>!(s.size>0&&nZm(p,s,a))),u=o.hasErrors||r.strict&&o.hasWarnings;if(r.json){let p=this.buildJsonResponse({result:o,filteredViolations:c,hasErrors:u});if(t.stdout.info(JSON.stringify(p,null,2)),u)throw new B({code:B.Code.ValidationError});return}if(c.length>0)for(let p of c){let d=p.severity==="warning"?fe.yellow:fe.red;process.stderr.write(`${d(`${p.displayRelativeFilepath}:${p.line}:${p.column}: ${p.message}`)}
|
|
3646
3646
|
`)}let l=0;if(o.mdxParseErrors.length>0){for(let p of o.mdxParseErrors)t.stderr.info(`
|
|
3647
3647
|
${p.toString()}
|
|
3648
|
-
`);r.fix?l+=await bei(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!qYn()&&await Eei(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new abt({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new B({code:B.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${Br.warning} ${fe.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(fe.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${Br.success} ${fe.green("All checks passed")}`)}buildJsonResponse({result:t,filteredViolations:r,hasErrors:n}){let i={};return(r.length>0||t.mdxParseErrors.length>0)&&(i.docs=[...r.map(o=>bee(o)),...t.mdxParseErrors.map(o=>({severity:"error",rule:o.code.code,filepath:o.displayRelativeFilepath,...o.line!=null?{line:o.line}:{},...o.column!=null?{column:o.column}:{},message:`[${o.code.code}] ${o.code.title}: ${o.rawMessage}`}))]),{success:!n,results:i}}};function nZm(e,t,r){if(!/failed to parse|failed to initialize/i.test(e.message))return!1;for(let n of r)if(n.length>0&&e.message.includes(n))return!0;for(let n of t){if(e.message.includes(n))return!0;let i=n.split("/").filter(Boolean);for(let o=i.length;o>=2;o--){let s=i.slice(i.length-o).join("/");if(e.message.includes(s))return!0}if(i.length===1){let o=i[0];if(o!=null&&e.message.includes(o))return!0}}return!1}function kJo(e){let t=new FJo;Xn(e,"check","Validate docs configuration",(r,n)=>t.handle(r,n),r=>r.option("strict",{type:"boolean",description:"Treat warnings as errors",default:!1}).option("json",{type:"boolean",description:"Output results as JSON to stdout",default:!1}).option("fix",{type:"boolean",description:"Automatically fix issues that have a known resolution",default:!1}))}Ab();Qt();var Cnl=ye(require("net"),1),wnl=ye(require("os"),1),xei=class extends Error{constructor(t){super(`${t} is locked`)}},pbt={old:new Set,young:new Set},iZm=1e3*15,Snl=new Set;var s9t,oZm=()=>{let e=wnl.default.networkInterfaces(),t=new Set([void 0,"0.0.0.0"]);for(let r of Object.values(e))for(let n of r)t.add(n.address);return t},vnl=e=>new Promise((t,r)=>{let n=Cnl.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),xnl=async(e,t)=>{if(e.host||e.port===0)return vnl(e);for(let r of t)try{await vnl({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},sZm=e=>pbt.old.has(e)||pbt.young.has(e)||Snl.has(e),aZm=function*(e){e&&(yield*e),yield 0};async function XBe(e){let t,r=new Set;if(e&&(e.port&&(t=typeof e.port=="number"?[e.port]:e.port),e.exclude)){let s=e.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(let a of s){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(s)}let{reserve:n,...i}=e??{};s9t===void 0&&(s9t=setTimeout(()=>{s9t=void 0,pbt.old=pbt.young,pbt.young=new Set},iZm),s9t.unref&&s9t.unref());let o=oZm();for(let s of aZm(t))try{if(r.has(s))continue;let a=await xnl({...i,port:s},o);for(;sZm(a);){if(s!==0)throw new xei(s);a=await xnl({...i,port:s},o)}return n?Snl.add(a):pbt.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof xei))throw a}throw new Error("No available ports found")}Qt();var Bnl=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Tnl="docs.buildwithfern.com",Onl=62;function p4e(e){let t=e.toLowerCase().trim();t.startsWith("https://")?t=t.slice(8):t.startsWith("http://")&&(t=t.slice(7));let r=t.indexOf("/");return r!==-1&&(t=t.slice(0,r)),Bnl.test(t)}function Pnl(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function a9t({orgId:e,previewId:t}){let r=Pnl(t),n=`${e}-preview-${r}.${Tnl}`;if(n.length<=Onl)return n;let i=`${e}-preview-`,o=Onl-i.length;if(o<8)throw new B({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:B.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Tnl}`}Rt();CC();zm();Xt();rC();Qt();bn();var E$o=require("child_process"),egl=ye(QJo(),1),I$o=ye(uti(),1),v$o=ye(require("fs"),1),Q4e=require("fs/promises"),tgl=ye(require("http"),1),rgl=ye(require("os"),1),Zri=ye(require("path"),1);Cti();Xt();var B9=require("fs/promises"),mul=require("os"),CXo=ye(require("path"),1),Ksh=".fern",Jsh="logs",xXo=100*1024*1024;function Ysh(){return"cli@5.70.
|
|
3648
|
+
`);r.fix?l+=await bei(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!qYn()&&await Eei(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new abt({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new B({code:B.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${Br.warning} ${fe.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(fe.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${Br.success} ${fe.green("All checks passed")}`)}buildJsonResponse({result:t,filteredViolations:r,hasErrors:n}){let i={};return(r.length>0||t.mdxParseErrors.length>0)&&(i.docs=[...r.map(o=>bee(o)),...t.mdxParseErrors.map(o=>({severity:"error",rule:o.code.code,filepath:o.displayRelativeFilepath,...o.line!=null?{line:o.line}:{},...o.column!=null?{column:o.column}:{},message:`[${o.code.code}] ${o.code.title}: ${o.rawMessage}`}))]),{success:!n,results:i}}};function nZm(e,t,r){if(!/failed to parse|failed to initialize/i.test(e.message))return!1;for(let n of r)if(n.length>0&&e.message.includes(n))return!0;for(let n of t){if(e.message.includes(n))return!0;let i=n.split("/").filter(Boolean);for(let o=i.length;o>=2;o--){let s=i.slice(i.length-o).join("/");if(e.message.includes(s))return!0}if(i.length===1){let o=i[0];if(o!=null&&e.message.includes(o))return!0}}return!1}function kJo(e){let t=new FJo;Xn(e,"check","Validate docs configuration",(r,n)=>t.handle(r,n),r=>r.option("strict",{type:"boolean",description:"Treat warnings as errors",default:!1}).option("json",{type:"boolean",description:"Output results as JSON to stdout",default:!1}).option("fix",{type:"boolean",description:"Automatically fix issues that have a known resolution",default:!1}))}Ab();Qt();var Cnl=ye(require("net"),1),wnl=ye(require("os"),1),xei=class extends Error{constructor(t){super(`${t} is locked`)}},pbt={old:new Set,young:new Set},iZm=1e3*15,Snl=new Set;var s9t,oZm=()=>{let e=wnl.default.networkInterfaces(),t=new Set([void 0,"0.0.0.0"]);for(let r of Object.values(e))for(let n of r)t.add(n.address);return t},vnl=e=>new Promise((t,r)=>{let n=Cnl.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),xnl=async(e,t)=>{if(e.host||e.port===0)return vnl(e);for(let r of t)try{await vnl({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},sZm=e=>pbt.old.has(e)||pbt.young.has(e)||Snl.has(e),aZm=function*(e){e&&(yield*e),yield 0};async function XBe(e){let t,r=new Set;if(e&&(e.port&&(t=typeof e.port=="number"?[e.port]:e.port),e.exclude)){let s=e.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(let a of s){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(s)}let{reserve:n,...i}=e??{};s9t===void 0&&(s9t=setTimeout(()=>{s9t=void 0,pbt.old=pbt.young,pbt.young=new Set},iZm),s9t.unref&&s9t.unref());let o=oZm();for(let s of aZm(t))try{if(r.has(s))continue;let a=await xnl({...i,port:s},o);for(;sZm(a);){if(s!==0)throw new xei(s);a=await xnl({...i,port:s},o)}return n?Snl.add(a):pbt.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof xei))throw a}throw new Error("No available ports found")}Qt();var Bnl=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Tnl="docs.buildwithfern.com",Onl=62;function p4e(e){let t=e.toLowerCase().trim();t.startsWith("https://")?t=t.slice(8):t.startsWith("http://")&&(t=t.slice(7));let r=t.indexOf("/");return r!==-1&&(t=t.slice(0,r)),Bnl.test(t)}function Pnl(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function a9t({orgId:e,previewId:t}){let r=Pnl(t),n=`${e}-preview-${r}.${Tnl}`;if(n.length<=Onl)return n;let i=`${e}-preview-`,o=Onl-i.length;if(o<8)throw new B({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:B.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Tnl}`}Rt();CC();zm();Xt();rC();Qt();bn();var E$o=require("child_process"),egl=ye(QJo(),1),I$o=ye(uti(),1),v$o=ye(require("fs"),1),Q4e=require("fs/promises"),tgl=ye(require("http"),1),rgl=ye(require("os"),1),Zri=ye(require("path"),1);Cti();Xt();var B9=require("fs/promises"),mul=require("os"),CXo=ye(require("path"),1),Ksh=".fern",Jsh="logs",xXo=100*1024*1024;function Ysh(){return"cli@5.70.3"}var w4e=class{logFilePath=null;initialized=!1;sessionStartTime;consoleLogger;constructor(){this.sessionStartTime=Date.now()}async initialize(t,r){if(this.initialized)return;this.consoleLogger=t;let n=r??We(We(Lt.of((0,mul.homedir)()),we.of(Ksh)),we.of(Jsh));await rr(n)||await(0,B9.mkdir)(n,{recursive:!0});let o=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=We(n,we.of(o));let s=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${CXo.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
|
|
3649
3649
|
`);await(0,B9.writeFile)(this.logFilePath,s,"utf-8"),this.initialized=!0,this.enforceLogSizeLimit(n)}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
|
|
3650
3650
|
`;try{await(0,B9.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let n={timestamp:t.timestamp,source:Ysh(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(n)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let n={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliDocsGeneration(t,r){let n={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliValidation(t,r){let n={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(n)}async enforceLogSizeLimit(t){try{let n=(await(0,B9.readdir)(t)).filter(c=>c.endsWith(".log")),i=[];for(let c of n){let u=CXo.default.join(t,c);try{let l=await(0,B9.stat)(u);i.push({name:c,fullPath:u,size:l.size,mtimeMs:l.mtimeMs})}catch{}}let o=i.reduce((c,u)=>c+u.size,0),s=Math.round(o/1024/1024*100)/100,a=xXo/1024/1024;if(o<=xXo){this.consoleLogger?.debug(`Log directory size ${s} MB does not exceed ${a} MB cap`);return}this.consoleLogger?.info(`Rotating logs: total size ${s} MB exceeds ${a} MB cap`),i.sort((c,u)=>c.mtimeMs-u.mtimeMs);for(let c of i){if(o<=xXo)break;if(!(this.logFilePath!=null&&c.fullPath===this.logFilePath))try{await(0,B9.unlink)(c.fullPath),o-=c.size}catch{}}}catch{}}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var wti={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"};function hul(e){let t=Xsh();if(t==null)return;let{port:r,debugLogger:n,getDocsLoadResponse:i,extractLocaleFromPath:o}=e,s=new Map;function a(u){let l=JSON.stringify(u),p=[];for(let[d]of s)try{d.send(l)}catch{p.push(d)}for(let d of p){let f=s.get(d);f&&(clearInterval(f.pingInterval),s.delete(d))}}let c=t.serve({port:r,async fetch(u,l){if(u.method==="OPTIONS")return new Response(null,{status:204,headers:wti});let p=new URL(u.url);if(u.headers.get("upgrade")?.toLowerCase()==="websocket"){l.upgrade(u,{data:{connectionId:`${Date.now()}`}});return}if(u.method==="POST"&&p.pathname==="/v2/registry/docs/load-with-url")try{let f=await u.json(),m=o?.(f?.url);return new Response(JSON.stringify(i(m)),{headers:{"Content-Type":"application/json",...wti}})}catch{return new Response(JSON.stringify(i()),{headers:{"Content-Type":"application/json",...wti}})}let d=/^\/_local\/(.*)/.exec(p.pathname);return u.method==="GET"&&d!=null?new Response(t.file(`/${d[1]}`),{headers:wti}):new Response("Not Found",{status:404})},websocket:{open(u){let{connectionId:l}=u.data,p=setInterval(()=>{let d=s.get(u);if(!d)return;let f=Date.now();if(f-d.lastPong>9e4){u.close();return}try{u.send(JSON.stringify({type:"ping",timestamp:f}))}catch{u.close()}},3e4);s.set(u,{pingInterval:p,lastPong:Date.now()});try{u.send(JSON.stringify({type:"connected",connectionId:l}))}catch{}},message(u,l){try{let p=JSON.parse(l.toString());if(p.type==="pong"){let d=s.get(u);d&&(d.lastPong=Date.now())}else w4e.isMetricsMessage(p)&&n.logFrontendMetrics(p)}catch{}},close(u){let l=s.get(u);l&&(clearInterval(l.pingInterval),s.delete(u))}}});return{sendData:a,stop:u=>c.stop(u)}}function Xsh(){return globalThis.Bun}Qt();var kul=require("events"),Pti=ye(require("fs"),1),T4e=ye(require("path"),1);var gul=ye(require("os"),1),Aul=300,sPe=20,L9t=1e7,yul=gul.default.platform();var Zsh=yul==="darwin",wXo=yul==="win32",aPe=Zsh||wXo,bul=3e3,Eul=2e4,SXo=1250;var xie;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(xie||(xie={}));var S4e;(function(e){e.CHANGE="change",e.RENAME="rename"})(S4e||(S4e={}));var U9t;(function(e){e.CHANGE="change",e.ERROR="error"})(U9t||(U9t={}));var wc;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(wc||(wc={}));var rN;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(rN||(rN={}));var $sh=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let I=Date.now(),C=I-c,w=I-u,O=C>=t||w>=o;return[I,O]},p=I=>{if(u=I,!s)return;let C=s;s=void 0,e.apply(void 0,C)},d=()=>{E(0)},f=()=>{a&&(d(),p(Date.now()))},m=I=>{if(u=I,n)return p(I)},g=I=>{if(i&&s)return p(I);s=void 0},A=()=>{a=void 0;let[I,C]=l();return C?g(I):y(I)},y=I=>{let C=I-c,w=I-u,O=t-C,D=o-w,T=Math.min(O,D);return E(T)},E=I=>{a&&clearTimeout(a),!(I<=0)&&(a=setTimeout(A,I))},v=(...I)=>{let[C,w]=l(),O=!!a;if(s=I,c=C,(w||!a)&&E(t),w)return O?p(C):m(C)};return v.cancel=d,v.flush=f,v},Sti=$sh;var PXo=ye(require("fs"),1),Oti=ye(require("path"),1);var Dd=ye(require("fs"),1),MB=require("util");var Gde=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},Cie=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var TXo=ye(require("process"),1),Iul=TXo.default.getuid?!TXo.default.getuid():!1,vul=1e4,iM=()=>{};var V9t={isChangeErrorOk:e=>{if(!V9t.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!Iul&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!V9t.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!V9t.isNodeError(e))throw e;if(!V9t.isChangeErrorOk(e))throw e}},Xv=V9t;var OXo=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=vul,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},xul=new OXo;var qde=(e,t)=>function(n){return function i(...o){return xul.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(d=>setTimeout(d,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},Wde=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var eah={attempt:{chmod:Gde((0,MB.promisify)(Dd.default.chmod),Xv.onChangeError),chown:Gde((0,MB.promisify)(Dd.default.chown),Xv.onChangeError),close:Gde((0,MB.promisify)(Dd.default.close),iM),fsync:Gde((0,MB.promisify)(Dd.default.fsync),iM),mkdir:Gde((0,MB.promisify)(Dd.default.mkdir),iM),realpath:Gde((0,MB.promisify)(Dd.default.realpath),iM),stat:Gde((0,MB.promisify)(Dd.default.stat),iM),unlink:Gde((0,MB.promisify)(Dd.default.unlink),iM),chmodSync:Cie(Dd.default.chmodSync,Xv.onChangeError),chownSync:Cie(Dd.default.chownSync,Xv.onChangeError),closeSync:Cie(Dd.default.closeSync,iM),existsSync:Cie(Dd.default.existsSync,iM),fsyncSync:Cie(Dd.default.fsync,iM),mkdirSync:Cie(Dd.default.mkdirSync,iM),realpathSync:Cie(Dd.default.realpathSync,iM),statSync:Cie(Dd.default.statSync,iM),unlinkSync:Cie(Dd.default.unlinkSync,iM)},retry:{close:qde((0,MB.promisify)(Dd.default.close),Xv.isRetriableError),fsync:qde((0,MB.promisify)(Dd.default.fsync),Xv.isRetriableError),open:qde((0,MB.promisify)(Dd.default.open),Xv.isRetriableError),readFile:qde((0,MB.promisify)(Dd.default.readFile),Xv.isRetriableError),rename:qde((0,MB.promisify)(Dd.default.rename),Xv.isRetriableError),stat:qde((0,MB.promisify)(Dd.default.stat),Xv.isRetriableError),write:qde((0,MB.promisify)(Dd.default.write),Xv.isRetriableError),writeFile:qde((0,MB.promisify)(Dd.default.writeFile),Xv.isRetriableError),closeSync:Wde(Dd.default.closeSync,Xv.isRetriableError),fsyncSync:Wde(Dd.default.fsyncSync,Xv.isRetriableError),openSync:Wde(Dd.default.openSync,Xv.isRetriableError),readFileSync:Wde(Dd.default.readFileSync,Xv.isRetriableError),renameSync:Wde(Dd.default.renameSync,Xv.isRetriableError),statSync:Wde(Dd.default.statSync,Xv.isRetriableError),writeSync:Wde(Dd.default.writeSync,Xv.isRetriableError),writeFileSync:Wde(Dd.default.writeFileSync,Xv.isRetriableError)}},Cul=eah;var Tti=ye(require("fs"),1),_9t=ye(require("path"),1);var BXo=()=>{};var tah=()=>{let e=BXo,t=BXo,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},wul=tah;var rah=()=>{let{promise:e,resolve:t,isPending:r}=wul(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},Sul=rah;var Tul={then:e=>{e()}};var Oul=e=>Array.isArray(e)?e:[e],Bul=e=>typeof e=="function";var nah=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=Oul(o).map(oe=>Bul(oe)?oe:de=>oe.test(de)),a=oe=>s.some(de=>de(oe)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,d={},f=[],m=new Set,g={},A=[],y=new Set,E={},v={},I=new Set,C={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},w={directories:l,directoriesNames:p,directoriesNamesToPaths:d,files:f,filesNames:m,filesNamesToPaths:g,symlinks:A,symlinksNames:y,symlinksNamesToPaths:E,map:v},{promise:O,increment:D,decrement:T}=Sul(),M=0,K=(oe,de,Oe,ve)=>{I.has(de)||M>=i||(M+=1,oe.directories.push(de),oe.directoriesNames.add(Oe),l.push(de),p.add(Oe),d.propertyIsEnumerable(Oe)||(d[Oe]=[]),d[Oe].push(de),I.add(de),!(ve>=n)&&(M>=i||pe(de,ve+1)))},Y=(oe,de,Oe)=>{I.has(de)||M>=i||(M+=1,oe.files.push(de),oe.filesNames.add(Oe),f.push(de),m.add(Oe),g.propertyIsEnumerable(Oe)||(g[Oe]=[]),g[Oe].push(de),I.add(de))},Z=(oe,de,Oe,ve)=>{I.has(de)||M>=i||(M+=1,oe.symlinks.push(de),oe.symlinksNames.add(Oe),A.push(de),y.add(Oe),E.propertyIsEnumerable(Oe)||(E[Oe]=[]),E[Oe].push(de),I.add(de),r&&(ve>=n||M>=i||Ce(de,ve+1)))},ae=(oe,de,Oe,ve,je)=>{c.aborted||a(de)||(ve.isDirectory()?K(oe,de,Oe,je):ve.isFile()?Y(oe,de,Oe):ve.isSymbolicLink()&&Z(oe,de,Oe,je))},le=(oe,de,Oe,ve)=>{if(c.aborted)return;let je=de===_9t.default.sep?"":_9t.default.sep,et=Oe.name,it=`${de}${je}${et}`;a(it)||(Oe.isDirectory()?K(oe,it,et,ve):Oe.isFile()?Y(oe,it,et):Oe.isSymbolicLink()&&Z(oe,it,et,ve))},ne=(oe,de,Oe,ve)=>{for(let je=0,et=Oe.length;je<et;je++)le(oe,de,Oe[je],ve)},pe=(oe,de)=>{c.aborted||de>n||M>=i||(D(),Tti.default.readdir(oe,{withFileTypes:!0},(Oe,ve)=>{if(Oe||c.aborted||!ve.length)return T();(u(ve)||Tul).then(()=>{let et=v[oe]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};ne(et,oe,ve,de),T()})}))},Ce=(oe,de)=>{D(),Tti.default.realpath(oe,(Oe,ve)=>{if(Oe||c.aborted)return T();Tti.default.stat(ve,(je,et)=>{if(je||c.aborted)return T();let it=_9t.default.basename(ve),ht=v[oe]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};ae(ht,ve,it,et,de),T()})})};return(async(oe,de=1)=>(oe=_9t.default.normalize(oe),I.add(oe),pe(oe,de),await O,c.aborted?C:w))(e)},Pul=nah;var wie={lang:{debounce:Sti,attempt:e=>{try{return e()}catch(t){return wie.lang.castError(t)}},castArray:e=>wie.lang.isArray(e)?e:[e],castError:e=>wie.lang.isError(e)?e:wie.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(wie.lang.isNaN(e))return wie.lang.isNaN(t);if(wie.lang.isPrimitive(e)||wie.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(Oti.default.sep).length-1),getRealPath:(e,t)=>{try{return t?PXo.default.realpathSync.native(e):PXo.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===Oti.default.sep&&t.length-e.length>Oti.default.sep.length,poll:(e,t=Eul)=>Cul.retry.stat(t)(e,{bigint:!0}).catch(wie.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await Pul(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},$l=wie;var Bti=ye(require("path"),1);var DXo=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||$l.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=Aul){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=$l.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===wc.CHANGE&&a===wc.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===wc.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===wc.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??sPe:Math.min(1,this.options.depth??sPe),s=this.options.limit??L9t,[a,c]=await $l.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())$l.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(wc.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!aPe&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(wc.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(wc.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(Bti.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(wc.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(Bti.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(wc.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===wc.ADD?this.onTargetAdd(n):r===wc.ADD_DIR?this.onTargetAddDir(n):r===wc.CHANGE?this.onTargetChange(n):r===wc.UNLINK?this.onTargetUnlink(n):r===wc.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=S4e.CHANGE,r){if(this.watcher.isClosed())return;let n=Bti.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){wXo&&t.code==="EPERM"?this.onWatcherChange(S4e.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(U9t.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(U9t.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(S4e.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&aPe&&this.options.native!==!1?this.options.depth??sPe:Math.min(1,this.options.depth??sPe),n=this.options.limit??L9t,[i,o]=await $l.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(S4e.CHANGE,a,t)}))}}},Dul=DXo;var nN={interval:100,intervalId:void 0,fns:new Map,init:()=>{nN.intervalId||(nN.intervalId=setInterval(nN.resolve,nN.interval))},reset:()=>{nN.intervalId&&(clearInterval(nN.intervalId),delete nN.intervalId)},add:(e,t)=>{nN.fns.set(e,Date.now()+t),nN.init()},remove:e=>{nN.fns.delete(e)},resolve:()=>{if(!nN.fns.size)return nN.reset();let e=Date.now();for(let[t,r]of nN.fns)r>=e||(nN.remove(t),t())}},G9t=nN;var q9t=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=SXo){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,d=>d!==i);if(p&&p!==i){if($l.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),G9t.remove(u)},u=()=>{c(),a()};G9t.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let d=p();i===d?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,d,i)};s.add.set(n,l),l()}getLockUnlink(t,r=SXo){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),G9t.remove(u)},u=()=>{c(),a()};G9t.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,wc.ADD,xie.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,wc.ADD_DIR,xie.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,wc.UNLINK,xie.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,wc.UNLINK_DIR,xie.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};q9t.DIR_EVENTS={add:wc.ADD_DIR,rename:wc.RENAME_DIR,unlink:wc.UNLINK_DIR};q9t.FILE_EVENTS={add:wc.ADD,change:wc.CHANGE,rename:wc.RENAME,unlink:wc.UNLINK};var Rul=q9t;var RXo=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if($l.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if($l.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if($l.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if($l.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return $l.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);$l.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},FXo=RXo;var kXo=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},Ful=kXo;var NXo=class{constructor(){this.inos={},this.paths=new FXo,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await $l.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new Ful(n)}reset(){this.inos={},this.paths=new FXo,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,wc.ADD,i),[wc.ADD];if(i.isDirectory())return this.updateIno(t,wc.ADD_DIR,i),[wc.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,wc.UNLINK,n),[wc.UNLINK];if(n.isDirectory())return this.updateIno(t,wc.UNLINK_DIR,n),[wc.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,wc.CHANGE,i),[wc.CHANGE]);if(i.isDirectory())return this.updateIno(t,wc.UNLINK,n),this.updateIno(t,wc.ADD_DIR,i),[wc.UNLINK,wc.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,wc.UNLINK_DIR,n),this.updateIno(t,wc.ADD,i),[wc.UNLINK_DIR,wc.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,wc.UNLINK_DIR,n),this.updateIno(t,wc.ADD_DIR,i),[wc.UNLINK_DIR,wc.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?xie.FILE:xie.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},jXo=NXo;var QXo=class e extends kul.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(rN.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(rN.CLOSE,i)),this._readyWait=new Promise(i=>this.on(rN.READY,i)),this._locker=new Rul(this),this._roots=new Set,this._poller=new jXo,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&($l.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(rN.CLOSE))}error(t){if(this.isClosed())return!1;let r=$l.lang.castError(t);return this.emit(rN.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(rN.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(rN.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&$l.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&$l.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)$l.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new Dul(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=$l.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=T4e.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??sPe))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&aPe&&l.options.native!==!1)))return!0;if(!aPe)break;let u=T4e.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=$l.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||aPe&&r.native!==!1?r:{...r,recursive:!1},l={watcher:Pti.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},m=T4e.default.dirname(a),g=a;await this.watchDirectories([m],f,n,g,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||aPe&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??sPe,a=r.limit??L9t,[c]=await $l.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=$l.fs.getDepth(t);for(let p of c){let d=$l.fs.getDepth(p),f=Math.max(0,s-(d-l)),m={...r,depth:f};await this.watchDirectories([p],m,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(rN.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(rN.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=T4e.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new jXo,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return $l.lang.noop;if(this.pollerExists(t,r))return $l.lang.noop;let i={...r,interval:r.pollingInterval??bul},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(rN.CLOSE,a),Pti.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(rN.CLOSE,a),Pti.default.unwatchFile(t,n)};return $l.lang.attempt(s),()=>$l.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=$l.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!$l.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=T4e.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await $l.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=T4e.default.dirname(t);return(await $l.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=$l.lang.noop){if($l.lang.isFunction(t))return this.watch([],{},t);if($l.lang.isUndefined(t))return this.watch([],r,n);if($l.lang.isFunction(r))return this.watch(t,{},r);if($l.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=$l.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==$l.lang.noop&&this.on(rN.ALL,n),r.readdirMap=void 0,this.ready())}},Nul=QXo;function iah(e){return"code"in e&&typeof e.code=="string"}function jul(e){return e instanceof Error?e:new Error(String(e))}function Qul(e){return iah(e)&&e.code==="ENOSPC"?"Unable to watch Fern docs files for changes because the system limit for file watchers was reached. Close other file-watching processes or increase the file watcher limit, then restart `fern docs dev`.":`Unable to watch Fern docs files for changes: ${e.message}`}async function Dti({absoluteFilePathToFern:e,additionalFilepaths:t,context:r}){let n=new Nul([e,...t],{recursive:!0,ignoreInitial:!0,debounce:100,renameDetection:!0}),i=await new Promise(o=>{let s=()=>{n.off("error",a),o(void 0)},a=c=>{n.off("ready",s),o(jul(c))};n.once("ready",s),n.once("error",a)});return i!=null&&(n.close(),r.failAndThrow(Qul(i),i,{code:B.Code.EnvironmentError})),n.on("error",o=>{let s=jul(o);r.failWithoutThrowing(Qul(s),s,{code:B.Code.EnvironmentError}),n.close()}),n}Xt();rC();Qt();bn();var Mhl=require("child_process"),Gri=ye(WXo(),1),Lhl=ye(o$o(),1),qE=require("fs"),GB=require("fs/promises"),Uhl=require("os"),oN=ye(require("path"),1),Vhl=ye(lE(),1),_hl=ye(zhl(),1),j4e=process.platform==="win32",_ri=fe.cyan("[docs]:"),kph="etag",Nph=23,g$o=e=>e.padEnd(Nph," "),jph="preview",Qph="app-preview",zph="bundle",Mph=".next",Lph="standalone",Uph=".fern",Vph="packages/fern-docs/bundle/.next/server/instrumentation.js",_ph='Cannot find matching keyid: {"signatures":',Gph="ERR_PNPM_IGNORED_BUILDS";function qph(e){try{let r=(0,Mhl.execSync)('reg query "HKLM\\SYSTEM\\CurrentControlSet\\Control\\FileSystem" /v LongPathsEnabled',{encoding:"utf-8",timeout:5e3}).match(/LongPathsEnabled\s+REG_DWORD\s+0x(\d+)/i);if(r!=null&&r[1]==="1")return}catch(t){e.debug(`Registry query for LongPathsEnabled failed: ${t}`)}throw new B({message:`Windows long path support is not enabled. The docs bundle contains deeply nested .pnpm paths that exceed the 260-character MAX_PATH limit.
|
|
3651
3651
|
|
|
@@ -4225,7 +4225,7 @@ Please ensure you have membership at https://dashboard.buildwithfern.com, and as
|
|
|
4225
4225
|
`);i.failAndThrow(s!=null?`No docs instance found matching '${s}'.
|
|
4226
4226
|
|
|
4227
4227
|
Available instances:
|
|
4228
|
-
${I}`:"No docs instance found. Failed to register.",void 0,{code:B.Code.ConfigError});return}let E=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(W2l);H2l(y.url,E,i),i.logger.info(`Starting docs publishing for ${a?"preview":"production"}: ${y.url}`),i.logger.debug(`Organization: ${e}, Preview: ${a}, APIs: ${t.length}, OSS: ${r.length}`);let v;return await i.runInteractiveTask({name:y.url},async()=>{let I=performance.now(),C=()=>o4l({docsWorkspace:n,customDomains:E,domain:y.url,token:o,organization:e,context:i,apiWorkspaces:t,ossWorkspaces:r,preview:a,previewId:c,editThisPage:y.editThisPage,disableTemplates:u,skipUpload:l,withAiExamples:n.config.aiExamples?.enabled??n.config.experimental?.aiExamples??!0,excludeApis:n.config.experimental?.excludeApis??!1,targetAudiences:y.audiences?Array.isArray(y.audiences)?y.audiences:[y.audiences]:void 0,docsUrl:y.url,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m,multiSource:y.multiSource??!1});for(let O=0;;O++)try{v=await C();break}catch(D){if(!(D instanceof wvt)||O>=IWt.length){if(D instanceof wvt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:B.Code.NetworkError});throw D}let T=IWt[O]??IWt[IWt.length-1]??6e4,M=T/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${M} minute${M===1?"":"s"} (attempt ${O+1}/${IWt.length})...`),await new Promise(K=>setTimeout(K,T))}let w=performance.now()-I;i.logger.debug(`Docs publishing completed in ${w.toFixed(0)}ms`)}),v}Qt();var Ypi=class{context;task;project;docsWorkspace;ossWorkspaces;token;constructor({context:t,task:r,project:n,docsWorkspace:i,ossWorkspaces:o,token:s}){this.context=t,this.task=r,this.project=n,this.docsWorkspace=i,this.ossWorkspaces=o,this.token=s}async publish({instanceUrl:t,preview:r,previewId:n,skipUpload:i}){let o=new sd({context:this.context,task:this.task});try{let s=await vWt({organization:this.project.config.organization,apiWorkspaces:this.project.apiWorkspaces,ossWorkspaces:this.ossWorkspaces,docsWorkspace:this.docsWorkspace,context:o,token:this.token,instanceUrl:t,preview:r,previewId:n,disableTemplates:void 0,skipUpload:i,cliVersion:"5.70.
|
|
4228
|
+
${I}`:"No docs instance found. Failed to register.",void 0,{code:B.Code.ConfigError});return}let E=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(W2l);H2l(y.url,E,i),i.logger.info(`Starting docs publishing for ${a?"preview":"production"}: ${y.url}`),i.logger.debug(`Organization: ${e}, Preview: ${a}, APIs: ${t.length}, OSS: ${r.length}`);let v;return await i.runInteractiveTask({name:y.url},async()=>{let I=performance.now(),C=()=>o4l({docsWorkspace:n,customDomains:E,domain:y.url,token:o,organization:e,context:i,apiWorkspaces:t,ossWorkspaces:r,preview:a,previewId:c,editThisPage:y.editThisPage,disableTemplates:u,skipUpload:l,withAiExamples:n.config.aiExamples?.enabled??n.config.experimental?.aiExamples??!0,excludeApis:n.config.experimental?.excludeApis??!1,targetAudiences:y.audiences?Array.isArray(y.audiences)?y.audiences:[y.audiences]:void 0,docsUrl:y.url,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m,multiSource:y.multiSource??!1});for(let O=0;;O++)try{v=await C();break}catch(D){if(!(D instanceof wvt)||O>=IWt.length){if(D instanceof wvt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:B.Code.NetworkError});throw D}let T=IWt[O]??IWt[IWt.length-1]??6e4,M=T/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${M} minute${M===1?"":"s"} (attempt ${O+1}/${IWt.length})...`),await new Promise(K=>setTimeout(K,T))}let w=performance.now()-I;i.logger.debug(`Docs publishing completed in ${w.toFixed(0)}ms`)}),v}Qt();var Ypi=class{context;task;project;docsWorkspace;ossWorkspaces;token;constructor({context:t,task:r,project:n,docsWorkspace:i,ossWorkspaces:o,token:s}){this.context=t,this.task=r,this.project=n,this.docsWorkspace=i,this.ossWorkspaces=o,this.token=s}async publish({instanceUrl:t,preview:r,previewId:n,skipUpload:i}){let o=new sd({context:this.context,task:this.task});try{let s=await vWt({organization:this.project.config.organization,apiWorkspaces:this.project.apiWorkspaces,ossWorkspaces:this.ossWorkspaces,docsWorkspace:this.docsWorkspace,context:o,token:this.token,instanceUrl:t,preview:r,previewId:n,disableTemplates:void 0,skipUpload:i,cliVersion:"5.70.3",loginCommand:"fern auth login"});return o.getResult()===Rf.Failure?{success:!1}:{success:!0,url:s}}catch(s){return{success:!1,error:Mn(s)}}}};Rt();bn();var Svt=class e{static MAX_DISPLAYED_LOGS_TTY=10;static URL_PATTERN=/https?:\/\/[^\s]+/;context;stream;tasks={};taskOrder=[];startTime;isRegistered=!1;constructor(t){this.context=t.context,this.stream=t.stream??process.stderr}addTask(t){let r={...t,status:t.status??"pending"};return this.tasks[t.id]=r,this.taskOrder.push(t.id),this}async start(t){return this.startTime=Date.now(),t!=null&&await this.context.ttyAwareLogger.takeOverTerminal(()=>{this.stream.write(`
|
|
4229
4229
|
`),this.stream.write(`${fe.cyan("\u25C6")} ${fe.bold(t.title)}
|
|
4230
4230
|
`),t.subtitle!=null&&this.stream.write(` ${fe.dim(t.subtitle)}
|
|
4231
4231
|
`),this.stream.write(`
|
|
@@ -4874,7 +4874,7 @@ ${r}`}function Ryi(e){let t=this,{emitParseErrors:r,...n}={...t.data("settings")
|
|
|
4874
4874
|
`),g="";return c&&(g=l.style.error(c)),[`${p} ${f} ${s}`,[m,g].filter(Boolean).join(`
|
|
4875
4875
|
`)]});var n3g=Ax((e,t)=>{let{validate:r=()=>!0}=e,n=oI(e.theme),[i,o]=Zc("idle"),[s,a]=Zc(),[c,u]=Zc(""),l=hx({status:i,theme:n});gx(async(g,A)=>{if(i==="idle")if(mx(g)){let y=c;o("loading");let E=await r(y);E===!0?(u(y),o("done"),t(y)):(A.write(c),a(E||"You must provide a valid value"),o("idle"))}else u(A.line),a(void 0)});let p=n.style.message(e.message,i),d="",f;e.mask?d=(typeof e.mask=="string"?e.mask:"*").repeat(c.length):i!=="done"&&(f=`${n.style.help("[input is masked]")}${Lwt}`),i==="done"&&(d=n.style.answer(d));let m="";return s&&(m=n.style.error(s)),[[l,p,e.mask?d:f].join(" "),m]});var _5e=ye(Dw(),1);var i3g={icon:{cursor:sC.pointer},style:{disabled:e=>_5e.default.dim(`- ${e}`),searchTerm:e=>_5e.default.cyan(e),description:e=>_5e.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${_5e.default.bold(t)} ${_5e.default.dim(r)}`).join(_5e.default.dim(" \u2022 "))},helpMode:"always"};function OFs(e){return!dd.isSeparator(e)&&!e.disabled}function o3g(e){return e.map(t=>{if(dd.isSeparator(t))return t;if(typeof t=="string")return{value:t,name:t,short:t,disabled:!1};let r=t.name??String(t.value),n={value:t.value,name:r,short:t.short??r,disabled:t.disabled??!1};return t.description&&(n.description=t.description),n})}var s3g=Ax((e,t)=>{let{pageSize:r=7,validate:n=()=>!0}=e,i=oI(i3g,e.theme),[o,s]=Zc("loading"),[a,c]=Zc(""),[u,l]=Zc([]),[p,d]=Zc(),f=hx({status:o,theme:i}),m=r6(()=>{let M=u.findIndex(OFs),K=u.findLastIndex(OFs);return{first:M,last:K}},[u]),[g=m.first,A]=Zc();t4(()=>{let M=new AbortController;return s("loading"),d(void 0),(async()=>{try{let Y=await e.source(a||void 0,{signal:M.signal});M.signal.aborted||(A(void 0),d(void 0),l(o3g(Y)),s("idle"))}catch(Y){!M.signal.aborted&&Y instanceof Error&&d(Y.message)}})(),()=>{M.abort()}},[a]);let y=u[g];gx(async(M,K)=>{if(mx(M))if(y){s("loading");let Y=await n(y.value);s("idle"),Y===!0?(s("done"),t(y.value)):y.name===a?d(Y||"You must provide a valid value"):(K.write(y.name),c(y.name))}else K.write(a);else if(Rhe(M)&&y)K.clearLine(0),K.write(y.name),c(y.name);else if(o!=="loading"&&(iP(M)||t6(M))){if(K.clearLine(0),iP(M)&&g!==m.first||t6(M)&&g!==m.last){let Y=iP(M)?-1:1,Z=g;do Z=(Z+Y+u.length)%u.length;while(!OFs(u[Z]));A(Z)}}else c(K.line)});let E=i.style.message(e.message,o),v;if(i.helpMode!=="never")if(e.instructions){let{pager:M,navigation:K}=e.instructions;v=i.style.help(u.length>r?M:K)}else v=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let I=M5e({items:u,active:g,renderItem({item:M,isActive:K}){if(dd.isSeparator(M))return` ${M.separator}`;if(M.disabled){let ae=typeof M.disabled=="string"?M.disabled:"(disabled)";return i.style.disabled(`${M.name} ${ae}`)}let Y=K?i.style.highlight:ae=>ae,Z=K?i.icon.cursor:" ";return Y(`${Z} ${M.name}`)},pageSize:r,loop:!1}),C;p?C=i.style.error(p):u.length===0&&a!==""&&o==="idle"&&(C=i.style.error("No results found"));let w;if(o==="done"&&y)return[f,E,i.style.answer(y.short)].filter(Boolean).join(" ").trimEnd();w=i.style.searchTerm(a);let O=y?.description,D=[f,E,w].filter(Boolean).join(" ").trimEnd(),T=[C??I," ",O?i.style.description(O):"",v].filter(Boolean).join(`
|
|
4876
4876
|
`).trimEnd();return[D,T]});var Vwt=ye(Dw(),1);var a3g={icon:{cursor:sC.pointer},style:{disabled:e=>Vwt.default.dim(`- ${e}`),description:e=>Vwt.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${Vwt.default.bold(t)} ${Vwt.default.dim(r)}`).join(Vwt.default.dim(" \u2022 "))},helpMode:"always",indexMode:"hidden",keybindings:[]};function Uwt(e){return!dd.isSeparator(e)&&!e.disabled}function c3g(e){return e.map(t=>{if(dd.isSeparator(t))return t;if(typeof t=="string")return{value:t,name:t,short:t,disabled:!1};let r=t.name??String(t.value),n={value:t.value,name:r,short:t.short??r,disabled:t.disabled??!1};return t.description&&(n.description=t.description),n})}var BFs=Ax((e,t)=>{let{loop:r=!0,pageSize:n=7}=e,i=oI(a3g,e.theme),{keybindings:o}=i,[s,a]=Zc("idle"),c=hx({status:s,theme:i}),u=z5e(),l=!o.includes("vim"),p=r6(()=>c3g(e.choices),[e.choices]),d=r6(()=>{let O=p.findIndex(Uwt),D=p.findLastIndex(Uwt);if(O===-1)throw new Iae("[select prompt] No selectable choices. All choices are disabled.");return{first:O,last:D}},[p]),f=r6(()=>"default"in e?p.findIndex(O=>Uwt(O)&&O.value===e.default):-1,[e.default,p]),[m,g]=Zc(f===-1?d.first:f),A=p[m];gx((O,D)=>{if(clearTimeout(u.current),mx(O))a("done"),t(A.value);else if(iP(O,o)||t6(O,o)){if(D.clearLine(0),r||iP(O,o)&&m!==d.first||t6(O,o)&&m!==d.last){let T=iP(O,o)?-1:1,M=m;do M=(M+T+p.length)%p.length;while(!Uwt(p[M]));g(M)}}else if(KJt(O)&&!Number.isNaN(Number(D.line))){let T=Number(D.line)-1,M=-1,K=p.findIndex(Z=>dd.isSeparator(Z)?!1:(M++,M===T)),Y=p[K];Y!=null&&Uwt(Y)&&g(K),u.current=setTimeout(()=>{D.clearLine(0)},700)}else if(N5e(O))D.clearLine(0);else if(l){let T=D.line.toLowerCase(),M=p.findIndex(K=>dd.isSeparator(K)||!Uwt(K)?!1:K.name.toLowerCase().startsWith(T));M!==-1&&g(M),u.current=setTimeout(()=>{D.clearLine(0)},700)}}),t4(()=>()=>{clearTimeout(u.current)},[]);let y=i.style.message(e.message,s),E;if(i.helpMode!=="never")if(e.instructions){let{pager:O,navigation:D}=e.instructions;E=i.style.help(p.length>n?O:D)}else E=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let v=0,I=M5e({items:p,active:m,renderItem({item:O,isActive:D,index:T}){if(dd.isSeparator(O))return v++,` ${O.separator}`;let M=i.indexMode==="number"?`${T+1-v}. `:"";if(O.disabled){let Z=typeof O.disabled=="string"?O.disabled:"(disabled)";return i.style.disabled(`${M}${O.name} ${Z}`)}let K=D?i.style.highlight:Z=>Z,Y=D?i.icon.cursor:" ";return K(`${Y} ${M}${O.name}`)},pageSize:n,loop:r});if(s==="done")return[c,y,i.style.answer(A.short)].filter(Boolean).join(" ");let{description:C}=A;return`${[[c,y].filter(Boolean).join(" "),I," ",C?i.style.description(C):"",E].filter(Boolean).join(`
|
|
4877
|
-
`).trimEnd()}${Lwt}`});bn();_i();var vae={GENERATION_STARTED:"generation_started",GENERATION_COMPLETED:"generation_completed",GENERATION_FAILED:"generation_failed",VERIFICATION_FAILED:"verification_failed",SDK_PR_CREATED:"sdk_pr_created",UPGRADE_APPLIED:"upgrade_applied",MAJOR_VERSION_BUMP:"major_version_bump"},u3g={[vae.GENERATION_STARTED]:!1,[vae.GENERATION_COMPLETED]:!1,[vae.GENERATION_FAILED]:!0,[vae.VERIFICATION_FAILED]:!0,[vae.SDK_PR_CREATED]:!1,[vae.UPGRADE_APPLIED]:!1,[vae.MAJOR_VERSION_BUMP]:!1};function Sop(e){return u3g[e]}function Top(e,t){return{automation_mode:!0,surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function Oop(e,t){function r(i,o,s){s!=null&&(i[o]=s)}let n={surface:"cli",automation_mode:"true"};return r(n,"event",e.event),r(n,"action",t.action),r(n,"run_id",t.run_id),r(n,"org",t.org),r(n,"config_repo",t.config_repo),r(n,"trigger",t.trigger),r(n,"error_code",e.errorCode??"none"),n}function Bop(e,t){return{github_run_id:t.github_run_id,github_run_url:t.github_run_url,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,cli_version:t.cli_version,...e.attributes??{}}}function Pop(e,t){return{event:e.event,timestamp:new Date().toISOString(),surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function Dop(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?vae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?vae.VERIFICATION_FAILED:vae.GENERATION_FAILED}var l3g="",p3g="FERN_AUTOMATION_EVENTS_ORIGIN",f3g=3e3,mbi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[p3g]??l3g)),e.instance}constructor(t){this.origin=t}resolveEndpoint(){if(this.origin.length!==0)return`${this.origin.replace(/\/$/,"")}/v1/automation/events`}post(t,r){this.inflight.push(this.send(t,r))}async shutdown(){let t=this.inflight;this.inflight=[],t.length>0&&await Promise.allSettled(t)}async send(t,r){let n=this.resolveEndpoint();if(n==null)return;let i=new AbortController,o=setTimeout(()=>i.abort(),f3g);try{let s={"content-type":"application/json"},a=await u_();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(Pop(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function Rop(){let{fern_run_id:e,github_run_id:t}=$ae();return{action:process.env.FERN_ACTION,run_id:e,github_run_id:t,github_run_url:process.env.FERN_GITHUB_RUN_URL,org:void 0,config_repo:process.env.FERN_CONFIG_REPO,config_commit_sha:process.env.FERN_CONFIG_COMMIT_SHA,config_branch:process.env.FERN_CONFIG_BRANCH,config_pr_number:process.env.FERN_CONFIG_PR_NUMBER,trigger:process.env.GITHUB_EVENT_NAME,cli_version:"5.70.
|
|
4877
|
+
`).trimEnd()}${Lwt}`});bn();_i();var vae={GENERATION_STARTED:"generation_started",GENERATION_COMPLETED:"generation_completed",GENERATION_FAILED:"generation_failed",VERIFICATION_FAILED:"verification_failed",SDK_PR_CREATED:"sdk_pr_created",UPGRADE_APPLIED:"upgrade_applied",MAJOR_VERSION_BUMP:"major_version_bump"},u3g={[vae.GENERATION_STARTED]:!1,[vae.GENERATION_COMPLETED]:!1,[vae.GENERATION_FAILED]:!0,[vae.VERIFICATION_FAILED]:!0,[vae.SDK_PR_CREATED]:!1,[vae.UPGRADE_APPLIED]:!1,[vae.MAJOR_VERSION_BUMP]:!1};function Sop(e){return u3g[e]}function Top(e,t){return{automation_mode:!0,surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function Oop(e,t){function r(i,o,s){s!=null&&(i[o]=s)}let n={surface:"cli",automation_mode:"true"};return r(n,"event",e.event),r(n,"action",t.action),r(n,"run_id",t.run_id),r(n,"org",t.org),r(n,"config_repo",t.config_repo),r(n,"trigger",t.trigger),r(n,"error_code",e.errorCode??"none"),n}function Bop(e,t){return{github_run_id:t.github_run_id,github_run_url:t.github_run_url,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,cli_version:t.cli_version,...e.attributes??{}}}function Pop(e,t){return{event:e.event,timestamp:new Date().toISOString(),surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function Dop(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?vae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?vae.VERIFICATION_FAILED:vae.GENERATION_FAILED}var l3g="",p3g="FERN_AUTOMATION_EVENTS_ORIGIN",f3g=3e3,mbi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[p3g]??l3g)),e.instance}constructor(t){this.origin=t}resolveEndpoint(){if(this.origin.length!==0)return`${this.origin.replace(/\/$/,"")}/v1/automation/events`}post(t,r){this.inflight.push(this.send(t,r))}async shutdown(){let t=this.inflight;this.inflight=[],t.length>0&&await Promise.allSettled(t)}async send(t,r){let n=this.resolveEndpoint();if(n==null)return;let i=new AbortController,o=setTimeout(()=>i.abort(),f3g);try{let s={"content-type":"application/json"},a=await u_();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(Pop(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function Rop(){let{fern_run_id:e,github_run_id:t}=$ae();return{action:process.env.FERN_ACTION,run_id:e,github_run_id:t,github_run_url:process.env.FERN_GITHUB_RUN_URL,org:void 0,config_repo:process.env.FERN_CONFIG_REPO,config_commit_sha:process.env.FERN_CONFIG_COMMIT_SHA,config_branch:process.env.FERN_CONFIG_BRANCH,config_pr_number:process.env.FERN_CONFIG_PR_NUMBER,trigger:process.env.GITHUB_EVENT_NAME,cli_version:"5.70.3"}}function Fop(){return process.env.FERN_AUTOMATION==="true"}var hbi=class{constructor(t,r=mbi.getInstance()){this.reporter=t;this.automationEventApiClient=r;this.context=Rop()}reporter;automationEventApiClient;context;setOrganization(t){this.context={...this.context,org:t}}emit(t,r){let n=this.captureSentryForFailure({event:t,context:this.context,error:r?.error}),i=n==null?t:{...t,attributes:{...t.attributes??{},sentry_event_id:n}};this.capturePostHogEvent({event:i,context:this.context}),this.captureAutomationEventApiEvent(i,this.context)}async flush(){await this.automationEventApiClient.shutdown()}capturePostHogEvent({event:t,context:r}){this.reporter.instrumentPostHogAutomationEvent({distinctId:r.run_id??void 0,event:t.event,properties:Top(t,r)})}captureSentryForFailure({event:t,context:r,error:n}){if(!(!Sop(t.event)||t.errorCode==null))return this.reporter.captureException(n,{tags:Oop(t,r),context:{automation:Bop(t,r)}})}captureAutomationEventApiEvent(t,r){this.automationEventApiClient.post(t,r)}};Qt();function gbi(e,t,r){if(t instanceof tu)return;let n=Qke(t,r?.code),i=r?.argv??process.argv,o=i.join(" "),s=r?.message??(t instanceof Error?t.message:void 0)??"",a=t??new B({message:s,code:n});Fop()?m3g(i,e,n,s,a):d3g(e,o,n,a)}function d3g(e,t,r,n){e.instrumentPostHogEvent({command:t,properties:{failed:!0,errorCode:r}}),cBt(r)&&e.captureException(n,{tags:{"error.code":r}})}function m3g(e,t,r,n,i){let o=Dop(e);t.emitAutomationTelemetryEvent({event:o,errorCode:r,attributes:{error_message:n}},{error:i})}Qt();function G5e(){return process.env.FERN_DISABLE_TELEMETRY==="true"}function Abi({cliName:e,packageVersion:t,isLocal:r}){return G5e()||r?!1:!(t==="0.0.0")&&(e==="fern"&&!0)}var ybi=class{sentry;constructor({release:t,telemetry:r}){let n="https://84f58b5e457f06999d92f11ce4b79158@o4509504076185600.ingest.us.sentry.io/4511021546602496";if(Abi(r)&&n!=null&&n.length>0){let i="production";if(i==null||i.length===0)throw new B({message:"SENTRY_ENVIRONMENT must be set when SENTRY_DSN is configured",code:B.Code.ConfigError});this.sentry=tBt({dsn:n,release:t,environment:i,defaultIntegrations:!1,integrations:[j9e(),jge(),Qge(),Ege(),Nge()],tracesSampleRate:0,attachStacktrace:!0,sendClientReports:!1}),rBt()}}captureException(t,r){if(this.sentry!=null)try{let n=r?.tags,i=r?.context,o=n!=null&&Object.keys(n).length>0,s=i!=null&&Object.values(i).some(a=>a!=null);return!o&&!s?this.sentry.captureException(t):lO(a=>{if(o&&a.setTags(n),i!=null)for(let[c,u]of Object.entries(i))u!=null&&a.setContext(c,u);return this.sentry?.captureException(t,void 0,a)})}catch{return}}async flush(){this.sentry!=null&&await Promise.resolve(this.sentry.flush(2e3)).catch(()=>{})}};Qt();var bbi=class{originalWrite;redirected=!1;redirect(){if(this.redirected)throw new B({message:"StdoutRedirector: already redirected \u2014 did you forget to restore()?",code:B.Code.InternalError});this.originalWrite=process.stdout.write,process.stdout.write=process.stderr.write.bind(process.stderr),this.redirected=!0}restore(){!this.redirected||this.originalWrite==null||(process.stdout.write=this.originalWrite,this.originalWrite=void 0,this.redirected=!1)}async withRedirect(t){this.redirect();try{return await t()}finally{this.restore()}}};hpe();Rt();Ab();Qt();bn();var ZJt=class{result=Rf.Success;lastFailureMessage=void 0;logImmediately;logPrefix;title;subtasks=[];shouldBufferLogs;bufferedLogs=[];status="notStarted";onResult;instrumentPostHogEventImpl;captureExceptionImpl;emitAutomationTelemetryEventImpl;constructor({logImmediately:t,logPrefix:r,title:n,takeOverTerminal:i,onResult:o,shouldBufferLogs:s,instrumentPostHogEvent:a,captureException:c,emitAutomationTelemetryEvent:u}){this.logImmediately=t,this.logPrefix=r??"",this.title=n,this.takeOverTerminal=i,this.onResult=o,this.shouldBufferLogs=s,this.instrumentPostHogEventImpl=a,this.captureExceptionImpl=c,this.emitAutomationTelemetryEventImpl=u}start(){return this.status="running",this}isStarted(){return this.status!=="notStarted"}finish(){this.status!=="finished"&&(this.status="finished",this.flushLogs(),this.onResult?.(this.getResult()))}isFinished(){return this.status==="finished"}takeOverTerminal;failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),this.finish(),new tu}failWithoutThrowing(t,r,n){this.result=Rf.Failure,!(r instanceof tu)&&(t!=null&&(this.lastFailureMessage=t),wMt({message:t,error:r,logger:this.logger}),gbi(this,r,{...n,message:t}))}getLastFailureMessage(){return this.lastFailureMessage}captureException(t,r){return this.captureExceptionImpl?.(t,r)}emitAutomationTelemetryEvent(t,r){this.emitAutomationTelemetryEventImpl(t,r)}getResult(){return this.result}instrumentPostHogEvent(t){this.instrumentPostHogEventImpl(t)}logAtLevel(t,...r){this.logAtLevelWithOverrides(t,r)}logAtLevelWithOverrides(t,r,n={}){this.log({parts:r,level:t,time:new Date,...n})}log(t){this.bufferedLogs.push({...t,prefix:this.logPrefix}),this.shouldBufferLogs||this.flushLogs()}flushLogs(){this.logImmediately(this.bufferedLogs),this.bufferedLogs=[]}logger=uv(this.logAtLevel.bind(this));addInteractiveTask({name:t,subtitle:r}){let n=new PFs({name:t,subtitle:r,logImmediately:i=>this.logImmediately(i),logPrefix:`${this.logPrefix}${fe.blackBright(t)} `,takeOverTerminal:this.takeOverTerminal,onResult:this.onResult,shouldBufferLogs:this.shouldBufferLogs,instrumentPostHogEvent:i=>this.instrumentPostHogEventImpl(i),captureException:this.captureExceptionImpl,emitAutomationTelemetryEvent:this.emitAutomationTelemetryEventImpl});return this.subtasks.push(n),n}async runInteractiveTask(t,r){let n=this.addInteractiveTask(t).start();try{await r(n)}catch(i){n.failWithoutThrowing(void 0,i)}finally{n.finish()}return n.getResult()===Rf.Success}printInteractiveTasks({spinner:t}){return this.subtasks.map(r=>r.print({spinner:t})).join(`
|
|
4878
4878
|
`)}},PFs=class extends ZJt{name;subtitle;constructor({name:t,subtitle:r,...n}){super(n),this.name=t,this.subtitle=r}start(){return super.start(),this.logAtLevelWithOverrides(Un.Info,["Started."],{omitOnTTY:!0}),this.flushLogs(),this}isStarted(){return this.status!=="notStarted"}finish(){this.status!=="finished"&&(this.result===Rf.Success?this.logAtLevelWithOverrides(Un.Info,["Finished."],{omitOnTTY:!0}):this.logAtLevelWithOverrides(Un.Error,["Failed."],{omitOnTTY:!0}),super.finish())}setSubtitle(t){this.subtitle=t}print({spinner:t}){let r=[this.name];return this.subtitle!=null&&r.push(fe.dim(this.subtitle)),r.push(...this.subtasks.map(n=>n.print({spinner:t}))),ej({prefix:this.getIcon({spinner:t}),content:r.join(`
|
|
4879
4879
|
`)})}printInteractiveTasks({spinner:t}){return this.print({spinner:t})}getIcon({spinner:t}){let r=this.subtasks.length>0;switch(this.status){case"notStarted":return r?fe.dim("\u25B8 "):fe.dim("\u25E6 ");case"running":return r?fe.cyan("\u25BE "):t;case"finished":switch(this.getResult()){case Rf.Success:return r?fe.green("\u25BE "):fe.green("\u2713 ");case Rf.Failure:return r?fe.red("\u25BE "):fe.red("x ")}}}getResult(){if(this.result===Rf.Failure)return Rf.Failure;for(let t of this.subtasks)if(t.getResult()===Rf.Failure)return Rf.Failure;return Rf.Success}};Qt();var kop=ye(Ize(),1);bn();function Nop(e){return e.filter(t=>t.isUpgradeAvailable).length>0}function h3g(e){return(e.cliUpgradeInfo?.isUpgradeAvailable??!1)||Nop(e.generatorUpgradeInfo)}async function jop({cliEnvironment:e,upgradeInfo:t}){if(!h3g(t)||e.packageVersion==t.cliUpgradeInfo?.latestVersion)return;let r=`${fe.underline("Upgrades available")}
|
|
4880
4880
|
|
|
@@ -4883,7 +4883,7 @@ ${r}`}function Ryi(e){let t=this,{emitParseErrors:r,...n}={...t.data("settings")
|
|
|
4883
4883
|
Run ${fe.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
|
|
4884
4884
|
Run ${fe.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),nit(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function DFs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!Nop(e))return;let i=t??"",o=e.filter(a=>a.isUpgradeAvailable);r!=null&&(o=o.slice(0,r+1));let s=o.sort((a,c)=>a.generatorName.localeCompare(c.generatorName)||a.currentVersion.localeCompare(c.currentVersion));for(let a of s)i+=`
|
|
4885
4885
|
${await g3g(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+fe.dim(a.currentVersion)+fe.reset(" \u2192 ")+fe.green(a.latestVersion);return i+=`
|
|
4886
|
-
`,n?nit(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function g3g(e){let r=await new kop.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new B({message:`Generator ${e} not found`,code:B.Code.ConfigError});return r.body.displayName}Qo();HEe();Qt();async function A3g({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=pze(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await s1({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=pze(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await s1({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await bL({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?BA(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function zop(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c;try{c=bQ(a.latestVersion,a.previousVersion)}catch{throw new B({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:B.Code.ConfigError})}r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function Ebi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await A3g({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...zop(u,c,t.logger));else s.push(...zop(a.versions,void 0,t.logger))}return s}Qt();H5i();async function Fhe({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await rRt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new B({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:B.Code.NetworkError})}}var Mop=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Ibi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Un.Info;isLocal;stdoutRedirector=new bbi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await AUt();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new VMt(t,r),this.isLocal=n??!1,this.posthogManager=i;let o=this.getPackageName(),s=this.getPackageVersion(),a=this.getCliName();(o==null||s==null||a==null)&&this.exitProgram(),this.environment={packageName:o,packageVersion:s,cliName:a},this.sentryClient=new ybi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new hbi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.70.
|
|
4886
|
+
`,n?nit(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function g3g(e){let r=await new kop.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new B({message:`Generator ${e} not found`,code:B.Code.ConfigError});return r.body.displayName}Qo();HEe();Qt();async function A3g({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=pze(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await s1({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=pze(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await s1({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function Qop({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await bL({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?BA(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function zop(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c;try{c=bQ(a.latestVersion,a.previousVersion)}catch{throw new B({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:B.Code.ConfigError})}r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function Ebi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await A3g({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...zop(u,c,t.logger));else s.push(...zop(a.versions,void 0,t.logger))}return s}Qt();H5i();async function Fhe({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await rRt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new B({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:B.Code.NetworkError})}}var Mop=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Ibi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Un.Info;isLocal;stdoutRedirector=new bbi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await AUt();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new VMt(t,r),this.isLocal=n??!1,this.posthogManager=i;let o=this.getPackageName(),s=this.getPackageVersion(),a=this.getCliName();(o==null||s==null||a==null)&&this.exitProgram(),this.environment={packageName:o,packageVersion:s,cliName:a},this.sentryClient=new ybi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new hbi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.70.3"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${fe.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),new tu}failWithoutThrowing(t,r,n){this.didSucceed=!1,!(r instanceof tu)&&(wMt({message:t,error:r,logger:this.logger}),gbi(this,r,{...n,message:t}))}enableJsonMode(){this.jsonMode||(this.jsonMode=!0,this.stdoutRedirector.redirect())}get isJsonMode(){return this.jsonMode}writeJsonToStdout(t){this.stdoutRedirector.restore(),process.stdout.write(JSON.stringify(t,null,2)+`
|
|
4887
4887
|
`),this.jsonMode&&this.stdoutRedirector.redirect()}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish();try{await this.posthogManager.flush()}catch{}await this.sentryClient.flush(),await this.automationTelemetryManager.flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await jop({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
4888
4888
|
`)||(r+=`
|
|
4889
4889
|
`),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=UPi(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t,this.automationTelemetryManager.setOrganization(t.config.organization)}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 ZJt(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(o){throw n.failWithoutThrowing(void 0,o),new tu}finally{n.finish()}return i}instrumentPostHogEvent(t){this.isLocal||this.posthogManager.sendEvent(t)}instrumentPostHogAutomationEvent(t){this.isLocal||this.posthogManager.sendAutomationEvent(t)}captureException(t,r){return this.sentryClient.captureException(t,r)}emitAutomationTelemetryEvent(t,r){this.automationTelemetryManager.emit(t,r)}logger=uv((t,...r)=>this.log(t,...r));stderr=uv((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=t.type==="docs"?"docs":t.workspaceName??"api",n=Lop(r),i=1+(this.longestWorkspaceName!=null?Lop(this.longestWorkspaceName):n).length,o=n.padEnd(i),s=Mop[this.numTasks++%Mop.length],a=fe.hex(s)(o);return{...this.constructTaskInit(),logPrefix:a,title:fe.hex(s).bold(r)}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===Rf.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:t=>{this.instrumentPostHogEvent(t)},shouldBufferLogs:!1,captureException:(t,r)=>this.sentryClient.captureException(t,r),emitAutomationTelemetryEvent:(t,r)=>this.emitAutomationTelemetryEvent(t,r)}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let n=t.filter(i=>ew.indexOf(i.level)>=ew.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===Un.Debug,stderr:r||this.jsonMode})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await Fhe({cliEnvironment:this.environment,includePreReleases:t}),n=bQ(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await Ebi({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await BFs({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:fe.yellow("?"),style:{answer:i=>fe.cyan(i),message:i=>fe.bold(i),highlight:i=>fe.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
|