fern-api 5.37.10 → 5.37.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +6 -6
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -3034,7 +3034,7 @@ Example: if your docs.yml references "pages/getting-started.mdx", add a translat
3034
3034
  version at "translations/${c}/pages/getting-started.mdx".`,void 0,{code:D.Code.ValidationError});return}let l={},p=[];await Promise.all(Object.keys(r).map(async d=>{let f=lW.default.join(u,d);await sr(f)?l[d]=await(0,bpe.readFile)(f,"utf-8"):p.push(d)})),p.length>0&&i.logger.warn(`Translation for locale "${c}" is missing ${p.length} page(s):
3035
3035
  `+p.map(d=>` - translations/${c}/${d}`).join(`
3036
3036
  `)+`
3037
- These pages will fall back to the default language content.`),s[c]=l})),s}async function _Qf({translations:e,defaultLocale:t,absolutePathToFernFolder:r,context:n}){if(e==null||e.length===0)return;let i=lW.default.join(r,"translations"),o={},s=e.map(a=>Uh.DocsYmlSchemas.normalizeTranslationConfig(a));if(await Promise.all(s.map(async({lang:a})=>{if(a===t)return;let c=await VQf({translationsRootDir:i,lang:a});if(c==null)return;let{overlayDocsYmlPath:u,overlayDir:l}=c;try{let p=Cr.load(await(0,bpe.readFile)(u,"utf-8"));if(!xo(p)){n.logger.warn(`Translation overlay at "${u}" is not a valid YAML object. Skipping.`);return}let d=await GQf({docsYmlContent:p,langFernDir:l,overlayDocsYmlPath:u,context:n});o[a]=d}catch(p){n.logger.warn(`Failed to load translation overlay for locale "${a}": ${String(p)}. Navigation labels will not be translated for this locale.`)}})),Object.keys(o).length!==0)return o}async function VQf({translationsRootDir:e,lang:t}){let r=lW.default.join(e,t),n=lW.default.join(r,"docs.yml");if(await sr(n))return{overlayDocsYmlPath:n,overlayDir:r};let i=lW.default.join(r,"fern"),o=lW.default.join(i,"docs.yml");if(await sr(o))return{overlayDocsYmlPath:o,overlayDir:i}}function Xtc(e,t){if(xo(e)){let r=e[t];if(typeof r=="string")return r}}async function qQf({rawNavbarLinks:e,overlayDocsYmlPath:t,context:r}){let n=[];for(let[i,o]of e.entries())try{let s=await Uh.RawSchemas.Serializer.NavbarLink.parseOrThrow(o);n.push(s)}catch(s){r.logger.warn(`Invalid navbar-link at index ${i} in "${t}": ${String(s)}. Skipping this entry.`)}return n}async function GQf({docsYmlContent:e,langFernDir:t,overlayDocsYmlPath:r,context:n}){let i={tabs:void 0,products:void 0,versions:void 0,announcement:void 0,navigation:void 0,navbarLinks:void 0};if(xo(e.announcement)){let s=Xtc(e.announcement,"message");s!=null&&(i.announcement={message:s})}let o=e["navbar-links"];if(Array.isArray(o)){let s=await qQf({rawNavbarLinks:o,overlayDocsYmlPath:r,context:n});i.navbarLinks=trc(s,r)??[]}if(xo(e.tabs)&&(i.tabs=nrc(e.tabs)),Array.isArray(e.products)){i.products=[];for(let s of e.products){if(!xo(s))continue;let a=s,c={slug:typeof a.slug=="string"?a.slug:void 0,displayName:typeof a["display-name"]=="string"?a["display-name"]:void 0,subtitle:typeof a.subtitle=="string"?a.subtitle:void 0,announcement:void 0,tabs:void 0,navigation:void 0,versions:void 0};if(xo(a.announcement)){let u=Xtc(a.announcement,"message");u!=null&&(c.announcement={message:u})}if(typeof a.path=="string"){let u=await rrc({relativeNavPath:a.path,overlayDir:t,overlayKind:"product",context:n});u!=null&&(c.tabs=u.tabs,c.navigation=u.navigation)}if(Array.isArray(a.versions)){c.versions=[];for(let u of a.versions)xo(u)&&c.versions.push(await Ztc({versionObj:u,overlayDir:t,context:n}))}i.products.push(c)}}if(Array.isArray(e.versions)){i.versions=[];for(let s of e.versions)xo(s)&&i.versions.push(await Ztc({versionObj:s,overlayDir:t,context:n}))}return Array.isArray(e.navigation)&&(i.navigation=[...i.navigation??[],...aNr(e.navigation)]),i}async function Ztc({versionObj:e,overlayDir:t,context:r}){let n={slug:typeof e.slug=="string"?e.slug:void 0,displayName:typeof e["display-name"]=="string"?e["display-name"]:void 0,tabs:void 0,navigation:void 0};if(typeof e.path=="string"){let i=await rrc({relativeNavPath:e.path,overlayDir:t,overlayKind:"version",context:r});i!=null&&(n.tabs=i.tabs,n.navigation=i.navigation)}return n}async function rrc({relativeNavPath:e,overlayDir:t,overlayKind:r,context:n}){let i=lW.default.resolve(t,e);if(!i.startsWith(t)){n.logger.warn(`Invalid path in ${r} overlay: "${e}" escapes the translations directory. Skipping.`);return}if(await sr(i))try{let o=Cr.load(await(0,bpe.readFile)(i,"utf-8"));if(!xo(o))return;let s=o;return{tabs:xo(s.tabs)?nrc(s.tabs):void 0,navigation:Array.isArray(s.navigation)?aNr(s.navigation):void 0}}catch(o){n.logger.warn(`Failed to load translation nav file "${i}": ${String(o)}`);return}}function nrc(e){let t={};for(let[r,n]of Object.entries(e))if(xo(n)){let i=n;t[r]={displayName:typeof i["display-name"]=="string"?i["display-name"]:void 0,slug:typeof i.slug=="string"?i.slug:void 0}}return t}function aNr(e){let t=[];for(let r of e){if(!xo(r))continue;let n=r;if(typeof n.tab=="string"){let i={type:"tab",tabId:n.tab,layout:Array.isArray(n.layout)?aNr(n.layout):void 0,variants:Array.isArray(n.variants)?WQf(n.variants):void 0};t.push(i);continue}if(typeof n.section=="string"){let i={type:"section",title:n.section,slug:typeof n.slug=="string"?n.slug:void 0,contents:Array.isArray(n.contents)?aNr(n.contents):void 0};t.push(i);continue}if(typeof n.page=="string"){let i={type:"page",title:n.page,slug:typeof n.slug=="string"?n.slug:void 0};t.push(i);continue}}return t}function WQf(e){let t=[];for(let r of e){if(!xo(r))continue;let n=r;t.push({title:typeof n.title=="string"?n.title:void 0,subtitle:typeof n.subtitle=="string"?n.subtitle:void 0,slug:typeof n.slug=="string"?n.slug:void 0})}return t}jt();rr();Ut();var orc=require("fs/promises");as();var irc=Bt.strictObject({organization:Bt.string(),version:Bt.string()});async function IO({directory:e,context:t}){let r=$e(e,ke.of(qE)),n=await(0,orc.readFile)(r),i;try{i=JSON.parse(n.toString())}catch(s){throw new D({message:`Failed to parse ${qE}: ${Gn(s)}`,code:D.Code.ParseError})}let o=await hOr({schema:irc,value:i,context:t,filepathBeingParsed:r});return{_absolutePath:r,rawConfig:o,organization:o.organization,version:o.version}}var Ze={TYPESCRIPT:"fernapi/fern-typescript",TYPESCRIPT_SDK:"fernapi/fern-typescript-sdk",TYPESCRIPT_NODE_SDK:"fernapi/fern-typescript-node-sdk",TYPESCRIPT_BROWSER_SDK:"fernapi/fern-typescript-browser-sdk",TYPESCRIPT_EXPRESS:"fernapi/fern-typescript-express",JAVA:"fernapi/fern-java",JAVA_MODEL:"fernapi/fern-java-model",JAVA_SDK:"fernapi/fern-java-sdk",JAVA_SPRING:"fernapi/fern-java-spring",PYTHON_FASTAPI:"fernapi/fern-fastapi-server",PYTHON_PYDANTIC:"fernapi/fern-pydantic-model",PYTHON_SDK:"fernapi/fern-python-sdk",GO_MODEL:"fernapi/fern-go-model",GO_SDK:"fernapi/fern-go-sdk",RUBY_SDK:"fernapi/fern-ruby-sdk",CSHARP_MODEL:"fernapi/fern-csharp-model",CSHARP_SDK:"fernapi/fern-csharp-sdk",SWIFT_MODEL:"fernapi/fern-swift-model",SWIFT_SDK:"fernapi/fern-swift-sdk",PHP_MODEL:"fernapi/fern-php-model",PHP_SDK:"fernapi/fern-php-sdk",RUST_MODEL:"fernapi/fern-rust-model",RUST_SDK:"fernapi/fern-rust-sdk",OPENAPI:"fernapi/fern-openapi",STOPLIGHT:"fernapi/fern-stoplight",POSTMAN:"fernapi/fern-postman",OPENAPI_PYTHON_CLIENT:"fernapi/openapi-python-client",CLI:"fernapi/fern-cli"};Ut();var yuo=we(Nx(),1);var qMt={[Ze.JAVA]:{version:"2.38.1"},[Ze.TYPESCRIPT_EXPRESS]:{version:"0.18.4",output:{location:"local-file-system",path:"../src/fern"}},[Ze.JAVA_MODEL]:{version:"1.0.0"},[Ze.JAVA_SDK]:{version:"2.38.1",output:{location:"local-file-system",path:"../sdks/java/src/main/java/"}},[Ze.JAVA_SPRING]:{version:"0.9.2",output:{location:"local-file-system",path:"../src/main/java/com/fern"}},[Ze.TYPESCRIPT]:{version:"0.0.247"},[Ze.TYPESCRIPT_SDK]:{version:"2.3.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.TYPESCRIPT_NODE_SDK]:{version:"2.3.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.TYPESCRIPT_BROWSER_SDK]:{version:"1.0.0",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.PYTHON_PYDANTIC]:{version:"1.4.7"},[Ze.PYTHON_FASTAPI]:{version:"1.7.0",output:{location:"local-file-system",path:"../src/fern"}},[Ze.PYTHON_SDK]:{version:"4.23.2",output:{location:"local-file-system",path:"../sdks/python"}},[Ze.GO_MODEL]:{version:"0.23.5"},[Ze.GO_SDK]:{version:"1.4.0",output:{location:"local-file-system",path:"../sdks/go"},config:{module:{path:"sdk"}}},[Ze.RUBY_SDK]:{version:"0.8.2",output:{location:"local-file-system",path:"../sdks/ruby"}},[Ze.OPENAPI]:{version:"0.1.7",config:{format:"yaml"},output:{location:"local-file-system",path:"../openapi"}},[Ze.STOPLIGHT]:{version:"0.0.28",config:{format:"yaml"}},[Ze.POSTMAN]:{version:"0.4.0",output:{location:"local-file-system",path:"../postman"}},[Ze.OPENAPI_PYTHON_CLIENT]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/python"},config:{format:"yaml"}},[Ze.CSHARP_MODEL]:{version:"0.0.1"},[Ze.CSHARP_SDK]:{version:"2.0.2",output:{location:"local-file-system",path:"../sdks/csharp"}},[Ze.SWIFT_MODEL]:{version:"0.0.0"},[Ze.SWIFT_SDK]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/swift/sdk"}},[Ze.PHP_MODEL]:{version:"0.0.0"},[Ze.PHP_SDK]:{version:"1.16.3",output:{location:"local-file-system",path:"../sdks/php/sdk"}},[Ze.RUST_MODEL]:{version:"0.0.1",output:{location:"local-file-system",path:"../models/rust"}},[Ze.RUST_SDK]:{version:"0.0.1",output:{location:"local-file-system",path:"../sdks/rust"}},[Ze.CLI]:{version:"0.0.1",output:{location:"local-file-system",path:"../sdks/cli"}}};Ut();var GMt="fernapi",PMe="fern-api";function py(e){return e=att(e),e.includes("/")?e:`${GMt}/${e}`}function att(e){let t=`${PMe}/`;return e.startsWith(t)?`${GMt}/${e.slice(t.length)}`:e}function cNr(e,t){let r=`${PMe}/`;if(e.startsWith(r)){let n=`${GMt}/${e.slice(r.length)}`;return t.logger.warn(`"${e}" is not a valid generator name. Using "${n}" instead \u2014 the Docker org is "fernapi", not "fern-api".`),n}return e}function DMe(e){let t=`${GMt}/`;return e.startsWith(t)?e.slice(t.length):e}function tao(e,t){let r=RMe(e);return r??t.failAndThrow("Unrecognized generator: "+e,void 0,{code:D.Code.ConfigError})}var HQf={"fernapi/java-model":Ze.JAVA_MODEL,"fernapi/fern-typescript-node-sdk":Ze.TYPESCRIPT_SDK};function RMe(e){e=py(e);let t=HQf[e];if(t!=null&&(e=t),KQf(e))return e}function KQf(e){return Object.values(Ze).includes(e)}var Kjr=we(_Me(),1),puc=we(Nx(),1);async function Q1({generatorName:e,cliVersion:t,channel:r,currentGeneratorVersion:n,includeMajor:i,context:o}){let s=puc.default.parse(n),a="https://registry.buildwithfern.com",c=new Kjr.FernRegistryClient({environment:a});o?.logger.debug(`Getting latest version for ${e} with CLI version ${t}, includeMajor: ${i}, prior version: ${s}, FDR origin: ${a}`);let u={generator:CGf(e,o),releaseTypes:[r??Kjr.FernRegistry.generators.ReleaseType.Ga],cliVersion:t};!i&&s!=null&&(u.generatorMajorVersion=s.major),o?.logger.debug(`[FDR] getLatestGeneratorRelease request: ${JSON.stringify(u)}`);let l=await c.generators.versions.getLatestGeneratorRelease(u);if(l.ok)return o?.logger.debug(`[FDR] getLatestGeneratorRelease response for ${e}: version=${l.body.version}, irVersion=${l.body.irVersion}`),l.body.version;o?.logger.debug(`[FDR] getLatestGeneratorRelease failed for ${e}: ${JSON.stringify(l)}`)}function CGf(e,t){switch(e.startsWith("fernapi/")&&(e=e.replace("fernapi/","")),e){case"fern-python-sdk":return"python-sdk";case"fern-pydantic-model":return"pydantic";case"fern-fastapi-server":return"fastapi";case"fern-typescript":case"fern-typescript-browser-sdk":case"fern-typescript-node-sdk":case"fern-typescript-sdk":return"ts-sdk";case"fern-typescript-express":return"ts-express";case"fern-java-sdk":return"java-sdk";case"fern-java-model":case"java-model":return"java-model";case"fern-java-spring":return"java-spring";case"fern-go-sdk":return"go-sdk";case"fern-go-model":return"go-model";case"fern-csharp-sdk":return"csharp-sdk";case"fern-csharp-model":return"csharp-model";case"fern-ruby-sdk":case"fern-ruby-sdk-v2":return"ruby-sdk-v2";case"fern-postman":return"postman";case"fern-openapi":return"openapi";case"fern-php-sdk":return"php-sdk";case"fern-php-model":return"php-model";case"fern-rust-sdk":return"rust-sdk";case"fern-rust-model":return"rust-model";case"fern-swift-sdk":return"swift-sdk";case"fern-swift-model":return"swift-model";case"fern-cli":return"cli";default:return t?.logger.warn(`Unrecognized generator name found, attempting to parse manually: ${e}`),e.startsWith("fern-")?e.replace("fern-",""):e}}Ut();async function fuc({generatorsConfiguration:e,groupName:t=e[zn.DEFAULT_GROUP_GENERATORS_CONFIG_KEY],context:r,update:n}){if(t==null){let s=Object.keys(e.groups??{});if(s.length>0){let a=`No group specified. Use the --group option:
3037
+ These pages will fall back to the default language content.`),s[c]=l})),s}async function _Qf({translations:e,defaultLocale:t,absolutePathToFernFolder:r,context:n}){if(e==null||e.length===0)return;let i=lW.default.join(r,"translations"),o={},s=e.map(a=>Uh.DocsYmlSchemas.normalizeTranslationConfig(a));if(await Promise.all(s.map(async({lang:a})=>{if(a===t)return;let c=await VQf({translationsRootDir:i,lang:a});if(c==null)return;let{overlayDocsYmlPath:u,overlayDir:l}=c;try{let p=Cr.load(await(0,bpe.readFile)(u,"utf-8"));if(!xo(p)){n.logger.warn(`Translation overlay at "${u}" is not a valid YAML object. Skipping.`);return}let d=await GQf({docsYmlContent:p,langFernDir:l,overlayDocsYmlPath:u,context:n});o[a]=d}catch(p){n.logger.warn(`Failed to load translation overlay for locale "${a}": ${String(p)}. Navigation labels will not be translated for this locale.`)}})),Object.keys(o).length!==0)return o}async function VQf({translationsRootDir:e,lang:t}){let r=lW.default.join(e,t),n=lW.default.join(r,"docs.yml");if(await sr(n))return{overlayDocsYmlPath:n,overlayDir:r};let i=lW.default.join(r,"fern"),o=lW.default.join(i,"docs.yml");if(await sr(o))return{overlayDocsYmlPath:o,overlayDir:i}}function Xtc(e,t){if(xo(e)){let r=e[t];if(typeof r=="string")return r}}async function qQf({rawNavbarLinks:e,overlayDocsYmlPath:t,context:r}){let n=[];for(let[i,o]of e.entries())try{let s=await Uh.RawSchemas.Serializer.NavbarLink.parseOrThrow(o);n.push(s)}catch(s){r.logger.warn(`Invalid navbar-link at index ${i} in "${t}": ${String(s)}. Skipping this entry.`)}return n}async function GQf({docsYmlContent:e,langFernDir:t,overlayDocsYmlPath:r,context:n}){let i={tabs:void 0,products:void 0,versions:void 0,announcement:void 0,navigation:void 0,navbarLinks:void 0};if(xo(e.announcement)){let s=Xtc(e.announcement,"message");s!=null&&(i.announcement={message:s})}let o=e["navbar-links"];if(Array.isArray(o)){let s=await qQf({rawNavbarLinks:o,overlayDocsYmlPath:r,context:n});i.navbarLinks=trc(s,r)??[]}if(xo(e.tabs)&&(i.tabs=nrc(e.tabs)),Array.isArray(e.products)){i.products=[];for(let s of e.products){if(!xo(s))continue;let a=s,c={slug:typeof a.slug=="string"?a.slug:void 0,displayName:typeof a["display-name"]=="string"?a["display-name"]:void 0,subtitle:typeof a.subtitle=="string"?a.subtitle:void 0,announcement:void 0,tabs:void 0,navigation:void 0,versions:void 0};if(xo(a.announcement)){let u=Xtc(a.announcement,"message");u!=null&&(c.announcement={message:u})}if(typeof a.path=="string"){let u=await rrc({relativeNavPath:a.path,overlayDir:t,overlayKind:"product",context:n});u!=null&&(c.tabs=u.tabs,c.navigation=u.navigation)}if(Array.isArray(a.versions)){c.versions=[];for(let u of a.versions)xo(u)&&c.versions.push(await Ztc({versionObj:u,overlayDir:t,context:n}))}i.products.push(c)}}if(Array.isArray(e.versions)){i.versions=[];for(let s of e.versions)xo(s)&&i.versions.push(await Ztc({versionObj:s,overlayDir:t,context:n}))}return Array.isArray(e.navigation)&&(i.navigation=[...i.navigation??[],...aNr(e.navigation)]),i}async function Ztc({versionObj:e,overlayDir:t,context:r}){let n={slug:typeof e.slug=="string"?e.slug:void 0,displayName:typeof e["display-name"]=="string"?e["display-name"]:void 0,tabs:void 0,navigation:void 0};if(typeof e.path=="string"){let i=await rrc({relativeNavPath:e.path,overlayDir:t,overlayKind:"version",context:r});i!=null&&(n.tabs=i.tabs,n.navigation=i.navigation)}return n}async function rrc({relativeNavPath:e,overlayDir:t,overlayKind:r,context:n}){let i=lW.default.resolve(t,e);if(!i.startsWith(t)){n.logger.warn(`Invalid path in ${r} overlay: "${e}" escapes the translations directory. Skipping.`);return}if(await sr(i))try{let o=Cr.load(await(0,bpe.readFile)(i,"utf-8"));if(!xo(o))return;let s=o;return{tabs:xo(s.tabs)?nrc(s.tabs):void 0,navigation:Array.isArray(s.navigation)?aNr(s.navigation):void 0}}catch(o){n.logger.warn(`Failed to load translation nav file "${i}": ${String(o)}`);return}}function nrc(e){let t={};for(let[r,n]of Object.entries(e))if(xo(n)){let i=n;t[r]={displayName:typeof i["display-name"]=="string"?i["display-name"]:void 0,slug:typeof i.slug=="string"?i.slug:void 0}}return t}function aNr(e){let t=[];for(let r of e){if(!xo(r))continue;let n=r;if(typeof n.tab=="string"){let i={type:"tab",tabId:n.tab,layout:Array.isArray(n.layout)?aNr(n.layout):void 0,variants:Array.isArray(n.variants)?WQf(n.variants):void 0};t.push(i);continue}if(typeof n.section=="string"){let i={type:"section",title:n.section,slug:typeof n.slug=="string"?n.slug:void 0,contents:Array.isArray(n.contents)?aNr(n.contents):void 0};t.push(i);continue}if(typeof n.page=="string"){let i={type:"page",title:n.page,slug:typeof n.slug=="string"?n.slug:void 0};t.push(i);continue}}return t}function WQf(e){let t=[];for(let r of e){if(!xo(r))continue;let n=r;t.push({title:typeof n.title=="string"?n.title:void 0,subtitle:typeof n.subtitle=="string"?n.subtitle:void 0,slug:typeof n.slug=="string"?n.slug:void 0})}return t}jt();rr();Ut();var orc=require("fs/promises");as();var irc=Bt.strictObject({organization:Bt.string(),version:Bt.string()});async function IO({directory:e,context:t}){let r=$e(e,ke.of(qE)),n=await(0,orc.readFile)(r),i;try{i=JSON.parse(n.toString())}catch(s){throw new D({message:`Failed to parse ${qE}: ${Gn(s)}`,code:D.Code.ParseError})}let o=await hOr({schema:irc,value:i,context:t,filepathBeingParsed:r});return{_absolutePath:r,rawConfig:o,organization:o.organization,version:o.version}}var Ze={TYPESCRIPT:"fernapi/fern-typescript",TYPESCRIPT_SDK:"fernapi/fern-typescript-sdk",TYPESCRIPT_NODE_SDK:"fernapi/fern-typescript-node-sdk",TYPESCRIPT_BROWSER_SDK:"fernapi/fern-typescript-browser-sdk",TYPESCRIPT_EXPRESS:"fernapi/fern-typescript-express",JAVA:"fernapi/fern-java",JAVA_MODEL:"fernapi/fern-java-model",JAVA_SDK:"fernapi/fern-java-sdk",JAVA_SPRING:"fernapi/fern-java-spring",PYTHON_FASTAPI:"fernapi/fern-fastapi-server",PYTHON_PYDANTIC:"fernapi/fern-pydantic-model",PYTHON_SDK:"fernapi/fern-python-sdk",GO_MODEL:"fernapi/fern-go-model",GO_SDK:"fernapi/fern-go-sdk",RUBY_SDK:"fernapi/fern-ruby-sdk",CSHARP_MODEL:"fernapi/fern-csharp-model",CSHARP_SDK:"fernapi/fern-csharp-sdk",SWIFT_MODEL:"fernapi/fern-swift-model",SWIFT_SDK:"fernapi/fern-swift-sdk",PHP_MODEL:"fernapi/fern-php-model",PHP_SDK:"fernapi/fern-php-sdk",RUST_MODEL:"fernapi/fern-rust-model",RUST_SDK:"fernapi/fern-rust-sdk",OPENAPI:"fernapi/fern-openapi",STOPLIGHT:"fernapi/fern-stoplight",POSTMAN:"fernapi/fern-postman",OPENAPI_PYTHON_CLIENT:"fernapi/openapi-python-client",CLI:"fernapi/fern-cli"};Ut();var yuo=we(Nx(),1);var qMt={[Ze.JAVA]:{version:"2.38.1"},[Ze.TYPESCRIPT_EXPRESS]:{version:"0.18.4",output:{location:"local-file-system",path:"../src/fern"}},[Ze.JAVA_MODEL]:{version:"1.0.0"},[Ze.JAVA_SDK]:{version:"2.38.1",output:{location:"local-file-system",path:"../sdks/java/src/main/java/"}},[Ze.JAVA_SPRING]:{version:"0.9.2",output:{location:"local-file-system",path:"../src/main/java/com/fern"}},[Ze.TYPESCRIPT]:{version:"0.0.247"},[Ze.TYPESCRIPT_SDK]:{version:"3.71.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.TYPESCRIPT_NODE_SDK]:{version:"3.71.2",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.TYPESCRIPT_BROWSER_SDK]:{version:"1.0.0",output:{location:"local-file-system",path:"../sdks/typescript"}},[Ze.PYTHON_PYDANTIC]:{version:"1.4.7"},[Ze.PYTHON_FASTAPI]:{version:"1.7.0",output:{location:"local-file-system",path:"../src/fern"}},[Ze.PYTHON_SDK]:{version:"4.23.2",output:{location:"local-file-system",path:"../sdks/python"}},[Ze.GO_MODEL]:{version:"0.23.5"},[Ze.GO_SDK]:{version:"1.4.0",output:{location:"local-file-system",path:"../sdks/go"},config:{module:{path:"sdk"}}},[Ze.RUBY_SDK]:{version:"0.8.2",output:{location:"local-file-system",path:"../sdks/ruby"}},[Ze.OPENAPI]:{version:"0.1.7",config:{format:"yaml"},output:{location:"local-file-system",path:"../openapi"}},[Ze.STOPLIGHT]:{version:"0.0.28",config:{format:"yaml"}},[Ze.POSTMAN]:{version:"0.4.0",output:{location:"local-file-system",path:"../postman"}},[Ze.OPENAPI_PYTHON_CLIENT]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/python"},config:{format:"yaml"}},[Ze.CSHARP_MODEL]:{version:"0.0.1"},[Ze.CSHARP_SDK]:{version:"2.0.2",output:{location:"local-file-system",path:"../sdks/csharp"}},[Ze.SWIFT_MODEL]:{version:"0.0.0"},[Ze.SWIFT_SDK]:{version:"0.0.0",output:{location:"local-file-system",path:"../sdks/swift/sdk"}},[Ze.PHP_MODEL]:{version:"0.0.0"},[Ze.PHP_SDK]:{version:"1.16.3",output:{location:"local-file-system",path:"../sdks/php/sdk"}},[Ze.RUST_MODEL]:{version:"0.0.1",output:{location:"local-file-system",path:"../models/rust"}},[Ze.RUST_SDK]:{version:"0.0.1",output:{location:"local-file-system",path:"../sdks/rust"}},[Ze.CLI]:{version:"0.0.1",output:{location:"local-file-system",path:"../sdks/cli"}}};Ut();var GMt="fernapi",PMe="fern-api";function py(e){return e=att(e),e.includes("/")?e:`${GMt}/${e}`}function att(e){let t=`${PMe}/`;return e.startsWith(t)?`${GMt}/${e.slice(t.length)}`:e}function cNr(e,t){let r=`${PMe}/`;if(e.startsWith(r)){let n=`${GMt}/${e.slice(r.length)}`;return t.logger.warn(`"${e}" is not a valid generator name. Using "${n}" instead \u2014 the Docker org is "fernapi", not "fern-api".`),n}return e}function DMe(e){let t=`${GMt}/`;return e.startsWith(t)?e.slice(t.length):e}function tao(e,t){let r=RMe(e);return r??t.failAndThrow("Unrecognized generator: "+e,void 0,{code:D.Code.ConfigError})}var HQf={"fernapi/java-model":Ze.JAVA_MODEL,"fernapi/fern-typescript-node-sdk":Ze.TYPESCRIPT_SDK};function RMe(e){e=py(e);let t=HQf[e];if(t!=null&&(e=t),KQf(e))return e}function KQf(e){return Object.values(Ze).includes(e)}var Kjr=we(_Me(),1),puc=we(Nx(),1);async function Q1({generatorName:e,cliVersion:t,channel:r,currentGeneratorVersion:n,includeMajor:i,context:o}){let s=puc.default.parse(n),a="https://registry.buildwithfern.com",c=new Kjr.FernRegistryClient({environment:a});o?.logger.debug(`Getting latest version for ${e} with CLI version ${t}, includeMajor: ${i}, prior version: ${s}, FDR origin: ${a}`);let u={generator:CGf(e,o),releaseTypes:[r??Kjr.FernRegistry.generators.ReleaseType.Ga],cliVersion:t};!i&&s!=null&&(u.generatorMajorVersion=s.major),o?.logger.debug(`[FDR] getLatestGeneratorRelease request: ${JSON.stringify(u)}`);let l=await c.generators.versions.getLatestGeneratorRelease(u);if(l.ok)return o?.logger.debug(`[FDR] getLatestGeneratorRelease response for ${e}: version=${l.body.version}, irVersion=${l.body.irVersion}`),l.body.version;o?.logger.debug(`[FDR] getLatestGeneratorRelease failed for ${e}: ${JSON.stringify(l)}`)}function CGf(e,t){switch(e.startsWith("fernapi/")&&(e=e.replace("fernapi/","")),e){case"fern-python-sdk":return"python-sdk";case"fern-pydantic-model":return"pydantic";case"fern-fastapi-server":return"fastapi";case"fern-typescript":case"fern-typescript-browser-sdk":case"fern-typescript-node-sdk":case"fern-typescript-sdk":return"ts-sdk";case"fern-typescript-express":return"ts-express";case"fern-java-sdk":return"java-sdk";case"fern-java-model":case"java-model":return"java-model";case"fern-java-spring":return"java-spring";case"fern-go-sdk":return"go-sdk";case"fern-go-model":return"go-model";case"fern-csharp-sdk":return"csharp-sdk";case"fern-csharp-model":return"csharp-model";case"fern-ruby-sdk":case"fern-ruby-sdk-v2":return"ruby-sdk-v2";case"fern-postman":return"postman";case"fern-openapi":return"openapi";case"fern-php-sdk":return"php-sdk";case"fern-php-model":return"php-model";case"fern-rust-sdk":return"rust-sdk";case"fern-rust-model":return"rust-model";case"fern-swift-sdk":return"swift-sdk";case"fern-swift-model":return"swift-model";case"fern-cli":return"cli";default:return t?.logger.warn(`Unrecognized generator name found, attempting to parse manually: ${e}`),e.startsWith("fern-")?e.replace("fern-",""):e}}Ut();async function fuc({generatorsConfiguration:e,groupName:t=e[zn.DEFAULT_GROUP_GENERATORS_CONFIG_KEY],context:r,update:n}){if(t==null){let s=Object.keys(e.groups??{});if(s.length>0){let a=`No group specified. Use the --group option:
3038
3038
  `+s.map(c=>` \u203A ${c}`).join(`
3039
3039
  `);return r.failAndThrow(a,void 0,{code:D.Code.ConfigError})}return r.failAndThrow("No group specified.",void 0,{code:D.Code.ConfigError})}let i=e.groups??={},o=i[t];if(o==null){let s=i[t]??={generators:[]};await n(s,t)}else await n(o,t);return e}async function buo({generatorName:e,generatorsConfiguration:t,groupName:r=t[Nye],context:n,cliVersion:i}){let o=tao(e,n),s=DMe(o),a=qMt[o];return await fuc({generatorsConfiguration:t,groupName:r,context:n,update:async c=>{c.generators.some(p=>py("image"in p?p.image.name:p.name)===o)&&n.failAndThrow(`${e} is already installed in group ${r}.`,void 0,{code:D.Code.ConfigError});let u=await Q1({cliVersion:i,generatorName:o,context:n,channel:void 0}),l=u!=null&&yuo.default.valid(u)&&yuo.default.gt(u,a.version)?u:a.version;c.generators.push({name:s,...a,version:l})}})}jt();rr();CY();Ut();var qr={};re(qr,{ApiId:()=>Jjr,CommitSha:()=>Yjr,GithubLicense:()=>dve,GithubLicenseId:()=>$jr,GithubOutputModeV2:()=>P$,GithubPublishInfo:()=>M1,GithubPullRequestReviewer:()=>mve,LogLevel:()=>Vtt,Mode:()=>Zjr,OrganizationId:()=>Xjr,OutputMode:()=>NQ,PackageCoordinate:()=>$D,PackagePublishStatus:()=>qtt,PublishOutputModeV2:()=>L1,RemoteGenJobId:()=>eQr,RemoteGenTaskId:()=>tQr,TaskStatus:()=>iV,commons:()=>Euo,definitionRegistry:()=>MA,demoCreation:()=>VMe,health:()=>qMe,remoteGen:()=>Ni});var Euo={};re(Euo,{ApiId:()=>Jjr,CommitSha:()=>Yjr,OrganizationId:()=>Xjr});function Jjr(e){return e}function Yjr(e){return e}function Xjr(e){return e}var MA={};re(MA,{get:()=>vuo,getLatestVersion:()=>Iuo,registerUsingOrgToken:()=>Cuo});var vuo={};re(vuo,{Error:()=>wGf});var wGf={orgDoesNotExistError:()=>({error:"OrgDoesNotExistError",_visit:function(e){return MA.get.Error._visit(this,e)}}),apiDoesNotExistError:()=>({error:"ApiDoesNotExistError",_visit:function(e){return MA.get.Error._visit(this,e)}}),versionDoesNotExistError:()=>({error:"VersionDoesNotExistError",_visit:function(e){return MA.get.Error._visit(this,e)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return MA.get.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"OrgDoesNotExistError":return t.orgDoesNotExistError();case"ApiDoesNotExistError":return t.apiDoesNotExistError();case"VersionDoesNotExistError":return t.versionDoesNotExistError();default:return t._other(e.content)}}};var Iuo={};re(Iuo,{Error:()=>xGf});var xGf={orgDoesNotExistError:()=>({error:"OrgDoesNotExistError",_visit:function(e){return MA.getLatestVersion.Error._visit(this,e)}}),apiDoesNotExistError:()=>({error:"ApiDoesNotExistError",_visit:function(e){return MA.getLatestVersion.Error._visit(this,e)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return MA.getLatestVersion.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"OrgDoesNotExistError":return t.orgDoesNotExistError();case"ApiDoesNotExistError":return t.apiDoesNotExistError();default:return t._other(e.content)}}};var Cuo={};re(Cuo,{Error:()=>SGf});var SGf={versionAlreadyExists:()=>({error:"VersionAlreadyExists",_visit:function(e){return MA.registerUsingOrgToken.Error._visit(this,e)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return MA.registerUsingOrgToken.Error._visit(this,t)}}),_visit:(e,t)=>e.error==="VersionAlreadyExists"?t.versionAlreadyExists():t._other(e.content)};var VMe={};re(VMe,{Mode:()=>Zjr,createSdkDemo:()=>wuo});var wuo={};re(wuo,{Error:()=>TGf});var TGf={_unknown:e=>({error:void 0,content:e,_visit:function(t){return VMe.createSdkDemo.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){default:return t._other(e.content)}}};var BGf={Fern:"FERN",Openapi:"OPENAPI"},Zjr=Object.assign(Object.assign({},BGf),{_visit:(e,t)=>{switch(e){case Zjr.Fern:return t.fern();case Zjr.Openapi:return t.openapi();default:return t._other()}}});var qMe={};re(qMe,{status:()=>xuo});var xuo={};re(xuo,{Error:()=>OGf});var OGf={_unknown:e=>({error:void 0,content:e,_visit:function(t){return qMe.status.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){default:return t._other(e.content)}}};var Ni={};re(Ni,{GithubLicense:()=>dve,GithubLicenseId:()=>$jr,GithubOutputModeV2:()=>P$,GithubPublishInfo:()=>M1,GithubPullRequestReviewer:()=>mve,LogLevel:()=>Vtt,OutputMode:()=>NQ,PackageCoordinate:()=>$D,PackagePublishStatus:()=>qtt,PublishOutputModeV2:()=>L1,RemoteGenJobId:()=>eQr,RemoteGenTaskId:()=>tQr,TaskStatus:()=>iV,createJob:()=>Suo,createJobV2:()=>Tuo,createJobV3:()=>Buo,createReplayInitPr:()=>Ouo,getDefinitionUploadUrl:()=>Puo,getJobStatus:()=>Duo});var Suo={};re(Suo,{Error:()=>PGf});var PGf={illegalApiNameError:()=>({error:"IllegalApiNameError",_visit:function(e){return Ni.createJob.Error._visit(this,e)}}),illegalApiVersionError:e=>({content:e,error:"IllegalApiVersionError",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),generatorsDoNotExistError:e=>({content:e,error:"GeneratorsDoNotExistError",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),cannotPublishToNpmScope:e=>({content:e,error:"CannotPublishToNpmScope",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),cannotPublishToMavenGroup:e=>({content:e,error:"CannotPublishToMavenGroup",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),cannotPublishPypiPackage:e=>({content:e,error:"CannotPublishPypiPackage",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),insufficientPermissions:e=>({content:e,error:"InsufficientPermissions",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),orgNotConfiguredForWhitelabel:e=>({content:e,error:"OrgNotConfiguredForWhitelabel",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),branchDoesNotExist:e=>({content:e,error:"BranchDoesNotExist",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),rateLimitExceeded:e=>({content:e,error:"RateLimitExceeded",_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.createJob.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"IllegalApiNameError":return t.illegalApiNameError();case"IllegalApiVersionError":return t.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return t.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return t.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return t.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return t.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return t.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return t.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return t.branchDoesNotExist(e.content);case"RateLimitExceeded":return t.rateLimitExceeded(e.content);default:return t._other(e.content)}}};var Tuo={};re(Tuo,{Error:()=>DGf});var DGf={illegalApiNameError:()=>({error:"IllegalApiNameError",_visit:function(e){return Ni.createJobV2.Error._visit(this,e)}}),illegalApiVersionError:e=>({content:e,error:"IllegalApiVersionError",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),generatorsDoNotExistError:e=>({content:e,error:"GeneratorsDoNotExistError",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),cannotPublishToNpmScope:e=>({content:e,error:"CannotPublishToNpmScope",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),cannotPublishToMavenGroup:e=>({content:e,error:"CannotPublishToMavenGroup",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),cannotPublishPypiPackage:e=>({content:e,error:"CannotPublishPypiPackage",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),insufficientPermissions:e=>({content:e,error:"InsufficientPermissions",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),orgNotConfiguredForWhitelabel:e=>({content:e,error:"OrgNotConfiguredForWhitelabel",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),branchDoesNotExist:e=>({content:e,error:"BranchDoesNotExist",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),rateLimitExceeded:e=>({content:e,error:"RateLimitExceeded",_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.createJobV2.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"IllegalApiNameError":return t.illegalApiNameError();case"IllegalApiVersionError":return t.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return t.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return t.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return t.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return t.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return t.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return t.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return t.branchDoesNotExist(e.content);case"RateLimitExceeded":return t.rateLimitExceeded(e.content);default:return t._other(e.content)}}};var Buo={};re(Buo,{Error:()=>RGf});var RGf={illegalApiNameError:()=>({error:"IllegalApiNameError",_visit:function(e){return Ni.createJobV3.Error._visit(this,e)}}),illegalApiVersionError:e=>({content:e,error:"IllegalApiVersionError",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),generatorsDoNotExistError:e=>({content:e,error:"GeneratorsDoNotExistError",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),cannotPublishToNpmScope:e=>({content:e,error:"CannotPublishToNpmScope",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),cannotPublishToMavenGroup:e=>({content:e,error:"CannotPublishToMavenGroup",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),cannotPublishPypiPackage:e=>({content:e,error:"CannotPublishPypiPackage",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),insufficientPermissions:e=>({content:e,error:"InsufficientPermissions",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),orgNotConfiguredForWhitelabel:e=>({content:e,error:"OrgNotConfiguredForWhitelabel",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),branchDoesNotExist:e=>({content:e,error:"BranchDoesNotExist",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),rateLimitExceeded:e=>({content:e,error:"RateLimitExceeded",_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.createJobV3.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"IllegalApiNameError":return t.illegalApiNameError();case"IllegalApiVersionError":return t.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return t.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return t.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return t.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return t.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return t.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return t.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return t.branchDoesNotExist(e.content);case"RateLimitExceeded":return t.rateLimitExceeded(e.content);default:return t._other(e.content)}}};var Ouo={};re(Ouo,{Error:()=>FGf});var FGf={insufficientPermissions:e=>({content:e,error:"InsufficientPermissions",_visit:function(t){return Ni.createReplayInitPr.Error._visit(this,t)}}),githubAppNotInstalled:e=>({content:e,error:"GithubAppNotInstalled",_visit:function(t){return Ni.createReplayInitPr.Error._visit(this,t)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.createReplayInitPr.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){case"InsufficientPermissions":return t.insufficientPermissions(e.content);case"GithubAppNotInstalled":return t.githubAppNotInstalled(e.content);default:return t._other(e.content)}}};var Puo={};re(Puo,{Error:()=>kGf});var kGf={insufficientPermissions:e=>({content:e,error:"InsufficientPermissions",_visit:function(t){return Ni.getDefinitionUploadUrl.Error._visit(this,t)}}),_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.getDefinitionUploadUrl.Error._visit(this,t)}}),_visit:(e,t)=>e.error==="InsufficientPermissions"?t.insufficientPermissions(e.content):t._other(e.content)};var Duo={};re(Duo,{Error:()=>NGf});var NGf={_unknown:e=>({error:void 0,content:e,_visit:function(t){return Ni.getJobStatus.Error._visit(this,t)}}),_visit:(e,t)=>{switch(e.error){default:return t._other(e.content)}}};var dve={basic:e=>Object.assign(Object.assign({},e),{type:"basic",_visit:function(t){return dve._visit(this,t)}}),custom:e=>Object.assign(Object.assign({},e),{type:"custom",_visit:function(t){return dve._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"basic":return t.basic(e);case"custom":return t.custom(e);default:return t._other(e)}}};var jGf={Mit:"MIT",Apache:"APACHE"},$jr=Object.assign(Object.assign({},jGf),{_visit:(e,t)=>{switch(e){case $jr.Mit:return t.mit();case $jr.Apache:return t.apache();default:return t._other()}}});var P$={push:e=>Object.assign(Object.assign({},e),{type:"push",_visit:function(t){return P$._visit(this,t)}}),commitAndRelease:e=>Object.assign(Object.assign({},e),{type:"commitAndRelease",_visit:function(t){return P$._visit(this,t)}}),pullRequest:e=>Object.assign(Object.assign({},e),{type:"pullRequest",_visit:function(t){return P$._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"push":return t.push(e);case"commitAndRelease":return t.commitAndRelease(e);case"pullRequest":return t.pullRequest(e);default:return t._other(e)}}};var M1={npm:e=>Object.assign(Object.assign({},e),{type:"npm",_visit:function(t){return M1._visit(this,t)}}),maven:e=>Object.assign(Object.assign({},e),{type:"maven",_visit:function(t){return M1._visit(this,t)}}),postman:e=>Object.assign(Object.assign({},e),{type:"postman",_visit:function(t){return M1._visit(this,t)}}),pypi:e=>Object.assign(Object.assign({},e),{type:"pypi",_visit:function(t){return M1._visit(this,t)}}),rubygems:e=>Object.assign(Object.assign({},e),{type:"rubygems",_visit:function(t){return M1._visit(this,t)}}),nuget:e=>Object.assign(Object.assign({},e),{type:"nuget",_visit:function(t){return M1._visit(this,t)}}),crates:e=>Object.assign(Object.assign({},e),{type:"crates",_visit:function(t){return M1._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"npm":return t.npm(e);case"maven":return t.maven(e);case"postman":return t.postman(e);case"pypi":return t.pypi(e);case"rubygems":return t.rubygems(e);case"nuget":return t.nuget(e);case"crates":return t.crates(e);default:return t._other(e)}}};var mve={team:e=>Object.assign(Object.assign({},e),{type:"team",_visit:function(t){return mve._visit(this,t)}}),user:e=>Object.assign(Object.assign({},e),{type:"user",_visit:function(t){return mve._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"team":return t.team(e);case"user":return t.user(e);default:return t._other(e)}}};var QGf={Debug:"DEBUG",Info:"INFO",Warn:"WARN",Error:"ERROR"},Vtt=Object.assign(Object.assign({},QGf),{_visit:(e,t)=>{switch(e){case Vtt.Debug:return t.debug();case Vtt.Info:return t.info();case Vtt.Warn:return t.warn();case Vtt.Error:return t.error();default:return t._other()}}});var NQ={publish:e=>Object.assign(Object.assign({},e),{type:"publish",_visit:function(t){return NQ._visit(this,t)}}),publishV2:e=>({publishV2:e,type:"publishV2",_visit:function(t){return NQ._visit(this,t)}}),downloadFiles:e=>Object.assign(Object.assign({},e),{type:"downloadFiles",_visit:function(t){return NQ._visit(this,t)}}),github:e=>Object.assign(Object.assign({},e),{type:"github",_visit:function(t){return NQ._visit(this,t)}}),githubV2:e=>({githubV2:e,type:"githubV2",_visit:function(t){return NQ._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"publish":return t.publish(e);case"publishV2":return t.publishV2(e.publishV2);case"downloadFiles":return t.downloadFiles(e);case"github":return t.github(e);case"githubV2":return t.githubV2(e.githubV2);default:return t._other(e)}}};var $D={npm:e=>Object.assign(Object.assign({},e),{type:"npm",_visit:function(t){return $D._visit(this,t)}}),maven:e=>Object.assign(Object.assign({},e),{type:"maven",_visit:function(t){return $D._visit(this,t)}}),pypi:e=>Object.assign(Object.assign({},e),{type:"pypi",_visit:function(t){return $D._visit(this,t)}}),ruby:e=>Object.assign(Object.assign({},e),{type:"ruby",_visit:function(t){return $D._visit(this,t)}}),nuget:e=>Object.assign(Object.assign({},e),{type:"nuget",_visit:function(t){return $D._visit(this,t)}}),crates:e=>Object.assign(Object.assign({},e),{type:"crates",_visit:function(t){return $D._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"npm":return t.npm(e);case"maven":return t.maven(e);case"pypi":return t.pypi(e);case"ruby":return t.ruby(e);case"nuget":return t.nuget(e);case"crates":return t.crates(e);default:return t._other(e)}}};var MGf={NotStartedPublishing:"NOT_STARTED_PUBLISHING",Publishing:"PUBLISHING",Published:"PUBLISHED",FailedToPublish:"FAILED_TO_PUBLISH"},qtt=Object.assign(Object.assign({},MGf),{_visit:(e,t)=>{switch(e){case qtt.NotStartedPublishing:return t.notStartedPublishing();case qtt.Publishing:return t.publishing();case qtt.Published:return t.published();case qtt.FailedToPublish:return t.failedToPublish();default:return t._other()}}});var L1={npmOverride:e=>({npmOverride:e,type:"npmOverride",_visit:function(t){return L1._visit(this,t)}}),mavenOverride:e=>({mavenOverride:e,type:"mavenOverride",_visit:function(t){return L1._visit(this,t)}}),pypiOverride:e=>({pypiOverride:e,type:"pypiOverride",_visit:function(t){return L1._visit(this,t)}}),rubyGemsOverride:e=>({rubyGemsOverride:e,type:"rubyGemsOverride",_visit:function(t){return L1._visit(this,t)}}),nugetOverride:e=>({nugetOverride:e,type:"nugetOverride",_visit:function(t){return L1._visit(this,t)}}),cratesOverride:e=>({cratesOverride:e,type:"cratesOverride",_visit:function(t){return L1._visit(this,t)}}),postman:e=>Object.assign(Object.assign({},e),{type:"postman",_visit:function(t){return L1._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"npmOverride":return t.npmOverride(e.npmOverride);case"mavenOverride":return t.mavenOverride(e.mavenOverride);case"pypiOverride":return t.pypiOverride(e.pypiOverride);case"rubyGemsOverride":return t.rubyGemsOverride(e.rubyGemsOverride);case"nugetOverride":return t.nugetOverride(e.nugetOverride);case"cratesOverride":return t.cratesOverride(e.cratesOverride);case"postman":return t.postman(e);default:return t._other(e)}}};function eQr(e){return e}function tQr(e){return e}var iV={notStarted:()=>({type:"notStarted",_visit:function(e){return iV._visit(this,e)}}),running:()=>({type:"running",_visit:function(e){return iV._visit(this,e)}}),failed:e=>Object.assign(Object.assign({},e),{type:"failed",_visit:function(t){return iV._visit(this,t)}}),finished:e=>Object.assign(Object.assign({},e),{type:"finished",_visit:function(t){return iV._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"notStarted":return t.notStarted();case"running":return t.running();case"failed":return t.failed(e);case"finished":return t.finished(e);default:return t._other(e)}}};var wLt=class{getAuthRequest(){return Promise.resolve({headers:{}})}};var LGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},duc={get:(e,t)=>LGf(void 0,void 0,void 0,function*(){return typeof e=="function"?e(t):e})};var xLt=(e,t,r)=>JSON.stringify(e,t,r);function SLt(e,t){return JSON.parse(e,t)}var bW={Debug:"debug",Info:"info",Warn:"warn",Error:"error"},muc={[bW.Debug]:1,[bW.Info]:2,[bW.Warn]:3,[bW.Error]:4},TLt=class{debug(t,...r){console.debug(t,...r)}info(t,...r){console.info(t,...r)}warn(t,...r){console.warn(t,...r)}error(t,...r){console.error(t,...r)}},Gtt=class{constructor(t){this.level=muc[t.level],this.logger=t.logger,this.silent=t.silent}shouldLog(t){return!this.silent&&this.level<=muc[t]}isDebug(){return this.shouldLog(bW.Debug)}debug(t,...r){this.isDebug()&&this.logger.debug(t,...r)}isInfo(){return this.shouldLog(bW.Info)}info(t,...r){this.isInfo()&&this.logger.info(t,...r)}isWarn(){return this.shouldLog(bW.Warn)}warn(t,...r){this.isWarn()&&this.logger.warn(t,...r)}isError(){return this.shouldLog(bW.Error)}error(t,...r){this.isError()&&this.logger.error(t,...r)}};function Ruo(e){var t,r,n;return e==null?zGf:e instanceof Gtt?e:(e=e??{},(t=e.level)!==null&&t!==void 0||(e.level=bW.Info),(r=e.logger)!==null&&r!==void 0||(e.logger=new TLt),(n=e.silent)!==null&&n!==void 0||(e.silent=!0),new Gtt(e))}var zGf=new Gtt({level:bW.Info,logger:new TLt,silent:!0});var UGf={arrayFormat:"indices",encode:!0};function huc(e,t){if(e===void 0||e===null)return"";let r=String(e);return t?encodeURIComponent(r):r}function Fuo(e,t="",r){let n=[];for(let[i,o]of Object.entries(e)){let s=t?`${t}[${i}]`:i;if(o!==void 0)if(Array.isArray(o)){if(o.length===0)continue;for(let a=0;a<o.length;a++){let c=o[a];if(c!==void 0)if(typeof c=="object"&&!Array.isArray(c)&&c!==null){let u=r.arrayFormat==="indices"?`${s}[${a}]`:s;n.push(...Fuo(c,u,r))}else{let u=r.arrayFormat==="indices"?`${s}[${a}]`:s,l=r.encode?encodeURIComponent(u):u;n.push(`${l}=${huc(c,r.encode)}`)}}}else if(typeof o=="object"&&o!==null){if(Object.keys(o).length===0)continue;n.push(...Fuo(o,s,r))}else{let a=r.encode?encodeURIComponent(s):s;n.push(`${a}=${huc(o,r.encode)}`)}}return n}function Wtt(e,t){return e==null||typeof e!="object"?"":Fuo(e,"",Object.assign(Object.assign({},UGf),t)).join("&")}function guc(e,t){let r=Wtt(t,{arrayFormat:"repeat"});return r?`${e}?${r}`:e}function Auc(e){let t={get bodyUsed(){return e.bodyUsed},stream:()=>e.body,arrayBuffer:e.arrayBuffer.bind(e),blob:e.blob.bind(e)};return"bytes"in e&&typeof e.bytes=="function"&&(t.bytes=e.bytes.bind(e)),t}var _Gf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})};function rQr(e,t){return _Gf(this,void 0,void 0,function*(){switch(t){case"binary-response":return Auc(e);case"blob":return yield e.blob();case"arrayBuffer":return yield e.arrayBuffer();case"sse":return e.body==null?{ok:!1,error:{reason:"body-is-null",statusCode:e.status}}:e.body;case"streaming":return e.body==null?{ok:!1,error:{reason:"body-is-null",statusCode:e.status}}:e.body;case"text":return yield e.text()}let r=yield e.text();if(r.length>0)try{return SLt(r)}catch{return{ok:!1,error:{reason:"non-json",statusCode:e.status,rawBody:r}}}})}var VGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})};function yuc(e){return VGf(this,void 0,void 0,function*(){var t,r,n;let i=(t=e.headers.get("Content-Type"))===null||t===void 0?void 0:t.toLowerCase();if(i==null||i.length===0)return rQr(e);switch(i.indexOf(";")!==-1&&(i=(n=(r=i.split(";")[0])===null||r===void 0?void 0:r.trim())!==null&&n!==void 0?n:""),i){case"application/hal+json":case"application/json":case"application/ld+json":case"application/problem+json":case"application/vnd.api+json":case"text/json":{let o=yield e.text();return o.length>0?SLt(o):void 0}default:if(i.startsWith("application/vnd.")&&i.endsWith("+json")){let o=yield e.text();return o.length>0?SLt(o):void 0}return yield e.text()}})}var qGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})};function buc(){return qGf(this,void 0,void 0,function*(){return fetch})}var GGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})};function Euc(e){return GGf(this,arguments,void 0,function*({body:t,type:r}){return r==="form"?Wtt(t,{arrayFormat:"repeat",encode:!0}):r.includes("json")?xLt(t):t})}var hve;typeof globalThis.Headers<"u"?hve=globalThis.Headers:hve=class vuc{constructor(t){if(this.headers=new Map,t)if(t instanceof vuc)t.forEach((r,n)=>this.append(n,r));else if(Array.isArray(t))for(let[r,n]of t)if(typeof r=="string"&&typeof n=="string")this.append(r,n);else throw new TypeError("Each header entry must be a [string, string] tuple");else for(let[r,n]of Object.entries(t))if(typeof n=="string")this.append(r,n);else throw new TypeError("Header values must be strings")}append(t,r){let n=t.toLowerCase(),i=this.headers.get(n)||[];this.headers.set(n,[...i,r])}delete(t){let r=t.toLowerCase();this.headers.delete(r)}get(t){let r=t.toLowerCase(),n=this.headers.get(r);return n?n.join(", "):null}has(t){let r=t.toLowerCase();return this.headers.has(r)}set(t,r){let n=t.toLowerCase();this.headers.set(n,[r])}forEach(t,r){let n=r?t.bind(r):t;this.headers.forEach((i,o)=>n(i.join(", "),o,this))}getSetCookie(){return this.headers.get("set-cookie")||[]}*entries(){for(let[t,r]of this.headers.entries())yield[t,r.join(", ")]}*keys(){yield*this.headers.keys()}*values(){for(let t of this.headers.values())yield t.join(", ")}[Symbol.iterator](){return this.entries()}};var WGf="timeout";function Iuc(e){let t=new AbortController,r=setTimeout(()=>t.abort(WGf),e);return{signal:t.signal,abortId:r}}function Cuc(...e){let t=e.length===1&&Array.isArray(e[0])?e[0]:e,r=new AbortController;for(let n of t){if(n.aborted){r.abort(n?.reason);break}n.addEventListener("abort",()=>r.abort(n?.reason),{signal:r.signal})}return r.signal}var HGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},wuc=(e,t,r,n,i,o,s,a,c)=>HGf(void 0,void 0,void 0,function*(){let u=[],l;if(o!=null){let{signal:f,abortId:m}=Iuc(o);l=m,u.push(f)}s!=null&&u.push(s);let p=Cuc(u),d=yield e(t,{method:r,headers:n,body:i,signal:p,credentials:a?"include":void 0,duplex:c});return l!=null&&clearTimeout(l),d});var kuo={headers:new hve,redirected:!1,status:499,statusText:"Client Closed Request",type:"error",url:""},Nuo={headers:new hve,redirected:!1,status:0,statusText:"Unknown Error",type:"error",url:""};function juo(e){return{headers:e.headers,redirected:e.redirected,status:e.status,statusText:e.statusText,type:e.type,url:e.url}}var KGf=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})};function JGf(e){let t=1+Math.random()*.2;return e*t}function YGf(e){let t=1+(Math.random()-.5)*.2;return e*t}function XGf(e,t){let r=e.headers.get("Retry-After");if(r){let i=parseInt(r,10);if(!Number.isNaN(i)&&i>0)return Math.min(i*1e3,6e4);let o=new Date(r);if(!Number.isNaN(o.getTime())){let s=o.getTime()-Date.now();if(s>0)return Math.min(Math.max(s,0),6e4)}}let n=e.headers.get("X-RateLimit-Reset");if(n){let i=parseInt(n,10);if(!Number.isNaN(i)){let o=i*1e3-Date.now();if(o>0)return JGf(Math.min(o,6e4))}}return YGf(Math.min(1e3*Math.pow(2,t),6e4))}function xuc(e){return KGf(this,arguments,void 0,function*(t,r=2){let n=yield t();for(let i=0;i<r&&([408,429].includes(n.status)||n.status>=500);++i){let o=XGf(n,i);yield new Promise(s=>setTimeout(s,o)),n=yield t()}return n})}var Muo=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},ZGf=new Set(["authorization","www-authenticate","x-api-key","api-key","apikey","x-api-token","x-auth-token","auth-token","cookie","set-cookie","proxy-authorization","proxy-authenticate","x-csrf-token","x-xsrf-token","x-session-token","x-access-token"]);function Quo(e){let t={};for(let[r,n]of e instanceof hve?e.entries():Object.entries(e))ZGf.has(r.toLowerCase())?t[r]="[REDACTED]":t[r]=n;return t}var Luo=new Set(["api_key","api-key","apikey","token","access_token","access-token","auth_token","auth-token","password","passwd","secret","api_secret","api-secret","apisecret","key","session","session_id","session-id"]);function $Gf(e){if(e==null)return e;let t={};for(let[r,n]of Object.entries(e))Luo.has(r.toLowerCase())?t[r]="[REDACTED]":t[r]=n;return t}function GMe(e){let t=e.indexOf("://");if(t===-1)return e;let r=t+3,n=e.indexOf("/",r),i=e.indexOf("?",r),o=e.indexOf("#",r),s=Math.min(n===-1?e.length:n,i===-1?e.length:i,o===-1?e.length:o),a=-1;for(let m=r;m<s;m++)e[m]==="@"&&(a=m);if(a!==-1&&(e=`${e.slice(0,r)}[REDACTED]@${e.slice(a+1)}`),i=e.indexOf("?"),i===-1)return e;o=e.indexOf("#",i);let c=o!==-1?o:e.length,u=e.slice(i+1,c);if(u.length===0)return e;let l=u.toLowerCase();if(!(l.includes("token")||l.includes("key")||l.includes("password")||l.includes("passwd")||l.includes("secret")||l.includes("session")||l.includes("auth")))return e;let d=[],f=u.split("&");for(let m of f){let h=m.indexOf("=");if(h===-1){d.push(m);continue}let A=m.slice(0,h),y=Luo.has(A.toLowerCase());if(!y&&A.includes("%"))try{let I=decodeURIComponent(A);y=Luo.has(I.toLowerCase())}catch{}d.push(y?`${A}=[REDACTED]`:m)}return e.slice(0,i+1)+d.join("&")+e.slice(c)}function e9f(e){return Muo(this,void 0,void 0,function*(){var t;let r=new hve;if(r.set("Accept",e.responseType==="json"?"application/json":e.responseType==="text"?"text/plain":"*/*"),e.body!==void 0&&e.contentType!=null&&r.set("Content-Type",e.contentType),e.headers==null)return r;for(let[n,i]of Object.entries(e.headers)){let o=yield duc.get(i,{endpointMetadata:(t=e.endpointMetadata)!==null&&t!==void 0?t:{}});if(typeof o=="string"){r.set(n,o);continue}o!=null&&r.set(n,`${o}`)}return r})}function t9f(e){return Muo(this,void 0,void 0,function*(){var t,r,n;let i=guc(e.url,e.queryParameters),o=yield Euc({body:e.body,type:(t=e.requestType)!==null&&t!==void 0?t:"other"}),s=(r=e.fetchFn)!==null&&r!==void 0?r:yield buc(),a=yield e9f(e),c=Ruo(e.logging);if(c.isDebug()){let u={method:e.method,url:GMe(i),headers:Quo(a),queryParameters:$Gf(e.queryParameters),hasBody:o!=null};c.debug("Making HTTP request",u)}try{let u=yield xuc(()=>Muo(this,void 0,void 0,function*(){return wuc(s,i,e.method,a,o,e.timeoutMs,e.abortSignal,e.withCredentials,e.duplex)}),e.maxRetries);if(u.status>=200&&u.status<400){if(c.isDebug()){let p={method:e.method,url:GMe(i),statusCode:u.status,responseHeaders:Quo(u.headers)};c.debug("HTTP request succeeded",p)}return{ok:!0,body:yield rQr(u,e.responseType),headers:u.headers,rawResponse:juo(u)}}else{if(c.isError()){let l={method:e.method,url:GMe(i),statusCode:u.status,responseHeaders:Quo(Object.fromEntries(u.headers.entries()))};c.error("HTTP request failed with error status",l)}return{ok:!1,error:{reason:"status-code",statusCode:u.status,body:yield yuc(u)},rawResponse:juo(u)}}}catch(u){if(!((n=e.abortSignal)===null||n===void 0)&&n.aborted){if(c.isError()){let l={method:e.method,url:GMe(i)};c.error("HTTP request was aborted",l)}return{ok:!1,error:{reason:"unknown",errorMessage:"The user aborted a request"},rawResponse:kuo}}else if(u instanceof Error&&u.name==="AbortError"){if(c.isError()){let l={method:e.method,url:GMe(i),timeoutMs:e.timeoutMs};c.error("HTTP request timed out",l)}return{ok:!1,error:{reason:"timeout"},rawResponse:kuo}}else if(u instanceof Error){if(c.isError()){let l={method:e.method,url:GMe(i),errorMessage:u.message};c.error("HTTP request failed with error",l)}return{ok:!1,error:{reason:"unknown",errorMessage:u.message},rawResponse:Nuo}}if(c.isError()){let l={method:e.method,url:GMe(i),error:xLt(u)};c.error("HTTP request failed with unknown error",l)}return{ok:!1,error:{reason:"unknown",errorMessage:xLt(u)},rawResponse:Nuo}}})}var eR=t9f;var r9f=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},z1=class e extends Promise{constructor(t){super(r=>{r(void 0)}),this.innerPromise=t}static fromFunction(t,...r){return new e(t(...r))}static interceptFunction(t){return(...r)=>e.fromPromise(t(...r))}static fromPromise(t){return new e(t)}static fromExecutor(t){let r=new Promise(t);return new e(r)}static fromResult(t){let r=Promise.resolve(t);return new e(r)}unwrap(){return this.unwrappedPromise||(this.unwrappedPromise=this.innerPromise.then(({data:t})=>t)),this.unwrappedPromise}then(t,r){return this.unwrap().then(t,r)}catch(t){return this.unwrap().catch(t)}finally(t){return this.unwrap().finally(t)}withRawResponse(){return r9f(this,void 0,void 0,function*(){return yield this.innerPromise})}};var n9f=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},tA={get:e=>n9f(void 0,void 0,void 0,function*(){return typeof e=="function"?e():e})};var nQr={};re(nQr,{ConsoleLogger:()=>TLt,LogLevel:()=>bW,Logger:()=>Gtt,createLogger:()=>Ruo});var iQr=i9f();function i9f(){var e,t,r,n,i;return typeof window<"u"&&typeof window.document<"u"?{type:"browser",version:window.navigator.userAgent}:typeof globalThis<"u"&&((e=globalThis?.navigator)===null||e===void 0?void 0:e.userAgent)==="Cloudflare-Workers"?{type:"workerd"}:typeof EdgeRuntime=="string"?{type:"edge-runtime"}:typeof self=="object"&&typeof self?.importScripts=="function"&&(((t=self.constructor)===null||t===void 0?void 0:t.name)==="DedicatedWorkerGlobalScope"||((r=self.constructor)===null||r===void 0?void 0:r.name)==="ServiceWorkerGlobalScope"||((n=self.constructor)===null||n===void 0?void 0:n.name)==="SharedWorkerGlobalScope")?{type:"web-worker"}:typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u"?{type:"deno",version:Deno.version.deno}:typeof Bun<"u"&&typeof Bun.version<"u"?{type:"bun",version:Bun.version}:typeof navigator<"u"&&navigator?.product==="ReactNative"?{type:"react-native"}:typeof process<"u"&&"version"in process&&!!process.version&&"versions"in process&&!!(!((i=process.versions)===null||i===void 0)&&i.node)?{type:"node",version:process.versions.node,parsedVersion:Number(process.versions.node.split(".")[0])}:{type:"unknown"}}var ze={};re(ze,{JsonError:()=>Htt,ParseError:()=>Ktt,any:()=>zuc,bigint:()=>Tuc,boolean:()=>Uuc,booleanLiteral:()=>Muc,date:()=>Buc,discriminant:()=>Xuc,enum_:()=>sQr,getObjectLikeUtils:()=>EW,getObjectUtils:()=>WMe,getSchemaUtils:()=>oh,isProperty:()=>gve,lazy:()=>Ouc,lazyObject:()=>juc,list:()=>cQr,never:()=>_uc,number:()=>Vuc,object:()=>aQr,objectWithoutOptionalProperties:()=>Nuc,optional:()=>zuo,property:()=>Duc,record:()=>Huc,set:()=>Kuc,string:()=>quc,stringLiteral:()=>Luc,transform:()=>Uuo,undiscriminatedUnion:()=>Yuc,union:()=>$uc,unknown:()=>Guc,withParsedProperties:()=>Vuo});var hl={BIGINT:"bigint",DATE:"date",ENUM:"enum",LIST:"list",STRING_LITERAL:"stringLiteral",BOOLEAN_LITERAL:"booleanLiteral",OBJECT:"object",ANY:"any",BOOLEAN:"boolean",NUMBER:"number",STRING:"string",UNKNOWN:"unknown",NEVER:"never",RECORD:"record",SET:"set",UNION:"union",UNDISCRIMINATED_UNION:"undiscriminatedUnion",NULLABLE:"nullable",OPTIONAL:"optional",OPTIONAL_NULLABLE:"optionalNullable"};function Am(e,t){return`Expected ${t}. Received ${o9f(e)}.`}function o9f(e){if(Array.isArray(e))return"list";if(e===null)return"null";if(e instanceof BigInt)return"BigInt";switch(typeof e){case"string":return`"${e}"`;case"bigint":case"number":case"boolean":case"undefined":return`${e}`}return typeof e}function U1(e){return Object.assign(Object.assign({},e),{json:Suc(e.json),parse:Suc(e.parse)})}function Suc(e){return(t,r)=>{let n=e(t,r),{skipValidation:i=!1}=r??{};return!n.ok&&i?(console.warn(["Failed to validate.",...n.errors.map(o=>" - "+(o.path.length>0?`${o.path.join(".")}: ${o.message}`:o.message))].join(`
3040
3040
  `)),{ok:!0,value:t}):n}}function oQr(e){return e.path.length===0?e.message:`${e.path.join(" -> ")}: ${e.message}`}var Htt=class e extends Error{constructor(t){super(t.map(oQr).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};var Ktt=class e extends Error{constructor(t){super(t.map(oQr).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};function oh(e){return{nullable:()=>s9f(e),optional:()=>zuo(e),optionalNullable:()=>a9f(e),transform:t=>Uuo(e,t),parseOrThrow:(t,r)=>{let n=e.parse(t,r);if(n.ok)return n.value;throw new Ktt(n.errors)},jsonOrThrow:(t,r)=>{let n=e.json(t,r);if(n.ok)return n.value;throw new Htt(n.errors)}}}function s9f(e){let t={parse:(r,n)=>r==null?{ok:!0,value:null}:e.parse(r,n),json:(r,n)=>r==null?{ok:!0,value:null}:e.json(r,n),getType:()=>hl.NULLABLE};return Object.assign(Object.assign({},t),oh(t))}function zuo(e){let t={parse:(r,n)=>r==null?{ok:!0,value:void 0}:e.parse(r,n),json:(r,n)=>n?.omitUndefined&&r===void 0?{ok:!0,value:void 0}:r==null?{ok:!0,value:null}:e.json(r,n),getType:()=>hl.OPTIONAL};return Object.assign(Object.assign({},t),oh(t))}function a9f(e){let t={parse:(r,n)=>r===void 0?{ok:!0,value:void 0}:r===null?{ok:!0,value:null}:e.parse(r,n),json:(r,n)=>r===void 0?{ok:!0,value:void 0}:r===null?{ok:!0,value:null}:e.json(r,n),getType:()=>hl.OPTIONAL_NULLABLE};return Object.assign(Object.assign({},t),oh(t))}function Uuo(e,t){let r={parse:(n,i)=>{let o=e.parse(n,i);return o.ok?{ok:!0,value:t.transform(o.value)}:o},json:(n,i)=>{let o=t.untransform(n);return e.json(o,i)},getType:()=>e.getType()};return Object.assign(Object.assign({},r),oh(r))}function Tuc(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t=="bigint"?{ok:!0,value:t}:typeof t=="number"?{ok:!0,value:BigInt(t)}:{ok:!1,errors:[{path:r,message:Am(t,"bigint | number")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="bigint"?{ok:!1,errors:[{path:r,message:Am(t,"bigint")}]}:{ok:!0,value:t},getType:()=>hl.BIGINT};return Object.assign(Object.assign({},U1(e)),oh(e))}var c9f=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;function Buc(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:Am(t,"string")}]}:c9f.test(t)?{ok:!0,value:new Date(t)}:{ok:!1,errors:[{path:r,message:Am(t,"ISO 8601 date string")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>t instanceof Date?{ok:!0,value:t.toISOString()}:{ok:!1,errors:[{path:r,message:Am(t,"Date object")}]},getType:()=>hl.DATE};return Object.assign(Object.assign({},U1(e)),oh(e))}function _1(e,t){return()=>{let r={parse:t,json:t,getType:()=>e};return Object.assign(Object.assign({},U1(r)),oh(r))}}function sQr(e){let t=new Set(e);return _1(hl.ENUM,(n,{allowUnrecognizedEnumValues:i,breadcrumbsPrefix:o=[]}={})=>typeof n!="string"?{ok:!1,errors:[{path:o,message:Am(n,"string")}]}:!t.has(n)&&!i?{ok:!1,errors:[{path:o,message:Am(n,"enum")}]}:{ok:!0,value:n})()}function Ouc(e){let t=_uo(e);return Object.assign(Object.assign({},t),oh(t))}function _uo(e){return{parse:(t,r)=>Jtt(e).parse(t,r),json:(t,r)=>Jtt(e).json(t,r),getType:()=>Jtt(e).getType()}}function Jtt(e){let t=e;return t.__zurg_memoized==null&&(t.__zurg_memoized=e()),t.__zurg_memoized}function BLt(e){return Object.entries(e)}function OLt(e,t){let r=new Set(t);return Object.entries(e).reduce((n,[i,o])=>(r.has(i)&&(n[i]=o),n),{})}function Tpe(e){if(typeof e!="object"||e===null)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function PLt(e){return Object.keys(e)}function Puc(e,t){let r=[],n=[];for(let i of e)t(i)?r.push(i):n.push(i);return[r,n]}function EW(e){return{withParsedProperties:t=>Vuo(e,t)}}function Vuo(e,t){let r={parse:(n,i)=>{let o=e.parse(n,i);if(!o.ok)return o;let s=Object.entries(t).reduce((a,[c,u])=>Object.assign(Object.assign({},a),{[c]:typeof u=="function"?u(o.value):u}),{});return{ok:!0,value:Object.assign(Object.assign({},o.value),s)}},json:(n,i)=>{var o;if(!Tpe(n))return{ok:!1,errors:[{path:(o=i?.breadcrumbsPrefix)!==null&&o!==void 0?o:[],message:Am(n,"object")}]};let s=new Set(Object.keys(t)),a=OLt(n,Object.keys(n).filter(c=>!s.has(c)));return e.json(a,i)},getType:()=>e.getType()};return Object.assign(Object.assign(Object.assign({},r),oh(r)),EW(r))}function Duc(e,t){return{rawKey:e,valueSchema:t,isProperty:!0}}function gve(e){return e.isProperty}function aQr(e){let t={_getRawProperties:()=>Object.entries(e).map(([r,n])=>gve(n)?n.rawKey:r),_getParsedProperties:()=>PLt(e),parse:(r,n)=>{let i={},o=[];for(let[s,a]of BLt(e)){let c=gve(a)?a.rawKey:s,u=gve(a)?a.valueSchema:a,l={rawKey:c,parsedKey:s,valueSchema:u};i[c]=l,kuc(u)&&o.push(c)}return Ruc({value:r,requiredKeys:o,getProperty:s=>{let a=i[s];if(a!=null)return{transformedKey:a.parsedKey,transform:c=>{var u;return a.valueSchema.parse(c,Object.assign(Object.assign({},n),{breadcrumbsPrefix:[...(u=n?.breadcrumbsPrefix)!==null&&u!==void 0?u:[],s]}))}}},unrecognizedObjectKeys:n?.unrecognizedObjectKeys,skipValidation:n?.skipValidation,breadcrumbsPrefix:n?.breadcrumbsPrefix,omitUndefined:n?.omitUndefined})},json:(r,n)=>{let i=[];for(let[o,s]of BLt(e)){let a=gve(s)?s.valueSchema:s;kuc(a)&&i.push(o)}return Ruc({value:r,requiredKeys:i,getProperty:o=>{let s=e[o];if(s!=null)return gve(s)?{transformedKey:s.rawKey,transform:a=>{var c;return s.valueSchema.json(a,Object.assign(Object.assign({},n),{breadcrumbsPrefix:[...(c=n?.breadcrumbsPrefix)!==null&&c!==void 0?c:[],o]}))}}:{transformedKey:o,transform:a=>{var c;return s.json(a,Object.assign(Object.assign({},n),{breadcrumbsPrefix:[...(c=n?.breadcrumbsPrefix)!==null&&c!==void 0?c:[],o]}))}}},unrecognizedObjectKeys:n?.unrecognizedObjectKeys,skipValidation:n?.skipValidation,breadcrumbsPrefix:n?.breadcrumbsPrefix,omitUndefined:n?.omitUndefined})},getType:()=>hl.OBJECT};return Object.assign(Object.assign(Object.assign(Object.assign({},U1(t)),oh(t)),EW(t)),WMe(t))}function Ruc({value:e,requiredKeys:t,getProperty:r,unrecognizedObjectKeys:n="fail",skipValidation:i=!1,breadcrumbsPrefix:o=[]}){if(!Tpe(e))return{ok:!1,errors:[{path:o,message:Am(e,"object")}]};let s=new Set(t),a=[],c={};for(let[u,l]of Object.entries(e)){let p=r(u);if(p!=null){s.delete(u);let d=p.transform(l);d.ok?c[p.transformedKey]=d.value:(c[u]=l,a.push(...d.errors))}else switch(n){case"fail":a.push({path:[...o,u],message:`Unexpected key "${u}"`});break;case"strip":break;case"passthrough":c[u]=l;break}}return a.push(...t.filter(u=>s.has(u)).map(u=>({path:o,message:`Missing required key "${u}"`}))),a.length===0||i?{ok:!0,value:c}:{ok:!1,errors:a}}function WMe(e){return{extend:t=>{let r={_getParsedProperties:()=>[...e._getParsedProperties(),...t._getParsedProperties()],_getRawProperties:()=>[...e._getRawProperties(),...t._getRawProperties()],parse:(n,i)=>Fuc({extensionKeys:t._getRawProperties(),value:n,transformBase:o=>e.parse(o,i),transformExtension:o=>t.parse(o,i),breadcrumbsPrefix:i?.breadcrumbsPrefix}),json:(n,i)=>Fuc({extensionKeys:t._getParsedProperties(),value:n,transformBase:o=>e.json(o,i),transformExtension:o=>t.json(o,i),breadcrumbsPrefix:i?.breadcrumbsPrefix}),getType:()=>hl.OBJECT};return Object.assign(Object.assign(Object.assign(Object.assign({},r),oh(r)),EW(r)),WMe(r))},passthrough:()=>{let t=new Set(e._getRawProperties()),r=new Set(e._getParsedProperties()),n={_getParsedProperties:()=>e._getParsedProperties(),_getRawProperties:()=>e._getRawProperties(),parse:(i,o)=>{let s=e.parse(i,Object.assign(Object.assign({},o),{unrecognizedObjectKeys:"passthrough"}));if(!s.ok)return s;let a={};if(typeof i=="object"&&i!=null)for(let[c,u]of Object.entries(i))t.has(c)||(a[c]=u);return{ok:!0,value:Object.assign(Object.assign({},a),s.value)}},json:(i,o)=>{let s=e.json(i,Object.assign(Object.assign({},o),{unrecognizedObjectKeys:"passthrough"}));if(!s.ok)return s;let a={};if(typeof i=="object"&&i!=null)for(let[c,u]of Object.entries(i))r.has(c)||(a[c]=u);return{ok:!0,value:Object.assign(Object.assign({},a),s.value)}},getType:()=>hl.OBJECT};return Object.assign(Object.assign(Object.assign(Object.assign({},n),oh(n)),EW(n)),WMe(n))}}}function Fuc({extensionKeys:e,value:t,transformBase:r,transformExtension:n,breadcrumbsPrefix:i=[]}){if(!Tpe(t))return{ok:!1,errors:[{path:i,message:Am(t,"object")}]};let o=new Set(e),[s,a]=Puc(PLt(t),l=>o.has(l)),c=r(OLt(t,a)),u=n(OLt(t,s));return c.ok&&u.ok?{ok:!0,value:Object.assign(Object.assign({},c.value),u.value)}:{ok:!1,errors:[...c.ok?[]:c.errors,...u.ok?[]:u.errors]}}function kuc(e){return!u9f(e)}function u9f(e){switch(e.getType()){case hl.ANY:case hl.UNKNOWN:case hl.OPTIONAL:case hl.OPTIONAL_NULLABLE:return!0;default:return!1}}function Nuc(e){return aQr(e)}function juc(e){let t=Object.assign(Object.assign({},_uo(e)),{_getRawProperties:()=>Jtt(e)._getRawProperties(),_getParsedProperties:()=>Jtt(e)._getParsedProperties()});return Object.assign(Object.assign(Object.assign(Object.assign({},t),oh(t)),EW(t)),WMe(t))}function cQr(e){let t={parse:(r,n)=>Quc(r,(i,o)=>{var s;return e.parse(i,Object.assign(Object.assign({},n),{breadcrumbsPrefix:[...(s=n?.breadcrumbsPrefix)!==null&&s!==void 0?s:[],`[${o}]`]}))}),json:(r,n)=>Quc(r,(i,o)=>{var s;return e.json(i,Object.assign(Object.assign({},n),{breadcrumbsPrefix:[...(s=n?.breadcrumbsPrefix)!==null&&s!==void 0?s:[],`[${o}]`]}))}),getType:()=>hl.LIST};return Object.assign(Object.assign({},U1(t)),oh(t))}function Quc(e,t){return Array.isArray(e)?e.map((n,i)=>t(n,i)).reduce((n,i)=>{if(n.ok&&i.ok)return{ok:!0,value:[...n.value,i.value]};let o=[];return n.ok||o.push(...n.errors),i.ok||o.push(...i.errors),{ok:!1,errors:o}},{ok:!0,value:[]}):{ok:!1,errors:[{message:Am(e,"list"),path:[]}]}}function Muc(e){return _1(hl.BOOLEAN_LITERAL,(r,{breadcrumbsPrefix:n=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:n,message:Am(r,`${e.toString()}`)}]})()}function Luc(e){return _1(hl.STRING_LITERAL,(r,{breadcrumbsPrefix:n=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:n,message:Am(r,`"${e}"`)}]})()}var zuc=_1(hl.ANY,e=>({ok:!0,value:e}));var Uuc=_1(hl.BOOLEAN,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:Am(e,"boolean")}]});var _uc=_1(hl.NEVER,(e,{breadcrumbsPrefix:t=[]}={})=>({ok:!1,errors:[{path:t,message:"Expected never"}]}));var Vuc=_1(hl.NUMBER,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="number"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:Am(e,"number")}]});var quc=_1(hl.STRING,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="string"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:Am(e,"string")}]});var Guc=_1(hl.UNKNOWN,e=>({ok:!0,value:e}));function Huc(e,t){let r={parse:(n,i)=>Wuc({value:n,isKeyNumeric:e.getType()===hl.NUMBER,transformKey:o=>{var s;return e.parse(o,Object.assign(Object.assign({},i),{breadcrumbsPrefix:[...(s=i?.breadcrumbsPrefix)!==null&&s!==void 0?s:[],`${o} (key)`]}))},transformValue:(o,s)=>{var a;return t.parse(o,Object.assign(Object.assign({},i),{breadcrumbsPrefix:[...(a=i?.breadcrumbsPrefix)!==null&&a!==void 0?a:[],`${s}`]}))},breadcrumbsPrefix:i?.breadcrumbsPrefix}),json:(n,i)=>Wuc({value:n,isKeyNumeric:e.getType()===hl.NUMBER,transformKey:o=>{var s;return e.json(o,Object.assign(Object.assign({},i),{breadcrumbsPrefix:[...(s=i?.breadcrumbsPrefix)!==null&&s!==void 0?s:[],`${o} (key)`]}))},transformValue:(o,s)=>{var a;return t.json(o,Object.assign(Object.assign({},i),{breadcrumbsPrefix:[...(a=i?.breadcrumbsPrefix)!==null&&a!==void 0?a:[],`${s}`]}))},breadcrumbsPrefix:i?.breadcrumbsPrefix}),getType:()=>hl.RECORD};return Object.assign(Object.assign({},U1(r)),oh(r))}function Wuc({value:e,isKeyNumeric:t,transformKey:r,transformValue:n,breadcrumbsPrefix:i=[]}){return Tpe(e)?BLt(e).reduce((o,[s,a])=>{if(a===void 0)return o;let c=o,u=s;if(t){let f=s.length>0?Number(s):NaN;Number.isNaN(f)||(u=f)}let l=r(u),p=n(a,u);if(c.ok&&l.ok&&p.ok)return{ok:!0,value:Object.assign(Object.assign({},c.value),{[l.value]:p.value})};let d=[];return c.ok||d.push(...c.errors),l.ok||d.push(...l.errors),p.ok||d.push(...p.errors),{ok:!1,errors:d}},{ok:!0,value:{}}):{ok:!1,errors:[{path:i,message:Am(e,"object")}]}}function Kuc(e){let t=cQr(e),r={parse:(n,i)=>{let o=t.parse(n,i);return o.ok?{ok:!0,value:new Set(o.value)}:o},json:(n,i)=>{var o;return n instanceof Set?t.json([...n],i):{ok:!1,errors:[{path:(o=i?.breadcrumbsPrefix)!==null&&o!==void 0?o:[],message:Am(n,"Set")}]}},getType:()=>hl.SET};return Object.assign(Object.assign({},U1(r)),oh(r))}function Yuc(e){let t={parse:(r,n)=>Juc((i,o)=>i.parse(r,o),e,n),json:(r,n)=>Juc((i,o)=>i.json(r,o),e,n),getType:()=>hl.UNDISCRIMINATED_UNION};return Object.assign(Object.assign({},U1(t)),oh(t))}function Juc(e,t,r){let n=[];for(let[i,o]of t.entries()){let s=e(o,Object.assign(Object.assign({},r),{skipValidation:!1}));if(s.ok)return s;for(let a of s.errors)n.push({path:a.path,message:`[Variant ${i}] ${a.message}`})}return{ok:!1,errors:n}}function Xuc(e,t){return{parsedDiscriminant:e,rawDiscriminant:t}}var l9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};function $uc(e,t){let r=typeof e=="string"?e:e.rawDiscriminant,n=typeof e=="string"?e:e.parsedDiscriminant,i=sQr(PLt(t)),o={parse:(s,a)=>Zuc({value:s,discriminant:r,transformedDiscriminant:n,transformDiscriminantValue:c=>{var u;return i.parse(c,{allowUnrecognizedEnumValues:a?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...(u=a?.breadcrumbsPrefix)!==null&&u!==void 0?u:[],r]})},getAdditionalPropertiesSchema:c=>t[c],allowUnrecognizedUnionMembers:a?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(c,u)=>u.parse(c,a),breadcrumbsPrefix:a?.breadcrumbsPrefix}),json:(s,a)=>Zuc({value:s,discriminant:n,transformedDiscriminant:r,transformDiscriminantValue:c=>{var u;return i.json(c,{allowUnrecognizedEnumValues:a?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...(u=a?.breadcrumbsPrefix)!==null&&u!==void 0?u:[],n]})},getAdditionalPropertiesSchema:c=>t[c],allowUnrecognizedUnionMembers:a?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(c,u)=>u.json(c,a),breadcrumbsPrefix:a?.breadcrumbsPrefix}),getType:()=>hl.UNION};return Object.assign(Object.assign(Object.assign({},U1(o)),oh(o)),EW(o))}function Zuc({value:e,discriminant:t,transformedDiscriminant:r,transformDiscriminantValue:n,getAdditionalPropertiesSchema:i,allowUnrecognizedUnionMembers:o=!1,transformAdditionalProperties:s,breadcrumbsPrefix:a=[]}){if(!Tpe(e))return{ok:!1,errors:[{path:a,message:Am(e,"object")}]};let c=e,u=t,l=c[u],p=l9f(c,[typeof u=="symbol"?u:u+""]);if(l==null)return{ok:!1,errors:[{path:a,message:`Missing discriminant ("${t}")`}]};let d=n(l);if(!d.ok)return{ok:!1,errors:d.errors};let f=i(d.value);if(f==null)return o?{ok:!0,value:Object.assign({[r]:d.value},p)}:{ok:!1,errors:[{path:[...a,t],message:"Unexpected discriminant value"}]};let m=s(p,f);return m.ok?{ok:!0,value:Object.assign({[r]:l},m.value)}:m}var $E={};re($E,{encodePathParam:()=>elc,join:()=>rlc,toQueryString:()=>Wtt});function elc(e){if(e===null)return"null";switch(typeof e){case"undefined":return"undefined";case"string":case"number":case"boolean":break;default:e=String(e);break}return encodeURIComponent(e)}function rlc(e,...t){if(!e)return"";if(t.length===0)return e;if(e.includes("://")){let r;try{r=new URL(e)}catch{return tlc(e,...t)}let n=t[t.length-1],i=n?.endsWith("/");for(let o of t){let s=ilc(o);s&&(r.pathname=nlc(r.pathname,s))}return i&&!r.pathname.endsWith("/")&&(r.pathname+="/"),r.toString()}return tlc(e,...t)}function tlc(e,...t){if(t.length===0)return e;let r=e,n=t[t.length-1],i=n?.endsWith("/");for(let o of t){let s=ilc(o);s&&(r=nlc(r,s))}return i&&!r.endsWith("/")&&(r+="/"),r}function nlc(e,t){return e.endsWith("/")?e+t:`${e}/${t}`}function ilc(e){if(!e)return e;let t=0,r=e.length;return e.startsWith("/")&&(t=1),e.endsWith("/")&&(r=e.length-1),t===0&&r===e.length?e:e.slice(t,r)}var p9f=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},quo="token",Ytt=class{constructor(t){this.options=t}static canCreate(t){return t?.[quo]!=null}getAuthRequest(){return p9f(this,arguments,void 0,function*({endpointMetadata:t}={}){let r=yield tA.get(this.options[quo]);return r==null?{headers:{}}:{headers:{Authorization:`Bearer ${r}`}}})}};(function(e){e.AUTH_SCHEME="bearer",e.AUTH_CONFIG_ERROR_MESSAGE=`Please provide '${quo}' when initializing the client`;function t(r){return new e(r)}e.createInstance=t})(Ytt||(Ytt={}));function FO(...e){let t={};for(let[r,n]of e.filter(i=>i!=null).flatMap(i=>Object.entries(i))){let i=r.toLowerCase();n!=null?t[i]=n:i in t&&delete t[i]}return t}function Guo(e){let t=FO({"X-Fern-Language":"JavaScript","X-Fern-SDK-Name":"@fern-fern/fiddle-sdk","X-Fern-SDK-Version":"1.1.0","User-Agent":"@fern-fern/fiddle-sdk/1.1.0","X-Fern-Runtime":iQr.type,"X-Fern-Runtime-Version":iQr.version},e?.headers);return Object.assign(Object.assign({},e),{logging:nQr.createLogger(e?.logging),headers:t})}function Ave(e){var t;let r=Guo(e),n=f9f(r);return(t=r.authProvider)!==null&&t!==void 0||(r.authProvider=new Ytt(n)),r}function f9f(e){return Object.assign(Object.assign({},e),{authProvider:new wLt})}var HMe=ze.string().transform({transform:Jjr,untransform:e=>e});var uQr=ze.string().transform({transform:Yjr,untransform:e=>e});var Wuo=ze.string().transform({transform:Xjr,untransform:e=>e});var lQr=ze.object({apiId:HMe,version:ze.string().optional(),commitSha:uQr.optional(),cliVersion:ze.string(),yamlSchemaVersion:ze.string().optional()});var KMe={};re(KMe,{Api:()=>Yuo,RegisterApiRequest:()=>lQr,RegisterApiResponse:()=>Xuo,get:()=>Huo,getLatestVersion:()=>Kuo,registerUsingOrgToken:()=>Juo});var Huo={};re(Huo,{Error:()=>m9f});var d9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},m9f=ze.union("error",{OrgDoesNotExistError:ze.object({}),ApiDoesNotExistError:ze.object({}),VersionDoesNotExistError:ze.object({})}).transform({transform:e=>{switch(e.error){case"OrgDoesNotExistError":return MA.get.Error.orgDoesNotExistError();case"ApiDoesNotExistError":return MA.get.Error.apiDoesNotExistError();case"VersionDoesNotExistError":return MA.get.Error.versionDoesNotExistError()}},untransform:e=>{var{_visit:t}=e,r=d9f(e,["_visit"]);return r}});var Kuo={};re(Kuo,{Error:()=>A9f,Response:()=>g9f});var h9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},g9f=ze.string(),A9f=ze.union("error",{OrgDoesNotExistError:ze.object({}),ApiDoesNotExistError:ze.object({})}).transform({transform:e=>{switch(e.error){case"OrgDoesNotExistError":return MA.getLatestVersion.Error.orgDoesNotExistError();case"ApiDoesNotExistError":return MA.getLatestVersion.Error.apiDoesNotExistError()}},untransform:e=>{var{_visit:t}=e,r=h9f(e,["_visit"]);return r}});var Juo={};re(Juo,{Error:()=>b9f});var y9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},b9f=ze.union("error",{VersionAlreadyExists:ze.object({})}).transform({transform:e=>{if(e.error==="VersionAlreadyExists")return MA.registerUsingOrgToken.Error.versionAlreadyExists()},untransform:e=>{var{_visit:t}=e,r=y9f(e,["_visit"]);return r}});var Yuo=ze.object({apiId:HMe,version:ze.string(),commitSha:uQr.optional(),cliVersion:ze.string(),definitionS3DownloadUrl:ze.string(),yamlSchemaVersion:ze.string().optional()});var Xuo=ze.object({version:ze.string(),definitionS3UploadUrl:ze.string()});var olc=ze.enum_(["FERN","OPENAPI"]);var slc=ze.object({python:ze.boolean(),typescript:ze.boolean(),java:ze.boolean(),rust:ze.boolean(),openApi:ze.boolean(),postman:ze.boolean()});var alc=ze.object({githubOrgId:ze.string(),kebabCaseOrgId:ze.string(),companyDisplayName:ze.string(),docsUrl:ze.string().optional(),logoUrl:ze.string().optional(),fernUserToken:ze.string(),mode:olc,repoCreationConfig:slc});var pQr={};re(pQr,{status:()=>Zuo});var Zuo={};re(Zuo,{Response:()=>E9f});var E9f=ze.string();var DLt=ze.object({keyId:ze.string(),password:ze.string(),secretKey:ze.string()});var JMe=ze.object({registryUrl:ze.string(),username:ze.string(),password:ze.string(),coordinate:ze.string(),signature:DLt.optional(),downloadSnippets:ze.boolean().optional()});var YMe=ze.object({registryUrl:ze.string(),packageName:ze.string(),token:ze.string(),downloadSnippets:ze.boolean().optional()});var $uo=ze.object({npm:YMe.optional(),maven:JMe.optional()});var elo=ze.object({id:ze.string(),version:ze.string(),customConfig:ze.unknown(),willDownloadFiles:ze.boolean(),outputs:$uo});var fQr=ze.object({apiName:ze.string(),organizationName:ze.string(),version:ze.string().optional(),generators:ze.list(elo)});var dQr=ze.object({apiName:ze.string(),organizationName:ze.string(),version:ze.string().optional()});var Bpe={};re(Bpe,{BaseGithubInfo:()=>oLe,BasicGithubLicense:()=>xlo,BranchDoesNotExistDetails:()=>XMe,CannotPublishPypiPackageDetails:()=>ZMe,CannotPublishToMavenGroupDetails:()=>$Me,CannotPublishToNpmScopeDetails:()=>eLe,CratesCoordinate:()=>clo,CratesOutput:()=>Nlo,CratesOutputWithOptionalToken:()=>Tlo,CreateJobRequest:()=>fQr,CreateJobRequestV2:()=>mQr,CreateJobResponse:()=>LLt,CreateReplayInitPrRequest:()=>ipo,CreateReplayInitPrResponse:()=>opo,CustomGithubLicense:()=>Slo,DownloadFilesOutputMode:()=>Qlo,FailedTaskStatus:()=>blo,FernDefinitionMetadata:()=>jlo,FinishedTaskStatus:()=>Elo,GeneratorConfig:()=>elo,GeneratorConfigV2:()=>epo,GeneratorIdAndVersion:()=>tlo,GeneratorOutputs:()=>$uo,GeneratorsDoNotExistErrorBodyType:()=>tLe,GithubAppNotInstalledDetails:()=>olo,GithubCommitAndReleaseMode:()=>Llo,GithubLicense:()=>FLt,GithubLicenseId:()=>wlo,GithubOutputMode:()=>Mlo,GithubOutputModeV2:()=>Glo,GithubPublishInfo:()=>QLt,GithubPullRequestMode:()=>Vlo,GithubPullRequestReviewer:()=>_lo,GithubPushMode:()=>qlo,GithubTeamReviewer:()=>zlo,GithubUserReviewer:()=>Ulo,GithubWhitelabelConfig:()=>rpo,IllegalApiVersionErrorDetails:()=>rLe,InsufficientPermissionsDetails:()=>vW,LogLevel:()=>Alo,MavenCentralSignature:()=>DLt,MavenCoordinate:()=>ulo,MavenOutput:()=>JMe,MavenOutputWithOptionalCreds:()=>Blo,NpmCoordinate:()=>llo,NpmOutput:()=>YMe,NpmOutputWithOptionalToken:()=>Olo,NugetCoordinate:()=>plo,NugetOutput:()=>Klo,NugetOutputWithOptionalCreds:()=>Plo,OrgNotConfiguredForWhitelabelDetails:()=>nLe,OutputMetadata:()=>Rlo,OutputMetadataAuthor:()=>Dlo,OutputMode:()=>Zlo,Package:()=>glo,PackageCoordinate:()=>mlo,PackagePublishStatus:()=>hlo,PostmanOutput:()=>NLt,PublishOutputMode:()=>Hlo,PublishOutputModeV2:()=>Xlo,PublishingMetadata:()=>$lo,PyPiOutputWithOptionalCreds:()=>Flo,PypiCoordinate:()=>flo,PypiMetadata:()=>jLt,PypiOutput:()=>Jlo,RateLimitExceededDetails:()=>iLe,RegistryOverrides:()=>Wlo,RemoteGenJobId:()=>MLt,RemoteGenTaskId:()=>RLt,ReplayConfig:()=>tpo,RubyGemsCoordinate:()=>dlo,RubyGemsOutput:()=>Ylo,RubyGemsOutputWithOptionalCreds:()=>klo,Task:()=>Ilo,TaskLog:()=>ylo,TaskStatus:()=>vlo,UploadDefinitionRequest:()=>dQr,UploadDefinitionResponse:()=>spo,UsernamePassword:()=>kLt,WhitelabelConfig:()=>npo,createJob:()=>rlo,createJobV2:()=>nlo,createJobV3:()=>ilo,createReplayInitPr:()=>slo,getDefinitionUploadUrl:()=>alo,getJobStatus:()=>Clo});var rlo={};re(rlo,{Error:()=>I9f});var XMe=ze.object({repositoryOwner:ze.string(),repositoryName:ze.string(),branch:ze.string()});var ZMe=ze.object({generatorId:ze.string(),invalidPackageName:ze.string(),validPrefix:ze.string()});var $Me=ze.object({generatorId:ze.string(),invalidGroup:ze.string(),validGroup:ze.string()});var eLe=ze.object({generatorId:ze.string(),invalidScope:ze.string(),validScope:ze.string()});var tlo=ze.object({id:ze.string(),version:ze.string()});var tLe=ze.object({nonExistentGenerators:ze.list(tlo)});var rLe=ze.object({message:ze.string().optional()});var vW=ze.object({dummy:ze.string().optional(),message:ze.string().optional()});var nLe=ze.object({message:ze.string().optional()});var iLe=ze.object({retryAfter:ze.number().optional()});var v9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},I9f=ze.union("error",{IllegalApiNameError:ze.object({}),IllegalApiVersionError:ze.object({content:rLe}),GeneratorsDoNotExistError:ze.object({content:tLe}),CannotPublishToNpmScope:ze.object({content:eLe}),CannotPublishToMavenGroup:ze.object({content:$Me}),CannotPublishPypiPackage:ze.object({content:ZMe}),InsufficientPermissions:ze.object({content:vW}),OrgNotConfiguredForWhitelabel:ze.object({content:nLe}),BranchDoesNotExist:ze.object({content:XMe}),RateLimitExceeded:ze.object({content:iLe})}).transform({transform:e=>{switch(e.error){case"IllegalApiNameError":return Ni.createJob.Error.illegalApiNameError();case"IllegalApiVersionError":return Ni.createJob.Error.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return Ni.createJob.Error.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return Ni.createJob.Error.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return Ni.createJob.Error.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return Ni.createJob.Error.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return Ni.createJob.Error.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return Ni.createJob.Error.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return Ni.createJob.Error.branchDoesNotExist(e.content);case"RateLimitExceeded":return Ni.createJob.Error.rateLimitExceeded(e.content)}},untransform:e=>{var{_visit:t}=e,r=v9f(e,["_visit"]);return r}});var nlo={};re(nlo,{Error:()=>w9f});var C9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},w9f=ze.union("error",{IllegalApiNameError:ze.object({}),IllegalApiVersionError:ze.object({content:rLe}),GeneratorsDoNotExistError:ze.object({content:tLe}),CannotPublishToNpmScope:ze.object({content:eLe}),CannotPublishToMavenGroup:ze.object({content:$Me}),CannotPublishPypiPackage:ze.object({content:ZMe}),InsufficientPermissions:ze.object({content:vW}),OrgNotConfiguredForWhitelabel:ze.object({content:nLe}),BranchDoesNotExist:ze.object({content:XMe}),RateLimitExceeded:ze.object({content:iLe})}).transform({transform:e=>{switch(e.error){case"IllegalApiNameError":return Ni.createJobV2.Error.illegalApiNameError();case"IllegalApiVersionError":return Ni.createJobV2.Error.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return Ni.createJobV2.Error.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return Ni.createJobV2.Error.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return Ni.createJobV2.Error.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return Ni.createJobV2.Error.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return Ni.createJobV2.Error.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return Ni.createJobV2.Error.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return Ni.createJobV2.Error.branchDoesNotExist(e.content);case"RateLimitExceeded":return Ni.createJobV2.Error.rateLimitExceeded(e.content)}},untransform:e=>{var{_visit:t}=e,r=C9f(e,["_visit"]);return r}});var ilo={};re(ilo,{Error:()=>S9f});var x9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},S9f=ze.union("error",{IllegalApiNameError:ze.object({}),IllegalApiVersionError:ze.object({content:rLe}),GeneratorsDoNotExistError:ze.object({content:tLe}),CannotPublishToNpmScope:ze.object({content:eLe}),CannotPublishToMavenGroup:ze.object({content:$Me}),CannotPublishPypiPackage:ze.object({content:ZMe}),InsufficientPermissions:ze.object({content:vW}),OrgNotConfiguredForWhitelabel:ze.object({content:nLe}),BranchDoesNotExist:ze.object({content:XMe}),RateLimitExceeded:ze.object({content:iLe})}).transform({transform:e=>{switch(e.error){case"IllegalApiNameError":return Ni.createJobV3.Error.illegalApiNameError();case"IllegalApiVersionError":return Ni.createJobV3.Error.illegalApiVersionError(e.content);case"GeneratorsDoNotExistError":return Ni.createJobV3.Error.generatorsDoNotExistError(e.content);case"CannotPublishToNpmScope":return Ni.createJobV3.Error.cannotPublishToNpmScope(e.content);case"CannotPublishToMavenGroup":return Ni.createJobV3.Error.cannotPublishToMavenGroup(e.content);case"CannotPublishPypiPackage":return Ni.createJobV3.Error.cannotPublishPypiPackage(e.content);case"InsufficientPermissions":return Ni.createJobV3.Error.insufficientPermissions(e.content);case"OrgNotConfiguredForWhitelabel":return Ni.createJobV3.Error.orgNotConfiguredForWhitelabel(e.content);case"BranchDoesNotExist":return Ni.createJobV3.Error.branchDoesNotExist(e.content);case"RateLimitExceeded":return Ni.createJobV3.Error.rateLimitExceeded(e.content)}},untransform:e=>{var{_visit:t}=e,r=x9f(e,["_visit"]);return r}});var slo={};re(slo,{Error:()=>B9f});var olo=ze.object({owner:ze.string(),repo:ze.string(),message:ze.string().optional()});var T9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},B9f=ze.union("error",{InsufficientPermissions:ze.object({content:vW}),GithubAppNotInstalled:ze.object({content:olo})}).transform({transform:e=>{switch(e.error){case"InsufficientPermissions":return Ni.createReplayInitPr.Error.insufficientPermissions(e.content);case"GithubAppNotInstalled":return Ni.createReplayInitPr.Error.githubAppNotInstalled(e.content)}},untransform:e=>{var{_visit:t}=e,r=T9f(e,["_visit"]);return r}});var alo={};re(alo,{Error:()=>P9f});var O9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},P9f=ze.union("error",{InsufficientPermissions:ze.object({content:vW})}).transform({transform:e=>{if(e.error==="InsufficientPermissions")return Ni.getDefinitionUploadUrl.Error.insufficientPermissions(e.content)},untransform:e=>{var{_visit:t}=e,r=O9f(e,["_visit"]);return r}});var Clo={};re(Clo,{Response:()=>F9f});var RLt=ze.string().transform({transform:tQr,untransform:e=>e});var clo=ze.object({name:ze.string(),version:ze.string()});var ulo=ze.object({group:ze.string(),artifact:ze.string(),version:ze.string()});var llo=ze.object({name:ze.string(),version:ze.string()});var plo=ze.object({name:ze.string(),version:ze.string()});var flo=ze.object({name:ze.string(),version:ze.string()});var dlo=ze.object({name:ze.string(),version:ze.string()});var D9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},mlo=ze.union(ze.discriminant("type","_type"),{npm:llo,maven:ulo,pypi:flo,ruby:dlo,nuget:plo,crates:clo}).transform({transform:e=>{switch(e.type){case"npm":return $D.npm(e);case"maven":return $D.maven(e);case"pypi":return $D.pypi(e);case"ruby":return $D.ruby(e);case"nuget":return $D.nuget(e);case"crates":return $D.crates(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=D9f(e,["_visit"]);return r}});var hlo=ze.enum_(["NOT_STARTED_PUBLISHING","PUBLISHING","PUBLISHED","FAILED_TO_PUBLISH"]);var glo=ze.object({coordinate:mlo,status:hlo});var Alo=ze.enum_(["DEBUG","INFO","WARN","ERROR"]);var ylo=ze.object({level:Alo,message:ze.string()});var blo=ze.object({message:ze.string(),s3PreSignedReadUrl:ze.string().optional()});var Elo=ze.object({createdSnippets:ze.boolean().optional(),hasFilesToDownload:ze.boolean(),s3PreSignedReadUrl:ze.string(),s3PreSignedReadUrlV2:ze.string().optional(),snippetsS3PreSignedReadUrl:ze.string().optional(),pullRequestUrl:ze.string().optional(),noChangesDetected:ze.boolean().optional(),actualVersion:ze.string().optional()});var R9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},vlo=ze.union(ze.discriminant("type","_type"),{notStarted:ze.object({}),running:ze.object({}),failed:blo,finished:Elo}).transform({transform:e=>{switch(e.type){case"notStarted":return iV.notStarted();case"running":return iV.running();case"failed":return iV.failed(e);case"finished":return iV.finished(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=R9f(e,["_visit"]);return r}});var Ilo=ze.object({status:vlo,packages:ze.list(glo),logs:ze.list(ylo)});var F9f=ze.record(RLt,Ilo);var wlo=ze.enum_(["MIT","APACHE"]);var xlo=ze.object({id:wlo});var Slo=ze.object({contents:ze.string()});var k9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},FLt=ze.union("type",{basic:xlo,custom:Slo}).transform({transform:e=>{switch(e.type){case"basic":return dve.basic(e);case"custom":return dve.custom(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=k9f(e,["_visit"]);return r}});var Tlo=ze.object({registryUrl:ze.string(),packageName:ze.string(),token:ze.string().optional()});var kLt=ze.object({username:ze.string(),password:ze.string()});var Blo=ze.object({registryUrl:ze.string(),coordinate:ze.string(),credentials:kLt.optional(),signature:DLt.optional()});var Olo=ze.object({registryUrl:ze.string(),packageName:ze.string(),token:ze.string().optional()});var Plo=ze.object({registryUrl:ze.string(),packageName:ze.string(),apiKey:ze.string().optional()});var NLt=ze.object({apiKey:ze.string(),workspaceId:ze.string()});var Dlo=ze.object({name:ze.string(),email:ze.string()});var Rlo=ze.object({description:ze.string().optional(),authors:ze.list(Dlo).optional()});var jLt=ze.object({keywords:ze.list(ze.string()).optional(),documentationLink:ze.string().optional(),homepageLink:ze.string().optional()}).extend(Rlo);var Flo=ze.object({registryUrl:ze.string(),packageName:ze.string(),credentials:kLt.optional(),pypiMetadata:jLt.optional()});var klo=ze.object({registryUrl:ze.string(),packageName:ze.string(),apiKey:ze.string().optional()});var N9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},QLt=ze.union("type",{npm:Olo,maven:Blo,postman:NLt,pypi:Flo,rubygems:klo,nuget:Plo,crates:Tlo}).transform({transform:e=>{switch(e.type){case"npm":return M1.npm(e);case"maven":return M1.maven(e);case"postman":return M1.postman(e);case"pypi":return M1.pypi(e);case"rubygems":return M1.rubygems(e);case"nuget":return M1.nuget(e);case"crates":return M1.crates(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=N9f(e,["_visit"]);return r}});var oLe=ze.object({owner:ze.string(),repo:ze.string(),host:ze.string().optional(),directory:ze.string().optional(),publishInfo:QLt.optional(),license:FLt.optional(),downloadSnippets:ze.boolean().optional()});var Nlo=ze.object({registryUrl:ze.string(),token:ze.string(),packageName:ze.string(),downloadSnippets:ze.boolean().optional()});var jlo=ze.object({definitionS3DownloadUrl:ze.string(),outputPath:ze.string().optional(),cliVersion:ze.string().optional()});var Qlo=ze.object({downloadSnippets:ze.boolean().optional()});var Mlo=ze.object({owner:ze.string(),repo:ze.string(),publishInfo:QLt.optional(),makePr:ze.boolean().optional(),branch:ze.string().optional(),license:FLt.optional()});var Llo=ze.object({branch:ze.string().optional()}).extend(oLe);var zlo=ze.object({name:ze.string()});var Ulo=ze.object({name:ze.string()});var j9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},_lo=ze.union("type",{team:zlo,user:Ulo}).transform({transform:e=>{switch(e.type){case"team":return mve.team(e);case"user":return mve.user(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=j9f(e,["_visit"]);return r}});var Vlo=ze.object({reviewers:ze.list(_lo).optional(),branch:ze.string().optional()}).extend(oLe);var qlo=ze.object({branch:ze.string().optional()}).extend(oLe);var Q9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},Glo=ze.union("type",{push:qlo,commitAndRelease:Llo,pullRequest:Vlo}).transform({transform:e=>{switch(e.type){case"push":return P$.push(e);case"commitAndRelease":return P$.commitAndRelease(e);case"pullRequest":return P$.pullRequest(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=Q9f(e,["_visit"]);return r}});var Wlo=ze.object({npm:YMe.optional(),maven:JMe.optional()});var Hlo=ze.object({registryOverrides:Wlo});var Klo=ze.object({registryUrl:ze.string(),packageName:ze.string(),apiKey:ze.string(),downloadSnippets:ze.boolean().optional()});var Jlo=ze.object({registryUrl:ze.string(),username:ze.string(),password:ze.string(),coordinate:ze.string(),downloadSnippets:ze.boolean().optional(),pypiMetadata:jLt.optional()});var Ylo=ze.object({registryUrl:ze.string(),packageName:ze.string(),apiKey:ze.string(),downloadSnippets:ze.boolean().optional()});var M9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},Xlo=ze.union("type",{npmOverride:ze.object({npmOverride:YMe.optional()}),mavenOverride:ze.object({mavenOverride:JMe.optional()}),pypiOverride:ze.object({pypiOverride:Jlo.optional()}),rubyGemsOverride:ze.object({rubyGemsOverride:Ylo.optional()}),nugetOverride:ze.object({nugetOverride:Klo.optional()}),cratesOverride:ze.object({cratesOverride:Nlo.optional()}),postman:NLt}).transform({transform:e=>{switch(e.type){case"npmOverride":return L1.npmOverride(e.npmOverride);case"mavenOverride":return L1.mavenOverride(e.mavenOverride);case"pypiOverride":return L1.pypiOverride(e.pypiOverride);case"rubyGemsOverride":return L1.rubyGemsOverride(e.rubyGemsOverride);case"nugetOverride":return L1.nugetOverride(e.nugetOverride);case"cratesOverride":return L1.cratesOverride(e.cratesOverride);case"postman":return L1.postman(e);default:return e}},untransform:e=>{var{_visit:t}=e,r=M9f(e,["_visit"]);return r}});var L9f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},Zlo=ze.union("type",{publish:Hlo,publishV2:ze.object({publishV2:Xlo}),downloadFiles:Qlo,github:Mlo,githubV2:ze.object({githubV2:Glo})}).transform({transform:e=>{switch(e.type){case"publish":return NQ.publish(e);case"publishV2":return NQ.publishV2(e.publishV2);case"downloadFiles":return NQ.downloadFiles(e);case"github":return NQ.github(e);case"githubV2":return NQ.githubV2(e.githubV2);default:return e}},untransform:e=>{var{_visit:t}=e,r=L9f(e,["_visit"]);return r}});var $lo=ze.object({packageDescription:ze.property("package_description",ze.string().optional()),publisherEmail:ze.property("publisher_email",ze.string().optional()),referenceUrl:ze.property("reference_url",ze.string().optional()),publisherName:ze.property("publisher_name",ze.string().optional())});var epo=ze.object({id:ze.string(),version:ze.string(),customConfig:ze.unknown(),publishMetadata:$lo.optional(),outputMode:Zlo});var tpo=ze.object({enabled:ze.boolean()});var rpo=ze.object({token:ze.string(),username:ze.string(),email:ze.string()});var npo=ze.object({github:rpo});var mQr=ze.object({apiName:ze.string(),organizationName:ze.string(),version:ze.string().optional(),generators:ze.list(epo),uploadToS3:ze.boolean().optional(),preview:ze.boolean().optional(),pushPreviewBranch:ze.boolean().optional(),whitelabel:npo.optional(),replay:tpo.optional(),fernDefinitionMetadata:jlo.optional(),fernignoreContents:ze.string().optional(),skipIfNoDiff:ze.boolean().optional(),verify:ze.boolean().optional()});var MLt=ze.string().transform({transform:eQr,untransform:e=>e});var LLt=ze.object({jobId:MLt,taskIds:ze.list(RLt)});var ipo=ze.object({owner:ze.string(),repo:ze.string(),lockfileContents:ze.string(),fernignoreEntries:ze.list(ze.string()).optional(),baseBranch:ze.string().optional(),prTitle:ze.string().optional(),prBody:ze.string().optional()});var opo=ze.object({prUrl:ze.string(),branch:ze.string()});var spo=ze.object({s3Url:ze.property("s3url",ze.string())});var apo=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},hQr=class{constructor(t){this._options=Ave(t)}registerUsingOrgToken(t,r){return z1.fromPromise(this.__registerUsingOrgToken(t,r))}__registerUsingOrgToken(t,r){return apo(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=yield this._options.authProvider.getAuthRequest(),f=FO(d.headers,(n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),m=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/registry/register"),method:"POST",headers:f,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:lQr.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});return m.ok?{data:{ok:!0,body:Xuo.parseOrThrow(m.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:m.headers,rawResponse:m.rawResponse},rawResponse:m.rawResponse}:m.error.reason==="status-code"&&((p=m.error.body)===null||p===void 0?void 0:p.error)==="VersionAlreadyExists"?{data:{ok:!1,error:KMe.registerUsingOrgToken.Error.parseOrThrow(m.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:m.rawResponse},rawResponse:m.rawResponse}:{data:{ok:!1,error:MA.registerUsingOrgToken.Error._unknown(m.error),rawResponse:m.rawResponse},rawResponse:m.rawResponse}})}get(t,r,n,i){return z1.fromPromise(this.__get(t,r,n,i))}__get(t,r,n,i){return apo(this,void 0,void 0,function*(){var o,s,a,c,u,l,p,d,f;let m=FO((o=this._options)===null||o===void 0?void 0:o.headers,i?.headers),h=yield eR({url:$E.join((s=yield tA.get(this._options.baseUrl))!==null&&s!==void 0?s:yield tA.get(this._options.environment),`/api/registry/definition/${$E.encodePathParam(Wuo.jsonOrThrow(t,{omitUndefined:!0}))}/${$E.encodePathParam(HMe.jsonOrThrow(r,{omitUndefined:!0}))}/${$E.encodePathParam(n)}`),method:"GET",headers:m,queryParameters:i?.queryParams,timeoutMs:((u=(a=i?.timeoutInSeconds)!==null&&a!==void 0?a:(c=this._options)===null||c===void 0?void 0:c.timeoutInSeconds)!==null&&u!==void 0?u:60)*1e3,maxRetries:(l=i?.maxRetries)!==null&&l!==void 0?l:(p=this._options)===null||p===void 0?void 0:p.maxRetries,abortSignal:i?.abortSignal,fetchFn:(d=this._options)===null||d===void 0?void 0:d.fetch,logging:this._options.logging});if(h.ok)return{data:{ok:!0,body:Yuo.parseOrThrow(h.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:h.headers,rawResponse:h.rawResponse},rawResponse:h.rawResponse};if(h.error.reason==="status-code")switch((f=h.error.body)===null||f===void 0?void 0:f.error){case"OrgDoesNotExistError":case"ApiDoesNotExistError":case"VersionDoesNotExistError":return{data:{ok:!1,error:KMe.get.Error.parseOrThrow(h.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:h.rawResponse},rawResponse:h.rawResponse}}return{data:{ok:!1,error:MA.get.Error._unknown(h.error),rawResponse:h.rawResponse},rawResponse:h.rawResponse}})}getLatestVersion(t,r,n){return z1.fromPromise(this.__getLatestVersion(t,r,n))}__getLatestVersion(t,r,n){return apo(this,void 0,void 0,function*(){var i,o,s,a,c,u,l,p,d;let f=FO((i=this._options)===null||i===void 0?void 0:i.headers,n?.headers),m=yield eR({url:$E.join((o=yield tA.get(this._options.baseUrl))!==null&&o!==void 0?o:yield tA.get(this._options.environment),`/api/registry/latest-version/${$E.encodePathParam(Wuo.jsonOrThrow(t,{omitUndefined:!0}))}/${$E.encodePathParam(HMe.jsonOrThrow(r,{omitUndefined:!0}))}`),method:"GET",headers:f,queryParameters:n?.queryParams,timeoutMs:((c=(s=n?.timeoutInSeconds)!==null&&s!==void 0?s:(a=this._options)===null||a===void 0?void 0:a.timeoutInSeconds)!==null&&c!==void 0?c:60)*1e3,maxRetries:(u=n?.maxRetries)!==null&&u!==void 0?u:(l=this._options)===null||l===void 0?void 0:l.maxRetries,abortSignal:n?.abortSignal,fetchFn:(p=this._options)===null||p===void 0?void 0:p.fetch,logging:this._options.logging});if(m.ok)return{data:{ok:!0,body:KMe.getLatestVersion.Response.parseOrThrow(m.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:m.headers,rawResponse:m.rawResponse},rawResponse:m.rawResponse};if(m.error.reason==="status-code")switch((d=m.error.body)===null||d===void 0?void 0:d.error){case"OrgDoesNotExistError":case"ApiDoesNotExistError":return{data:{ok:!1,error:KMe.getLatestVersion.Error.parseOrThrow(m.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:m.rawResponse},rawResponse:m.rawResponse}}return{data:{ok:!1,error:MA.getLatestVersion.Error._unknown(m.error),rawResponse:m.rawResponse},rawResponse:m.rawResponse}})}};var z9f=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},AQr=class{constructor(t){this._options=Ave(t)}createSdkDemo(t,r){return z1.fromPromise(this.__createSdkDemo(t,r))}__createSdkDemo(t,r){return z9f(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l;let p=yield this._options.authProvider.getAuthRequest(),d=FO(p.headers,(n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),f=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/demo-creation/create"),method:"POST",headers:d,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:alc.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});return f.ok?{data:{ok:!0,body:void 0,headers:f.headers,rawResponse:f.rawResponse},rawResponse:f.rawResponse}:{data:{ok:!1,error:VMe.createSdkDemo.Error._unknown(f.error),rawResponse:f.rawResponse},rawResponse:f.rawResponse}})}};var U9f=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},yQr=class{constructor(t){this._options=Guo(t)}status(t){return z1.fromPromise(this.__status(t))}__status(t){return U9f(this,void 0,void 0,function*(){var r,n,i,o,s,a,c,u;let l=FO((r=this._options)===null||r===void 0?void 0:r.headers,t?.headers),p=yield eR({url:$E.join((n=yield tA.get(this._options.baseUrl))!==null&&n!==void 0?n:yield tA.get(this._options.environment),"/api/health"),method:"GET",headers:l,queryParameters:t?.queryParams,timeoutMs:((s=(i=t?.timeoutInSeconds)!==null&&i!==void 0?i:(o=this._options)===null||o===void 0?void 0:o.timeoutInSeconds)!==null&&s!==void 0?s:60)*1e3,maxRetries:(a=t?.maxRetries)!==null&&a!==void 0?a:(c=this._options)===null||c===void 0?void 0:c.maxRetries,abortSignal:t?.abortSignal,fetchFn:(u=this._options)===null||u===void 0?void 0:u.fetch,logging:this._options.logging});return p.ok?{data:{ok:!0,body:pQr.status.Response.parseOrThrow(p.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:p.headers,rawResponse:p.rawResponse},rawResponse:p.rawResponse}:{data:{ok:!1,error:qMe.status.Error._unknown(p.error),rawResponse:p.rawResponse},rawResponse:p.rawResponse}})}};var Xtt=function(e,t,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(l){try{u(n.next(l))}catch(p){s(p)}}function c(l){try{u(n.throw(l))}catch(p){s(p)}}function u(l){l.done?o(l.value):i(l.value).then(a,c)}u((n=n.apply(e,t||[])).next())})},bQr=class{constructor(t){this._options=Ave(t)}createJob(t,r){return z1.fromPromise(this.__createJob(t,r))}__createJob(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=FO((n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),f=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/remote-gen/create-job"),method:"POST",headers:d,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:fQr.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});if(f.ok)return{data:{ok:!0,body:LLt.parseOrThrow(f.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:f.headers,rawResponse:f.rawResponse},rawResponse:f.rawResponse};if(f.error.reason==="status-code")switch((p=f.error.body)===null||p===void 0?void 0:p.error){case"IllegalApiNameError":case"IllegalApiVersionError":case"GeneratorsDoNotExistError":case"CannotPublishToNpmScope":case"CannotPublishToMavenGroup":case"CannotPublishPypiPackage":case"InsufficientPermissions":case"OrgNotConfiguredForWhitelabel":case"BranchDoesNotExist":case"RateLimitExceeded":return{data:{ok:!1,error:Bpe.createJob.Error.parseOrThrow(f.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:f.rawResponse},rawResponse:f.rawResponse}}return{data:{ok:!1,error:Ni.createJob.Error._unknown(f.error),rawResponse:f.rawResponse},rawResponse:f.rawResponse}})}createJobV2(t,r){return z1.fromPromise(this.__createJobV2(t,r))}__createJobV2(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=FO((n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),f=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/remote-gen/create-job-v2"),method:"POST",headers:d,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:mQr.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});if(f.ok)return{data:{ok:!0,body:LLt.parseOrThrow(f.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:f.headers,rawResponse:f.rawResponse},rawResponse:f.rawResponse};if(f.error.reason==="status-code")switch((p=f.error.body)===null||p===void 0?void 0:p.error){case"IllegalApiNameError":case"IllegalApiVersionError":case"GeneratorsDoNotExistError":case"CannotPublishToNpmScope":case"CannotPublishToMavenGroup":case"CannotPublishPypiPackage":case"InsufficientPermissions":case"OrgNotConfiguredForWhitelabel":case"BranchDoesNotExist":case"RateLimitExceeded":return{data:{ok:!1,error:Bpe.createJobV2.Error.parseOrThrow(f.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:f.rawResponse},rawResponse:f.rawResponse}}return{data:{ok:!1,error:Ni.createJobV2.Error._unknown(f.error),rawResponse:f.rawResponse},rawResponse:f.rawResponse}})}createJobV3(t,r){return z1.fromPromise(this.__createJobV3(t,r))}__createJobV3(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=yield this._options.authProvider.getAuthRequest(),f=FO(d.headers,(n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),m=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/remote-gen/create-job-v3"),method:"POST",headers:f,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:mQr.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});if(m.ok)return{data:{ok:!0,body:LLt.parseOrThrow(m.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:m.headers,rawResponse:m.rawResponse},rawResponse:m.rawResponse};if(m.error.reason==="status-code")switch((p=m.error.body)===null||p===void 0?void 0:p.error){case"IllegalApiNameError":case"IllegalApiVersionError":case"GeneratorsDoNotExistError":case"CannotPublishToNpmScope":case"CannotPublishToMavenGroup":case"CannotPublishPypiPackage":case"InsufficientPermissions":case"OrgNotConfiguredForWhitelabel":case"BranchDoesNotExist":case"RateLimitExceeded":return{data:{ok:!1,error:Bpe.createJobV3.Error.parseOrThrow(m.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:m.rawResponse},rawResponse:m.rawResponse}}return{data:{ok:!1,error:Ni.createJobV3.Error._unknown(m.error),rawResponse:m.rawResponse},rawResponse:m.rawResponse}})}getJobStatus(t,r){return z1.fromPromise(this.__getJobStatus(t,r))}__getJobStatus(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l;let p=FO((n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),d=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),`/api/remote-gen/jobs/${$E.encodePathParam(MLt.jsonOrThrow(t,{omitUndefined:!0}))}/status`),method:"POST",headers:p,queryParameters:r?.queryParams,timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});return d.ok?{data:{ok:!0,body:Bpe.getJobStatus.Response.parseOrThrow(d.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:d.headers,rawResponse:d.rawResponse},rawResponse:d.rawResponse}:{data:{ok:!1,error:Ni.getJobStatus.Error._unknown(d.error),rawResponse:d.rawResponse},rawResponse:d.rawResponse}})}getDefinitionUploadUrl(t,r){return z1.fromPromise(this.__getDefinitionUploadUrl(t,r))}__getDefinitionUploadUrl(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=yield this._options.authProvider.getAuthRequest(),f=FO(d.headers,(n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),m=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/remote-gen/definition"),method:"PUT",headers:f,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:dQr.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});return m.ok?{data:{ok:!0,body:spo.parseOrThrow(m.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:m.headers,rawResponse:m.rawResponse},rawResponse:m.rawResponse}:m.error.reason==="status-code"&&((p=m.error.body)===null||p===void 0?void 0:p.error)==="InsufficientPermissions"?{data:{ok:!1,error:Bpe.getDefinitionUploadUrl.Error.parseOrThrow(m.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:m.rawResponse},rawResponse:m.rawResponse}:{data:{ok:!1,error:Ni.getDefinitionUploadUrl.Error._unknown(m.error),rawResponse:m.rawResponse},rawResponse:m.rawResponse}})}createReplayInitPr(t,r){return z1.fromPromise(this.__createReplayInitPr(t,r))}__createReplayInitPr(t,r){return Xtt(this,void 0,void 0,function*(){var n,i,o,s,a,c,u,l,p;let d=yield this._options.authProvider.getAuthRequest(),f=FO(d.headers,(n=this._options)===null||n===void 0?void 0:n.headers,r?.headers),m=yield eR({url:$E.join((i=yield tA.get(this._options.baseUrl))!==null&&i!==void 0?i:yield tA.get(this._options.environment),"/api/remote-gen/replay/init"),method:"POST",headers:f,contentType:"application/json",queryParameters:r?.queryParams,requestType:"json",body:ipo.jsonOrThrow(t,{unrecognizedObjectKeys:"strip",omitUndefined:!0}),timeoutMs:((a=(o=r?.timeoutInSeconds)!==null&&o!==void 0?o:(s=this._options)===null||s===void 0?void 0:s.timeoutInSeconds)!==null&&a!==void 0?a:60)*1e3,maxRetries:(c=r?.maxRetries)!==null&&c!==void 0?c:(u=this._options)===null||u===void 0?void 0:u.maxRetries,abortSignal:r?.abortSignal,fetchFn:(l=this._options)===null||l===void 0?void 0:l.fetch,logging:this._options.logging});if(m.ok)return{data:{ok:!0,body:opo.parseOrThrow(m.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),headers:m.headers,rawResponse:m.rawResponse},rawResponse:m.rawResponse};if(m.error.reason==="status-code")switch((p=m.error.body)===null||p===void 0?void 0:p.error){case"InsufficientPermissions":case"GithubAppNotInstalled":return{data:{ok:!1,error:Bpe.createReplayInitPr.Error.parseOrThrow(m.error.body,{unrecognizedObjectKeys:"passthrough",allowUnrecognizedUnionMembers:!0,allowUnrecognizedEnumValues:!0,breadcrumbsPrefix:["response"]}),rawResponse:m.rawResponse},rawResponse:m.rawResponse}}return{data:{ok:!1,error:Ni.createReplayInitPr.Error._unknown(m.error),rawResponse:m.rawResponse},rawResponse:m.rawResponse}})}};var zLt=class{constructor(t){this._options=Ave(t)}get definitionRegistry(){var t;return(t=this._definitionRegistry)!==null&&t!==void 0?t:this._definitionRegistry=new hQr(this._options)}get demoCreation(){var t;return(t=this._demoCreation)!==null&&t!==void 0?t:this._demoCreation=new AQr(this._options)}get health(){var t;return(t=this._health)!==null&&t!==void 0?t:this._health=new yQr(this._options)}get remoteGen(){var t;return(t=this._remoteGen)!==null&&t!==void 0?t:this._remoteGen=new bQr(this._options)}};var ulc=require("fs/promises"),llc=we(require("path"),1);var plc={shouldUseTitleAsName:void 0,shouldUseUndiscriminatedUnionsWithLiterals:void 0,shouldUseIdiomaticRequestNames:void 0,asyncApiMessageNaming:void 0,onlyIncludeReferencedSchemas:void 0,shouldUseOptionalAdditionalProperties:void 0,coerceEnumsToLiterals:void 0,objectQueryParameters:void 0,respectReadonlySchemas:void 0,useReadVariantForResponses:void 0,respectNullableSchemas:void 0,inlinePathParameters:void 0,useBytesForBinaryResponse:void 0,respectForwardCompatibleEnums:void 0,filter:void 0,exampleGeneration:void 0,defaultFormParameterEncoding:void 0,additionalPropertiesDefaultsTo:void 0,typeDatesAsStrings:void 0,preserveSingleSchemaOneOf:void 0,inlineAllOfSchemas:void 0,resolveAliases:void 0,groupMultiApiEnvironments:void 0,groupEnvironmentsByHost:void 0,multiServerStrategy:void 0,inferDefaultEnvironment:void 0,wrapReferencesToNullableInOptional:void 0,coerceOptionalSchemasToNullable:void 0,removeDiscriminantsFromSchemas:void 0,pathParameterOrder:void 0,defaultIntegerFormat:void 0,resolveSchemaCollisions:void 0,inferForwardCompatible:void 0,coerceConstsTo:void 0,shouldInferDiscriminatedUnionBaseProperties:void 0};async function flc({absolutePathToGeneratorsConfiguration:e,rawGeneratorsConfiguration:t,context:r}){let n=Alc(t.metadata),i=t.readme;nWf(r,t);let o=await q9f(t);return{absolutePathToConfiguration:e,api:o,rawConfiguration:t,defaultGroup:t["default-group"],groupAliases:t.aliases??{},reviewers:t.reviewers,groups:t.groups!=null?await Promise.all(Object.entries(t.groups).map(([s,a])=>G9f({absolutePathToGeneratorsConfiguration:e,groupName:s,group:a,maybeTopLevelMetadata:n,maybeTopLevelReviewers:t.reviewers,maybeRootAutomation:t.automation,readme:i,context:r}))):[],whitelabel:t.whitelabel!=null&&t.whitelabel.github!=null?{github:t.whitelabel.github}:void 0,ai:t.ai,replay:t.replay}}function EQr(e){return{...plc,shouldUseTitleAsName:e?.["use-title"],shouldUseUndiscriminatedUnionsWithLiterals:e?.unions==="v1",asyncApiMessageNaming:e?.["message-naming"],respectNullableSchemas:e?.["respect-nullable-schemas"],wrapReferencesToNullableInOptional:e?.["wrap-references-to-nullable-in-optional"],coerceOptionalSchemasToNullable:e?.["coerce-optional-schemas-to-nullable"],onlyIncludeReferencedSchemas:e?.["only-include-referenced-schemas"],inlinePathParameters:e?.["inline-path-parameters"],shouldUseIdiomaticRequestNames:e?.["idiomatic-request-names"],removeDiscriminantsFromSchemas:mlc(e?.["remove-discriminants-from-schemas"]),pathParameterOrder:e?.["path-parameter-order"]}}function dlc(e){return{...vQr(e),shouldUseUndiscriminatedUnionsWithLiterals:e?.["prefer-undiscriminated-unions-with-literals"],onlyIncludeReferencedSchemas:e?.["only-include-referenced-schemas"],objectQueryParameters:e?.["object-query-parameters"],respectReadonlySchemas:e?.["respect-readonly-schemas"],useReadVariantForResponses:e?.["use-read-variant-for-responses"],inlinePathParameters:e?.["inline-path-parameters"],filter:e?.filter,exampleGeneration:e?.["example-generation"],defaultFormParameterEncoding:e?.["default-form-parameter-encoding"],useBytesForBinaryResponse:e?.["use-bytes-for-binary-response"],respectForwardCompatibleEnums:e?.["respect-forward-compatible-enums"],additionalPropertiesDefaultsTo:e?.["additional-properties-defaults-to"],typeDatesAsStrings:e?.["type-dates-as-strings"],preserveSingleSchemaOneOf:e?.["preserve-single-schema-oneof"],inlineAllOfSchemas:e?.["inline-all-of-schemas"],resolveAliases:e?.["resolve-aliases"],groupMultiApiEnvironments:e?.["group-multi-api-environments"],groupEnvironmentsByHost:e?.["group-environments-by-host"],multiServerStrategy:e?.["multi-server-strategy"],defaultIntegerFormat:e?.["default-integer-format"],pathParameterOrder:e?.["path-parameter-order"],shouldInferDiscriminatedUnionBaseProperties:e?.["infer-discriminated-union-base-properties"]}}function _9f(e){return{...vQr(e),asyncApiMessageNaming:e?.["message-naming"]}}function vQr(e){return{...plc,shouldUseTitleAsName:e?.["title-as-schema-name"],shouldUseIdiomaticRequestNames:e?.["idiomatic-request-names"],shouldUseOptionalAdditionalProperties:e?.["optional-additional-properties"],coerceEnumsToLiterals:e?.["coerce-enums-to-literals"],respectNullableSchemas:e?.["respect-nullable-schemas"],wrapReferencesToNullableInOptional:e?.["wrap-references-to-nullable-in-optional"],coerceOptionalSchemasToNullable:e?.["coerce-optional-schemas-to-nullable"],groupEnvironmentsByHost:e?.["group-environments-by-host"],multiServerStrategy:e?.["multi-server-strategy"],inferDefaultEnvironment:e?.["infer-default-environment"],groupMultiApiEnvironments:e!=null&&"group-multi-api-environments"in e?e["group-multi-api-environments"]:void 0,removeDiscriminantsFromSchemas:mlc(e?.["remove-discriminants-from-schemas"]),pathParameterOrder:e?.["path-parameter-order"],resolveSchemaCollisions:e?.["resolve-schema-collisions"],inferForwardCompatible:e?.["infer-forward-compatible"],coerceConstsTo:e?.["coerce-consts-to"]}}function mlc(e){if(e==null||e==="always")return zn.RemoveDiscriminantsFromSchemas.Always;if(e==="never")return zn.RemoveDiscriminantsFromSchemas.Never;throw new D({message:`Unknown value for generators.yml API setting: remove-discriminants-from-schemas: ${e}`,code:D.Code.ConfigError})}function yve(e,t){return{...e,...Object.fromEntries(Object.entries(t).filter(([r,n])=>n!==void 0))}}async function clc(e,t,r){let n=[];if(e!=null)if(typeof e=="string")n.push({schema:{type:"oss",path:e},origin:void 0,overrides:void 0,overlays:void 0,audiences:[],settings:r});else if(zn.isRawProtobufAPIDefinitionSchema(e))n.push({schema:{type:"protobuf",root:e.proto.root,target:e.proto.target??"",localGeneration:e.proto["local-generation"]??!1,fromOpenAPI:e.proto["from-openapi"]??!1,dependencies:e.proto.dependencies??[]},origin:void 0,overrides:e.proto.overrides,overlays:void 0,audiences:[],settings:r});else if(Array.isArray(e))for(let i of e)typeof i=="string"?n.push({schema:{type:"oss",path:i},origin:void 0,overrides:void 0,overlays:void 0,audiences:[],settings:r}):zn.isRawProtobufAPIDefinitionSchema(i)?n.push({schema:{type:"protobuf",root:i.proto.root,target:i.proto.target??"",localGeneration:i.proto["local-generation"]??!1,fromOpenAPI:i.proto["from-openapi"]??!1,dependencies:i.proto.dependencies??[]},origin:void 0,overrides:i.proto.overrides,overlays:void 0,audiences:[],settings:r}):n.push({schema:{type:"oss",path:i.path},origin:i.origin,overrides:i.overrides,overlays:void 0,audiences:i.audiences,settings:yve(r,EQr(i.settings))});else n.push({schema:{type:"oss",path:e.path},origin:e.origin,overrides:e.overrides,overlays:void 0,audiences:e.audiences,settings:yve(r,EQr(e.settings))});else{let i=t[zn.API_SETTINGS_KEY],o=t[zn.OPENAPI_LOCATION_KEY],s=t[zn.API_ORIGIN_LOCATION_KEY],a=t[zn.OPENAPI_OVERRIDES_LOCATION_KEY],c=t[zn.ASYNC_API_LOCATION_KEY];o!=null&&(typeof o=="string"?n.push({schema:{type:"oss",path:o},origin:s,overrides:a,overlays:void 0,audiences:[],settings:yve(r,EQr(i))}):typeof o=="object"&&n.push({schema:{type:"oss",path:o.path},origin:o.origin,overrides:o.overrides,overlays:void 0,audiences:[],settings:yve(r,dlc(o.settings))})),c!=null&&n.push({schema:{type:"oss",path:c},origin:s,overrides:void 0,overlays:void 0,audiences:[],settings:yve(r,EQr(i))})}return n}async function V9f({apiConfiguration:e,rawConfiguration:t,apiSettings:r}){let n={"auth-schemes":t["auth-schemes"],...e};if(zn.isConjureSchema(e.specs))return{type:"conjure",pathToConjureDefinition:e.specs.conjure,...n,settings:r};let i=[],o={};for(let s of e.specs??[]){let a;if(zn.isOpenApiSpecSchema(s))a={schema:{type:"oss",path:s.openapi},origin:s.origin,overrides:s.overrides,overlays:s.overlays,audiences:[],settings:yve(r,dlc(s.settings))};else if(zn.isAsyncApiSpecSchema(s))a={schema:{type:"oss",path:s.asyncapi},origin:s.origin,overrides:s.overrides,overlays:void 0,audiences:[],settings:yve(r,_9f(s.settings))};else if(zn.isProtoSpecSchema(s))a={schema:{type:"protobuf",root:s.proto.root,target:s.proto.target??"",localGeneration:s.proto["local-generation"]??!1,fromOpenAPI:s.proto["from-openapi"]??!1,dependencies:s.proto.dependencies??[]},origin:void 0,overrides:s.proto.overrides,overlays:void 0,audiences:[],settings:r};else if(zn.isOpenRpcSpecSchema(s))a={schema:{type:"openrpc",path:s.openrpc},origin:void 0,overrides:s.overrides,overlays:void 0,audiences:[],settings:r};else if(zn.isGraphQLSpecSchema(s))a={schema:{type:"graphql",path:s.graphql,examples:s.examples},origin:s.origin,overrides:s.overrides,overlays:void 0,audiences:[],settings:r};else continue;let c=zn.isGraphQLSpecSchema(s)&&"name"in s?s.name:"namespace"in s?s.namespace:void 0;c!=null?(o[c]??=[],o[c].push(a)):i.push(a)}return Object.keys(o).length===0?{type:"singleNamespace",definitions:i,...n,settings:r}:{type:"multiNamespace",rootDefinitions:i,definitions:o,...n,settings:r}}async function q9f(e){let t=e.api;if(t!=null){if(zn.isApiConfigurationV2Schema(t)){let n=vQr(t.settings);return V9f({apiConfiguration:t,rawConfiguration:e,apiSettings:n})}if(zn.isNamespacedApiConfiguration(t)){let n={},i={};for(let[o,s]of Object.entries(t.namespaces))n[o]=await clc(s,e,i);return{type:"multiNamespace",rootDefinitions:void 0,definitions:n}}}return{type:"singleNamespace",definitions:await clc(t,e,{})}}async function G9f({absolutePathToGeneratorsConfiguration:e,groupName:t,group:r,maybeTopLevelMetadata:n,maybeTopLevelReviewers:i,maybeRootAutomation:o,readme:s,context:a}){let c=Alc(r.metadata);return{groupName:t,reviewers:r.reviewers,audiences:r.audiences==null?{type:"all"}:{type:"select",audiences:r.audiences},generators:await Promise.all(r.generators.map(u=>H9f({absolutePathToGeneratorsConfiguration:e,generator:u,maybeTopLevelMetadata:n,maybeGroupLevelMetadata:c,maybeTopLevelReviewers:i,maybeGroupLevelReviewers:r.reviewers,maybeRootAutomation:o,maybeGroupAutomation:r.automation,readme:s,context:a})))}}function W9f(e,t){if("image"in e){let i=cNr(e.image.name,t);return{normalizedName:py(i),containerImage:`${e.image.registry}/${i}`}}let r=cNr(e.name,t);return{normalizedName:py(r),containerImage:void 0}}async function H9f({absolutePathToGeneratorsConfiguration:e,generator:t,maybeGroupLevelMetadata:r,maybeTopLevelMetadata:n,maybeGroupLevelReviewers:i,maybeTopLevelReviewers:o,maybeRootAutomation:s,maybeGroupAutomation:a,readme:c,context:u}){let{normalizedName:l,containerImage:p}=W9f(t,u);return{raw:t,automation:zn.resolveAutomationConfig({rootAutomation:s,groupAutomation:a,generatorAutomation:t.automation}),name:l,containerImage:p,version:t.version,config:t.config,outputMode:await X9f({absolutePathToGeneratorsConfiguration:e,generator:t,maybeGroupLevelMetadata:r,maybeTopLevelMetadata:n,maybeGroupLevelReviewers:i,maybeTopLevelReviewers:o}),keywords:t.keywords,smartCasing:t["smart-casing"]??!0,disableExamples:t["disable-examples"]??!1,absolutePathToLocalOutput:t.output?.location==="local-file-system"?Fi(yn(e),t.output.path):void 0,absolutePathToLocalSnippets:t.snippets?.path!=null?Fi(yn(e),t.snippets.path):void 0,language:eWf(l),irVersionOverride:t["ir-version"]??void 0,publishMetadata:J9f({generatorInvocation:t}),readme:c,settings:t.api?.settings??void 0,apiOverride:K9f({generator:t})}}function K9f({generator:e}){if(e.api?.specs!=null||e.api?.auth!=null||e.api?.["auth-schemes"]!=null||e.api?.headers!=null)return{specs:e.api?.specs,auth:e.api?.auth,"auth-schemes":e.api?.["auth-schemes"],headers:e.api?.headers}}function J9f({generatorInvocation:e}){let t=e["publish-metadata"];if(t!=null)return{packageDescription:t["package-description"],publisherEmail:t.email,publisherName:t.author,referenceUrl:t["reference-url"]};if(e.metadata!=null)return{packageDescription:e.metadata["package-description"],publisherEmail:e.metadata.email,publisherName:e.metadata.author,referenceUrl:e.metadata["reference-url"]}}function hlc({pypiOutputMetadata:e,maybeGroupLevelMetadata:t,maybeTopLevelMetadata:r}){let n;return e!=null&&(n=rWf(e),n={...r,...t,...n}),n}function Y9f({topLevelReviewers:e,groupLevelReviewers:t,outputModeReviewers:r}){let n=new Set,i=new Set,o=[],s=[...e?.teams??[],...t?.teams??[],...r?.teams??[]],a=[...e?.users??[],...t?.users??[],...r?.users??[]];for(let c of s)n.has(c.name)||(o.push(qr.GithubPullRequestReviewer.team({name:c.name})),n.add(c.name));for(let c of a)i.has(c.name)||(o.push(qr.GithubPullRequestReviewer.user({name:c.name})),i.add(c.name));return o}async function X9f({absolutePathToGeneratorsConfiguration:e,generator:t,maybeGroupLevelMetadata:r={},maybeTopLevelMetadata:n={},maybeGroupLevelReviewers:i,maybeTopLevelReviewers:o}){let s=t.snippets!=null&&t.snippets.path!=="";if(t.github){let a=bve(t.github)?t.github.uri:t.github.repository,c,u,l;try{({owner:c,repo:u,remote:l}=Aw(a))}catch{throw new D({message:`Invalid GitHub repository "${a}" in generators.yml. Expected a repository like "owner/repo", "github.com/owner/repo", or "https://github.com/owner/repo.git".`,code:D.Code.ConfigError})}let p=l!=="github.com"?l:void 0,d=t.output!=null?$9f(t.output,r,n):void 0,f=tWf(t),m=f!=null?await Z9f({absolutePathToGeneratorsConfiguration:e,githubLicense:f}):void 0,h=t.github.mode??"release";switch(h){case"commit":case"release":case"commit-and-release":{let A=t.github,y={owner:c,repo:u,host:p,branch:A.branch,license:m,publishInfo:d,downloadSnippets:s};return qr.OutputMode.githubV2(qr.GithubOutputModeV2.commitAndRelease(y))}case"pull-request":{let A=t.github,y=Y9f({topLevelReviewers:o,groupLevelReviewers:i,outputModeReviewers:A.reviewers}),I={owner:c,repo:u,host:p,license:m,publishInfo:d,downloadSnippets:s,reviewers:y,branch:A.branch};return qr.OutputMode.githubV2(qr.GithubOutputModeV2.pullRequest(I))}case"push":{let A={owner:c,repo:u,host:p,branch:t.github.mode==="push"?t.github.branch:void 0,license:m,publishInfo:d,downloadSnippets:s};return qr.OutputMode.githubV2(qr.GithubOutputModeV2.push(A))}default:xe(h)}}if(t.output==null)return qr.remoteGen.OutputMode.publish({registryOverrides:{}});switch(t.output.location){case"local-file-system":return qr.OutputMode.downloadFiles({downloadSnippets:s});case"npm":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.npmOverride({registryUrl:t.output.url??"https://registry.npmjs.org",packageName:t.output["package-name"],token:t.output.token??"",downloadSnippets:s}));case"maven":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.mavenOverride({registryUrl:glc(t.output),username:t.output.username??"",password:t.output.password??"",coordinate:t.output.coordinate,signature:t.output.signature!=null?{keyId:t.output.signature.keyId,secretKey:t.output.signature.secretKey,password:t.output.signature.password}:void 0,downloadSnippets:s}));case"postman":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.postman({apiKey:t.output["api-key"],workspaceId:t.output["workspace-id"]}));case"pypi":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.pypiOverride({registryUrl:t.output.url??"https://upload.pypi.org/legacy/",username:t.output.token!=null?"__token__":t.output.password??"",password:t.output.token??t.output.password??"",coordinate:t.output["package-name"],downloadSnippets:s,pypiMetadata:hlc({pypiOutputMetadata:t.output.metadata,maybeGroupLevelMetadata:r,maybeTopLevelMetadata:n})}));case"nuget":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.nugetOverride({registryUrl:t.output.url??"https://nuget.org/",packageName:t.output["package-name"],apiKey:t.output["api-key"]??"",downloadSnippets:s}));case"rubygems":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.rubyGemsOverride({registryUrl:t.output.url??"https://rubygems.org/",packageName:t.output["package-name"],apiKey:t.output["api-key"]??"",downloadSnippets:s}));case"crates":return qr.OutputMode.publishV2(qr.remoteGen.PublishOutputModeV2.cratesOverride({registryUrl:t.output.url??"https://crates.io/api/v1/crates",packageName:t.output["package-name"],token:t.output.token??"",downloadSnippets:s}));default:xe(t.output)}}async function Z9f({absolutePathToGeneratorsConfiguration:e,githubLicense:t}){if(typeof t=="string")switch(t){case"MIT":return qr.GithubLicense.basic({id:qr.GithubLicenseId.Mit});case"Apache-2.0":return qr.GithubLicense.basic({id:qr.GithubLicenseId.Apache});default:xe(t)}let r=$e(Ht.of(llc.default.dirname(e)),ke.of(t.custom)),n=await(0,ulc.readFile)(r);return qr.GithubLicense.custom({contents:n.toString()})}function $9f(e,t,r){switch(e.location){case"local-file-system":throw new D({message:"Cannot use local-file-system with github publishing",code:D.Code.ConfigError});case"npm":return qr.GithubPublishInfo.npm({registryUrl:e.url??"https://registry.npmjs.org",packageName:e["package-name"],token:e.token});case"maven":return qr.GithubPublishInfo.maven({registryUrl:glc(e),coordinate:e.coordinate,credentials:e.username!=null&&e.password!=null?{username:e.username,password:e.password}:void 0,signature:e.signature!=null?{keyId:e.signature.keyId,password:e.signature.password,secretKey:e.signature.secretKey}:void 0});case"postman":return qr.GithubPublishInfo.postman({apiKey:e["api-key"],workspaceId:e["workspace-id"]});case"pypi":return qr.GithubPublishInfo.pypi({registryUrl:e.url??"https://upload.pypi.org/legacy/",packageName:e["package-name"],credentials:e.token!=null?{username:"__token__",password:e.token}:{username:e.username??"",password:e.password??""},pypiMetadata:hlc({pypiOutputMetadata:e.metadata,maybeGroupLevelMetadata:t,maybeTopLevelMetadata:r})});case"nuget":return qr.GithubPublishInfo.nuget({registryUrl:e.url??"https://nuget.org/",packageName:e["package-name"],apiKey:e["api-key"]});case"rubygems":return qr.GithubPublishInfo.rubygems({registryUrl:e.url??"https://rubygems.org/",packageName:e["package-name"],apiKey:e["api-key"]});case"crates":return qr.GithubPublishInfo.crates({registryUrl:e.url??"https://crates.io/api/v1/crates",packageName:e["package-name"],token:e.token});default:xe(e)}}function eWf(e){if(e.includes("csharp"))return zn.GenerationLanguage.CSHARP;if(e.includes("go"))return zn.GenerationLanguage.GO;if(e.includes("java")||e.includes("spring"))return zn.GenerationLanguage.JAVA;if(e.includes("php"))return zn.GenerationLanguage.PHP;if(e.includes("python")||e.includes("fastapi")||e.includes("pydantic"))return zn.GenerationLanguage.PYTHON;if(e.includes("ruby"))return zn.GenerationLanguage.RUBY;if(e.includes("swift"))return zn.GenerationLanguage.SWIFT;if(e.includes("typescript"))return zn.GenerationLanguage.TYPESCRIPT}function glc(e){return e.url!=null?e.url:e.signature!=null?"https://oss.sonatype.org/service/local/staging/deploy/maven2/":"https://s01.oss.sonatype.org/content/repositories/releases/"}function tWf(e){return e["publish-metadata"]?.license!=null?e["publish-metadata"].license:e.metadata?.license!=null?e.metadata.license:bve(e.github)&&e.github.license!=null?e.github.license:e.github?.license}function Alc(e){return e!=null?{description:e.description,authors:e.authors?.map(t=>({name:t.name,email:t.email}))}:void 0}function rWf(e){return e!=null?{description:e.description,authors:e.authors?.map(t=>({name:t.name,email:t.email})),keywords:e.keywords,documentationLink:e["documentation-link"],homepageLink:e["homepage-link"]}:void 0}function nWf(e,t){let r=[];t["api-settings"]!=null&&r.push('"api-settings" is deprecated. Please use "api.settings" for global defaults or "api.specs[].settings" for spec-specific settings instead.'),t["async-api"]!=null&&r.push('"async-api" is deprecated. Please use "api.specs[].asyncapi" instead.'),t.openapi!=null&&r.push('"openapi" is deprecated. Please use "api.specs[].openapi" instead.'),t["openapi-overrides"]!=null&&r.push('"openapi-overrides" is deprecated. Please use "api.specs[].overrides" instead.'),t["spec-origin"]&&r.push('"spec-origin" is deprecated. Please use "api.specs[].origin" instead.'),t.api!=null&&(typeof t.api=="string"&&r.push('Using an OpenAPI or AsyncAPI path string for "api" is deprecated. Please use "api.specs[].openapi" or "api.specs[].asyncapi" instead.'),Array.isArray(t.api)?r.push('Using an array for "api" is deprecated. Please use "api.specs[].openapi", "api.specs[].asyncapi", or "api.specs[].proto" instead.'):typeof t.api=="object"&&("path"in t.api&&r.push('Using "api.path" is deprecated. Please use "api.specs[].openapi" or "api.specs[].asyncapi" instead.'),"proto"in t.api&&r.push('Using "api.proto" is deprecated. Please use "api.specs[].proto" instead.'),"namespaces"in t.api&&r.push('Using "api.namespaces" is deprecated. Please use "api.specs[].openapi", "api.specs[].asyncapi", or "api.specs[].proto" with the "namespace" property instead.'))),r.length>0&&(e.logger.warn("Warnings for generators.yml:"),e.logger.warn(" "+r.join(`
@@ -3222,7 +3222,7 @@ ${qjc.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&rxo(th
3222
3222
  `+uze.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?uze.default.cyan($jc(t,this.opt.mask)):uze.default.italic(uze.default.dim("[hidden]")):this.opt.mask?$jc(t,this.opt.mask):uze.default.italic(uze.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 W7r=we(lS(),1);var ZQc=we(Qxo(),1),q7r=require("child_process"),jot=require("fs"),V7r=we(require("path"),1),$Qc=we(require("os"),1),e6c=require("crypto"),vSo=we(YQc(),1);var z7r=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var J_t=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var U7r=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var _7r=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function G7r(e="",t,r){let n=new ISo(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 XQc(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function S_d(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 ISo=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=S_d(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??$Qc.default.tmpdir(),r=(0,e6c.randomUUID)(),n=XQc(this.fileOptions.prefix),i=XQc(this.fileOptions.postfix),o=`${n}${r}${i}`,s=V7r.default.resolve(t,o),a=V7r.default.resolve(t)+V7r.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,jot.writeFileSync)(this.tempFile,this.text,c)}catch(t){throw new z7r(t)}}readTemporaryFile(){try{let t=(0,jot.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,ZQc.detect)(t)??"utf8";vSo.default.encodingExists(r)||(r="utf8"),this.text=vSo.default.decode(t,r)}}catch(t){throw new U7r(t)}}removeTemporaryFile(){try{(0,jot.unlinkSync)(this.tempFile)}catch(t){throw new _7r(t)}}launchEditor(){try{let t=(0,q7r.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new J_t(t)}}launchEditorAsync(t){try{(0,q7r.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new J_t(r)}}};var t6c=we(gz(),1);var Y_t=class extends pS{_run(t){this.done=t,this.editorResult=new t6c.Subject;let r=WO(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"?W7r.default.dim("Received"):W7r.default.dim("Press <enter> to launch your preferred editor."),t&&(r=W7r.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),G7r(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 s6c=require("stream");var i6c=we(require("readline"),1),o6c=we(n6c(),1),dze=class{constructor(t){this.rl||=i6c.default.createInterface(B_d(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 B_d(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 o6c.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var X_t=class extends dze{constructor(t={}){super(t),this.log=new s6c.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return k_t(this.rl,this.bottomBar.split(`
3223
3223
  `).length),this}updateBottomBar(t){return k_t(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+`
3224
3224
  `}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&&m7r(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var qd=we(gz(),1),u6c=we(p_t(),1);var H7r=we(gz(),1),a6c=we(p_t(),1),K7r=function(e,t,r){return typeof e[t]!="function"?(0,H7r.of)(e):(0,H7r.from)((0,a6c.default)(e[t])(r).then(n=>(e[t]=n,e)))};var c6c={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}},Qot=class extends dze{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,qd.from)(t):(0,qd.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,qd.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,qd.from)([t]),this.process=n.pipe((0,qd.concatMap)(this.processQuestion.bind(this)),(0,qd.publish)()),this.process.connect(),this.process.pipe((0,qd.reduce)((i,o)=>(c6c.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,qd.defer)(()=>(0,qd.of)(t).pipe((0,qd.concatMap)(this.setDefaultType.bind(this)),(0,qd.concatMap)(this.filterIfRunnable.bind(this)),(0,qd.concatMap)(()=>K7r(t,"message",this.answers)),(0,qd.concatMap)(()=>K7r(t,"default",this.answers)),(0,qd.concatMap)(()=>K7r(t,"choices",this.answers)),(0,qd.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,qd.defer)(()=>(0,qd.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,qd.defer)(()=>(0,qd.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&c6c.get(this.answers,t.name)!==void 0)return qd.EMPTY;if(t.when===!1)return qd.EMPTY;if(typeof t.when!="function")return(0,qd.of)(t);let{answers:r}=this;return(0,qd.defer)(()=>(0,qd.from)((0,u6c.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,qd.filter)(n=>n!=null)))}};function l6c(e){let t=function(r,n){let i;try{i=new Qot(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",j_t),this.registerPrompt("input",cze),this.registerPrompt("number",Q_t),this.registerPrompt("confirm",M_t),this.registerPrompt("rawlist",L_t),this.registerPrompt("expand",z_t),this.registerPrompt("checkbox",U_t),this.registerPrompt("password",__t),this.registerPrompt("editor",Y_t)},t.restoreDefaultPrompts(),t}var wSo=l6c();function P_d(e,t){wSo.registerPrompt(e,t)}function D_d(){wSo.restoreDefaultPrompts()}var R_d={prompt:wSo,ui:{BottomBar:X_t,Prompt:Qot},createPromptModule:l6c,registerPrompt:P_d,restoreDefaultPrompts:D_d,Separator:a6},tp=R_d;var Mot=require("path");function f6c(){let e=F_d();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function F_d(e=process.argv[1]?(0,Mot.dirname)(process.argv[1]):process.cwd(),t=Mot.sep==="\\"){let r=t?p6c(e):e;return n=>{if(!n)return;let i=t?p6c(n):n,{dir:o,base:s,ext:a}=Mot.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 p6c(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var xSo=e=>{if("flags"in e){let t=d6c(e.flags),r=m6c(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,SSo(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,k_d(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function k_d(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 d6c=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,Z_t(r)]).filter(([,t])=>t!==void 0)),m6c=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?SSo(n):void 0]}))};var Z_t=e=>e===void 0?void 0:e.variant??e.enabled,SSo=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};function h6c(){return"CompressionStream"in globalThis}async function J7r(e,t=!0){try{let n=new Blob([e],{type:"text/plain"}).stream().pipeThrough(new CompressionStream("gzip"));return await new Response(n).blob()}catch(r){return t&&console.error("Failed to gzip compress data",r),null}}var Y7r="0123456789abcdef",X7r=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+=Y7r.charAt(this.bytes[r]>>>4),t+=Y7r.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+=Y7r.charAt(this.bytes[r]>>>4),t+=Y7r.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}},TSo=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??N_d()}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 X7r.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,X7r.ofInner(t)}},N_d=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),g6c,mCe=()=>j_d().toString(),j_d=()=>(g6c||(g6c=new TSo)).generate();var u6=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e.DeviceId="device_id",e})({});var Q_d=["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"],A6c=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return Q_d.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var L_d=Array.isArray,y6c=Object.prototype,veE=y6c.hasOwnProperty,BSo=y6c.toString,OSo=L_d||function(e){return BSo.call(e)==="[object Array]"};var PSo=e=>e===Object(e)&&!OSo(e);var $_t=e=>e===void 0,eVt=e=>BSo.call(e)=="[object String]",b6c=e=>eVt(e)&&e.trim().length===0;var E6c=e=>BSo.call(e)=="[object Number]"&&e===e;var DSo=e=>e instanceof Error;function Z7r(e){return e===null||typeof e!="object"}function mze(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function v6c(e){return mze(e,"ErrorEvent")}function Lot(e){return typeof Event<"u"&&z_d(e,Event)}function I6c(e){return mze(e,"Object")}function z_d(e,t){try{return e instanceof t}catch{return!1}}function tVt(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),E6c(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),tVt(i||r,t,r,n))}var U_d=864e5,$7r=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=tVt(t.bucketSize,0,100,t._logger),this._refillRate=tVt(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=tVt(t.refillInterval,0,U_d,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 eqr=class{add(t){let r=mCe();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 __d(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var C6c=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>C6c(`${e} ${o}`,t,r)}},V_d=e=>e();function w6c(e,t=V_d){return C6c(e,t,__d())}var Uot="Mobile",rqr="iOS",zot="Android",x6c="Tablet",FeE=zot+" "+x6c;var q_d="Apple",keE=q_d+" Watch",S6c="Safari",nqr="BlackBerry",T6c="Samsung",G_d=T6c+"Browser",W_d=T6c+" Internet",iqr="Chrome",H_d=iqr+" OS",K_d=iqr+" "+rqr,B6c="Internet Explorer",J_d=B6c+" "+Uot,FSo="Opera",NeE=FSo+" Mini",O6c="Edge",Y_d="Microsoft "+O6c,kSo="Firefox",X_d=kSo+" "+rqr,NSo="Nintendo",jSo="PlayStation",tqr="Xbox",Z_d=zot+" "+Uot,$_d=Uot+" "+S6c,rVt="Windows",eVd=rVt+" Phone";var P6c="Generic",jeE=P6c+" "+Uot.toLowerCase(),QeE=P6c+" "+x6c.toLowerCase(),tVd="Konqueror",B2="(\\d+(\\.\\d+)?)",RSo=new RegExp("Version/"+B2),MeE=new RegExp(tqr,"i"),LeE=new RegExp(jSo+" \\w+","i"),zeE=new RegExp(NSo+" \\w+","i"),rVd=new RegExp(nqr+"|PlayBook|BB10","i"),nVd={"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 UeE={[J_d]:[new RegExp("rv:"+B2)],[Y_d]:[new RegExp(O6c+"?\\/"+B2)],[iqr]:[new RegExp("("+iqr+"|CrMo)\\/"+B2)],[K_d]:[new RegExp("CriOS\\/"+B2)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+B2)],[S6c]:[RSo],[$_d]:[RSo],[FSo]:[new RegExp("("+FSo+"|OPR)\\/"+B2)],[kSo]:[new RegExp(kSo+"\\/"+B2)],[X_d]:[new RegExp("FxiOS\\/"+B2)],[tVd]:[new RegExp("Konqueror[:/]?"+B2,"i")],[nqr]:[new RegExp(nqr+" "+B2),RSo],[Z_d]:[new RegExp("android\\s"+B2,"i")],[W_d]:[new RegExp(G_d+"\\/"+B2)],[B6c]:[new RegExp("(rv:|MSIE )"+B2)],Mozilla:[new RegExp("rv:"+B2)]};var _eE=[[new RegExp(tqr+"; "+tqr+" (.*?)[);]","i"),e=>[tqr,e&&e[1]||""]],[new RegExp(NSo,"i"),[NSo,""]],[new RegExp(jSo,"i"),[jSo,""]],[rVd,[nqr,""]],[new RegExp(rVt,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[eVd,""];if(new RegExp(Uot).test(t)&&!/IEMobile\b/.test(t))return[rVt+" "+Uot,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=nVd[n]||"";return/arm/i.test(t)&&(i="RT"),[rVt,i]}return[rVt,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[rqr,t.join(".")]}return[rqr,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=$_t(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+zot+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+zot+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[zot,t.join(".")]}return[zot,""]}],[/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/,[H_d,""]],[/Linux|debian/i,["Linux",""]]];var D6c="utf8";function R6c(e,t){if(!e||typeof e!="string"||iVd(e))throw new Error(t)}function iVd(e){return e.trim().length===0}function F6c(e){return e?.replace(/\/+$/,"")}async function k6c(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 oqr(){return new Date().toISOString()}function Rfe(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var N6c=e=>e instanceof Error;function QSo(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var sqr=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 hze=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()}},_ot=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function j6c(e){if(e instanceof hze){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 MSo(e){return typeof e=="object"&&(e instanceof hze||e instanceof _ot)}function Q6c(e){return typeof e=="object"&&e instanceof hze&&e.status===413}var nVt=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new eqr,this._events=new sqr,this._isInitialized=!1,R6c(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=F6c(r.host||"https://us.i.posthog.com"),this.flushAt=r.flushAt?Math.max(r.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r.maxQueueSize??1e3),this.flushInterval=r.flushInterval??1e4,this.preloadFeatureFlags=r.preloadFeatureFlags??!0,this.defaultOptIn=r.defaultOptIn??!0,this.disableSurveys=r.disableSurveys??!1,this._retryOptions={retryCount:r.fetchRetryCount??3,retryDelay:r.fetchRetryDelay??3e3,retryCheck:MSo},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=r.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=w6c("[PostHog]",this.logMsgIfDebug.bind(this)),this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!h6c()||(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(u6.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(u6.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(u6.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};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:xSo(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof hze)return{type:"api_error",statusCode:t.status};if(t instanceof _ot){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=Z_t(a.response);return c===void 0&&(c=!1),{response:c,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let c=a[t];return c===void 0?null:c}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let c=await this.getFlags(t,r,n,i,a);if(!c.success)return;let u=c.response;return u.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),u.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:u?.requestId,quotaLimited:u.quotaLimited}):u}async getSurveysStateless(){if(await this._initPromise,this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(u6.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(u6.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(u6.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(u6.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(u6.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=Rfe(()=>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:oqr()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,c=this.disableCompression?null:await J7r(s,this.isDebug),u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||s};try{await this.fetchWithRetry(a,u)}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:oqr(),uuid:n?.uuid?n.uuid:mCe()};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 j6c(t)})}async flush(){let t=QSo([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),QSo([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(u6.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(u6.Queue)||[]).slice(i.length);this.setPersistedProperty(u6.Queue,m),t=m,await this.flushStorage()},a={api_key:this.apiKey,batch:o,sent_at:oqr()};this.historicalMigration&&(a.historical_migration=!0);let c=JSON.stringify(a),u=`${this.host}/batch/`,l=this.disableCompression?null:await J7r(c,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||c},d={retryCheck:f=>Q6c(f)?!1:MSo(f)};try{await this.fetchWithRetry(u,p,d)}catch(f){if(Q6c(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 _ot||await s(),this._events.emit("error",f),f}await s(),r.push(...o)}this._events.emit("flush",r)}async fetchWithRetry(t,r,n,i){let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,D6c)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await k6c(async()=>{let a=new AbortController,c=i??this.requestTimeout,u=Rfe(()=>a.abort(),c),l=null;try{l=await this.fetch(t,{signal:a.signal,...r})}catch(d){throw new _ot(d)}finally{clearTimeout(u)}if(!(r.mode==="no-cors")&&(l.status<200||l.status>=400))throw new hze(l,s);return l},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(u6.Queue)||[]).length===0||(await this.flush(),r)););}catch(o){if(!MSo(o))throw o;await j6c(o)}},i;try{return await Promise.race([new Promise((o,s)=>{i=Rfe(()=>{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 l6={};re(l6,{DOMExceptionCoercer:()=>_So,ErrorCoercer:()=>VSo,ErrorEventCoercer:()=>qSo,ErrorPropertiesBuilder:()=>LSo,EventCoercer:()=>HSo,ObjectCoercer:()=>WSo,PrimitiveCoercer:()=>KSo,PromiseRejectionEventCoercer:()=>JSo,ReduceableCache:()=>YSo,StringCoercer:()=>GSo,chromeStackLineParser:()=>zSo,createDefaultStackParser:()=>bVd,createStackParser:()=>K6c,geckoStackLineParser:()=>USo,nodeStackLineParser:()=>q6c,opera10StackLineParser:()=>U6c,opera11StackLineParser:()=>_6c,reverseAndStripFrames:()=>H6c,winjsStackLineParser:()=>z6c});var aqr,M6c,cqr;function L6c(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return cqr&&r.length===M6c||(M6c=r.length,cqr=r.reduce((n,i)=>{aqr||(aqr={});let o=aqr[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,aqr[i]=[u,l];break}}}return n},{})),cqr}var sVd=4,LSo=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&&OSo(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:L6c(this.stackParser),skipFirstLines:t.skipFirstLines??1}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=sVd){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 KO="?";function mee(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?KO:r,in_app:!0};return $_t(n)||(o.lineno=n),$_t(i)||(o.colno=i),o}var uqr=(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]:KO,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var aVd=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,cVd=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,uVd=/\((\S*)(?::(\d+))(?::(\d+))\)/,zSo=(e,t)=>{let r=aVd.exec(e);if(r){let[,i,o,s]=r;return mee(t,i,KO,+o,+s)}let n=cVd.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=uVd.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=uqr(n[1]||KO,n[2]);return mee(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var lVd=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,pVd=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,USo=(e,t)=>{let r=lVd.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=pVd.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]||KO;return[o,i]=uqr(o,i),mee(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var fVd=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,z6c=(e,t)=>{let r=fVd.exec(e);return r?mee(t,r[2],r[1]||KO,+r[3],r[4]?+r[4]:void 0):void 0};var dVd=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,U6c=(e,t)=>{let r=dVd.exec(e);return r?mee(t,r[2],r[3]||KO,+r[1]):void 0},mVd=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,_6c=(e,t)=>{let r=mVd.exec(e);return r?mee(t,r[5],r[3]||r[4]||KO,+r[1],+r[2]):void 0};var hVd=/^\s*[-]{4,}$/,gVd=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,q6c=(e,t)=>{let r=e.match(gVd);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||KO,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:V6c(r[3]),colno:V6c(r[4]),in_app:AVd(c||"",u),platform:t}}if(e.match(hVd))return{filename:e,platform:t}};function AVd(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 V6c(e){return parseInt(e||"",10)||void 0}var G6c=/\(error: (.*)\)/,W6c=50;function H6c(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,W6c).map(r=>({...r,filename:r.filename||yVd(t).filename,function:r.function||KO}))}function yVd(e){return e[e.length-1]||{}}function bVd(){return K6c("web:javascript",zSo,USo)}function K6c(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
3225
- `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=G6c.test(a)?a.replace(G6c,"$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>=W6c)break}}return H6c(i)}}var _So=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=eVt(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 mze(t,"DOMException")}isDOMError(t){return mze(t,"DOMError")}};var VSo=class{match(t){return DSo(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 qSo=class{constructor(){}match(t){return v6c(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 EVd=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,GSo=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(EVd);return i&&(r=i[1],n=i[2]),[r,n]}};var J6c=["fatal","error","warning","log","info","debug"];function lqr(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 WSo=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 Lot(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=lqr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return eVt(t)&&!b6c(t)&&J6c.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(N6c(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var HSo=class{match(t){return Lot(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${lqr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var KSo=class{match(t){return Z7r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var JSo=class{match(t){return mze(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Lot(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 Z7r(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 YSo=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 Z6c=require("fs"),$6c=require("readline"),pqr=new l6.ReduceableCache(25),eMc=new l6.ReduceableCache(20),XSo=7,vVd=1e3,IVd=1e4;async function tMc(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"||SVd(s)||TVd(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(eMc.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=OVd(o);if(s.every(c=>BVd(i,c)))continue;let a=PVd(pqr,i,{});n.push(CVd(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&wVd(e,pqr),pqr.reduce(),e}function CVd(e,t,r){return new Promise(n=>{let i=(0,Z6c.createReadStream)(e),o=(0,$6c.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(){eMc.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]=DVd(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 wVd(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;xVd(r.lineno,r,n)}}function xVd(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=rMc(e);i<e;i++){let o=r[i];if(o===void 0)return void Y6c(t);t.pre_context.push(o)}if(r[e]===void 0)return void Y6c(t);t.context_line=r[e];let n=nMc(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 Y6c(e){delete e.pre_context,delete e.context_line,delete e.post_context}function SVd(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function TVd(e){return e.lineno!==void 0&&e.lineno>IVd||e.colno!==void 0&&e.colno>vVd}function BVd(e,t){let r=pqr.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 OVd(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=X6c(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+XSo:(i.push(n),n=X6c(o)),t++}return i}function X6c(e){return[rMc(e),nMc(e)]}function rMc(e){return Math.max(1,e-XSo)}function nMc(e){return e+XSo}function PVd(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function DVd(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function RVd(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 iMc(e,t){globalThis.process?.on("uncaughtException",RVd(e,t))}function oMc(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var FVd=2e3,dH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new $7r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return PSo(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()&&(iMc(this.onException.bind(this),this.onFatalError.bind(this)),oMc(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(FVd),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var sMc="5.29.1";var iVt={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function aMc(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 kVd=6e4,NVd=1152921504606847e3,jVd=["is_not"],Vot=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Gd=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},hee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},fqr=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 hee||u instanceof Gd?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 hee||u instanceof Gd?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.ensure_experience_continuity)throw new Gd("Flag has experience continuity enabled");if(!t.active)return!1;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 Gd("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 Gd(`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 Gd("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Gd(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Gd(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Gd(`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 Gd(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Gd(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Gd(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(d=>d.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof hee)throw l;if(l instanceof Gd)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new Gd("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"?fMc(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,i,o):pMc(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await cMc(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await cMc(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(kVd,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 Vot(`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 Vot(`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 Vot(`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 Vot&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=Rfe(()=>{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 cMc(e,t,r=""){let n=await aMc(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/NVd}function pMc(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new Gd("Operator is_not_set is not supported")}else throw new Gd(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!jVd.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 uMc(String(i))&&String(s).match(String(i))!==null;case"not_regex":return uMc(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Gd("Date operations cannot be performed on boolean values");let u=UVd(String(i));if(u==null&&(u=lMc(i)),u==null)throw new Gd(`Invalid date: ${i}`);let l=lMc(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return _V(JO(String(s)),JO(String(i)))===0;case"semver_neq":return _V(JO(String(s)),JO(String(i)))!==0;case"semver_gt":return _V(JO(String(s)),JO(String(i)))>0;case"semver_gte":return _V(JO(String(s)),JO(String(i)))>=0;case"semver_lt":return _V(JO(String(s)),JO(String(i)))<0;case"semver_lte":return _V(JO(String(s)),JO(String(i)))<=0;case"semver_tilde":{let u=JO(String(s)),{lower:l,upper:p}=MVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}case"semver_caret":{let u=JO(String(s)),{lower:l,upper:p}=LVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}case"semver_wildcard":{let u=JO(String(s)),{lower:l,upper:p}=zVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}default:throw new Gd(`Unknown operator: ${o}`)}}function QVd(e,t){if(!(e in t))throw new hee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function fMc(e,t,r,n=!1){let i=String(e.value);QVd(i,r);let o=r[i];return dMc(o,t,r,n)}function dMc(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=dMc(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof hee)throw c;if(c instanceof Gd)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new Gd("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=fMc(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=pMc(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof hee)throw c;if(c instanceof Gd)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new Gd("can't match cohort without a given cohort property value");return i==="AND"}function uMc(e){try{return new RegExp(e),!0}catch{return!1}}function JO(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Gd(`Invalid semver: ${e}`);let n=r.split("."),i=c=>{if(c===void 0||c==="")return 0;if(!/^\d+$/.test(c))throw new Gd(`Invalid semver: ${e}`);return parseInt(c,10)},o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function _V(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 MVd(e){let t=JO(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function LVd(e){let t=JO(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 zVd(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Gd(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=parseInt(n[0],10);if(isNaN(i))throw new Gd(`Invalid wildcard semver: ${e}`);let o,s;if(n.length===1)o=[i,0,0],s=[i+1,0,0];else{let a=parseInt(n[1],10);if(isNaN(a))throw new Gd(`Invalid wildcard semver: ${e}`);o=[i,a,0],s=[i,a+1,0]}return{lower:o,upper:s}}function lMc(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 Gd(`${e} is in an invalid date format`)}throw new Gd(`The date provided ${e} must be a string, number, or date object`)}function UVd(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 dqr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var _Vd=100,mMc=3e4,VVd=5e4,qVd=50,GVd=500,mqr=class extends nVt{constructor(t,r={}){if(super(t,r),this._memoryStorage=new dqr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,_Vd):mMc,typeof r.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(r.waitUntilDebounceMs,0)),typeof r.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(r.waitUntilMaxWaitMs,0)),r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new fqr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new dH(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||VVd}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??GVd,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??qVd;this._waitUntilCycle.timer=Rfe(()=>{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 sMc}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=mMc){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 B=this._flagOverrides[t];if(B===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:B!==!1,variant:typeof B=="string"?B: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,h,A,y,I,w,C;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let B=this.featureFlagsPoller?.featureFlagsByKey[t];if(B)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(B,d,{matchValue:i});if(O){m=!0;let k=O.value;I=B.id,C="Evaluated locally",f={key:t,enabled:k!==!1,variant:typeof k=="string"?k:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof hee||O instanceof Gd)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!m&&!c){let B=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(B===void 0)y=iVt.UNKNOWN_ERROR;else{h=B.requestId,A=B.evaluatedAt;let O=[];B.errorsWhileComputingFlags&&O.push(iVt.ERRORS_WHILE_COMPUTING),B.quotaLimited?.includes("feature_flags")&&O.push(iVt.QUOTA_LIMITED);let k=B.flags[t];if(k===void 0)O.push(iVt.FLAG_MISSING);else{I=k.metadata?.id,w=k.metadata?.version,C=k.reason?.description??k.reason?.code;let P;if(k.metadata?.payload!==void 0)try{P=JSON.parse(k.metadata.payload)}catch{P=k.metadata.payload}f={key:t,enabled:k.enabled,variant:k.variant,payload:P}}O.length>0&&(y=O.join(","))}}if(o){let B=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,O=`${t}_${B}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let k={$feature_flag:t,$feature_flag_response:B,$feature_flag_id:I,$feature_flag_version:w,$feature_flag_reason:C,locally_evaluated:m,[`$feature/${t}`]:B,$feature_flag_request_id:h,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let P=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();P!==void 0&&(k.$feature_flag_definitions_loaded_at=P)}y&&(k.$feature_flag_error=y),this.capture({distinctId:r,event:"$feature_flag_called",properties:k,groups:s,disableGeoip:a})}}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally: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={},h={},A=!0;if(f&&(m=f.response,h=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||{}},h={...h,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(h={...h,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:h}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){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=Rfe(()=>{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(I6c(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){if(!dH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(dH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!dH.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");return this.addPendingPromise(dH.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,d={...this.props,...l?.properties||{},...i||{}};p||(p=mCe(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:d,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let m=await Promise.resolve().then(async()=>{if(s){let h=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,h)}return f.event,{}}).then(h=>{let A={};if(h)for(let[I,w]of Object.entries(h))A[`$feature/${I}`]=w;let y=Object.keys(h||{}).filter(I=>h?.[I]!==!1).sort();return y.length>0&&(A.$active_feature_flags=y),A}).catch(()=>({})).then(h=>({...h,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof m.$raw_user_agent=="string"&&A6c(m.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",m.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:m,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var hMc=require("async_hooks"),hqr=class{constructor(){this.storage=new hMc.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 gMc="posthog-node";function WVd(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[ZSo.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(h=>({...h,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var ZSo=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=gMc,this.name=gMc,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(WVd(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};dH.errorPropertiesBuilder=new l6.ErrorPropertiesBuilder([new l6.EventCoercer,new l6.ErrorCoercer,new l6.ObjectCoercer,new l6.StringCoercer,new l6.PrimitiveCoercer],l6.createStackParser("node:javascript",l6.nodeStackLineParser),[f6c(),tMc]);var hCe=class extends mqr{getLibraryId(){return"posthog-node"}initializeContext(){return new hqr}};var gqr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new hCe(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.37.10",usingAccessToken:!0,...Zae()}})}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 oVt=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};rr();var qot=require("fs/promises"),AMc=require("os"),yMc=require("path");var HVd="id",KVd=".fern",sVt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new hCe(r),this.userId=t==null?void 0:vEo(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.37.10",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...Zae()}})}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 Hf({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=JQ(),r=$e(Ht.of((0,AMc.homedir)()),ke.of(KVd),ke.of(HVd));try{await sr(r)?this.persistedDistinctId=(await(0,qot.readFile)(r)).toString():(await(0,qot.mkdir)((0,yMc.dirname)(r),{recursive:!0}),await(0,qot.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var $So;async function aVt(){return $So==null&&($So=await JVd()),$So}async function JVd(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new oVt;let r=await cit();return r!=null?new sVt({token:r,posthogApiKey:e}):await SV()!=null?new gqr({posthogApiKey:e}):new sVt({token:void 0,posthogApiKey:e})}catch{return new oVt}}jt();Ut();var cVt=we(require("process"),1);l9e();var vMc=we(pdo(),1),IMc=we(EMc(),1);function uT(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=KG(e),e.length===0))return 0;e=e.replace((0,IMc.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(vMc.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function Aqr(e){let t=0;for(let r of e.split(`
3225
+ `);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=G6c.test(a)?a.replace(G6c,"$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>=W6c)break}}return H6c(i)}}var _So=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=eVt(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 mze(t,"DOMException")}isDOMError(t){return mze(t,"DOMError")}};var VSo=class{match(t){return DSo(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 qSo=class{constructor(){}match(t){return v6c(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 EVd=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,GSo=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(EVd);return i&&(r=i[1],n=i[2]),[r,n]}};var J6c=["fatal","error","warning","log","info","debug"];function lqr(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 WSo=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 Lot(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=lqr(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return eVt(t)&&!b6c(t)&&J6c.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(N6c(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var HSo=class{match(t){return Lot(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${lqr(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var KSo=class{match(t){return Z7r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var JSo=class{match(t){return mze(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Lot(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 Z7r(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 YSo=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 Z6c=require("fs"),$6c=require("readline"),pqr=new l6.ReduceableCache(25),eMc=new l6.ReduceableCache(20),XSo=7,vVd=1e3,IVd=1e4;async function tMc(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"||SVd(s)||TVd(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(eMc.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=OVd(o);if(s.every(c=>BVd(i,c)))continue;let a=PVd(pqr,i,{});n.push(CVd(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&wVd(e,pqr),pqr.reduce(),e}function CVd(e,t,r){return new Promise(n=>{let i=(0,Z6c.createReadStream)(e),o=(0,$6c.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(){eMc.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]=DVd(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 wVd(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;xVd(r.lineno,r,n)}}function xVd(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=rMc(e);i<e;i++){let o=r[i];if(o===void 0)return void Y6c(t);t.pre_context.push(o)}if(r[e]===void 0)return void Y6c(t);t.context_line=r[e];let n=nMc(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 Y6c(e){delete e.pre_context,delete e.context_line,delete e.post_context}function SVd(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function TVd(e){return e.lineno!==void 0&&e.lineno>IVd||e.colno!==void 0&&e.colno>vVd}function BVd(e,t){let r=pqr.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 OVd(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=X6c(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+XSo:(i.push(n),n=X6c(o)),t++}return i}function X6c(e){return[rMc(e),nMc(e)]}function rMc(e){return Math.max(1,e-XSo)}function nMc(e){return e+XSo}function PVd(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function DVd(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}function RVd(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 iMc(e,t){globalThis.process?.on("uncaughtException",RVd(e,t))}function oMc(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var FVd=2e3,dH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new $7r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return PSo(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()&&(iMc(this.onException.bind(this),this.onFatalError.bind(this)),oMc(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(FVd),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var sMc="5.29.1";var iVt={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};async function aMc(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 kVd=6e4,NVd=1152921504606847e3,jVd=["is_not"],Vot=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Gd=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},hee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},fqr=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 hee||u instanceof Gd?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 hee||u instanceof Gd?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.ensure_experience_continuity)throw new Gd("Flag has experience continuity enabled");if(!t.active)return!1;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 Gd("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 Gd(`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 Gd("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Gd(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Gd(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Gd(`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 Gd(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Gd(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Gd(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=!1,c;for(let u of s)try{if(await this.isConditionMatch(t,r,u,n,i)){let l=u.variant,p=o.multivariate?.variants||[];c=l&&p.some(d=>d.key===l)?l:await this.getMatchingVariant(t,r)||!0;break}}catch(l){if(l instanceof hee)throw l;if(l instanceof Gd)a=!0;else throw l}if(c!==void 0)return c;if(a)throw new Gd("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"?fMc(c,i,this.cohorts,this.debugMode):u==="flag"?await this.evaluateFlagDependency(c,i,o):pMc(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await cMc(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await cMc(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(kVd,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 Vot(`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 Vot(`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 Vot(`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 Vot&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=Rfe(()=>{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 cMc(e,t,r=""){let n=await aMc(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/NVd}function pMc(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")throw new Gd("Operator is_not_set is not supported")}else throw new Gd(`Property ${n} not found in propertyValues`);let s=t[n];if(s==null&&!jVd.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 uMc(String(i))&&String(s).match(String(i))!==null;case"not_regex":return uMc(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:null;if(typeof i=="string")try{u=parseFloat(i)}catch{}return u==null||s==null?c(String(s),String(i),o):typeof s=="string"?c(s,String(i),o):c(s,u,o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Gd("Date operations cannot be performed on boolean values");let u=UVd(String(i));if(u==null&&(u=lMc(i)),u==null)throw new Gd(`Invalid date: ${i}`);let l=lMc(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return _V(JO(String(s)),JO(String(i)))===0;case"semver_neq":return _V(JO(String(s)),JO(String(i)))!==0;case"semver_gt":return _V(JO(String(s)),JO(String(i)))>0;case"semver_gte":return _V(JO(String(s)),JO(String(i)))>=0;case"semver_lt":return _V(JO(String(s)),JO(String(i)))<0;case"semver_lte":return _V(JO(String(s)),JO(String(i)))<=0;case"semver_tilde":{let u=JO(String(s)),{lower:l,upper:p}=MVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}case"semver_caret":{let u=JO(String(s)),{lower:l,upper:p}=LVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}case"semver_wildcard":{let u=JO(String(s)),{lower:l,upper:p}=zVd(String(i));return _V(u,l)>=0&&_V(u,p)<0}default:throw new Gd(`Unknown operator: ${o}`)}}function QVd(e,t){if(!(e in t))throw new hee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function fMc(e,t,r,n=!1){let i=String(e.value);QVd(i,r);let o=r[i];return dMc(o,t,r,n)}function dMc(e,t,r,n=!1){if(!e)return!0;let i=e.type,o=e.values;if(!o||o.length===0)return!0;let s=!1;if("values"in o[0]){for(let a of o)try{let c=dMc(a,t,r,n);if(i==="AND"){if(!c)return!1}else if(c)return!0}catch(c){if(c instanceof hee)throw c;if(c instanceof Gd)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new Gd("Can't match cohort without a given cohort property value");return i==="AND"}for(let a of o)try{let c;if(a.type==="cohort")c=fMc(a,t,r,n);else if(a.type==="flag"){n&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${a.key||"unknown"}'`);continue}else c=pMc(a,t);let u=a.negation||!1;if(i==="AND"){if(!c&&!u||c&&u)return!1}else if(c&&!u||!c&&u)return!0}catch(c){if(c instanceof hee)throw c;if(c instanceof Gd)n&&console.debug(`Failed to compute property ${a} locally: ${c}`),s=!0;else throw c}if(s)throw new Gd("can't match cohort without a given cohort property value");return i==="AND"}function uMc(e){try{return new RegExp(e),!0}catch{return!1}}function JO(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Gd(`Invalid semver: ${e}`);let n=r.split("."),i=c=>{if(c===void 0||c==="")return 0;if(!/^\d+$/.test(c))throw new Gd(`Invalid semver: ${e}`);return parseInt(c,10)},o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function _V(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 MVd(e){let t=JO(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function LVd(e){let t=JO(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 zVd(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Gd(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=parseInt(n[0],10);if(isNaN(i))throw new Gd(`Invalid wildcard semver: ${e}`);let o,s;if(n.length===1)o=[i,0,0],s=[i+1,0,0];else{let a=parseInt(n[1],10);if(isNaN(a))throw new Gd(`Invalid wildcard semver: ${e}`);o=[i,a,0],s=[i,a+1,0]}return{lower:o,upper:s}}function lMc(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 Gd(`${e} is in an invalid date format`)}throw new Gd(`The date provided ${e} must be a string, number, or date object`)}function UVd(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 dqr=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var _Vd=100,mMc=3e4,VVd=5e4,qVd=50,GVd=500,mqr=class extends nVt{constructor(t,r={}){if(super(t,r),this._memoryStorage=new dqr,this.options=r,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof r.featureFlagsPollingInterval=="number"?Math.max(r.featureFlagsPollingInterval,_Vd):mMc,typeof r.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(r.waitUntilDebounceMs,0)),typeof r.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(r.waitUntilMaxWaitMs,0)),r.personalApiKey){if(r.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');r.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new fqr({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},onLoad:i=>{this._events.emit("localEvaluationFlagsLoaded",i)},customHeaders:this.getCustomHeaders(),cacheProvider:r.flagDefinitionCacheProvider,strictLocalEvaluation:r.strictLocalEvaluation}))}this.errorTracking=new dH(this,r,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||VVd}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??GVd,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??qVd;this._waitUntilCycle.timer=Rfe(()=>{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 sMc}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=mMc){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 B=this._flagOverrides[t];if(B===void 0)return;let O=this._payloadOverrides?.[t];return{key:t,enabled:B!==!1,variant:typeof B=="string"?B: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,h,A,y,I,w,C;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let B=this.featureFlagsPoller?.featureFlagsByKey[t];if(B)try{let O=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(B,d,{matchValue:i});if(O){m=!0;let k=O.value;I=B.id,C="Evaluated locally",f={key:t,enabled:k!==!1,variant:typeof k=="string"?k:void 0,payload:O.payload??void 0}}}catch(O){if(O instanceof hee||O instanceof Gd)this._logger?.info(`${O.name} when computing flag locally: ${t}: ${O.message}`);else throw O}}if(!m&&!c){let B=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(B===void 0)y=iVt.UNKNOWN_ERROR;else{h=B.requestId,A=B.evaluatedAt;let O=[];B.errorsWhileComputingFlags&&O.push(iVt.ERRORS_WHILE_COMPUTING),B.quotaLimited?.includes("feature_flags")&&O.push(iVt.QUOTA_LIMITED);let k=B.flags[t];if(k===void 0)O.push(iVt.FLAG_MISSING);else{I=k.metadata?.id,w=k.metadata?.version,C=k.reason?.description??k.reason?.code;let P;if(k.metadata?.payload!==void 0)try{P=JSON.parse(k.metadata.payload)}catch{P=k.metadata.payload}f={key:t,enabled:k.enabled,variant:k.variant,payload:P}}O.length>0&&(y=O.join(","))}}if(o){let B=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,O=`${t}_${B}`;if(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(O)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(O):this.distinctIdHasSentFlagCalls[r]=[O];let k={$feature_flag:t,$feature_flag_response:B,$feature_flag_id:I,$feature_flag_version:w,$feature_flag_reason:C,locally_evaluated:m,[`$feature/${t}`]:B,$feature_flag_request_id:h,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let P=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();P!==void 0&&(k.$feature_flag_definitions_loaded_at=P)}y&&(k.$feature_flag_error=y),this.capture({distinctId:r,event:"$feature_flag_called",properties:k,groups:s,disableGeoip:a})}}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){let i=await this.getFeatureFlag(t,r,n);if(i!==void 0)return!!i||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally: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={},h={},A=!0;if(f&&(m=f.response,h=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||{}},h={...h,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(h={...h,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:h}}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){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=Rfe(()=>{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(I6c(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){if(!dH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");this.addPendingPromise(dH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.capture({...s,uuid:i})))}}async captureExceptionImmediate(t,r,n){if(!dH.isPreviouslyCapturedError(t)){let i=new Error("PostHog syntheticException");return this.addPendingPromise(dH.buildEventMessage(t,{syntheticException:i},r,n).then(o=>this.captureImmediate(o)))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u}=t,l=this.context?.get(),p=r||l?.distinctId,d={...this.props,...l?.properties||{},...i||{}};p||(p=mCe(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:p,event:n,properties:d,groups:o,sendFeatureFlags:s,timestamp:a,disableGeoip:c,uuid:u});if(!f)return Promise.reject(null);let m=await Promise.resolve().then(async()=>{if(s){let h=typeof s=="object"?s:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,o,c,h)}return f.event,{}}).then(h=>{let A={};if(h)for(let[I,w]of Object.entries(h))A[`$feature/${I}`]=w;let y=Object.keys(h||{}).filter(I=>h?.[I]!==!1).sort();return y.length>0&&(A.$active_feature_flags=y),A}).catch(()=>({})).then(h=>({...h,...f.properties||{},$groups:f.groups||o}));return f.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof m.$raw_user_agent=="string"&&A6c(m.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event="$bot_pageview",m.$browser_type="bot"),{distinctId:f.distinctId,event:f.event,properties:m,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var hMc=require("async_hooks"),hqr=class{constructor(){this.storage=new hMc.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 gMc="posthog-node";function WVd(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[ZSo.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(h=>({...h,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var ZSo=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=gMc,this.name=gMc,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(WVd(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};dH.errorPropertiesBuilder=new l6.ErrorPropertiesBuilder([new l6.EventCoercer,new l6.ErrorCoercer,new l6.ObjectCoercer,new l6.StringCoercer,new l6.PrimitiveCoercer],l6.createStackParser("node:javascript",l6.nodeStackLineParser),[f6c(),tMc]);var hCe=class extends mqr{getLibraryId(){return"posthog-node"}initializeContext(){return new hqr}};var gqr=class{posthog;constructor({posthogApiKey:t}){this.posthog=new hCe(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.37.11",usingAccessToken:!0,...Zae()}})}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 oVt=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};rr();var qot=require("fs/promises"),AMc=require("os"),yMc=require("path");var HVd="id",KVd=".fern",sVt=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new hCe(r),this.userId=t==null?void 0:vEo(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.37.11",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...Zae()}})}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 Hf({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=JQ(),r=$e(Ht.of((0,AMc.homedir)()),ke.of(KVd),ke.of(HVd));try{await sr(r)?this.persistedDistinctId=(await(0,qot.readFile)(r)).toString():(await(0,qot.mkdir)((0,yMc.dirname)(r),{recursive:!0}),await(0,qot.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var $So;async function aVt(){return $So==null&&($So=await JVd()),$So}async function JVd(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new oVt;let r=await cit();return r!=null?new sVt({token:r,posthogApiKey:e}):await SV()!=null?new gqr({posthogApiKey:e}):new sVt({token:void 0,posthogApiKey:e})}catch{return new oVt}}jt();Ut();var cVt=we(require("process"),1);l9e();var vMc=we(pdo(),1),IMc=we(EMc(),1);function uT(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=KG(e),e.length===0))return 0;e=e.replace((0,IMc.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(vMc.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}function Aqr(e){let t=0;for(let r of e.split(`
3226
3226
  `))t=Math.max(t,uT(r));return t}var _Mc=we(t1o(),1);var XVd=/[\p{Lu}]/u,ZVd=/[\p{Ll}]/u,xMc=/^[\p{Lu}](?![\p{Lu}])/gu,BMc=/([\p{Alpha}\p{N}_]|$)/u,r1o=/[_.\- ]+/,$Vd=new RegExp("^"+r1o.source),SMc=new RegExp(r1o.source+BMc.source,"gu"),TMc=new RegExp("\\d+"+BMc.source,"gu"),e5d=(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&&XVd.test(u)?(e=e.slice(0,c)+"-"+e.slice(c),i=!1,s=o,o=!0,c++):o&&s&&ZVd.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},t5d=(e,t)=>(xMc.lastIndex=0,e.replace(xMc,r=>t(r))),r5d=(e,t)=>(SMc.lastIndex=0,TMc.lastIndex=0,e.replace(SMc,(r,n)=>t(n)).replace(TMc,r=>t(r)));function n1o(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?r1o.test(e)?"":t.pascalCase?n(e):r(e):(e!==r(e)&&(e=e5d(e,r,n,t.preserveConsecutiveUppercase)),e=e.replace($Vd,""),e=t.preserveConsecutiveUppercase?t5d(e,r):r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),r5d(e,n))}var a1o=we(PMc(),1);l9e();var DMc=(e=0)=>t=>`\x1B[${t+e}m`,RMc=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,FMc=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,oE={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]}},ZnE=Object.keys(oE.modifier),s5d=Object.keys(oE.color),a5d=Object.keys(oE.bgColor),$nE=[...s5d,...a5d];function c5d(){let e=new Map;for(let[t,r]of Object.entries(oE)){for(let[n,i]of Object.entries(r))oE[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=oE[n],e.set(i[0],i[1]);Object.defineProperty(oE,t,{value:r,enumerable:!1})}return Object.defineProperty(oE,"codes",{value:e,enumerable:!1}),oE.color.close="\x1B[39m",oE.bgColor.close="\x1B[49m",oE.color.ansi=DMc(),oE.color.ansi256=RMc(),oE.color.ansi16m=FMc(),oE.bgColor.ansi=DMc(10),oE.bgColor.ansi256=RMc(10),oE.bgColor.ansi16m=FMc(10),Object.defineProperties(oE,{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=>oE.rgbToAnsi256(...oE.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)=>oE.ansi256ToAnsi(oE.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>oE.ansi256ToAnsi(oE.hexToAnsi256(t)),enumerable:!1}}),oE}var u5d=c5d(),kMc=u5d;var yqr=new Set(["\x1B","\x9B"]),l5d=39,o1o="\x07",QMc="[",p5d="]",MMc="m",s1o=`${p5d}8;;`,NMc=e=>`${yqr.values().next().value}${QMc}${e}${MMc}`,jMc=e=>`${yqr.values().next().value}${s1o}${e}${o1o}`,f5d=e=>e.split(" ").map(t=>uT(t)),i1o=(e,t,r)=>{let n=[...t],i=!1,o=!1,s=uT(KG(e[e.length-1]));for(let[a,c]of n.entries()){let u=uT(c);if(s+u<=r?e[e.length-1]+=c:(e.push(c),s=0),yqr.has(c)&&(i=!0,o=n.slice(a+1).join("").startsWith(s1o)),i){o?c===o1o&&(i=!1,o=!1):c===MMc&&(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())},d5d=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(uT(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},m5d=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,o,s=f5d(e),a=[""];for(let[u,l]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=uT(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(""),i1o(a,l,t);continue}if(p+s[u]>t&&p>0&&s[u]>0){if(r.wordWrap===!1&&p<t){i1o(a,l,t);continue}a.push("")}if(p+s[u]>t&&r.wordWrap===!1){i1o(a,l,t);continue}a[a.length-1]+=l}r.trim!==!1&&(a=a.map(u=>d5d(u)));let c=[...a.join(`
3227
3227
  `)];for(let[u,l]of c.entries()){if(n+=l,yqr.has(l)){let{groups:d}=new RegExp(`(?:\\${QMc}(?<code>\\d+)m|\\${s1o}(?<uri>.*)${o1o})`).exec(c.slice(u).join(""))||{groups:{}};if(d.code!==void 0){let f=Number.parseFloat(d.code);i=f===l5d?void 0:f}else d.uri!==void 0&&(o=d.uri.length===0?void 0:d.uri)}let p=kMc.codes.get(Number(i));c[u+1]===`
3228
3228
  `?(o&&(n+=jMc("")),i&&p&&(n+=NMc(p))):l===`
@@ -3812,7 +3812,7 @@ Hint: Values starting with "@" (such as scoped npm packages) must be wrapped in
3812
3812
  Add a 'docs:' section to your fern.yml to get started.`,code:D.Code.ConfigError});let o=await new zPe({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&&cRm(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 D({code:D.Code.ValidationError});return}if(c.length>0)for(let p of c){let d=p.severity==="warning"?Ae.yellow:Ae.red;process.stderr.write(`${d(`${p.displayRelativeFilepath}:${p.line}:${p.column}: ${p.message}`)}
3813
3813
  `)}let l=0;if(o.mdxParseErrors.length>0){for(let p of o.mdxParseErrors)t.stderr.info(`
3814
3814
  ${p.toString()}
3815
- `);r.fix?l+=await Cei(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!sXn()&&await wei(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new H0t({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new D({code:D.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${jr.warning} ${Ae.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(Ae.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${jr.success} ${Ae.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=>Eee(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 cRm(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 G_o(e){let t=new q_o;mi(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}))}Hb();Ut();var Opu=we(require("net"),1),Ppu=we(require("os"),1),Tei=class extends Error{constructor(t){super(`${t} is locked`)}},X0t={old:new Set,young:new Set},uRm=1e3*15,Dpu=new Set;var Yqt,lRm=()=>{let e=Ppu.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},Tpu=e=>new Promise((t,r)=>{let n=Opu.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),Bpu=async(e,t)=>{if(e.host||e.port===0)return Tpu(e);for(let r of t)try{await Tpu({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},pRm=e=>X0t.old.has(e)||X0t.young.has(e)||Dpu.has(e),fRm=function*(e){e&&(yield*e),yield 0};async function _Pe(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??{};Yqt===void 0&&(Yqt=setTimeout(()=>{Yqt=void 0,X0t.old=X0t.young,X0t.young=new Set},uRm),Yqt.unref&&Yqt.unref());let o=lRm();for(let s of fRm(t))try{if(r.has(s))continue;let a=await Bpu({...i,port:s},o);for(;pRm(a);){if(s!==0)throw new Tei(s);a=await Bpu({...i,port:s},o)}return n?Dpu.add(a):X0t.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof Tei))throw a}throw new Error("No available ports found")}Ut();var kpu=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Rpu="docs.buildwithfern.com",Fpu=62;function CUe(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)),kpu.test(t)}function Npu(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function Xqt({orgId:e,previewId:t}){let r=Npu(t),n=`${e}-preview-${r}.${Rpu}`;if(n.length<=Fpu)return n;let i=`${e}-preview-`,o=Fpu-i.length;if(o<8)throw new D({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:D.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Rpu}`}jt();pg();rr();sS();Ut();var D7o=require("child_process"),nCu=we(K_o(),1),R7o=we(dti(),1),F7o=we(require("fs"),1),JUe=require("fs/promises"),iCu=we(require("http"),1),j7o=we(require("path"),1);Bti();rr();var H7=require("fs/promises"),bAu=require("os"),N5o=we(require("path"),1),$Mm=".fern",eLm="logs",k5o=100*1024*1024;function tLm(){return"cli@5.37.10"}var QUe=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??$e($e(Ht.of((0,bAu.homedir)()),ke.of($Mm)),ke.of(eLm));await sr(n)||await(0,H7.mkdir)(n,{recursive:!0});let o=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=$e(n,ke.of(o));let s=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${N5o.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
3815
+ `);r.fix?l+=await Cei(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!sXn()&&await wei(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new H0t({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new D({code:D.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${jr.warning} ${Ae.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(Ae.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${jr.success} ${Ae.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=>Eee(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 cRm(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 G_o(e){let t=new q_o;mi(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}))}Hb();Ut();var Opu=we(require("net"),1),Ppu=we(require("os"),1),Tei=class extends Error{constructor(t){super(`${t} is locked`)}},X0t={old:new Set,young:new Set},uRm=1e3*15,Dpu=new Set;var Yqt,lRm=()=>{let e=Ppu.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},Tpu=e=>new Promise((t,r)=>{let n=Opu.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),Bpu=async(e,t)=>{if(e.host||e.port===0)return Tpu(e);for(let r of t)try{await Tpu({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},pRm=e=>X0t.old.has(e)||X0t.young.has(e)||Dpu.has(e),fRm=function*(e){e&&(yield*e),yield 0};async function _Pe(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??{};Yqt===void 0&&(Yqt=setTimeout(()=>{Yqt=void 0,X0t.old=X0t.young,X0t.young=new Set},uRm),Yqt.unref&&Yqt.unref());let o=lRm();for(let s of fRm(t))try{if(r.has(s))continue;let a=await Bpu({...i,port:s},o);for(;pRm(a);){if(s!==0)throw new Tei(s);a=await Bpu({...i,port:s},o)}return n?Dpu.add(a):X0t.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof Tei))throw a}throw new Error("No available ports found")}Ut();var kpu=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Rpu="docs.buildwithfern.com",Fpu=62;function CUe(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)),kpu.test(t)}function Npu(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function Xqt({orgId:e,previewId:t}){let r=Npu(t),n=`${e}-preview-${r}.${Rpu}`;if(n.length<=Fpu)return n;let i=`${e}-preview-`,o=Fpu-i.length;if(o<8)throw new D({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:D.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Rpu}`}jt();pg();rr();sS();Ut();var D7o=require("child_process"),nCu=we(K_o(),1),R7o=we(dti(),1),F7o=we(require("fs"),1),JUe=require("fs/promises"),iCu=we(require("http"),1),j7o=we(require("path"),1);Bti();rr();var H7=require("fs/promises"),bAu=require("os"),N5o=we(require("path"),1),$Mm=".fern",eLm="logs",k5o=100*1024*1024;function tLm(){return"cli@5.37.11"}var QUe=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??$e($e(Ht.of((0,bAu.homedir)()),ke.of($Mm)),ke.of(eLm));await sr(n)||await(0,H7.mkdir)(n,{recursive:!0});let o=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=$e(n,ke.of(o));let s=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${N5o.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
3816
3816
  `);await(0,H7.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)+`
3817
3817
  `;try{await(0,H7.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:tLm(),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,H7.readdir)(t)).filter(c=>c.endsWith(".log")),i=[];for(let c of n){let u=N5o.default.join(t,c);try{let l=await(0,H7.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=k5o/1024/1024;if(o<=k5o){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<=k5o)break;if(!(this.logFilePath!=null&&c.fullPath===this.logFilePath))try{await(0,H7.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 Oti={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"};function EAu(e){let t=rLm();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:Oti});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",...Oti}})}catch{return new Response(JSON.stringify(i()),{headers:{"Content-Type":"application/json",...Oti}})}let d=/^\/_local\/(.*)/.exec(p.pathname);return u.method==="GET"&&d!=null?new Response(t.file(`/${d[1]}`),{headers:Oti}):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 QUe.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 rLm(){return globalThis.Bun}Ut();var LAu=require("events"),kti=we(require("fs"),1),LUe=we(require("path"),1);var vAu=we(require("os"),1),IAu=300,XPe=20,PGt=1e7,CAu=vAu.default.platform();var nLm=CAu==="darwin",j5o=CAu==="win32",ZPe=nLm||j5o,wAu=3e3,xAu=2e4,Q5o=1250;var Cie;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(Cie||(Cie={}));var MUe;(function(e){e.CHANGE="change",e.RENAME="rename"})(MUe||(MUe={}));var DGt;(function(e){e.CHANGE="change",e.ERROR="error"})(DGt||(DGt={}));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 FN;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(FN||(FN={}));var iLm=(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 C=Date.now(),x=C-c,B=C-u,O=x>=t||B>=o;return[C,O]},p=C=>{if(u=C,!s)return;let x=s;s=void 0,e.apply(void 0,x)},d=()=>{I(0)},f=()=>{a&&(d(),p(Date.now()))},m=C=>{if(u=C,n)return p(C)},h=C=>{if(i&&s)return p(C);s=void 0},A=()=>{a=void 0;let[C,x]=l();return x?h(C):y(C)},y=C=>{let x=C-c,B=C-u,O=t-x,k=o-B,P=Math.min(O,k);return I(P)},I=C=>{a&&clearTimeout(a),!(C<=0)&&(a=setTimeout(A,C))},w=(...C)=>{let[x,B]=l(),O=!!a;if(s=C,c=x,(B||!a)&&I(t),B)return O?p(x):m(x)};return w.cancel=d,w.flush=f,w},Pti=iLm;var U5o=we(require("fs"),1),Rti=we(require("path"),1);var Kd=we(require("fs"),1),fP=require("util");var ame=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},wie=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var M5o=we(require("process"),1),SAu=M5o.default.getuid?!M5o.default.getuid():!1,TAu=1e4,OM=()=>{};var RGt={isChangeErrorOk:e=>{if(!RGt.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!SAu&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!RGt.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(!RGt.isNodeError(e))throw e;if(!RGt.isChangeErrorOk(e))throw e}},FC=RGt;var L5o=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=TAu,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()}}}}},BAu=new L5o;var cme=(e,t)=>function(n){return function i(...o){return BAu.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)})}},ume=(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 oLm={attempt:{chmod:ame((0,fP.promisify)(Kd.default.chmod),FC.onChangeError),chown:ame((0,fP.promisify)(Kd.default.chown),FC.onChangeError),close:ame((0,fP.promisify)(Kd.default.close),OM),fsync:ame((0,fP.promisify)(Kd.default.fsync),OM),mkdir:ame((0,fP.promisify)(Kd.default.mkdir),OM),realpath:ame((0,fP.promisify)(Kd.default.realpath),OM),stat:ame((0,fP.promisify)(Kd.default.stat),OM),unlink:ame((0,fP.promisify)(Kd.default.unlink),OM),chmodSync:wie(Kd.default.chmodSync,FC.onChangeError),chownSync:wie(Kd.default.chownSync,FC.onChangeError),closeSync:wie(Kd.default.closeSync,OM),existsSync:wie(Kd.default.existsSync,OM),fsyncSync:wie(Kd.default.fsync,OM),mkdirSync:wie(Kd.default.mkdirSync,OM),realpathSync:wie(Kd.default.realpathSync,OM),statSync:wie(Kd.default.statSync,OM),unlinkSync:wie(Kd.default.unlinkSync,OM)},retry:{close:cme((0,fP.promisify)(Kd.default.close),FC.isRetriableError),fsync:cme((0,fP.promisify)(Kd.default.fsync),FC.isRetriableError),open:cme((0,fP.promisify)(Kd.default.open),FC.isRetriableError),readFile:cme((0,fP.promisify)(Kd.default.readFile),FC.isRetriableError),rename:cme((0,fP.promisify)(Kd.default.rename),FC.isRetriableError),stat:cme((0,fP.promisify)(Kd.default.stat),FC.isRetriableError),write:cme((0,fP.promisify)(Kd.default.write),FC.isRetriableError),writeFile:cme((0,fP.promisify)(Kd.default.writeFile),FC.isRetriableError),closeSync:ume(Kd.default.closeSync,FC.isRetriableError),fsyncSync:ume(Kd.default.fsyncSync,FC.isRetriableError),openSync:ume(Kd.default.openSync,FC.isRetriableError),readFileSync:ume(Kd.default.readFileSync,FC.isRetriableError),renameSync:ume(Kd.default.renameSync,FC.isRetriableError),statSync:ume(Kd.default.statSync,FC.isRetriableError),writeSync:ume(Kd.default.writeSync,FC.isRetriableError),writeFileSync:ume(Kd.default.writeFileSync,FC.isRetriableError)}},OAu=oLm;var Dti=we(require("fs"),1),FGt=we(require("path"),1);var z5o=()=>{};var sLm=()=>{let e=z5o,t=z5o,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}},PAu=sLm;var aLm=()=>{let{promise:e,resolve:t,isPending:r}=PAu(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},DAu=aLm;var RAu={then:e=>{e()}};var FAu=e=>Array.isArray(e)?e:[e],kAu=e=>typeof e=="function";var cLm=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=FAu(o).map(oe=>kAu(oe)?oe:ae=>oe.test(ae)),a=oe=>s.some(ae=>ae(oe)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,d={},f=[],m=new Set,h={},A=[],y=new Set,I={},w={},C=new Set,x={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},B={directories:l,directoriesNames:p,directoriesNamesToPaths:d,files:f,filesNames:m,filesNamesToPaths:h,symlinks:A,symlinksNames:y,symlinksNamesToPaths:I,map:w},{promise:O,increment:k,decrement:P}=DAu(),U=0,X=(oe,ae,Se,ve)=>{C.has(ae)||U>=i||(U+=1,oe.directories.push(ae),oe.directoriesNames.add(Se),l.push(ae),p.add(Se),d.propertyIsEnumerable(Se)||(d[Se]=[]),d[Se].push(ae),C.add(ae),!(ve>=n)&&(U>=i||fe(ae,ve+1)))},$=(oe,ae,Se)=>{C.has(ae)||U>=i||(U+=1,oe.files.push(ae),oe.filesNames.add(Se),f.push(ae),m.add(Se),h.propertyIsEnumerable(Se)||(h[Se]=[]),h[Se].push(ae),C.add(ae))},ne=(oe,ae,Se,ve)=>{C.has(ae)||U>=i||(U+=1,oe.symlinks.push(ae),oe.symlinksNames.add(Se),A.push(ae),y.add(Se),I.propertyIsEnumerable(Se)||(I[Se]=[]),I[Se].push(ae),C.add(ae),r&&(ve>=n||U>=i||Le(ae,ve+1)))},le=(oe,ae,Se,ve,Qe)=>{c.aborted||a(ae)||(ve.isDirectory()?X(oe,ae,Se,Qe):ve.isFile()?$(oe,ae,Se):ve.isSymbolicLink()&&ne(oe,ae,Se,Qe))},ge=(oe,ae,Se,ve)=>{if(c.aborted)return;let Qe=ae===FGt.default.sep?"":FGt.default.sep,qe=Se.name,ut=`${ae}${Qe}${qe}`;a(ut)||(Se.isDirectory()?X(oe,ut,qe,ve):Se.isFile()?$(oe,ut,qe):Se.isSymbolicLink()&&ne(oe,ut,qe,ve))},me=(oe,ae,Se,ve)=>{for(let Qe=0,qe=Se.length;Qe<qe;Qe++)ge(oe,ae,Se[Qe],ve)},fe=(oe,ae)=>{c.aborted||ae>n||U>=i||(k(),Dti.default.readdir(oe,{withFileTypes:!0},(Se,ve)=>{if(Se||c.aborted||!ve.length)return P();(u(ve)||RAu).then(()=>{let qe=w[oe]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};me(qe,oe,ve,ae),P()})}))},Le=(oe,ae)=>{k(),Dti.default.realpath(oe,(Se,ve)=>{if(Se||c.aborted)return P();Dti.default.stat(ve,(Qe,qe)=>{if(Qe||c.aborted)return P();let ut=FGt.default.basename(ve),bt=w[oe]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};le(bt,ve,ut,qe,ae),P()})})};return(async(oe,ae=1)=>(oe=FGt.default.normalize(oe),C.add(oe),fe(oe,ae),await O,c.aborted?x:B))(e)},NAu=cLm;var xie={lang:{debounce:Pti,attempt:e=>{try{return e()}catch(t){return xie.lang.castError(t)}},castArray:e=>xie.lang.isArray(e)?e:[e],castError:e=>xie.lang.isError(e)?e:xie.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(xie.lang.isNaN(e))return xie.lang.isNaN(t);if(xie.lang.isPrimitive(e)||xie.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(Rti.default.sep).length-1),getRealPath:(e,t)=>{try{return t?U5o.default.realpathSync.native(e):U5o.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===Rti.default.sep&&t.length-e.length>Rti.default.sep.length,poll:(e,t=xAu)=>OAu.retry.stat(t)(e,{bigint:!0}).catch(xie.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 NAu(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Ep=xie;var Fti=we(require("path"),1);var _5o=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||Ep.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=IAu){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=Ep.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??XPe:Math.min(1,this.options.depth??XPe),s=this.options.limit??PGt,[a,c]=await Ep.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())Ep.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&&!ZPe&&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(Fti.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(Fti.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=MUe.CHANGE,r){if(this.watcher.isClosed())return;let n=Fti.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){j5o&&t.code==="EPERM"?this.onWatcherChange(MUe.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(DGt.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(DGt.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(MUe.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&ZPe&&this.options.native!==!1?this.options.depth??XPe:Math.min(1,this.options.depth??XPe),n=this.options.limit??PGt,[i,o]=await Ep.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(MUe.CHANGE,a,t)}))}}},jAu=_5o;var kN={interval:100,intervalId:void 0,fns:new Map,init:()=>{kN.intervalId||(kN.intervalId=setInterval(kN.resolve,kN.interval))},reset:()=>{kN.intervalId&&(clearInterval(kN.intervalId),delete kN.intervalId)},add:(e,t)=>{kN.fns.set(e,Date.now()+t),kN.init()},remove:e=>{kN.fns.delete(e)},resolve:()=>{if(!kN.fns.size)return kN.reset();let e=Date.now();for(let[t,r]of kN.fns)r>=e||(kN.remove(t),t())}},kGt=kN;var NGt=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=Q5o){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(Ep.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),kGt.remove(u)},u=()=>{c(),a()};kGt.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=Q5o){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),kGt.remove(u)},u=()=>{c(),a()};kGt.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,Cie.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,Cie.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,Cie.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,Cie.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}}};NGt.DIR_EVENTS={add:Wc.ADD_DIR,rename:Wc.RENAME_DIR,unlink:Wc.UNLINK_DIR};NGt.FILE_EVENTS={add:Wc.ADD,change:Wc.CHANGE,rename:Wc.RENAME,unlink:Wc.UNLINK};var QAu=NGt;var V5o=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Ep.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Ep.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(Ep.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(Ep.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Ep.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Ep.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},q5o=V5o;var G5o=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}},MAu=G5o;var W5o=class{constructor(){this.inos={},this.paths=new q5o,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 Ep.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new MAu(n)}reset(){this.inos={},this.paths=new q5o,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()?Cie.FILE:Cie.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)}}},H5o=W5o;var K5o=class e extends LAu.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(FN.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(FN.CLOSE,i)),this._readyWait=new Promise(i=>this.on(FN.READY,i)),this._locker=new QAu(this),this._roots=new Set,this._poller=new H5o,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&&(Ep.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(FN.CLOSE))}error(t){if(this.isClosed())return!1;let r=Ep.lang.castError(t);return this.emit(FN.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(FN.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(FN.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Ep.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Ep.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)Ep.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 jAu(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=Ep.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=LUe.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??XPe))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&ZPe&&l.options.native!==!1)))return!0;if(!ZPe)break;let u=LUe.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Ep.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||ZPe&&r.native!==!1?r:{...r,recursive:!1},l={watcher:kti.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=LUe.default.dirname(a),h=a;await this.watchDirectories([m],f,n,h,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||ZPe&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??XPe,a=r.limit??PGt,[c]=await Ep.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=Ep.fs.getDepth(t);for(let p of c){let d=Ep.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(FN.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(FN.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=LUe.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new H5o,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 Ep.lang.noop;if(this.pollerExists(t,r))return Ep.lang.noop;let i={...r,interval:r.pollingInterval??wAu},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(FN.CLOSE,a),kti.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(FN.CLOSE,a),kti.default.unwatchFile(t,n)};return Ep.lang.attempt(s),()=>Ep.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=Ep.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Ep.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=LUe.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Ep.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=LUe.default.dirname(t);return(await Ep.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Ep.lang.noop){if(Ep.lang.isFunction(t))return this.watch([],{},t);if(Ep.lang.isUndefined(t))return this.watch([],r,n);if(Ep.lang.isFunction(r))return this.watch(t,{},r);if(Ep.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Ep.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Ep.lang.noop&&this.on(FN.ALL,n),r.readdirMap=void 0,this.ready())}},zAu=K5o;function uLm(e){return"code"in e&&typeof e.code=="string"}function UAu(e){return e instanceof Error?e:new Error(String(e))}function _Au(e){return uLm(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 Nti({absoluteFilePathToFern:e,additionalFilepaths:t,context:r}){let n=new zAu([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(UAu(c))};n.once("ready",s),n.once("error",a)});return i!=null&&(n.close(),r.failAndThrow(_Au(i),i,{code:D.Code.EnvironmentError})),n.on("error",o=>{let s=UAu(o);r.failWithoutThrowing(_Au(s),s,{code:D.Code.EnvironmentError}),n.close()}),n}rr();sS();Ut();var qIu=require("child_process"),Kri=we(n8o(),1),GIu=we(g7o(),1),Iv=require("fs"),QN=require("fs/promises"),WIu=require("os"),jN=we(require("path"),1),HIu=we(fw(),1),KIu=we(VIu(),1),KUe=process.platform==="win32",Hri=Ae.cyan("[docs]:"),LUm="etag",zUm=23,T7o=e=>e.padEnd(zUm," "),UUm="preview",_Um="app-preview",VUm="bundle",qUm=".next",GUm="standalone",WUm=".fern",HUm="packages/fern-docs/bundle/.next/server/instrumentation.js",KUm='Cannot find matching keyid: {"signatures":',JUm="ERR_PNPM_IGNORED_BUILDS";function YUm(e){try{let r=(0,qIu.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 D({message:`Windows long path support is not enabled. The docs bundle contains deeply nested .pnpm paths that exceed the 260-character MAX_PATH limit.
3818
3818
 
@@ -4344,7 +4344,7 @@ Please ensure you have membership at https://dashboard.buildwithfern.com, and as
4344
4344
 
4345
4345
  Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`:r}function sXm(e,t,r){return t!=null&&t.includes("Invalid authorization token")?`Your authentication token is invalid or expired. Please run '${r}' to re-authenticate.`:`You are not authorized to publish docs under organization '${e}'. Please run '${r}' to ensure you are logged in with the correct account.
4346
4346
 
4347
- Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`}function aXm(e){if(e==null)return{code:void 0,message:void 0};let t=e.body;if(t!=null&&typeof t=="object"){let n=typeof t.code=="string"?t.code:void 0,i=typeof t.message=="string"?t.message:void 0;return{code:n,message:i}}return{code:void 0,message:typeof t=="string"&&t.length>0?t:typeof e.errorMessage=="string"?e.errorMessage:typeof e.message=="string"?e.message:void 0}}function cXm(e){try{return new URL(xN(e)).pathname}catch{return}}async function uXm({fdr:e,workspace:t,organization:r,context:n,snippetsConfig:i}){if(!t)return;let o=await lXm({fdr:e,workspace:t,snippetsConfig:i,context:n});if(Object.keys(o).length===0){n.logger.debug("[SDK Dynamic IR] No snippet configs found, skipping S3 check");return}try{let s=Object.fromEntries(Object.entries(o).map(([l,p])=>[l,{packageName:p.packageName,version:p.version}])),c=(await e.api.register.checkSdkDynamicIrExists({orgId:hn.OrgId(r),snippetConfiguration:s})).existingDynamicIrs??{};if(Object.keys(c).length===0){n.logger.debug("[SDK Dynamic IR] No existing SDK dynamic IRs found in S3");return}let u={};for(let[l,p]of Object.entries(c??{}))try{n.logger.debug(`Downloading existing SDK dynamic IR for ${l}...`);let d=await fetch(p.downloadUrl);if(d.ok){let f=await d.json();u[l]={dynamicIR:f},n.logger.debug(`Successfully downloaded SDK dynamic IR for ${l}`)}else n.logger.warn(`Failed to download SDK dynamic IR for ${l}: ${d.status}`)}catch(d){n.logger.warn(`Error downloading SDK dynamic IR for ${l}: ${d}`)}return Object.keys(u).length>0?u:void 0}catch(s){n.logger.debug(`Error checking for existing SDK dynamic IRs: ${s}`);return}}function yWo(e){return e.replace(/^https:\/\//,"")}async function lXm({fdr:e,workspace:t,snippetsConfig:r,context:n}){let i={},o=[{language:"typescript",snippetName:r.typescriptSdk?.package??void 0,explicitVersion:r.typescriptSdk?.version??void 0},{language:"python",snippetName:r.pythonSdk?.package??void 0,explicitVersion:r.pythonSdk?.version??void 0},{language:"java",snippetName:r.javaSdk?.coordinate??void 0,explicitVersion:r.javaSdk?.version??void 0},{language:"go",snippetName:r.goSdk?.githubRepo&&yWo(r.goSdk?.githubRepo),explicitVersion:r.goSdk?.version??void 0},{language:"csharp",snippetName:r.csharpSdk?.package??void 0,explicitVersion:r.csharpSdk?.version??void 0},{language:"ruby",snippetName:r.rubySdk?.gem??void 0,explicitVersion:r.rubySdk?.version??void 0},{language:"php",snippetName:r.phpSdk?.package??void 0,explicitVersion:r.phpSdk?.version??void 0},{language:"swift",snippetName:r.swiftSdk?.package??void 0,explicitVersion:r.swiftSdk?.version??void 0},{language:"rust",snippetName:r.rustSdk?.package??void 0,explicitVersion:r.rustSdk?.version??void 0}];for(let s of o){if(!s.snippetName)continue;let a=s.explicitVersion??void 0;a||(a=(await pXm({fdr:e,workspace:t,language:s.language,snippetName:s.snippetName,context:n}))?.version),i[s.language]={packageName:s.snippetName,version:a},a||n.logger.debug(`[SDK Dynamic IR] ${s.language}: no version specified, will use latest`)}return i}async function pXm({fdr:e,workspace:t,language:r,snippetName:n,context:i}){let o;switch(r){case"csharp":o="Csharp";break;case"go":o="Go";break;case"java":o="Java";break;case"python":o="Python";break;case"ruby":o="Ruby";break;case"typescript":o="TypeScript";break;case"php":o="Php";break;case"swift":o="Swift";break;default:return}let s,a,c;if(t.generatorsConfiguration?.groups){let u=[];for(let l of t.generatorsConfiguration.groups)for(let p of l.generators)if(p.language===r){let d=zn.getPackageName({generatorInvocation:p});d&&u.push(d),!a&&d&&(a=d,c=p.name,p.outputMode.type==="githubV2"&&(s=`${p.outputMode.githubV2.owner}/${p.outputMode.githubV2.repo}`))}}if(!a){i.logger.debug(`[SDK Dynamic IR] ${r}: no generator found with a package name`);return}try{let u=await e.sdks.computeSemanticVersion({githubRepository:s,language:o,package:a});return i.logger.debug(`[SDK Dynamic IR] ${r}: computed version ${u.version} for package "${a}"`),{version:u.version,generatorPackage:a}}catch(u){i.logger.debug(`[SDK Dynamic IR] ${r}: error computing version: ${u}`);return}}async function fXm({workspace:e,organization:t,context:r,snippetsConfig:n,skipLanguages:i=new Set}){let o={};if(!e)return;let s={typescript:n.typescriptSdk?.package,python:n.pythonSdk?.package,java:n.javaSdk?.coordinate,go:n.goSdk?.githubRepo&&yWo(n.goSdk?.githubRepo),csharp:n.csharpSdk?.package,ruby:n.rubySdk?.gem,php:n.phpSdk?.package,swift:n.swiftSdk?.package,rust:n.rustSdk?.package};if(e.generatorsConfiguration?.groups)for(let a of e.generatorsConfiguration.groups)for(let c of a.generators){let u=a_e({apiName:e.workspaceName??"",organization:t,generatorInvocation:c}),l="";if(u?.outputConfig.type==="publish")switch(u.outputConfig.value.type){case"npm":case"nuget":case"pypi":case"rubygems":l=u.outputConfig.value.packageName;break;case"maven":l=u.outputConfig.value.coordinate;break;case"go":l=u.outputConfig.value.repoUrl;break;case"swift":l=u.outputConfig.value.repoUrl;break;case"crates":l=u.outputConfig.value.packageName;break}if(c.language==="php"&&c.config&&typeof c.config=="object"&&"packageName"in c.config&&(l=c.config.packageName??""),c.language==="go"&&l&&(l=yWo(l)),!!c.language){if(i.has(c.language)){r.logger.debug(`Skipping dynamic IR generation for ${c.language} (using existing SDK dynamic IR)`);continue}if(c.language&&s[c.language]===l){let p=nA({workspace:e,generationLanguage:c.language,keywords:void 0,smartCasing:c.smartCasing,exampleGeneration:{disabled:!0,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},audiences:{type:"all"},readme:void 0,packageName:l,version:void 0,context:r,sourceResolver:new Jh(r,e),dynamicGeneratorConfig:u}),d=dLe({ir:p,disableExamples:!0,smartCasing:c.smartCasing,generationLanguage:c.language,generatorConfig:u});d?o[c.language]={dynamicIR:d}:r.logger.debug(`Failed to create dynamic IR for ${c.language}`)}}}for(let[a,c]of Object.entries(s))a&&c&&!Object.keys(o).includes(a)&&!i.has(a)&&(r.logger.warn(),r.logger.warn(`Failed to upload ${a} SDK snippets because of unknown package \`${c}\`.`),r.logger.warn(`Please make sure your ${e.workspaceName?`${e.workspaceName}/`:""}generators.yml has a generator that publishes a ${c} package.`),r.logger.warn());if(Object.keys(o).length>0)return o}async function dXm({dynamicIRs:e,dynamicIRUploadUrls:t,context:r,apiId:n}){if(Object.keys(t).length>0)for(let[i,o]of Object.entries(t)){let s=e[i]?.dynamicIR;if(s){let a=JSON.stringify(s);try{(await fetch(o.uploadUrl,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":Buffer.byteLength(a,"utf8").toString()}})).ok?r.logger.debug(`Uploaded dynamic IR for ${n}:${i}`):r.logger.warn(`Failed to upload dynamic IR for ${n}:${i}`)}catch(c){r.logger.warn(`Network error uploading dynamic IR for ${n}:${i}: ${c}`)}}else r.logger.warn(`Could not find matching dynamic IR to upload for ${n}:${i}`)}}async function mXm({docsDefinition:e,isPreview:t,context:r}){e.config.aiChatConfig==null||t||r.logger.warn(Ae.yellow("Enabling Ask Fern from docs.yml is deprecated. Please enable it from the Fern dashboard instead."))}function hXm(e,t){if(e)return{enabled:!0,model:process.env.FERN_AI_MODEL||"gpt-4o-mini",maxRetries:parseInt(process.env.FERN_AI_MAX_RETRIES||"3"),requestTimeoutMs:parseInt(process.env.FERN_AI_TIMEOUT_MS||"25000"),styleInstructions:t}}function IDu(e){let t=e,r=t?.content;return{errorType:t?.error,statusCode:t?.statusCode??r?.statusCode,reason:r?.reason,errorMessage:r?.errorMessage??r?.message,body:r?.body,cause:r?.cause,rawError:e}}var G9t=[60*1e3,300*1e3,300*1e3];async function W9t({organization:e,apiWorkspaces:t,ossWorkspaces:r,docsWorkspace:n,context:i,token:o,instanceUrl:s,preview:a,previewId:c,disableTemplates:u,skipUpload:l,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m}){let h=a&&!n.config.settings?.substituteEnvVars;n.config=Dy(n.config,{onError:x=>i.failAndThrow(void 0,x,{code:D.Code.EnvironmentError})},{substituteAsEmpty:h});let A=n.config.instances;if(A.length===0){i.failAndThrow("No instances specified in docs.yml! Cannot register docs.",void 0,{code:D.Code.ConfigError});return}if(A.length>1&&s==null){i.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${A[0]?.url})`,void 0,{code:D.Code.ConfigError});return}let y=A.find(x=>x.url===s)??A[0];if(y==null){i.failAndThrow(`No docs instance with url ${s}. Failed to register.`,void 0,{code:D.Code.ConfigError});return}let I=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(IPu);(y.multiSource===!0||n.config.experimental?.basepathAware===!0)&&CPu(y.url,I,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 C;return await i.runInteractiveTask({name:y.url},async()=>{let x=performance.now(),B=()=>bDu({docsWorkspace:n,customDomains:I,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 k=0;;k++)try{C=await B();break}catch(P){if(!(P instanceof yvt)||k>=G9t.length){if(P instanceof yvt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:D.Code.NetworkError});throw P}let U=G9t[k]??G9t[G9t.length-1]??6e4,X=U/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${X} minute${X===1?"":"s"} (attempt ${k+1}/${G9t.length})...`),await new Promise($=>setTimeout($,U))}let O=performance.now()-x;i.logger.debug(`Docs publishing completed in ${O.toFixed(0)}ms`)}),C}Ut();var woi=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 Cd({context:this.context,task:this.task});try{let s=await W9t({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.37.10",loginCommand:"fern auth login"});return o.getResult()===Uf.Failure?{success:!1}:{success:!0,url:s}}catch(s){return{success:!1,error:Gn(s)}}}};jt();var bvt=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(`
4347
+ Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`}function aXm(e){if(e==null)return{code:void 0,message:void 0};let t=e.body;if(t!=null&&typeof t=="object"){let n=typeof t.code=="string"?t.code:void 0,i=typeof t.message=="string"?t.message:void 0;return{code:n,message:i}}return{code:void 0,message:typeof t=="string"&&t.length>0?t:typeof e.errorMessage=="string"?e.errorMessage:typeof e.message=="string"?e.message:void 0}}function cXm(e){try{return new URL(xN(e)).pathname}catch{return}}async function uXm({fdr:e,workspace:t,organization:r,context:n,snippetsConfig:i}){if(!t)return;let o=await lXm({fdr:e,workspace:t,snippetsConfig:i,context:n});if(Object.keys(o).length===0){n.logger.debug("[SDK Dynamic IR] No snippet configs found, skipping S3 check");return}try{let s=Object.fromEntries(Object.entries(o).map(([l,p])=>[l,{packageName:p.packageName,version:p.version}])),c=(await e.api.register.checkSdkDynamicIrExists({orgId:hn.OrgId(r),snippetConfiguration:s})).existingDynamicIrs??{};if(Object.keys(c).length===0){n.logger.debug("[SDK Dynamic IR] No existing SDK dynamic IRs found in S3");return}let u={};for(let[l,p]of Object.entries(c??{}))try{n.logger.debug(`Downloading existing SDK dynamic IR for ${l}...`);let d=await fetch(p.downloadUrl);if(d.ok){let f=await d.json();u[l]={dynamicIR:f},n.logger.debug(`Successfully downloaded SDK dynamic IR for ${l}`)}else n.logger.warn(`Failed to download SDK dynamic IR for ${l}: ${d.status}`)}catch(d){n.logger.warn(`Error downloading SDK dynamic IR for ${l}: ${d}`)}return Object.keys(u).length>0?u:void 0}catch(s){n.logger.debug(`Error checking for existing SDK dynamic IRs: ${s}`);return}}function yWo(e){return e.replace(/^https:\/\//,"")}async function lXm({fdr:e,workspace:t,snippetsConfig:r,context:n}){let i={},o=[{language:"typescript",snippetName:r.typescriptSdk?.package??void 0,explicitVersion:r.typescriptSdk?.version??void 0},{language:"python",snippetName:r.pythonSdk?.package??void 0,explicitVersion:r.pythonSdk?.version??void 0},{language:"java",snippetName:r.javaSdk?.coordinate??void 0,explicitVersion:r.javaSdk?.version??void 0},{language:"go",snippetName:r.goSdk?.githubRepo&&yWo(r.goSdk?.githubRepo),explicitVersion:r.goSdk?.version??void 0},{language:"csharp",snippetName:r.csharpSdk?.package??void 0,explicitVersion:r.csharpSdk?.version??void 0},{language:"ruby",snippetName:r.rubySdk?.gem??void 0,explicitVersion:r.rubySdk?.version??void 0},{language:"php",snippetName:r.phpSdk?.package??void 0,explicitVersion:r.phpSdk?.version??void 0},{language:"swift",snippetName:r.swiftSdk?.package??void 0,explicitVersion:r.swiftSdk?.version??void 0},{language:"rust",snippetName:r.rustSdk?.package??void 0,explicitVersion:r.rustSdk?.version??void 0}];for(let s of o){if(!s.snippetName)continue;let a=s.explicitVersion??void 0;a||(a=(await pXm({fdr:e,workspace:t,language:s.language,snippetName:s.snippetName,context:n}))?.version),i[s.language]={packageName:s.snippetName,version:a},a||n.logger.debug(`[SDK Dynamic IR] ${s.language}: no version specified, will use latest`)}return i}async function pXm({fdr:e,workspace:t,language:r,snippetName:n,context:i}){let o;switch(r){case"csharp":o="Csharp";break;case"go":o="Go";break;case"java":o="Java";break;case"python":o="Python";break;case"ruby":o="Ruby";break;case"typescript":o="TypeScript";break;case"php":o="Php";break;case"swift":o="Swift";break;default:return}let s,a,c;if(t.generatorsConfiguration?.groups){let u=[];for(let l of t.generatorsConfiguration.groups)for(let p of l.generators)if(p.language===r){let d=zn.getPackageName({generatorInvocation:p});d&&u.push(d),!a&&d&&(a=d,c=p.name,p.outputMode.type==="githubV2"&&(s=`${p.outputMode.githubV2.owner}/${p.outputMode.githubV2.repo}`))}}if(!a){i.logger.debug(`[SDK Dynamic IR] ${r}: no generator found with a package name`);return}try{let u=await e.sdks.computeSemanticVersion({githubRepository:s,language:o,package:a});return i.logger.debug(`[SDK Dynamic IR] ${r}: computed version ${u.version} for package "${a}"`),{version:u.version,generatorPackage:a}}catch(u){i.logger.debug(`[SDK Dynamic IR] ${r}: error computing version: ${u}`);return}}async function fXm({workspace:e,organization:t,context:r,snippetsConfig:n,skipLanguages:i=new Set}){let o={};if(!e)return;let s={typescript:n.typescriptSdk?.package,python:n.pythonSdk?.package,java:n.javaSdk?.coordinate,go:n.goSdk?.githubRepo&&yWo(n.goSdk?.githubRepo),csharp:n.csharpSdk?.package,ruby:n.rubySdk?.gem,php:n.phpSdk?.package,swift:n.swiftSdk?.package,rust:n.rustSdk?.package};if(e.generatorsConfiguration?.groups)for(let a of e.generatorsConfiguration.groups)for(let c of a.generators){let u=a_e({apiName:e.workspaceName??"",organization:t,generatorInvocation:c}),l="";if(u?.outputConfig.type==="publish")switch(u.outputConfig.value.type){case"npm":case"nuget":case"pypi":case"rubygems":l=u.outputConfig.value.packageName;break;case"maven":l=u.outputConfig.value.coordinate;break;case"go":l=u.outputConfig.value.repoUrl;break;case"swift":l=u.outputConfig.value.repoUrl;break;case"crates":l=u.outputConfig.value.packageName;break}if(c.language==="php"&&c.config&&typeof c.config=="object"&&"packageName"in c.config&&(l=c.config.packageName??""),c.language==="go"&&l&&(l=yWo(l)),!!c.language){if(i.has(c.language)){r.logger.debug(`Skipping dynamic IR generation for ${c.language} (using existing SDK dynamic IR)`);continue}if(c.language&&s[c.language]===l){let p=nA({workspace:e,generationLanguage:c.language,keywords:void 0,smartCasing:c.smartCasing,exampleGeneration:{disabled:!0,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},audiences:{type:"all"},readme:void 0,packageName:l,version:void 0,context:r,sourceResolver:new Jh(r,e),dynamicGeneratorConfig:u}),d=dLe({ir:p,disableExamples:!0,smartCasing:c.smartCasing,generationLanguage:c.language,generatorConfig:u});d?o[c.language]={dynamicIR:d}:r.logger.debug(`Failed to create dynamic IR for ${c.language}`)}}}for(let[a,c]of Object.entries(s))a&&c&&!Object.keys(o).includes(a)&&!i.has(a)&&(r.logger.warn(),r.logger.warn(`Failed to upload ${a} SDK snippets because of unknown package \`${c}\`.`),r.logger.warn(`Please make sure your ${e.workspaceName?`${e.workspaceName}/`:""}generators.yml has a generator that publishes a ${c} package.`),r.logger.warn());if(Object.keys(o).length>0)return o}async function dXm({dynamicIRs:e,dynamicIRUploadUrls:t,context:r,apiId:n}){if(Object.keys(t).length>0)for(let[i,o]of Object.entries(t)){let s=e[i]?.dynamicIR;if(s){let a=JSON.stringify(s);try{(await fetch(o.uploadUrl,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":Buffer.byteLength(a,"utf8").toString()}})).ok?r.logger.debug(`Uploaded dynamic IR for ${n}:${i}`):r.logger.warn(`Failed to upload dynamic IR for ${n}:${i}`)}catch(c){r.logger.warn(`Network error uploading dynamic IR for ${n}:${i}: ${c}`)}}else r.logger.warn(`Could not find matching dynamic IR to upload for ${n}:${i}`)}}async function mXm({docsDefinition:e,isPreview:t,context:r}){e.config.aiChatConfig==null||t||r.logger.warn(Ae.yellow("Enabling Ask Fern from docs.yml is deprecated. Please enable it from the Fern dashboard instead."))}function hXm(e,t){if(e)return{enabled:!0,model:process.env.FERN_AI_MODEL||"gpt-4o-mini",maxRetries:parseInt(process.env.FERN_AI_MAX_RETRIES||"3"),requestTimeoutMs:parseInt(process.env.FERN_AI_TIMEOUT_MS||"25000"),styleInstructions:t}}function IDu(e){let t=e,r=t?.content;return{errorType:t?.error,statusCode:t?.statusCode??r?.statusCode,reason:r?.reason,errorMessage:r?.errorMessage??r?.message,body:r?.body,cause:r?.cause,rawError:e}}var G9t=[60*1e3,300*1e3,300*1e3];async function W9t({organization:e,apiWorkspaces:t,ossWorkspaces:r,docsWorkspace:n,context:i,token:o,instanceUrl:s,preview:a,previewId:c,disableTemplates:u,skipUpload:l,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m}){let h=a&&!n.config.settings?.substituteEnvVars;n.config=Dy(n.config,{onError:x=>i.failAndThrow(void 0,x,{code:D.Code.EnvironmentError})},{substituteAsEmpty:h});let A=n.config.instances;if(A.length===0){i.failAndThrow("No instances specified in docs.yml! Cannot register docs.",void 0,{code:D.Code.ConfigError});return}if(A.length>1&&s==null){i.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${A[0]?.url})`,void 0,{code:D.Code.ConfigError});return}let y=A.find(x=>x.url===s)??A[0];if(y==null){i.failAndThrow(`No docs instance with url ${s}. Failed to register.`,void 0,{code:D.Code.ConfigError});return}let I=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(IPu);(y.multiSource===!0||n.config.experimental?.basepathAware===!0)&&CPu(y.url,I,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 C;return await i.runInteractiveTask({name:y.url},async()=>{let x=performance.now(),B=()=>bDu({docsWorkspace:n,customDomains:I,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 k=0;;k++)try{C=await B();break}catch(P){if(!(P instanceof yvt)||k>=G9t.length){if(P instanceof yvt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:D.Code.NetworkError});throw P}let U=G9t[k]??G9t[G9t.length-1]??6e4,X=U/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${X} minute${X===1?"":"s"} (attempt ${k+1}/${G9t.length})...`),await new Promise($=>setTimeout($,U))}let O=performance.now()-x;i.logger.debug(`Docs publishing completed in ${O.toFixed(0)}ms`)}),C}Ut();var woi=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 Cd({context:this.context,task:this.task});try{let s=await W9t({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.37.11",loginCommand:"fern auth login"});return o.getResult()===Uf.Failure?{success:!1}:{success:!0,url:s}}catch(s){return{success:!1,error:Gn(s)}}}};jt();var bvt=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(`
4348
4348
  `),this.stream.write(`${Ae.cyan("\u25C6")} ${Ae.bold(t.title)}
4349
4349
  `),t.subtitle!=null&&this.stream.write(` ${Ae.dim(t.subtitle)}
4350
4350
  `),this.stream.write(`
@@ -5011,7 +5011,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
5011
5011
  `),h="";return c&&(h=l.style.error(c)),[`${p} ${f} ${s}`,[m,h].filter(Boolean).join(`
5012
5012
  `)]});var Nlg=$C((e,t)=>{let{validate:r=()=>!0}=e,n=kv(e.theme),[i,o]=vu("idle"),[s,a]=vu(),[c,u]=vu(""),l=XC({status:i,theme:n});ZC(async(h,A)=>{if(i==="idle")if(YC(h)){let y=c;o("loading");let I=await r(y);I===!0?(u(y),o("done"),t(y)):(A.write(c),a(I||"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]")}${a1t}`),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 t7e=we(lS(),1);var jlg={icon:{cursor:_w.pointer},style:{disabled:e=>t7e.default.dim(`- ${e}`),searchTerm:e=>t7e.default.cyan(e),description:e=>t7e.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${t7e.default.bold(t)} ${t7e.default.dim(r)}`).join(t7e.default.dim(" \u2022 "))},helpMode:"always"};function QEs(e){return!Pd.isSeparator(e)&&!e.disabled}function Qlg(e){return e.map(t=>{if(Pd.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 Mlg=$C((e,t)=>{let{pageSize:r=7,validate:n=()=>!0}=e,i=kv(jlg,e.theme),[o,s]=vu("loading"),[a,c]=vu(""),[u,l]=vu([]),[p,d]=vu(),f=XC({status:o,theme:i}),m=BL(()=>{let U=u.findIndex(QEs),X=u.findLastIndex(QEs);return{first:U,last:X}},[u]),[h=m.first,A]=vu();I4(()=>{let U=new AbortController;return s("loading"),d(void 0),(async()=>{try{let $=await e.source(a||void 0,{signal:U.signal});U.signal.aborted||(A(void 0),d(void 0),l(Qlg($)),s("idle"))}catch($){!U.signal.aborted&&$ instanceof Error&&d($.message)}})(),()=>{U.abort()}},[a]);let y=u[h];ZC(async(U,X)=>{if(YC(U))if(y){s("loading");let $=await n(y.value);s("idle"),$===!0?(s("done"),t(y.value)):y.name===a?d($||"You must provide a valid value"):(X.write(y.name),c(y.name))}else X.write(a);else if(Jhe(U)&&y)X.clearLine(0),X.write(y.name),c(y.name);else if(o!=="loading"&&(BP(U)||TL(U))){if(X.clearLine(0),BP(U)&&h!==m.first||TL(U)&&h!==m.last){let $=BP(U)?-1:1,ne=h;do ne=(ne+$+u.length)%u.length;while(!QEs(u[ne]));A(ne)}}else c(X.line)});let I=i.style.message(e.message,o),w;if(i.helpMode!=="never")if(e.instructions){let{pager:U,navigation:X}=e.instructions;w=i.style.help(u.length>r?U:X)}else w=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let C=X8e({items:u,active:h,renderItem({item:U,isActive:X}){if(Pd.isSeparator(U))return` ${U.separator}`;if(U.disabled){let le=typeof U.disabled=="string"?U.disabled:"(disabled)";return i.style.disabled(`${U.name} ${le}`)}let $=X?i.style.highlight:le=>le,ne=X?i.icon.cursor:" ";return $(`${ne} ${U.name}`)},pageSize:r,loop:!1}),x;p?x=i.style.error(p):u.length===0&&a!==""&&o==="idle"&&(x=i.style.error("No results found"));let B;if(o==="done"&&y)return[f,I,i.style.answer(y.short)].filter(Boolean).join(" ").trimEnd();B=i.style.searchTerm(a);let O=y?.description,k=[f,I,B].filter(Boolean).join(" ").trimEnd(),P=[x??C," ",O?i.style.description(O):"",w].filter(Boolean).join(`
5013
5013
  `).trimEnd();return[k,P]});var u1t=we(lS(),1);var Llg={icon:{cursor:_w.pointer},style:{disabled:e=>u1t.default.dim(`- ${e}`),description:e=>u1t.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${u1t.default.bold(t)} ${u1t.default.dim(r)}`).join(u1t.default.dim(" \u2022 "))},helpMode:"always",indexMode:"hidden",keybindings:[]};function c1t(e){return!Pd.isSeparator(e)&&!e.disabled}function zlg(e){return e.map(t=>{if(Pd.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 MEs=$C((e,t)=>{let{loop:r=!0,pageSize:n=7}=e,i=kv(Llg,e.theme),{keybindings:o}=i,[s,a]=vu("idle"),c=XC({status:s,theme:i}),u=Y8e(),l=!o.includes("vim"),p=BL(()=>zlg(e.choices),[e.choices]),d=BL(()=>{let O=p.findIndex(c1t),k=p.findLastIndex(c1t);if(O===-1)throw new yae("[select prompt] No selectable choices. All choices are disabled.");return{first:O,last:k}},[p]),f=BL(()=>"default"in e?p.findIndex(O=>c1t(O)&&O.value===e.default):-1,[e.default,p]),[m,h]=vu(f===-1?d.first:f),A=p[m];ZC((O,k)=>{if(clearTimeout(u.current),YC(O))a("done"),t(A.value);else if(BP(O,o)||TL(O,o)){if(k.clearLine(0),r||BP(O,o)&&m!==d.first||TL(O,o)&&m!==d.last){let P=BP(O,o)?-1:1,U=m;do U=(U+P+p.length)%p.length;while(!c1t(p[U]));h(U)}}else if(hXt(O)&&!Number.isNaN(Number(k.line))){let P=Number(k.line)-1,U=-1,X=p.findIndex(ne=>Pd.isSeparator(ne)?!1:(U++,U===P)),$=p[X];$!=null&&c1t($)&&h(X),u.current=setTimeout(()=>{k.clearLine(0)},700)}else if(H8e(O))k.clearLine(0);else if(l){let P=k.line.toLowerCase(),U=p.findIndex(X=>Pd.isSeparator(X)||!c1t(X)?!1:X.name.toLowerCase().startsWith(P));U!==-1&&h(U),u.current=setTimeout(()=>{k.clearLine(0)},700)}}),I4(()=>()=>{clearTimeout(u.current)},[]);let y=i.style.message(e.message,s),I;if(i.helpMode!=="never")if(e.instructions){let{pager:O,navigation:k}=e.instructions;I=i.style.help(p.length>n?O:k)}else I=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let w=0,C=X8e({items:p,active:m,renderItem({item:O,isActive:k,index:P}){if(Pd.isSeparator(O))return w++,` ${O.separator}`;let U=i.indexMode==="number"?`${P+1-w}. `:"";if(O.disabled){let ne=typeof O.disabled=="string"?O.disabled:"(disabled)";return i.style.disabled(`${U}${O.name} ${ne}`)}let X=k?i.style.highlight:ne=>ne,$=k?i.icon.cursor:" ";return X(`${$} ${U}${O.name}`)},pageSize:n,loop:r});if(s==="done")return[c,y,i.style.answer(A.short)].filter(Boolean).join(" ");let{description:x}=A;return`${[[c,y].filter(Boolean).join(" "),C," ",x?i.style.description(x):"",I].filter(Boolean).join(`
5014
- `).trimEnd()}${a1t}`});ao();var bae={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"},Ulg={[bae.GENERATION_STARTED]:!1,[bae.GENERATION_COMPLETED]:!1,[bae.GENERATION_FAILED]:!0,[bae.VERIFICATION_FAILED]:!0,[bae.SDK_PR_CREATED]:!1,[bae.UPGRADE_APPLIED]:!1,[bae.MAJOR_VERSION_BUMP]:!1};function Vil(e){return Ulg[e]}function qil(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 Gil(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 Wil(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 Hil(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 Kil(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?bae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?bae.VERIFICATION_FAILED:bae.GENERATION_FAILED}var _lg="",Vlg="FERN_AUTOMATION_EVENTS_ORIGIN",qlg=3e3,Oyi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[Vlg]??_lg)),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(),qlg);try{let s={"content-type":"application/json"},a=await SV();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(Hil(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function Jil(){let{fern_run_id:e,github_run_id:t}=Zae();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.37.10"}}function Yil(){return process.env.FERN_AUTOMATION==="true"}var Pyi=class{constructor(t,r=Oyi.getInstance()){this.reporter=t;this.automationEventApiClient=r;this.context=Jil()}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:qil(t,r)})}captureSentryForFailure({event:t,context:r,error:n}){if(!(!Vil(t.event)||t.errorCode==null))return this.reporter.captureException(n,{tags:Gil(t,r),context:{automation:Wil(t,r)}})}captureAutomationEventApiEvent(t,r){this.automationEventApiClient.post(t,r)}};Ut();function Dyi(e,t,r){if(t instanceof pu)return;let n=SAe(t,r?.code),i=r?.argv??process.argv,o=i.join(" "),s=r?.message??(t instanceof Error?t.message:void 0)??"",a=t??new D({message:s,code:n});Yil()?Wlg(i,e,n,s,a):Glg(e,o,n,a)}function Glg(e,t,r,n){e.instrumentPostHogEvent({command:t,properties:{failed:!0,errorCode:r}}),u9e(r)&&e.captureException(n,{tags:{"error.code":r}})}function Wlg(e,t,r,n,i){let o=Kil(e);t.emitAutomationTelemetryEvent({event:o,errorCode:r,attributes:{error_message:n}},{error:i})}Ut();function r7e(){return process.env.FERN_DISABLE_TELEMETRY==="true"}function Ryi({cliName:e,packageVersion:t,isLocal:r}){return r7e()||r?!1:!(t==="0.0.0")&&(e==="fern"&&!0)}var Fyi=class{sentry;constructor({release:t,telemetry:r}){let n="https://84f58b5e457f06999d92f11ce4b79158@o4509504076185600.ingest.us.sentry.io/4511021546602496";if(Ryi(r)&&n!=null&&n.length>0){let i="production";if(i==null||i.length===0)throw new D({message:"SENTRY_ENVIRONMENT must be set when SENTRY_DSN is configured",code:D.Code.ConfigError});this.sentry=SPt({dsn:n,release:t,environment:i,defaultIntegrations:!1,integrations:[Wqe(),Zge(),$ge(),jge(),Xge()],tracesSampleRate:0,attachStacktrace:!0,sendClientReports:!1}),TPt()}}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):kB(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(()=>{})}};Ut();var kyi=class{originalWrite;redirected=!1;redirect(){if(this.redirected)throw new D({message:"StdoutRedirector: already redirected \u2014 did you forget to restore()?",code:D.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()}}};jt();Hb();Ut();var bXt=class{result=Uf.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 pu}failWithoutThrowing(t,r,n){this.result=Uf.Failure,!(r instanceof pu)&&(t!=null&&(this.lastFailureMessage=t),A3t({message:t,error:r,logger:this.logger}),Dyi(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=VI(this.logAtLevel.bind(this));addInteractiveTask({name:t,subtitle:r}){let n=new LEs({name:t,subtitle:r,logImmediately:i=>this.logImmediately(i),logPrefix:`${this.logPrefix}${Ae.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()===Uf.Success}printInteractiveTasks({spinner:t}){return this.subtasks.map(r=>r.print({spinner:t})).join(`
5014
+ `).trimEnd()}${a1t}`});ao();var bae={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"},Ulg={[bae.GENERATION_STARTED]:!1,[bae.GENERATION_COMPLETED]:!1,[bae.GENERATION_FAILED]:!0,[bae.VERIFICATION_FAILED]:!0,[bae.SDK_PR_CREATED]:!1,[bae.UPGRADE_APPLIED]:!1,[bae.MAJOR_VERSION_BUMP]:!1};function Vil(e){return Ulg[e]}function qil(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 Gil(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 Wil(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 Hil(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 Kil(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?bae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?bae.VERIFICATION_FAILED:bae.GENERATION_FAILED}var _lg="",Vlg="FERN_AUTOMATION_EVENTS_ORIGIN",qlg=3e3,Oyi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[Vlg]??_lg)),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(),qlg);try{let s={"content-type":"application/json"},a=await SV();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(Hil(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function Jil(){let{fern_run_id:e,github_run_id:t}=Zae();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.37.11"}}function Yil(){return process.env.FERN_AUTOMATION==="true"}var Pyi=class{constructor(t,r=Oyi.getInstance()){this.reporter=t;this.automationEventApiClient=r;this.context=Jil()}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:qil(t,r)})}captureSentryForFailure({event:t,context:r,error:n}){if(!(!Vil(t.event)||t.errorCode==null))return this.reporter.captureException(n,{tags:Gil(t,r),context:{automation:Wil(t,r)}})}captureAutomationEventApiEvent(t,r){this.automationEventApiClient.post(t,r)}};Ut();function Dyi(e,t,r){if(t instanceof pu)return;let n=SAe(t,r?.code),i=r?.argv??process.argv,o=i.join(" "),s=r?.message??(t instanceof Error?t.message:void 0)??"",a=t??new D({message:s,code:n});Yil()?Wlg(i,e,n,s,a):Glg(e,o,n,a)}function Glg(e,t,r,n){e.instrumentPostHogEvent({command:t,properties:{failed:!0,errorCode:r}}),u9e(r)&&e.captureException(n,{tags:{"error.code":r}})}function Wlg(e,t,r,n,i){let o=Kil(e);t.emitAutomationTelemetryEvent({event:o,errorCode:r,attributes:{error_message:n}},{error:i})}Ut();function r7e(){return process.env.FERN_DISABLE_TELEMETRY==="true"}function Ryi({cliName:e,packageVersion:t,isLocal:r}){return r7e()||r?!1:!(t==="0.0.0")&&(e==="fern"&&!0)}var Fyi=class{sentry;constructor({release:t,telemetry:r}){let n="https://84f58b5e457f06999d92f11ce4b79158@o4509504076185600.ingest.us.sentry.io/4511021546602496";if(Ryi(r)&&n!=null&&n.length>0){let i="production";if(i==null||i.length===0)throw new D({message:"SENTRY_ENVIRONMENT must be set when SENTRY_DSN is configured",code:D.Code.ConfigError});this.sentry=SPt({dsn:n,release:t,environment:i,defaultIntegrations:!1,integrations:[Wqe(),Zge(),$ge(),jge(),Xge()],tracesSampleRate:0,attachStacktrace:!0,sendClientReports:!1}),TPt()}}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):kB(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(()=>{})}};Ut();var kyi=class{originalWrite;redirected=!1;redirect(){if(this.redirected)throw new D({message:"StdoutRedirector: already redirected \u2014 did you forget to restore()?",code:D.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()}}};jt();Hb();Ut();var bXt=class{result=Uf.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 pu}failWithoutThrowing(t,r,n){this.result=Uf.Failure,!(r instanceof pu)&&(t!=null&&(this.lastFailureMessage=t),A3t({message:t,error:r,logger:this.logger}),Dyi(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=VI(this.logAtLevel.bind(this));addInteractiveTask({name:t,subtitle:r}){let n=new LEs({name:t,subtitle:r,logImmediately:i=>this.logImmediately(i),logPrefix:`${this.logPrefix}${Ae.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()===Uf.Success}printInteractiveTasks({spinner:t}){return this.subtasks.map(r=>r.print({spinner:t})).join(`
5015
5015
  `)}},LEs=class extends bXt{name;subtitle;constructor({name:t,subtitle:r,...n}){super(n),this.name=t,this.subtitle=r}start(){return super.start(),this.logAtLevelWithOverrides(qn.Info,["Started."],{omitOnTTY:!0}),this.flushLogs(),this}isStarted(){return this.status!=="notStarted"}finish(){this.status!=="finished"&&(this.result===Uf.Success?this.logAtLevelWithOverrides(qn.Info,["Finished."],{omitOnTTY:!0}):this.logAtLevelWithOverrides(qn.Error,["Failed."],{omitOnTTY:!0}),super.finish())}setSubtitle(t){this.subtitle=t}print({spinner:t}){let r=[this.name];return this.subtitle!=null&&r.push(Ae.dim(this.subtitle)),r.push(...this.subtasks.map(n=>n.print({spinner:t}))),Dj({prefix:this.getIcon({spinner:t}),content:r.join(`
5016
5016
  `)})}printInteractiveTasks({spinner:t}){return this.print({spinner:t})}getIcon({spinner:t}){let r=this.subtasks.length>0;switch(this.status){case"notStarted":return r?Ae.dim("\u25B8 "):Ae.dim("\u25E6 ");case"running":return r?Ae.cyan("\u25BE "):t;case"finished":switch(this.getResult()){case Uf.Success:return r?Ae.green("\u25BE "):Ae.green("\u2713 ");case Uf.Failure:return r?Ae.red("\u25BE "):Ae.red("x ")}}}getResult(){if(this.result===Uf.Failure)return Uf.Failure;for(let t of this.subtasks)if(t.getResult()===Uf.Failure)return Uf.Failure;return Uf.Success}};Ut();var Xil=we(_Me(),1);function Zil(e){return e.filter(t=>t.isUpgradeAvailable).length>0}function Hlg(e){return(e.cliUpgradeInfo?.isUpgradeAvailable??!1)||Zil(e.generatorUpgradeInfo)}async function $il({cliEnvironment:e,upgradeInfo:t}){if(!Hlg(t)||e.packageVersion==t.cliUpgradeInfo?.latestVersion)return;let r=`${Ae.underline("Upgrades available")}
5017
5017
 
@@ -5020,7 +5020,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
5020
5020
  Run ${Ae.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
5021
5021
  Run ${Ae.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),Got(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function zEs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!Zil(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+=`
5022
5022
  ${await Klg(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+Ae.dim(a.currentVersion)+Ae.reset(" \u2192 ")+Ae.green(a.latestVersion);return i+=`
5023
- `,n?Got(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Klg(e){let r=await new Xil.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new D({message:`Generator ${e} not found`,code:D.Code.ConfigError});return r.body.displayName}Ut();async function Jlg({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await eol({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=RMe(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Q1({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 eol({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=RMe(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await Q1({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 eol({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 G3({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?py(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 tol(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=_Q(a.latestVersion,a.previousVersion)}catch{throw new D({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:D.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 Nyi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await Jlg({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(...tol(u,c,t.logger));else s.push(...tol(a.versions,void 0,t.logger))}return s}Ut();async function Yhe({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await iFt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new D({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:D.Code.NetworkError})}}var rol=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],jyi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=qn.Info;isLocal;stdoutRedirector=new kyi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await aVt();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new k3t(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 Fyi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new Pyi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.37.10"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ae.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),new pu}failWithoutThrowing(t,r,n){this.didSucceed=!1,!(r instanceof pu)&&(A3t({message:t,error:r,logger:this.logger}),Dyi(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)+`
5023
+ `,n?Got(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Klg(e){let r=await new Xil.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new D({message:`Generator ${e} not found`,code:D.Code.ConfigError});return r.body.displayName}Ut();async function Jlg({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await eol({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=RMe(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await Q1({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 eol({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=RMe(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await Q1({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 eol({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 G3({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?py(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 tol(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=_Q(a.latestVersion,a.previousVersion)}catch{throw new D({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:D.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 Nyi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await Jlg({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(...tol(u,c,t.logger));else s.push(...tol(a.versions,void 0,t.logger))}return s}Ut();async function Yhe({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await iFt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new D({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:D.Code.NetworkError})}}var rol=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],jyi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=qn.Info;isLocal;stdoutRedirector=new kyi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await aVt();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new k3t(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 Fyi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new Pyi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.37.11"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${Ae.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),new pu}failWithoutThrowing(t,r,n){this.didSucceed=!1,!(r instanceof pu)&&(A3t({message:t,error:r,logger:this.logger}),Dyi(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)+`
5024
5024
  `),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 $il({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
5025
5025
  `)||(r+=`
5026
5026
  `),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=tPi(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 bXt(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 pu}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=VI((t,...r)=>this.log(t,...r));stderr=VI((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=t.type==="docs"?"docs":t.workspaceName??"api",n=nol(r),i=1+(this.longestWorkspaceName!=null?nol(this.longestWorkspaceName):n).length,o=n.padEnd(i),s=rol[this.numTasks++%rol.length],a=Ae.hex(s)(o);return{...this.constructTaskInit(),logPrefix:a,title:Ae.hex(s).bold(r)}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===Uf.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=>kx.indexOf(i.level)>=kx.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===qn.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 Yhe({cliEnvironment:this.environment,includePreReleases:t}),n=_Q(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await Nyi({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await MEs({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:Ae.yellow("?"),style:{answer:i=>Ae.cyan(i),message:i=>Ae.bold(i),highlight:i=>Ae.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.37.10",
2
+ "version": "5.37.11",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",