@capgo/cli 7.112.4 → 7.112.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -91,7 +91,7 @@ Expecting one of '${B.join("', '")}'`);if(this._lifeCycleHooks[A])this._lifeCycl
91
91
  `),this.outputHelp({error:!0});let B=Q||{},I=B.exitCode||1,E=B.code||"commander.error";this._exit(I,E,A)}_parseOptionsEnv(){this.options.forEach((A)=>{if(A.envVar&&A.envVar in o0.env){let Q=A.attributeName();if(this.getOptionValue(Q)===void 0||["default","config","env"].includes(this.getOptionValueSource(Q)))if(A.required||A.optional)this.emit(`optionEnv:${A.name()}`,o0.env[A.envVar]);else this.emit(`optionEnv:${A.name()}`)}})}_parseOptionsImplied(){let A=new CfA(this.options),Q=(B)=>{return this.getOptionValue(B)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(B))};this.options.filter((B)=>B.implied!==void 0&&Q(B.attributeName())&&A.valueFromOption(this.getOptionValue(B.attributeName()),B)).forEach((B)=>{Object.keys(B.implied).filter((I)=>!Q(I)).forEach((I)=>{this.setOptionValueWithSource(I,B.implied[I],"implied")})})}missingArgument(A){let Q=`error: missing required argument '${A}'`;this.error(Q,{code:"commander.missingArgument"})}optionMissingArgument(A){let Q=`error: option '${A.flags}' argument missing`;this.error(Q,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(A){let Q=`error: required option '${A.flags}' not specified`;this.error(Q,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(A,Q){let B=(D)=>{let $=D.attributeName(),G=this.getOptionValue($),Y=this.options.find((X)=>X.negate&&$===X.attributeName()),H=this.options.find((X)=>!X.negate&&$===X.attributeName());if(Y&&(Y.presetArg===void 0&&G===!1||Y.presetArg!==void 0&&G===Y.presetArg))return Y;return H||D},I=(D)=>{let $=B(D),G=$.attributeName();if(this.getOptionValueSource(G)==="env")return`environment variable '${$.envVar}'`;return`option '${$.flags}'`},E=`error: ${I(A)} cannot be used with ${I(Q)}`;this.error(E,{code:"commander.conflictingOption"})}unknownOption(A){if(this._allowUnknownOption)return;let Q="";if(A.startsWith("--")&&this._showSuggestionAfterError){let I=[],E=this;do{let D=E.createHelp().visibleOptions(E).filter(($)=>$.long).map(($)=>$.long);I=I.concat(D),E=E.parent}while(E&&!E._enablePositionalOptions);Q=F0A(A,I)}let B=`error: unknown option '${A}'${Q}`;this.error(B,{code:"commander.unknownOption"})}_excessArguments(A){if(this._allowExcessArguments)return;let Q=this.registeredArguments.length,B=Q===1?"":"s",E=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${Q} argument${B} but got ${A.length}.`;this.error(E,{code:"commander.excessArguments"})}unknownCommand(){let A=this.args[0],Q="";if(this._showSuggestionAfterError){let I=[];this.createHelp().visibleCommands(this).forEach((E)=>{if(I.push(E.name()),E.alias())I.push(E.alias())}),Q=F0A(A,I)}let B=`error: unknown command '${A}'${Q}`;this.error(B,{code:"commander.unknownCommand"})}version(A,Q,B){if(A===void 0)return this._version;this._version=A,Q=Q||"-V, --version",B=B||"output the version number";let I=this.createOption(Q,B);return this._versionOptionName=I.attributeName(),this._registerOption(I),this.on("option:"+I.name(),()=>{this._outputConfiguration.writeOut(`${A}
92
92
  `),this._exit(0,"commander.version",A)}),this}description(A,Q){if(A===void 0&&Q===void 0)return this._description;if(this._description=A,Q)this._argsDescription=Q;return this}summary(A){if(A===void 0)return this._summary;return this._summary=A,this}alias(A){if(A===void 0)return this._aliases[0];let Q=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)Q=this.commands[this.commands.length-1];if(A===Q._name)throw Error("Command alias can't be the same as its name");let B=this.parent?._findCommand(A);if(B){let I=[B.name()].concat(B.aliases()).join("|");throw Error(`cannot add alias '${A}' to command '${this.name()}' as already have command '${I}'`)}return Q._aliases.push(A),this}aliases(A){if(A===void 0)return this._aliases;return A.forEach((Q)=>this.alias(Q)),this}usage(A){if(A===void 0){if(this._usage)return this._usage;let Q=this.registeredArguments.map((B)=>{return UfA(B)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?Q:[]).join(" ")}return this._usage=A,this}name(A){if(A===void 0)return this._name;return this._name=A,this}helpGroup(A){if(A===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=A,this}commandsGroup(A){if(A===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=A,this}optionsGroup(A){if(A===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=A,this}_initOptionGroup(A){if(this._defaultOptionGroup&&!A.helpGroupHeading)A.helpGroup(this._defaultOptionGroup)}_initCommandGroup(A){if(this._defaultCommandGroup&&!A.helpGroup())A.helpGroup(this._defaultCommandGroup)}nameFromFilename(A){return this._name=$J.basename(A,$J.extname(A)),this}executableDir(A){if(A===void 0)return this._executableDir;return this._executableDir=A,this}helpInformation(A){let Q=this.createHelp(),B=this._getOutputContext(A);Q.prepareContext({error:B.error,helpWidth:B.helpWidth,outputHasColors:B.hasColors});let I=Q.formatHelp(this,Q);if(B.hasColors)return I;return this._outputConfiguration.stripColor(I)}_getOutputContext(A){A=A||{};let Q=!!A.error,B,I,E;if(Q)B=($)=>this._outputConfiguration.writeErr($),I=this._outputConfiguration.getErrHasColors(),E=this._outputConfiguration.getErrHelpWidth();else B=($)=>this._outputConfiguration.writeOut($),I=this._outputConfiguration.getOutHasColors(),E=this._outputConfiguration.getOutHelpWidth();return{error:Q,write:($)=>{if(!I)$=this._outputConfiguration.stripColor($);return B($)},hasColors:I,helpWidth:E}}outputHelp(A){let Q;if(typeof A==="function")Q=A,A=void 0;let B=this._getOutputContext(A),I={error:B.error,write:B.write,command:this};this._getCommandAndAncestors().reverse().forEach((D)=>D.emit("beforeAllHelp",I)),this.emit("beforeHelp",I);let E=this.helpInformation({error:B.error});if(Q){if(E=Q(E),typeof E!=="string"&&!Buffer.isBuffer(E))throw Error("outputHelp callback must return a string or a Buffer")}if(B.write(E),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",I),this._getCommandAndAncestors().forEach((D)=>D.emit("afterAllHelp",I))}helpOption(A,Q){if(typeof A==="boolean"){if(A){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(A??"-h, --help",Q??"display help for command"),A||Q)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(A){return this._helpOption=A,this._initOptionGroup(A),this}help(A){this.outputHelp(A);let Q=Number(o0.exitCode??0);if(Q===0&&A&&typeof A!=="function"&&A.error)Q=1;this._exit(Q,"commander.help","(outputHelp)")}addHelpText(A,Q){let B=["beforeAll","before","after","afterAll"];if(!B.includes(A))throw Error(`Unexpected value for position to addHelpText.
93
93
  Expecting one of '${B.join("', '")}'`);let I=`${A}Help`;return this.on(I,(E)=>{let D;if(typeof Q==="function")D=Q({error:E.error,command:E.command});else D=Q;if(D)E.write(`${D}
94
- `)}),this}_outputHelpIfRequested(A){let Q=this._getHelpOption();if(Q&&A.find((I)=>Q.is(I)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function W0A(A){return A.map((Q)=>{if(!Q.startsWith("--inspect"))return Q;let B,I="127.0.0.1",E="9229",D;if((D=Q.match(/^(--inspect(-brk)?)$/))!==null)B=D[1];else if((D=Q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(B=D[1],/^\d+$/.test(D[3]))E=D[3];else I=D[3];else if((D=Q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)B=D[1],I=D[3],E=D[4];if(B&&E!=="0")return`${B}=${I}:${parseInt(E)+1}`;return Q})}function Sg(){if(o0.env.NO_COLOR||o0.env.FORCE_COLOR==="0"||o0.env.FORCE_COLOR==="false")return!1;if(o0.env.FORCE_COLOR||o0.env.CLICOLOR_FORCE!==void 0)return!0;return}FfA.Command=jg;FfA.useColor=Sg});var N0A=v((MfA)=>{var{Argument:q0A}=J2(),{Command:Pg}=K0A(),{CommanderError:qfA,InvalidArgumentError:Z0A}=nW(),{Help:ZfA}=Og(),{Option:M0A}=Rg();MfA.program=new Pg;MfA.createCommand=(A)=>new Pg(A);MfA.createOption=(A,Q)=>new M0A(A,Q);MfA.createArgument=(A,Q)=>new q0A(A,Q);MfA.Command=Pg;MfA.Option=M0A;MfA.Argument=q0A;MfA.Help=ZfA;MfA.CommanderError=qfA;MfA.InvalidArgumentError=Z0A;MfA.InvalidOptionArgumentError=Z0A});var N1;var V9=kA(()=>{N1={name:"@capgo/cli",type:"module",version:"7.112.4",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/capgo/tree/main/cli#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/capgo.git",directory:"cli"},bugs:{url:"https://github.com/Cap-go/capgo/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk","tanstack-intent"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},files:["!skills/_artifacts","dist","skills"],engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"bunx --bun supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsgo --project tsconfig.tsgo.json --noEmit",lint:"bun run lint:ox","lint:ox":"oxlint --config ../.oxlintrc.json src","lint:fix":"oxlint --config ../.oxlintrc.json --fix src","check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:android-service-account-validation":"bun test/test-android-service-account-validation.mjs","test:build-zip-filter":"bun test/test-build-zip-filter.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:build-needed":"bun test/test-build-needed.mjs","test:ci-prompts":"bun test/test-ci-prompts.mjs","test:ci-secrets":"bun test/test-ci-secrets.mjs","test:android-onboarding-progress":"bun test/test-android-onboarding-progress.mjs","test:onboarding-telemetry":"bun test/test-onboarding-telemetry.mjs","test:posthog-exception":"bun test/test-posthog-exception.mjs","test:onboarding-recovery":"bun test/test-onboarding-recovery.mjs","test:onboarding-progress":"bun test/test-onboarding-progress.mjs","test:onboarding-run-targets":"bun test/test-onboarding-run-targets.mjs","test:run-device-command":"bun test/test-run-device-command.mjs","test:init-app-conflict":"bun test/test-init-app-conflict.mjs","test:init-guardrails":"bun test/test-init-guardrails.mjs","test:prompt-preferences":"bun test/test-prompt-preferences.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:mcp":"node test/test-mcp.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh","test:platform-paths":"bun test/test-platform-paths.mjs","test:payload-split":"bun test/test-payload-split.mjs","test:macos-signing":"bun test/test-macos-signing.mjs","test:apple-api-import-helpers":"bun test/test-apple-api-import-helpers.mjs","test:manifest-path-encoding":"bun test/test-manifest-path-encoding.mjs",test:"bun run build && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:onboarding-recovery && bun run test:onboarding-progress && bun run test:onboarding-run-targets && bun run test:run-device-command && bun run test:init-app-conflict && bun run test:init-guardrails && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:apple-api-import-helpers && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown","test:build-platform-selection":"bun test/test-build-platform-selection.mjs","test:ai-log-capture":"bun test/test-ai-log-capture.mjs","test:ai-analyze-flow":"bun test/test-ai-analyze-flow.mjs","test:ai-render-markdown":"bun test/test-ai-render-markdown.mjs"},dependencies:{"@inkjs/ui":"^2.0.0",ink:"^7.0.4","ink-spinner":"^5.0.0",jsonwebtoken:"^9.0.3","node-forge":"^1.4.0",qrcode:"^1.5.4",react:"^19.2.6"},devDependencies:{"@antfu/eslint-config":"^9.0.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6","@capacitor/cli":"^8.3.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.4.0","@modelcontextprotocol/sdk":"^1.29.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.8","@supabase/supabase-js":"^2.106.2","@tanstack/intent":"^0.0.41","@types/adm-zip":"^0.5.8","@types/jsonwebtoken":"^9.0.10","@types/node":"^25.9.1","@types/node-forge":"^1.3.14","@types/prettyjson":"^0.0.33","@types/qrcode":"^1.5.6","@types/react":"^19.2.15","@types/tmp":"^0.2.6","@types/ws":"^8.18.1","@typescript/native-preview":"7.0.0-dev.20260526.1","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.17","ci-info":"^4.4.0",commander:"^14.0.3",eslint:"^10.4.0","git-format-staged":"4.0.1",husky:"^9.1.7","is-wsl":"^3.1.1",micromatch:"^4.0.8",open:"^11.0.0",oxlint:"^1.67.0",partysocket:"^1.1.19",prettyjson:"^1.2.5",tmp:"^0.2.6","tus-js-client":"^4.3.1",typescript:"^6.0.3",ws:"^8.21.0",zod:"^4.4.3"}}});var X2=v((w0A)=>{Object.defineProperty(w0A,"__esModule",{value:!0});w0A.isNXMonorepo=w0A.isMonorepo=w0A.findPackageRelativePathInMonorepo=w0A.findPackagePath=w0A.findNXMonorepoRoot=w0A.findMonorepoRoot=void 0;var iW=xA("node:fs"),T9=xA("node:path");function H2(A){let Q=(0,T9.join)(A,"package.json"),B=(0,T9.join)(A,"pnpm-workspace.yaml");if((0,iW.existsSync)(B)||(0,iW.existsSync)(Q)&&JSON.parse((0,iW.readFileSync)(Q,"utf-8")).workspaces)return A;let I=(0,T9.dirname)(A);if(I===A)throw Error("Monorepo root not found");return H2(I)}w0A.findMonorepoRoot=H2;function _g(A){let Q=(0,T9.join)(A,"nx.json");if((0,iW.existsSync)(Q))return A;let B=(0,T9.dirname)(A);if(B===A)throw Error("Monorepo root not found");return _g(B)}w0A.findNXMonorepoRoot=_g;function kg(A,Q,B){let I=(0,T9.join)(Q,"node_modules",A);if((0,iW.existsSync)(I))return I;if(Q===B)return null;let E=(0,T9.dirname)(Q);return kg(A,E,B)}w0A.findPackagePath=kg;function kfA(A,Q){let B=H2(Q),I=kg(A,Q,B);if(I)return(0,T9.relative)(Q,I);return null}w0A.findPackageRelativePathInMonorepo=kfA;function vfA(A){try{return H2(A),!0}catch(Q){return!1}}w0A.isMonorepo=vfA;function xfA(A){try{return _g(A),!0}catch(Q){return!1}}w0A.isNXMonorepo=xfA});import{existsSync as m4}from"fs";var rW=(A=".",Q="unknown")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,D=`${A}/shrinkwrap.yaml`,$=`${A}/yarn.lock`,G=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(m4(B)||m4(I))return"bun";if(m4(E)||m4(D))return"pnpm";if(m4($))return"yarn";if(m4(G)||m4(Y))return"npm";return Q},C2=(A=rW(),Q=!1)=>{switch(A){case"bun":return Q?"bun install":"install";case"pnpm":return Q?"pnpm install":"install";case"yarn":return Q?"yarn install":"install";case"npm":return Q?"npm install":"install";case"unknown":return Q?"unknown unknown":"unknown";default:return Q?"npm install":"install"}},O0A=(A=".",Q="npx")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,D=`${A}/shrinkwrap.yaml`,$=`${A}/yarn.lock`,G=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(m4(B)||m4(I))return"bunx";if(m4(E)||m4(D))return"pnpm exec";if(m4($))return"yarn dlx";if(m4(G)||m4(Y))return"npx";return Q};var R0A=()=>{};function F2(A,Q){if(isNaN(A)||isNaN(Q))throw Error("Cannot compare against non-numbers");return A===Q?0:A<Q?-1:1}function S0A(A=[],Q=[]){if(A.length&&!Q.length)return-1;if(!A.length&&Q.length)return 1;return 0}function W2(A=[],Q=[]){let B=Math.max(A.length,Q.length);for(let I=0;I<B;I++){let E=A[I],D=Q[I];if(E===void 0&&D===void 0)return 0;if(D===void 0)return 1;if(E===void 0)return-1;if(typeof E==="string"&&typeof D==="number")return 1;if(typeof E==="number"&&typeof D==="string")return-1;if(E<D)return-1;if(E>D)return 1}return 0}function xg(A){return typeof A==="number"&&!Number.isNaN(A)&&(!Number.isFinite(A)||0<=A&&A<=Number.MAX_SAFE_INTEGER)}function c4(A){return A.split(".").filter(Boolean).map((Q)=>{if(lfA.test(Q)){let B=Number(Q);if(xg(B))return B}return Q})}function m6(A){return A.split(".").filter(Boolean)}function q2(A,Q){let B=Number(A);if(!xg(B))throw TypeError(Q);return B}function GJ(A){return Number.isNaN(A.major)&&Number.isNaN(A.minor)&&Number.isNaN(A.patch)&&(A.prerelease===void 0||A.prerelease.length===0)&&(A.build===void 0||A.build.length===0)}var PX="0|[1-9]\\d*",ufA="\\d*[a-zA-Z-][a-zA-Z0-9-]*",mfA,V0A,j0A,T0A="[0-9A-Za-z-]+",P0A,_0A,k0A,v0A="(?:<|>)?=?",cfA="x|X|\\*",vg,K2,x0A,g0A,gg=256,lfA;var wD=kA(()=>{mfA=`(?<major>${PX})\\.(?<minor>${PX})\\.(?<patch>${PX})`,V0A=`(?:${PX}|${ufA})`,j0A=`(?:-(?<prerelease>${V0A}(?:\\.${V0A})*))`,P0A=`(?:\\+(?<buildmetadata>${T0A}(?:\\.${T0A})*))`,_0A=`v?${mfA}${j0A}?${P0A}?`,k0A=new RegExp(`^${_0A}$`),vg=`${PX}|${cfA}`,K2=`[v=\\s]*(?<major>${vg})(?:\\.(?<minor>${vg})(?:\\.(?<patch>${vg})${j0A}?${P0A}?)?)?`,x0A=new RegExp(`^(?<operator>~>?|\\^|${v0A})\\s*${K2}$`),g0A=new RegExp(`^(?<operator>${v0A})\\s*(${_0A})$|^$`);lfA=new RegExp(`^${PX}$`)});function U4(A,Q){if(A===Q)return 0;return F2(A.major,Q.major)||F2(A.minor,Q.minor)||F2(A.patch,Q.patch)||S0A(A.prerelease,Q.prerelease)||W2(A.prerelease,Q.prerelease)}var rD=kA(()=>{wD()});function b0A(A,Q){let B=A.prerelease?.length||Q.prerelease?.length;if(A.major!==Q.major)return B?"premajor":"major";if(A.minor!==Q.minor)return B?"preminor":"minor";if(A.patch!==Q.patch)return B?"prepatch":"patch";if(W2(A.prerelease,Q.prerelease)!==0)return"prerelease"}var y0A=kA(()=>{wD()});function bg(A){return A.toFixed(0)}function J8(A){let Q=bg(A.major),B=bg(A.minor),I=bg(A.patch),E=A.prerelease?.join(".")??"",D=A.build?.join(".")??"";return[[`${Q}.${B}.${I}`,E].filter((Y)=>Y).join("-"),D].filter((Y)=>Y).join("+")}function dfA(A,Q){if(GJ(Q))return!0;let B=U4(A,Q);switch(Q.operator){case"=":case void 0:return B===0;case"!=":return B!==0;case">":return B>0;case"<":return B<0;case">=":return B>=0;case"<=":return B<=0}}function Z2(A,Q){for(let B of Q)if(!dfA(A,B))return!1;if(!A.prerelease?.length)return!0;for(let B of Q){if(GJ(B))continue;if(!B.prerelease?.length)continue;let{major:I,minor:E,patch:D}=B;if(A.major===I&&A.minor===E&&A.patch===D)return!0}return!1}var M2=kA(()=>{wD();rD()});function oW(A,Q){return Q.some((B)=>Z2(A,B))}var aW=kA(()=>{M2()});function pfA(A=[]){let Q=[...A],B=Q.length;while(B>=0){let I=Q[B];if(typeof I==="number"){Q[B]=I+1;break}B-=1}if(B===-1)Q.push(0);return Q}function sW(A=[],Q){let B=pfA(A);if(!Q)return B;let I=c4(Q);if(I.every((E)=>typeof E==="string")){if(I.every((E,D)=>E===B[D])&&typeof B[I.length]==="number")return B;I=[...I,0]}return I}function S9(A,Q,B={}){let I=B.build!==void 0?m6(B.build):A.build??[];switch(Q){case"premajor":return{major:A.major+1,minor:0,patch:0,prerelease:sW(A.prerelease,B.prerelease),build:I};case"preminor":return{major:A.major,minor:A.minor+1,patch:0,prerelease:sW(A.prerelease,B.prerelease),build:I};case"prepatch":return{major:A.major,minor:A.minor,patch:A.patch+1,prerelease:sW(A.prerelease,B.prerelease),build:I};case"prerelease":{let D=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:D,prerelease:sW(A.prerelease,B.prerelease),build:I}}case"major":return{major:(A.prerelease??[]).length===0||A.minor!==0||A.patch!==0?A.major+1:A.major,minor:0,patch:0,prerelease:[],build:I};case"minor":{let D=(A.prerelease??[]).length===0||A.patch!==0?A.minor+1:A.minor;return{major:A.major,minor:D,patch:0,prerelease:[],build:I}}case"patch":{let D=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:D,prerelease:[],build:I}}case"pre":return{major:A.major,minor:A.minor,patch:A.patch,prerelease:sW(A.prerelease,B.prerelease),build:I};default:throw TypeError(`Cannot increment version: invalid argument ${Q}`)}}var f0A=kA(()=>{wD()});var N2,_X;var tW=kA(()=>{N2={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},_X={operator:void 0,...N2}});var yg=kA(()=>{tW();wD()});function fg(A,Q){return U4(A,Q)>0}var hg=kA(()=>{rD()});var h0A=kA(()=>{aW();hg()});function LD(A,Q){return U4(A,Q)<0}var ug=kA(()=>{rD()});var u0A=kA(()=>{aW();ug()});function nfA(A){let B=A.match(g0A)?.groups;if(!B)return null;let{operator:I}=B;return{operator:I||void 0,...N2}}function fI(A){return!A||A.toLowerCase()==="x"||A==="*"}function ifA(A){if(fI(A.major))return;if(fI(A.minor))return{operator:">=",major:+A.major,minor:0,patch:0,prerelease:[],build:[]};if(fI(A.patch))return{operator:">=",major:+A.major,minor:+A.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:A.prerelease?c4(A.prerelease):[],build:[]}}function rfA(A){if(fI(A.major))return;if(fI(A.minor))return{operator:"<",major:+A.major+1,minor:0,patch:0,prerelease:[],build:[]};if(fI(A.patch))return{operator:"<",major:+A.major,minor:+A.minor+1,patch:0,prerelease:[],build:[]};if(A.prerelease)return{operator:"<=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:c4(A.prerelease),build:[]};return{operator:"<=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:[],build:[]}}function ofA(A){let Q=A.match(new RegExp(`^${K2}`)),B=Q?.groups;if(!B)return null;let I=Q[0].length,E=A.slice(I).match(/^\s+-\s+/);if(!E)return null;let D=E[0].length,G=A.slice(I+D).match(new RegExp(`^${K2}\\s*$`))?.groups,Y=ifA(B),H=rfA(G);return[Y,H].filter(Boolean)}function afA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I){if(E===0)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E+1,minor:0,patch:0}]}let G=c4(A.prerelease??"");if(E===0){if(D===0)return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D,patch:$+1}];return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D+1,patch:0}]}return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E+1,minor:0,patch:0}]}function sfA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??"");return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D+1,patch:0}]}function tfA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[{operator:"<",major:0,minor:0,patch:0}];if(B){if(I)return[{operator:"<",major:E,minor:0,patch:0}];return[{operator:"<",major:E,minor:0,patch:0}]}if(I)return[{operator:"<",major:E,minor:D,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:"<",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function efA(A){let Q=fI(A.minor),B=fI(A.patch),I=+A.major,E=+A.minor,D=+A.patch;if(Q)return[{operator:"<",major:I+1,minor:0,patch:0}];if(B)return[{operator:"<",major:I,minor:E+1,patch:0}];let $=c4(A.prerelease??""),G=m6(A.build??"");return[{operator:"<=",major:I,minor:E,patch:D,prerelease:$,build:G}]}function AhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[{operator:"<",major:0,minor:0,patch:0}];if(B)return[{operator:">=",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:">",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function QhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:">=",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function BhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:A.operator==="="?"=":void 0,major:E,minor:D,patch:$,prerelease:G,build:Y}]}function IhA(A){let Q=A.match(x0A)?.groups;if(!Q)return nfA(A);switch(Q.operator){case"^":return afA(Q);case"~":case"~>":return sfA(Q);case"<":return tfA(Q);case"<=":return efA(Q);case">":return AhA(Q);case">=":return QhA(Q);default:return BhA(Q)}}function EhA(A){return A.split(/\s+/).flatMap(IhA)}function z2(A){let Q=A.replaceAll(/(?<=[<>=~^])(\s+)/g,"").split(/\s*\|\|\s*/).map((B)=>ofA(B)||EhA(B));if(Q.some((B)=>B.includes(null)))throw TypeError(`Cannot parse version range: range "${A}" is invalid`);return Q}var mg=kA(()=>{wD();tW()});function yB(A){if(typeof A!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof A}`);if(A.length>gg)throw TypeError(`Cannot parse version as version length is too long: length is ${A.length}, max length is ${gg}`);A=A.trim();let Q=A.match(k0A)?.groups;if(!Q)throw TypeError(`Cannot parse version: ${A}`);let B=q2(Q.major,`Cannot parse version ${A}: invalid major version`),I=q2(Q.minor,`Cannot parse version ${A}: invalid minor version`),E=q2(Q.patch,`Cannot parse version ${A}: invalid patch version`),D=Q.prerelease?c4(Q.prerelease):[],$=Q.buildmetadata?m6(Q.buildmetadata):[];return{major:B,minor:I,patch:E,prerelease:D,build:$}}var w2=kA(()=>{wD();wD()});function m0A(A,Q){let B=A.operator,I=Q.operator;if(B===void 0){if(GJ(A))return!0;return oW(A,[[Q]])}if(I===void 0){if(GJ(Q))return!0;return oW(Q,[[A]])}let E=U4(A,Q);return(B===">="||B===">")&&(I===">="||I===">")||(B==="<="||B==="<")&&(I==="<="||I==="<")||E===0&&((B===">="||B==="<=")&&(I===">="||I==="<="))||E===-1&&(B===">="||B===">")&&(I==="<="||I==="<")||E===1&&(B==="<="||B==="<")&&(I===">="||I===">")}function DhA(A){return A.every((Q)=>{return Q.some((B)=>$hA(B))})}function $hA(A){for(let Q=0;Q<A.length-1;Q++){let B=A[Q];for(let I of A.slice(Q+1))if(!m0A(B,I))return!1}return!0}function c0A(A,Q){return DhA([A,Q])&&A.some((B)=>{return Q.some((I)=>{return B.every((E)=>{return I.every((D)=>m0A(E,D))})})})}var l0A=kA(()=>{wD();rD();aW()});var d0A=kA(()=>{mg()});var p0A=kA(()=>{tW();tW();yg()});function eW(A){try{return yB(A),!0}catch{return!1}}var n0A=kA(()=>{w2()});var i0A=kA(()=>{w2()});var r0A=kA(()=>{wD()});var o0A=kA(()=>{rD()});var a0A=kA(()=>{rD()});var s0A=kA(()=>{M2();wD();rD()});function t0A(A,Q){return U4(A,Q)>=0}var e0A=kA(()=>{rD()});var AIA=kA(()=>{M2();wD();rD()});var QIA=kA(()=>{rD()});var h$=kA(()=>{rD();y0A();aW();f0A();yg();h0A();u0A();mg();w2();l0A();d0A();p0A();n0A();i0A();r0A();o0A();a0A();hg();s0A();e0A();ug();AIA();QIA()});var l4=v((QuQ,R2)=>{var BIA,IIA,EIA,DIA,$IA,GIA,JIA,YIA,UIA,HIA,XIA,CIA,FIA,L2,cg,WIA,KIA,qIA,kX,ZIA,MIA,NIA,zIA,wIA,LIA,OIA,RIA,VIA,O2,TIA,SIA,jIA;(function(A){var Q=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(I){A(B(Q,B(I)))});else if(typeof R2==="object"&&typeof QuQ==="object")A(B(Q,B(QuQ)));else A(B(Q));function B(I,E){if(I!==Q)if(typeof Object.create==="function")Object.defineProperty(I,"__esModule",{value:!0});else I.__esModule=!0;return function(D,$){return I[D]=E?E(D,$):$}}})(function(A){var Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(D,$){D.__proto__=$}||function(D,$){for(var G in $)if(Object.prototype.hasOwnProperty.call($,G))D[G]=$[G]};BIA=function(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Class extends value "+String($)+" is not a constructor or null");Q(D,$);function G(){this.constructor=D}D.prototype=$===null?Object.create($):(G.prototype=$.prototype,new G)},IIA=Object.assign||function(D){for(var $,G=1,Y=arguments.length;G<Y;G++){$=arguments[G];for(var H in $)if(Object.prototype.hasOwnProperty.call($,H))D[H]=$[H]}return D},EIA=function(D,$){var G={};for(var Y in D)if(Object.prototype.hasOwnProperty.call(D,Y)&&$.indexOf(Y)<0)G[Y]=D[Y];if(D!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var H=0,Y=Object.getOwnPropertySymbols(D);H<Y.length;H++)if($.indexOf(Y[H])<0&&Object.prototype.propertyIsEnumerable.call(D,Y[H]))G[Y[H]]=D[Y[H]]}return G},DIA=function(D,$,G,Y){var H=arguments.length,X=H<3?$:Y===null?Y=Object.getOwnPropertyDescriptor($,G):Y,F;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")X=Reflect.decorate(D,$,G,Y);else for(var W=D.length-1;W>=0;W--)if(F=D[W])X=(H<3?F(X):H>3?F($,G,X):F($,G))||X;return H>3&&X&&Object.defineProperty($,G,X),X},$IA=function(D,$){return function(G,Y){$(G,Y,D)}},GIA=function(D,$,G,Y,H,X){function F(l){if(l!==void 0&&typeof l!=="function")throw TypeError("Function expected");return l}var W=Y.kind,q=W==="getter"?"get":W==="setter"?"set":"value",Z=!$&&D?Y.static?D:D.prototype:null,N=$||(Z?Object.getOwnPropertyDescriptor(Z,Y.name):{}),w,O=!1;for(var T=G.length-1;T>=0;T--){var R={};for(var S in Y)R[S]=S==="access"?{}:Y[S];for(var S in Y.access)R.access[S]=Y.access[S];R.addInitializer=function(l){if(O)throw TypeError("Cannot add initializers after decoration has completed");X.push(F(l||null))};var k=(0,G[T])(W==="accessor"?{get:N.get,set:N.set}:N[q],R);if(W==="accessor"){if(k===void 0)continue;if(k===null||typeof k!=="object")throw TypeError("Object expected");if(w=F(k.get))N.get=w;if(w=F(k.set))N.set=w;if(w=F(k.init))H.unshift(w)}else if(w=F(k))if(W==="field")H.unshift(w);else N[q]=w}if(Z)Object.defineProperty(Z,Y.name,N);O=!0},JIA=function(D,$,G){var Y=arguments.length>2;for(var H=0;H<$.length;H++)G=Y?$[H].call(D,G):$[H].call(D);return Y?G:void 0},YIA=function(D){return typeof D==="symbol"?D:"".concat(D)},UIA=function(D,$,G){if(typeof $==="symbol")$=$.description?"[".concat($.description,"]"):"";return Object.defineProperty(D,"name",{configurable:!0,value:G?"".concat(G," ",$):$})},HIA=function(D,$){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(D,$)},XIA=function(D,$,G,Y){function H(X){return X instanceof G?X:new G(function(F){F(X)})}return new(G||(G=Promise))(function(X,F){function W(N){try{Z(Y.next(N))}catch(w){F(w)}}function q(N){try{Z(Y.throw(N))}catch(w){F(w)}}function Z(N){N.done?X(N.value):H(N.value).then(W,q)}Z((Y=Y.apply(D,$||[])).next())})},CIA=function(D,$){var G={label:0,sent:function(){if(X[0]&1)throw X[1];return X[1]},trys:[],ops:[]},Y,H,X,F=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return F.next=W(0),F.throw=W(1),F.return=W(2),typeof Symbol==="function"&&(F[Symbol.iterator]=function(){return this}),F;function W(Z){return function(N){return q([Z,N])}}function q(Z){if(Y)throw TypeError("Generator is already executing.");while(F&&(F=0,Z[0]&&(G=0)),G)try{if(Y=1,H&&(X=Z[0]&2?H.return:Z[0]?H.throw||((X=H.return)&&X.call(H),0):H.next)&&!(X=X.call(H,Z[1])).done)return X;if(H=0,X)Z=[Z[0]&2,X.value];switch(Z[0]){case 0:case 1:X=Z;break;case 4:return G.label++,{value:Z[1],done:!1};case 5:G.label++,H=Z[1],Z=[0];continue;case 7:Z=G.ops.pop(),G.trys.pop();continue;default:if((X=G.trys,!(X=X.length>0&&X[X.length-1]))&&(Z[0]===6||Z[0]===2)){G=0;continue}if(Z[0]===3&&(!X||Z[1]>X[0]&&Z[1]<X[3])){G.label=Z[1];break}if(Z[0]===6&&G.label<X[1]){G.label=X[1],X=Z;break}if(X&&G.label<X[2]){G.label=X[2],G.ops.push(Z);break}if(X[2])G.ops.pop();G.trys.pop();continue}Z=$.call(D,G)}catch(N){Z=[6,N],H=0}finally{Y=X=0}if(Z[0]&5)throw Z[1];return{value:Z[0]?Z[1]:void 0,done:!0}}},FIA=function(D,$){for(var G in D)if(G!=="default"&&!Object.prototype.hasOwnProperty.call($,G))O2($,D,G)},O2=Object.create?function(D,$,G,Y){if(Y===void 0)Y=G;var H=Object.getOwnPropertyDescriptor($,G);if(!H||("get"in H?!$.__esModule:H.writable||H.configurable))H={enumerable:!0,get:function(){return $[G]}};Object.defineProperty(D,Y,H)}:function(D,$,G,Y){if(Y===void 0)Y=G;D[Y]=$[G]},L2=function(D){var $=typeof Symbol==="function"&&Symbol.iterator,G=$&&D[$],Y=0;if(G)return G.call(D);if(D&&typeof D.length==="number")return{next:function(){if(D&&Y>=D.length)D=void 0;return{value:D&&D[Y++],done:!D}}};throw TypeError($?"Object is not iterable.":"Symbol.iterator is not defined.")},cg=function(D,$){var G=typeof Symbol==="function"&&D[Symbol.iterator];if(!G)return D;var Y=G.call(D),H,X=[],F;try{while(($===void 0||$-- >0)&&!(H=Y.next()).done)X.push(H.value)}catch(W){F={error:W}}finally{try{if(H&&!H.done&&(G=Y.return))G.call(Y)}finally{if(F)throw F.error}}return X},WIA=function(){for(var D=[],$=0;$<arguments.length;$++)D=D.concat(cg(arguments[$]));return D},KIA=function(){for(var D=0,$=0,G=arguments.length;$<G;$++)D+=arguments[$].length;for(var Y=Array(D),H=0,$=0;$<G;$++)for(var X=arguments[$],F=0,W=X.length;F<W;F++,H++)Y[H]=X[F];return Y},qIA=function(D,$,G){if(G||arguments.length===2){for(var Y=0,H=$.length,X;Y<H;Y++)if(X||!(Y in $)){if(!X)X=Array.prototype.slice.call($,0,Y);X[Y]=$[Y]}}return D.concat(X||Array.prototype.slice.call($))},kX=function(D){return this instanceof kX?(this.v=D,this):new kX(D)},ZIA=function(D,$,G){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var Y=G.apply(D,$||[]),H,X=[];return H=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),W("next"),W("throw"),W("return",F),H[Symbol.asyncIterator]=function(){return this},H;function F(T){return function(R){return Promise.resolve(R).then(T,w)}}function W(T,R){if(Y[T]){if(H[T]=function(S){return new Promise(function(k,l){X.push([T,S,k,l])>1||q(T,S)})},R)H[T]=R(H[T])}}function q(T,R){try{Z(Y[T](R))}catch(S){O(X[0][3],S)}}function Z(T){T.value instanceof kX?Promise.resolve(T.value.v).then(N,w):O(X[0][2],T)}function N(T){q("next",T)}function w(T){q("throw",T)}function O(T,R){if(T(R),X.shift(),X.length)q(X[0][0],X[0][1])}},MIA=function(D){var $,G;return $={},Y("next"),Y("throw",function(H){throw H}),Y("return"),$[Symbol.iterator]=function(){return this},$;function Y(H,X){$[H]=D[H]?function(F){return(G=!G)?{value:kX(D[H](F)),done:!1}:X?X(F):F}:X}},NIA=function(D){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var $=D[Symbol.asyncIterator],G;return $?$.call(D):(D=typeof L2==="function"?L2(D):D[Symbol.iterator](),G={},Y("next"),Y("throw"),Y("return"),G[Symbol.asyncIterator]=function(){return this},G);function Y(X){G[X]=D[X]&&function(F){return new Promise(function(W,q){F=D[X](F),H(W,q,F.done,F.value)})}}function H(X,F,W,q){Promise.resolve(q).then(function(Z){X({value:Z,done:W})},F)}},zIA=function(D,$){if(Object.defineProperty)Object.defineProperty(D,"raw",{value:$});else D.raw=$;return D};var B=Object.create?function(D,$){Object.defineProperty(D,"default",{enumerable:!0,value:$})}:function(D,$){D.default=$},I=function(D){return I=Object.getOwnPropertyNames||function($){var G=[];for(var Y in $)if(Object.prototype.hasOwnProperty.call($,Y))G[G.length]=Y;return G},I(D)};wIA=function(D){if(D&&D.__esModule)return D;var $={};if(D!=null){for(var G=I(D),Y=0;Y<G.length;Y++)if(G[Y]!=="default")O2($,D,G[Y])}return B($,D),$},LIA=function(D){return D&&D.__esModule?D:{default:D}},OIA=function(D,$,G,Y){if(G==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof $==="function"?D!==$||!Y:!$.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return G==="m"?Y:G==="a"?Y.call(D):Y?Y.value:$.get(D)},RIA=function(D,$,G,Y,H){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!H)throw TypeError("Private accessor was defined without a setter");if(typeof $==="function"?D!==$||!H:!$.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?H.call(D,G):H?H.value=G:$.set(D,G),G},VIA=function(D,$){if($===null||typeof $!=="object"&&typeof $!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof D==="function"?$===D:D.has($)},TIA=function(D,$,G){if($!==null&&$!==void 0){if(typeof $!=="object"&&typeof $!=="function")throw TypeError("Object expected.");var Y,H;if(G){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");Y=$[Symbol.asyncDispose]}if(Y===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(Y=$[Symbol.dispose],G)H=Y}if(typeof Y!=="function")throw TypeError("Object not disposable.");if(H)Y=function(){try{H.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:$,dispose:Y,async:G})}else if(G)D.stack.push({async:!0});return $};var E=typeof SuppressedError==="function"?SuppressedError:function(D,$,G){var Y=Error(G);return Y.name="SuppressedError",Y.error=D,Y.suppressed=$,Y};SIA=function(D){function $(X){D.error=D.hasError?new E(X,D.error,"An error was suppressed during disposal."):X,D.hasError=!0}var G,Y=0;function H(){while(G=D.stack.pop())try{if(!G.async&&Y===1)return Y=0,D.stack.push(G),Promise.resolve().then(H);if(G.dispose){var X=G.dispose.call(G.value);if(G.async)return Y|=2,Promise.resolve(X).then(H,function(F){return $(F),H()})}else Y|=1}catch(F){$(F)}if(Y===1)return D.hasError?Promise.reject(D.error):Promise.resolve();if(D.hasError)throw D.error}return H()},jIA=function(D,$){if(typeof D==="string"&&/^\.\.?\//.test(D))return D.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(G,Y,H,X,F){return Y?$?".jsx":".js":H&&(!X||!F)?G:H+X+"."+F.toLowerCase()+"js"});return D},A("__extends",BIA),A("__assign",IIA),A("__rest",EIA),A("__decorate",DIA),A("__param",$IA),A("__esDecorate",GIA),A("__runInitializers",JIA),A("__propKey",YIA),A("__setFunctionName",UIA),A("__metadata",HIA),A("__awaiter",XIA),A("__generator",CIA),A("__exportStar",FIA),A("__createBinding",O2),A("__values",L2),A("__read",cg),A("__spread",WIA),A("__spreadArrays",KIA),A("__spreadArray",qIA),A("__await",kX),A("__asyncGenerator",ZIA),A("__asyncDelegator",MIA),A("__asyncValues",NIA),A("__makeTemplateObject",zIA),A("__importStar",wIA),A("__importDefault",LIA),A("__classPrivateFieldGet",OIA),A("__classPrivateFieldSet",RIA),A("__classPrivateFieldIn",VIA),A("__addDisposableResource",TIA),A("__disposeResources",SIA),A("__rewriteRelativeImportExtension",jIA)})});var kIA=v((PIA)=>{Object.defineProperty(PIA,"__esModule",{value:!0});PIA.resolveFetch=void 0;var GhA=(A)=>{if(A)return(...Q)=>A(...Q);return(...Q)=>fetch(...Q)};PIA.resolveFetch=GhA});var lg=v((yIA)=>{Object.defineProperty(yIA,"__esModule",{value:!0});yIA.FunctionRegion=yIA.FunctionsHttpError=yIA.FunctionsRelayError=yIA.FunctionsFetchError=yIA.FunctionsError=void 0;class AK extends Error{constructor(A,Q="FunctionsError",B){super(A);this.name=Q,this.context=B}toJSON(){return{name:this.name,message:this.message,context:this.context}}}yIA.FunctionsError=AK;class xIA extends AK{constructor(A){super("Failed to send a request to the Edge Function","FunctionsFetchError",A)}}yIA.FunctionsFetchError=xIA;class gIA extends AK{constructor(A){super("Relay Error invoking the Edge Function","FunctionsRelayError",A)}}yIA.FunctionsRelayError=gIA;class bIA extends AK{constructor(A){super("Edge Function returned a non-2xx status code","FunctionsHttpError",A)}}yIA.FunctionsHttpError=bIA;var vIA;(function(A){A.Any="any",A.ApNortheast1="ap-northeast-1",A.ApNortheast2="ap-northeast-2",A.ApSouth1="ap-south-1",A.ApSoutheast1="ap-southeast-1",A.ApSoutheast2="ap-southeast-2",A.CaCentral1="ca-central-1",A.EuCentral1="eu-central-1",A.EuWest1="eu-west-1",A.EuWest2="eu-west-2",A.EuWest3="eu-west-3",A.SaEast1="sa-east-1",A.UsEast1="us-east-1",A.UsWest1="us-west-1",A.UsWest2="us-west-2"})(vIA||(yIA.FunctionRegion=vIA={}))});var cIA=v((uIA)=>{Object.defineProperty(uIA,"__esModule",{value:!0});uIA.FunctionsClient=void 0;var XhA=l4(),ChA=kIA(),vX=lg();class hIA{constructor(A,{headers:Q={},customFetch:B,region:I=vX.FunctionRegion.Any}={}){this.url=A,this.headers=Q,this.region=I,this.fetch=(0,ChA.resolveFetch)(B)}setAuth(A){this.headers.Authorization=`Bearer ${A}`}invoke(A){return XhA.__awaiter(this,arguments,void 0,function*(Q,B={}){var I;let E,D;try{let{headers:$,method:G,body:Y,signal:H,timeout:X}=B,F={},{region:W}=B;if(!W)W=this.region;let q=new URL(`${this.url}/${Q}`);if(W&&W!=="any")F["x-region"]=W,q.searchParams.set("forceFunctionRegion",W);let Z;if(Y&&($&&!Object.prototype.hasOwnProperty.call($,"Content-Type")||!$))if(typeof Blob<"u"&&Y instanceof Blob||Y instanceof ArrayBuffer)F["Content-Type"]="application/octet-stream",Z=Y;else if(typeof Y==="string")F["Content-Type"]="text/plain",Z=Y;else if(typeof FormData<"u"&&Y instanceof FormData)Z=Y;else F["Content-Type"]="application/json",Z=JSON.stringify(Y);else if(Y&&typeof Y!=="string"&&!(typeof Blob<"u"&&Y instanceof Blob)&&!(Y instanceof ArrayBuffer)&&!(typeof FormData<"u"&&Y instanceof FormData))Z=JSON.stringify(Y);else Z=Y;let N=H;if(X)if(D=new AbortController,E=setTimeout(()=>D.abort(),X),H)N=D.signal,H.addEventListener("abort",()=>D.abort());else N=D.signal;let w=yield this.fetch(q.toString(),{method:G||"POST",headers:Object.assign(Object.assign(Object.assign({},F),this.headers),$),body:Z,signal:N}).catch((S)=>{throw new vX.FunctionsFetchError(S)}),O=w.headers.get("x-relay-error");if(O&&O==="true")throw new vX.FunctionsRelayError(w);if(!w.ok)throw new vX.FunctionsHttpError(w);let T=((I=w.headers.get("Content-Type"))!==null&&I!==void 0?I:"text/plain").split(";")[0].trim(),R;if(T==="application/json")R=yield w.json();else if(T==="application/octet-stream"||T==="application/pdf")R=yield w.blob();else if(T==="text/event-stream")R=w;else if(T==="multipart/form-data")R=yield w.formData();else R=yield w.text();return{data:R,error:null,response:w}}catch($){return{data:null,error:$,response:$ instanceof vX.FunctionsHttpError||$ instanceof vX.FunctionsRelayError?$.context:void 0}}finally{if(E)clearTimeout(E)}})}}uIA.FunctionsClient=hIA});var lIA=v((j9)=>{Object.defineProperty(j9,"__esModule",{value:!0});j9.FunctionRegion=j9.FunctionsRelayError=j9.FunctionsHttpError=j9.FunctionsFetchError=j9.FunctionsError=j9.FunctionsClient=void 0;var FhA=cIA();Object.defineProperty(j9,"FunctionsClient",{enumerable:!0,get:function(){return FhA.FunctionsClient}});var QK=lg();Object.defineProperty(j9,"FunctionsError",{enumerable:!0,get:function(){return QK.FunctionsError}});Object.defineProperty(j9,"FunctionsFetchError",{enumerable:!0,get:function(){return QK.FunctionsFetchError}});Object.defineProperty(j9,"FunctionsHttpError",{enumerable:!0,get:function(){return QK.FunctionsHttpError}});Object.defineProperty(j9,"FunctionsRelayError",{enumerable:!0,get:function(){return QK.FunctionsRelayError}});Object.defineProperty(j9,"FunctionRegion",{enumerable:!0,get:function(){return QK.FunctionRegion}})});function pIA(A,Q){return new Promise((B)=>{if(Q===null||Q===void 0?void 0:Q.aborted){B();return}let I=setTimeout(()=>{Q===null||Q===void 0||Q.removeEventListener("abort",E),B()},A);function E(){clearTimeout(I),B()}Q===null||Q===void 0||Q.addEventListener("abort",E)})}function qhA(A,Q,B,I){if(!I||B>=3)return!1;if(!rIA.includes(A))return!1;if(!KhA.includes(Q))return!1;return!0}function BK(A){return BK=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Q){return typeof Q}:function(Q){return Q&&typeof Symbol=="function"&&Q.constructor===Symbol&&Q!==Symbol.prototype?"symbol":typeof Q},BK(A)}function zhA(A,Q){if(BK(A)!="object"||!A)return A;var B=A[Symbol.toPrimitive];if(B!==void 0){var I=B.call(A,Q||"default");if(BK(I)!="object")return I;throw TypeError("@@toPrimitive must return a primitive value.")}return(Q==="string"?String:Number)(A)}function whA(A){var Q=zhA(A,"string");return BK(Q)=="symbol"?Q:Q+""}function LhA(A,Q,B){return(Q=whA(Q))in A?Object.defineProperty(A,Q,{value:B,enumerable:!0,configurable:!0,writable:!0}):A[Q]=B,A}function iIA(A,Q){var B=Object.keys(A);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(A);Q&&(I=I.filter(function(E){return Object.getOwnPropertyDescriptor(A,E).enumerable})),B.push.apply(B,I)}return B}function V2(A){for(var Q=1;Q<arguments.length;Q++){var B=arguments[Q]!=null?arguments[Q]:{};Q%2?iIA(Object(B),!0).forEach(function(I){LhA(A,I,B[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(B)):iIA(Object(B)).forEach(function(I){Object.defineProperty(A,I,Object.getOwnPropertyDescriptor(B,I))})}return A}var dIA=(A)=>Math.min(1000*2**A,30000),KhA,rIA,oIA,ZhA=class{constructor(A){var Q,B,I,E,D;if(this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=A.method,this.url=A.url,this.headers=new Headers(A.headers),this.schema=A.schema,this.body=A.body,this.shouldThrowOnError=(Q=A.shouldThrowOnError)!==null&&Q!==void 0?Q:!1,this.signal=A.signal,this.isMaybeSingle=(B=A.isMaybeSingle)!==null&&B!==void 0?B:!1,this.shouldStripNulls=(I=A.shouldStripNulls)!==null&&I!==void 0?I:!1,this.urlLengthLimit=(E=A.urlLengthLimit)!==null&&E!==void 0?E:8000,this.retryEnabled=(D=A.retry)!==null&&D!==void 0?D:!0,A.fetch)this.fetch=A.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(A,Q){return this.headers=new Headers(this.headers),this.headers.set(A,Q),this}retry(A){return this.retryEnabled=A,this}then(A,Q){var B=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");if(this.shouldStripNulls){let $=this.headers.get("Accept");if($==="application/vnd.pgrst.object+json")this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped");else if(!$||$==="application/json")this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}let I=this.fetch,D=(async()=>{let $=0;while(!0){let H=new Headers(B.headers);if($>0)H.set("X-Retry-Count",String($));let X;try{X=await I(B.url.toString(),{method:B.method,headers:H,body:JSON.stringify(B.body,(F,W)=>typeof W==="bigint"?W.toString():W),signal:B.signal})}catch(F){if((F===null||F===void 0?void 0:F.name)==="AbortError"||(F===null||F===void 0?void 0:F.code)==="ABORT_ERR")throw F;if(!rIA.includes(B.method))throw F;if(B.retryEnabled&&$<3){let W=dIA($);$++,await pIA(W,B.signal);continue}throw F}if(qhA(B.method,X.status,$,B.retryEnabled)){var G,Y;let F=(G=(Y=X.headers)===null||Y===void 0?void 0:Y.get("Retry-After"))!==null&&G!==void 0?G:null,W=F!==null?Math.max(0,parseInt(F,10)||0)*1000:dIA($);await X.text(),$++,await pIA(W,B.signal);continue}return await B.processResponse(X)}})();if(!this.shouldThrowOnError)D=D.catch(($)=>{var G;let Y="",H="",X="",F=$===null||$===void 0?void 0:$.cause;if(F){var W,q,Z,N;let T=(W=F===null||F===void 0?void 0:F.message)!==null&&W!==void 0?W:"",R=(q=F===null||F===void 0?void 0:F.code)!==null&&q!==void 0?q:"";if(Y=`${(Z=$===null||$===void 0?void 0:$.name)!==null&&Z!==void 0?Z:"FetchError"}: ${$===null||$===void 0?void 0:$.message}`,Y+=`
94
+ `)}),this}_outputHelpIfRequested(A){let Q=this._getHelpOption();if(Q&&A.find((I)=>Q.is(I)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function W0A(A){return A.map((Q)=>{if(!Q.startsWith("--inspect"))return Q;let B,I="127.0.0.1",E="9229",D;if((D=Q.match(/^(--inspect(-brk)?)$/))!==null)B=D[1];else if((D=Q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(B=D[1],/^\d+$/.test(D[3]))E=D[3];else I=D[3];else if((D=Q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)B=D[1],I=D[3],E=D[4];if(B&&E!=="0")return`${B}=${I}:${parseInt(E)+1}`;return Q})}function Sg(){if(o0.env.NO_COLOR||o0.env.FORCE_COLOR==="0"||o0.env.FORCE_COLOR==="false")return!1;if(o0.env.FORCE_COLOR||o0.env.CLICOLOR_FORCE!==void 0)return!0;return}FfA.Command=jg;FfA.useColor=Sg});var N0A=v((MfA)=>{var{Argument:q0A}=J2(),{Command:Pg}=K0A(),{CommanderError:qfA,InvalidArgumentError:Z0A}=nW(),{Help:ZfA}=Og(),{Option:M0A}=Rg();MfA.program=new Pg;MfA.createCommand=(A)=>new Pg(A);MfA.createOption=(A,Q)=>new M0A(A,Q);MfA.createArgument=(A,Q)=>new q0A(A,Q);MfA.Command=Pg;MfA.Option=M0A;MfA.Argument=q0A;MfA.Help=ZfA;MfA.CommanderError=qfA;MfA.InvalidArgumentError=Z0A;MfA.InvalidOptionArgumentError=Z0A});var N1;var V9=kA(()=>{N1={name:"@capgo/cli",type:"module",version:"7.112.5",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/capgo/tree/main/cli#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/capgo.git",directory:"cli"},bugs:{url:"https://github.com/Cap-go/capgo/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk","tanstack-intent"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},files:["!skills/_artifacts","dist","skills"],engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"bunx --bun supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsgo --project tsconfig.tsgo.json --noEmit",lint:"bun run lint:ox","lint:ox":"oxlint --config ../.oxlintrc.json src","lint:fix":"oxlint --config ../.oxlintrc.json --fix src","check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:android-service-account-validation":"bun test/test-android-service-account-validation.mjs","test:build-zip-filter":"bun test/test-build-zip-filter.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:build-needed":"bun test/test-build-needed.mjs","test:ci-prompts":"bun test/test-ci-prompts.mjs","test:ci-secrets":"bun test/test-ci-secrets.mjs","test:android-onboarding-progress":"bun test/test-android-onboarding-progress.mjs","test:onboarding-telemetry":"bun test/test-onboarding-telemetry.mjs","test:posthog-exception":"bun test/test-posthog-exception.mjs","test:onboarding-recovery":"bun test/test-onboarding-recovery.mjs","test:onboarding-progress":"bun test/test-onboarding-progress.mjs","test:onboarding-run-targets":"bun test/test-onboarding-run-targets.mjs","test:run-device-command":"bun test/test-run-device-command.mjs","test:init-app-conflict":"bun test/test-init-app-conflict.mjs","test:init-guardrails":"bun test/test-init-guardrails.mjs","test:prompt-preferences":"bun test/test-prompt-preferences.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:mcp":"node test/test-mcp.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh","test:platform-paths":"bun test/test-platform-paths.mjs","test:payload-split":"bun test/test-payload-split.mjs","test:macos-signing":"bun test/test-macos-signing.mjs","test:apple-api-import-helpers":"bun test/test-apple-api-import-helpers.mjs","test:manifest-path-encoding":"bun test/test-manifest-path-encoding.mjs",test:"bun run build && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:onboarding-recovery && bun run test:onboarding-progress && bun run test:onboarding-run-targets && bun run test:run-device-command && bun run test:init-app-conflict && bun run test:init-guardrails && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:apple-api-import-helpers && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown","test:build-platform-selection":"bun test/test-build-platform-selection.mjs","test:ai-log-capture":"bun test/test-ai-log-capture.mjs","test:ai-analyze-flow":"bun test/test-ai-analyze-flow.mjs","test:ai-render-markdown":"bun test/test-ai-render-markdown.mjs"},dependencies:{"@inkjs/ui":"^2.0.0",ink:"^7.0.4","ink-spinner":"^5.0.0",jsonwebtoken:"^9.0.3","node-forge":"^1.4.0",qrcode:"^1.5.4",react:"^19.2.6"},devDependencies:{"@antfu/eslint-config":"^9.0.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6","@capacitor/cli":"^8.3.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.4.0","@modelcontextprotocol/sdk":"^1.29.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.8","@supabase/supabase-js":"^2.106.2","@tanstack/intent":"^0.0.41","@types/adm-zip":"^0.5.8","@types/jsonwebtoken":"^9.0.10","@types/node":"^25.9.1","@types/node-forge":"^1.3.14","@types/prettyjson":"^0.0.33","@types/qrcode":"^1.5.6","@types/react":"^19.2.15","@types/tmp":"^0.2.6","@types/ws":"^8.18.1","@typescript/native-preview":"7.0.0-dev.20260526.1","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.17","ci-info":"^4.4.0",commander:"^14.0.3",eslint:"^10.4.0","git-format-staged":"4.0.1",husky:"^9.1.7","is-wsl":"^3.1.1",micromatch:"^4.0.8",open:"^11.0.0",oxlint:"^1.67.0",partysocket:"^1.1.19",prettyjson:"^1.2.5",tmp:"^0.2.6","tus-js-client":"^4.3.1",typescript:"^6.0.3",ws:"^8.21.0",zod:"^4.4.3"}}});var X2=v((w0A)=>{Object.defineProperty(w0A,"__esModule",{value:!0});w0A.isNXMonorepo=w0A.isMonorepo=w0A.findPackageRelativePathInMonorepo=w0A.findPackagePath=w0A.findNXMonorepoRoot=w0A.findMonorepoRoot=void 0;var iW=xA("node:fs"),T9=xA("node:path");function H2(A){let Q=(0,T9.join)(A,"package.json"),B=(0,T9.join)(A,"pnpm-workspace.yaml");if((0,iW.existsSync)(B)||(0,iW.existsSync)(Q)&&JSON.parse((0,iW.readFileSync)(Q,"utf-8")).workspaces)return A;let I=(0,T9.dirname)(A);if(I===A)throw Error("Monorepo root not found");return H2(I)}w0A.findMonorepoRoot=H2;function _g(A){let Q=(0,T9.join)(A,"nx.json");if((0,iW.existsSync)(Q))return A;let B=(0,T9.dirname)(A);if(B===A)throw Error("Monorepo root not found");return _g(B)}w0A.findNXMonorepoRoot=_g;function kg(A,Q,B){let I=(0,T9.join)(Q,"node_modules",A);if((0,iW.existsSync)(I))return I;if(Q===B)return null;let E=(0,T9.dirname)(Q);return kg(A,E,B)}w0A.findPackagePath=kg;function kfA(A,Q){let B=H2(Q),I=kg(A,Q,B);if(I)return(0,T9.relative)(Q,I);return null}w0A.findPackageRelativePathInMonorepo=kfA;function vfA(A){try{return H2(A),!0}catch(Q){return!1}}w0A.isMonorepo=vfA;function xfA(A){try{return _g(A),!0}catch(Q){return!1}}w0A.isNXMonorepo=xfA});import{existsSync as m4}from"fs";var rW=(A=".",Q="unknown")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,D=`${A}/shrinkwrap.yaml`,$=`${A}/yarn.lock`,G=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(m4(B)||m4(I))return"bun";if(m4(E)||m4(D))return"pnpm";if(m4($))return"yarn";if(m4(G)||m4(Y))return"npm";return Q},C2=(A=rW(),Q=!1)=>{switch(A){case"bun":return Q?"bun install":"install";case"pnpm":return Q?"pnpm install":"install";case"yarn":return Q?"yarn install":"install";case"npm":return Q?"npm install":"install";case"unknown":return Q?"unknown unknown":"unknown";default:return Q?"npm install":"install"}},O0A=(A=".",Q="npx")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,D=`${A}/shrinkwrap.yaml`,$=`${A}/yarn.lock`,G=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(m4(B)||m4(I))return"bunx";if(m4(E)||m4(D))return"pnpm exec";if(m4($))return"yarn dlx";if(m4(G)||m4(Y))return"npx";return Q};var R0A=()=>{};function F2(A,Q){if(isNaN(A)||isNaN(Q))throw Error("Cannot compare against non-numbers");return A===Q?0:A<Q?-1:1}function S0A(A=[],Q=[]){if(A.length&&!Q.length)return-1;if(!A.length&&Q.length)return 1;return 0}function W2(A=[],Q=[]){let B=Math.max(A.length,Q.length);for(let I=0;I<B;I++){let E=A[I],D=Q[I];if(E===void 0&&D===void 0)return 0;if(D===void 0)return 1;if(E===void 0)return-1;if(typeof E==="string"&&typeof D==="number")return 1;if(typeof E==="number"&&typeof D==="string")return-1;if(E<D)return-1;if(E>D)return 1}return 0}function xg(A){return typeof A==="number"&&!Number.isNaN(A)&&(!Number.isFinite(A)||0<=A&&A<=Number.MAX_SAFE_INTEGER)}function c4(A){return A.split(".").filter(Boolean).map((Q)=>{if(lfA.test(Q)){let B=Number(Q);if(xg(B))return B}return Q})}function m6(A){return A.split(".").filter(Boolean)}function q2(A,Q){let B=Number(A);if(!xg(B))throw TypeError(Q);return B}function GJ(A){return Number.isNaN(A.major)&&Number.isNaN(A.minor)&&Number.isNaN(A.patch)&&(A.prerelease===void 0||A.prerelease.length===0)&&(A.build===void 0||A.build.length===0)}var PX="0|[1-9]\\d*",ufA="\\d*[a-zA-Z-][a-zA-Z0-9-]*",mfA,V0A,j0A,T0A="[0-9A-Za-z-]+",P0A,_0A,k0A,v0A="(?:<|>)?=?",cfA="x|X|\\*",vg,K2,x0A,g0A,gg=256,lfA;var wD=kA(()=>{mfA=`(?<major>${PX})\\.(?<minor>${PX})\\.(?<patch>${PX})`,V0A=`(?:${PX}|${ufA})`,j0A=`(?:-(?<prerelease>${V0A}(?:\\.${V0A})*))`,P0A=`(?:\\+(?<buildmetadata>${T0A}(?:\\.${T0A})*))`,_0A=`v?${mfA}${j0A}?${P0A}?`,k0A=new RegExp(`^${_0A}$`),vg=`${PX}|${cfA}`,K2=`[v=\\s]*(?<major>${vg})(?:\\.(?<minor>${vg})(?:\\.(?<patch>${vg})${j0A}?${P0A}?)?)?`,x0A=new RegExp(`^(?<operator>~>?|\\^|${v0A})\\s*${K2}$`),g0A=new RegExp(`^(?<operator>${v0A})\\s*(${_0A})$|^$`);lfA=new RegExp(`^${PX}$`)});function U4(A,Q){if(A===Q)return 0;return F2(A.major,Q.major)||F2(A.minor,Q.minor)||F2(A.patch,Q.patch)||S0A(A.prerelease,Q.prerelease)||W2(A.prerelease,Q.prerelease)}var rD=kA(()=>{wD()});function b0A(A,Q){let B=A.prerelease?.length||Q.prerelease?.length;if(A.major!==Q.major)return B?"premajor":"major";if(A.minor!==Q.minor)return B?"preminor":"minor";if(A.patch!==Q.patch)return B?"prepatch":"patch";if(W2(A.prerelease,Q.prerelease)!==0)return"prerelease"}var y0A=kA(()=>{wD()});function bg(A){return A.toFixed(0)}function J8(A){let Q=bg(A.major),B=bg(A.minor),I=bg(A.patch),E=A.prerelease?.join(".")??"",D=A.build?.join(".")??"";return[[`${Q}.${B}.${I}`,E].filter((Y)=>Y).join("-"),D].filter((Y)=>Y).join("+")}function dfA(A,Q){if(GJ(Q))return!0;let B=U4(A,Q);switch(Q.operator){case"=":case void 0:return B===0;case"!=":return B!==0;case">":return B>0;case"<":return B<0;case">=":return B>=0;case"<=":return B<=0}}function Z2(A,Q){for(let B of Q)if(!dfA(A,B))return!1;if(!A.prerelease?.length)return!0;for(let B of Q){if(GJ(B))continue;if(!B.prerelease?.length)continue;let{major:I,minor:E,patch:D}=B;if(A.major===I&&A.minor===E&&A.patch===D)return!0}return!1}var M2=kA(()=>{wD();rD()});function oW(A,Q){return Q.some((B)=>Z2(A,B))}var aW=kA(()=>{M2()});function pfA(A=[]){let Q=[...A],B=Q.length;while(B>=0){let I=Q[B];if(typeof I==="number"){Q[B]=I+1;break}B-=1}if(B===-1)Q.push(0);return Q}function sW(A=[],Q){let B=pfA(A);if(!Q)return B;let I=c4(Q);if(I.every((E)=>typeof E==="string")){if(I.every((E,D)=>E===B[D])&&typeof B[I.length]==="number")return B;I=[...I,0]}return I}function S9(A,Q,B={}){let I=B.build!==void 0?m6(B.build):A.build??[];switch(Q){case"premajor":return{major:A.major+1,minor:0,patch:0,prerelease:sW(A.prerelease,B.prerelease),build:I};case"preminor":return{major:A.major,minor:A.minor+1,patch:0,prerelease:sW(A.prerelease,B.prerelease),build:I};case"prepatch":return{major:A.major,minor:A.minor,patch:A.patch+1,prerelease:sW(A.prerelease,B.prerelease),build:I};case"prerelease":{let D=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:D,prerelease:sW(A.prerelease,B.prerelease),build:I}}case"major":return{major:(A.prerelease??[]).length===0||A.minor!==0||A.patch!==0?A.major+1:A.major,minor:0,patch:0,prerelease:[],build:I};case"minor":{let D=(A.prerelease??[]).length===0||A.patch!==0?A.minor+1:A.minor;return{major:A.major,minor:D,patch:0,prerelease:[],build:I}}case"patch":{let D=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:D,prerelease:[],build:I}}case"pre":return{major:A.major,minor:A.minor,patch:A.patch,prerelease:sW(A.prerelease,B.prerelease),build:I};default:throw TypeError(`Cannot increment version: invalid argument ${Q}`)}}var f0A=kA(()=>{wD()});var N2,_X;var tW=kA(()=>{N2={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},_X={operator:void 0,...N2}});var yg=kA(()=>{tW();wD()});function fg(A,Q){return U4(A,Q)>0}var hg=kA(()=>{rD()});var h0A=kA(()=>{aW();hg()});function LD(A,Q){return U4(A,Q)<0}var ug=kA(()=>{rD()});var u0A=kA(()=>{aW();ug()});function nfA(A){let B=A.match(g0A)?.groups;if(!B)return null;let{operator:I}=B;return{operator:I||void 0,...N2}}function fI(A){return!A||A.toLowerCase()==="x"||A==="*"}function ifA(A){if(fI(A.major))return;if(fI(A.minor))return{operator:">=",major:+A.major,minor:0,patch:0,prerelease:[],build:[]};if(fI(A.patch))return{operator:">=",major:+A.major,minor:+A.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:A.prerelease?c4(A.prerelease):[],build:[]}}function rfA(A){if(fI(A.major))return;if(fI(A.minor))return{operator:"<",major:+A.major+1,minor:0,patch:0,prerelease:[],build:[]};if(fI(A.patch))return{operator:"<",major:+A.major,minor:+A.minor+1,patch:0,prerelease:[],build:[]};if(A.prerelease)return{operator:"<=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:c4(A.prerelease),build:[]};return{operator:"<=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:[],build:[]}}function ofA(A){let Q=A.match(new RegExp(`^${K2}`)),B=Q?.groups;if(!B)return null;let I=Q[0].length,E=A.slice(I).match(/^\s+-\s+/);if(!E)return null;let D=E[0].length,G=A.slice(I+D).match(new RegExp(`^${K2}\\s*$`))?.groups,Y=ifA(B),H=rfA(G);return[Y,H].filter(Boolean)}function afA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I){if(E===0)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E+1,minor:0,patch:0}]}let G=c4(A.prerelease??"");if(E===0){if(D===0)return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D,patch:$+1}];return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D+1,patch:0}]}return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E+1,minor:0,patch:0}]}function sfA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??"");return[{operator:">=",major:E,minor:D,patch:$,prerelease:G},{operator:"<",major:E,minor:D+1,patch:0}]}function tfA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[{operator:"<",major:0,minor:0,patch:0}];if(B){if(I)return[{operator:"<",major:E,minor:0,patch:0}];return[{operator:"<",major:E,minor:0,patch:0}]}if(I)return[{operator:"<",major:E,minor:D,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:"<",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function efA(A){let Q=fI(A.minor),B=fI(A.patch),I=+A.major,E=+A.minor,D=+A.patch;if(Q)return[{operator:"<",major:I+1,minor:0,patch:0}];if(B)return[{operator:"<",major:I,minor:E+1,patch:0}];let $=c4(A.prerelease??""),G=m6(A.build??"");return[{operator:"<=",major:I,minor:E,patch:D,prerelease:$,build:G}]}function AhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[{operator:"<",major:0,minor:0,patch:0}];if(B)return[{operator:">=",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:">",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function QhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:">=",major:E,minor:D,patch:$,prerelease:G,build:Y}]}function BhA(A){let Q=fI(A.major),B=fI(A.minor),I=fI(A.patch),E=+A.major,D=+A.minor,$=+A.patch;if(Q)return[_X];if(B)return[{operator:">=",major:E,minor:0,patch:0},{operator:"<",major:E+1,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:D,patch:0},{operator:"<",major:E,minor:D+1,patch:0}];let G=c4(A.prerelease??""),Y=m6(A.build??"");return[{operator:A.operator==="="?"=":void 0,major:E,minor:D,patch:$,prerelease:G,build:Y}]}function IhA(A){let Q=A.match(x0A)?.groups;if(!Q)return nfA(A);switch(Q.operator){case"^":return afA(Q);case"~":case"~>":return sfA(Q);case"<":return tfA(Q);case"<=":return efA(Q);case">":return AhA(Q);case">=":return QhA(Q);default:return BhA(Q)}}function EhA(A){return A.split(/\s+/).flatMap(IhA)}function z2(A){let Q=A.replaceAll(/(?<=[<>=~^])(\s+)/g,"").split(/\s*\|\|\s*/).map((B)=>ofA(B)||EhA(B));if(Q.some((B)=>B.includes(null)))throw TypeError(`Cannot parse version range: range "${A}" is invalid`);return Q}var mg=kA(()=>{wD();tW()});function yB(A){if(typeof A!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof A}`);if(A.length>gg)throw TypeError(`Cannot parse version as version length is too long: length is ${A.length}, max length is ${gg}`);A=A.trim();let Q=A.match(k0A)?.groups;if(!Q)throw TypeError(`Cannot parse version: ${A}`);let B=q2(Q.major,`Cannot parse version ${A}: invalid major version`),I=q2(Q.minor,`Cannot parse version ${A}: invalid minor version`),E=q2(Q.patch,`Cannot parse version ${A}: invalid patch version`),D=Q.prerelease?c4(Q.prerelease):[],$=Q.buildmetadata?m6(Q.buildmetadata):[];return{major:B,minor:I,patch:E,prerelease:D,build:$}}var w2=kA(()=>{wD();wD()});function m0A(A,Q){let B=A.operator,I=Q.operator;if(B===void 0){if(GJ(A))return!0;return oW(A,[[Q]])}if(I===void 0){if(GJ(Q))return!0;return oW(Q,[[A]])}let E=U4(A,Q);return(B===">="||B===">")&&(I===">="||I===">")||(B==="<="||B==="<")&&(I==="<="||I==="<")||E===0&&((B===">="||B==="<=")&&(I===">="||I==="<="))||E===-1&&(B===">="||B===">")&&(I==="<="||I==="<")||E===1&&(B==="<="||B==="<")&&(I===">="||I===">")}function DhA(A){return A.every((Q)=>{return Q.some((B)=>$hA(B))})}function $hA(A){for(let Q=0;Q<A.length-1;Q++){let B=A[Q];for(let I of A.slice(Q+1))if(!m0A(B,I))return!1}return!0}function c0A(A,Q){return DhA([A,Q])&&A.some((B)=>{return Q.some((I)=>{return B.every((E)=>{return I.every((D)=>m0A(E,D))})})})}var l0A=kA(()=>{wD();rD();aW()});var d0A=kA(()=>{mg()});var p0A=kA(()=>{tW();tW();yg()});function eW(A){try{return yB(A),!0}catch{return!1}}var n0A=kA(()=>{w2()});var i0A=kA(()=>{w2()});var r0A=kA(()=>{wD()});var o0A=kA(()=>{rD()});var a0A=kA(()=>{rD()});var s0A=kA(()=>{M2();wD();rD()});function t0A(A,Q){return U4(A,Q)>=0}var e0A=kA(()=>{rD()});var AIA=kA(()=>{M2();wD();rD()});var QIA=kA(()=>{rD()});var h$=kA(()=>{rD();y0A();aW();f0A();yg();h0A();u0A();mg();w2();l0A();d0A();p0A();n0A();i0A();r0A();o0A();a0A();hg();s0A();e0A();ug();AIA();QIA()});var l4=v((QuQ,R2)=>{var BIA,IIA,EIA,DIA,$IA,GIA,JIA,YIA,UIA,HIA,XIA,CIA,FIA,L2,cg,WIA,KIA,qIA,kX,ZIA,MIA,NIA,zIA,wIA,LIA,OIA,RIA,VIA,O2,TIA,SIA,jIA;(function(A){var Q=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(I){A(B(Q,B(I)))});else if(typeof R2==="object"&&typeof QuQ==="object")A(B(Q,B(QuQ)));else A(B(Q));function B(I,E){if(I!==Q)if(typeof Object.create==="function")Object.defineProperty(I,"__esModule",{value:!0});else I.__esModule=!0;return function(D,$){return I[D]=E?E(D,$):$}}})(function(A){var Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(D,$){D.__proto__=$}||function(D,$){for(var G in $)if(Object.prototype.hasOwnProperty.call($,G))D[G]=$[G]};BIA=function(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Class extends value "+String($)+" is not a constructor or null");Q(D,$);function G(){this.constructor=D}D.prototype=$===null?Object.create($):(G.prototype=$.prototype,new G)},IIA=Object.assign||function(D){for(var $,G=1,Y=arguments.length;G<Y;G++){$=arguments[G];for(var H in $)if(Object.prototype.hasOwnProperty.call($,H))D[H]=$[H]}return D},EIA=function(D,$){var G={};for(var Y in D)if(Object.prototype.hasOwnProperty.call(D,Y)&&$.indexOf(Y)<0)G[Y]=D[Y];if(D!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var H=0,Y=Object.getOwnPropertySymbols(D);H<Y.length;H++)if($.indexOf(Y[H])<0&&Object.prototype.propertyIsEnumerable.call(D,Y[H]))G[Y[H]]=D[Y[H]]}return G},DIA=function(D,$,G,Y){var H=arguments.length,X=H<3?$:Y===null?Y=Object.getOwnPropertyDescriptor($,G):Y,F;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")X=Reflect.decorate(D,$,G,Y);else for(var W=D.length-1;W>=0;W--)if(F=D[W])X=(H<3?F(X):H>3?F($,G,X):F($,G))||X;return H>3&&X&&Object.defineProperty($,G,X),X},$IA=function(D,$){return function(G,Y){$(G,Y,D)}},GIA=function(D,$,G,Y,H,X){function F(l){if(l!==void 0&&typeof l!=="function")throw TypeError("Function expected");return l}var W=Y.kind,q=W==="getter"?"get":W==="setter"?"set":"value",Z=!$&&D?Y.static?D:D.prototype:null,N=$||(Z?Object.getOwnPropertyDescriptor(Z,Y.name):{}),w,O=!1;for(var T=G.length-1;T>=0;T--){var R={};for(var S in Y)R[S]=S==="access"?{}:Y[S];for(var S in Y.access)R.access[S]=Y.access[S];R.addInitializer=function(l){if(O)throw TypeError("Cannot add initializers after decoration has completed");X.push(F(l||null))};var k=(0,G[T])(W==="accessor"?{get:N.get,set:N.set}:N[q],R);if(W==="accessor"){if(k===void 0)continue;if(k===null||typeof k!=="object")throw TypeError("Object expected");if(w=F(k.get))N.get=w;if(w=F(k.set))N.set=w;if(w=F(k.init))H.unshift(w)}else if(w=F(k))if(W==="field")H.unshift(w);else N[q]=w}if(Z)Object.defineProperty(Z,Y.name,N);O=!0},JIA=function(D,$,G){var Y=arguments.length>2;for(var H=0;H<$.length;H++)G=Y?$[H].call(D,G):$[H].call(D);return Y?G:void 0},YIA=function(D){return typeof D==="symbol"?D:"".concat(D)},UIA=function(D,$,G){if(typeof $==="symbol")$=$.description?"[".concat($.description,"]"):"";return Object.defineProperty(D,"name",{configurable:!0,value:G?"".concat(G," ",$):$})},HIA=function(D,$){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(D,$)},XIA=function(D,$,G,Y){function H(X){return X instanceof G?X:new G(function(F){F(X)})}return new(G||(G=Promise))(function(X,F){function W(N){try{Z(Y.next(N))}catch(w){F(w)}}function q(N){try{Z(Y.throw(N))}catch(w){F(w)}}function Z(N){N.done?X(N.value):H(N.value).then(W,q)}Z((Y=Y.apply(D,$||[])).next())})},CIA=function(D,$){var G={label:0,sent:function(){if(X[0]&1)throw X[1];return X[1]},trys:[],ops:[]},Y,H,X,F=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return F.next=W(0),F.throw=W(1),F.return=W(2),typeof Symbol==="function"&&(F[Symbol.iterator]=function(){return this}),F;function W(Z){return function(N){return q([Z,N])}}function q(Z){if(Y)throw TypeError("Generator is already executing.");while(F&&(F=0,Z[0]&&(G=0)),G)try{if(Y=1,H&&(X=Z[0]&2?H.return:Z[0]?H.throw||((X=H.return)&&X.call(H),0):H.next)&&!(X=X.call(H,Z[1])).done)return X;if(H=0,X)Z=[Z[0]&2,X.value];switch(Z[0]){case 0:case 1:X=Z;break;case 4:return G.label++,{value:Z[1],done:!1};case 5:G.label++,H=Z[1],Z=[0];continue;case 7:Z=G.ops.pop(),G.trys.pop();continue;default:if((X=G.trys,!(X=X.length>0&&X[X.length-1]))&&(Z[0]===6||Z[0]===2)){G=0;continue}if(Z[0]===3&&(!X||Z[1]>X[0]&&Z[1]<X[3])){G.label=Z[1];break}if(Z[0]===6&&G.label<X[1]){G.label=X[1],X=Z;break}if(X&&G.label<X[2]){G.label=X[2],G.ops.push(Z);break}if(X[2])G.ops.pop();G.trys.pop();continue}Z=$.call(D,G)}catch(N){Z=[6,N],H=0}finally{Y=X=0}if(Z[0]&5)throw Z[1];return{value:Z[0]?Z[1]:void 0,done:!0}}},FIA=function(D,$){for(var G in D)if(G!=="default"&&!Object.prototype.hasOwnProperty.call($,G))O2($,D,G)},O2=Object.create?function(D,$,G,Y){if(Y===void 0)Y=G;var H=Object.getOwnPropertyDescriptor($,G);if(!H||("get"in H?!$.__esModule:H.writable||H.configurable))H={enumerable:!0,get:function(){return $[G]}};Object.defineProperty(D,Y,H)}:function(D,$,G,Y){if(Y===void 0)Y=G;D[Y]=$[G]},L2=function(D){var $=typeof Symbol==="function"&&Symbol.iterator,G=$&&D[$],Y=0;if(G)return G.call(D);if(D&&typeof D.length==="number")return{next:function(){if(D&&Y>=D.length)D=void 0;return{value:D&&D[Y++],done:!D}}};throw TypeError($?"Object is not iterable.":"Symbol.iterator is not defined.")},cg=function(D,$){var G=typeof Symbol==="function"&&D[Symbol.iterator];if(!G)return D;var Y=G.call(D),H,X=[],F;try{while(($===void 0||$-- >0)&&!(H=Y.next()).done)X.push(H.value)}catch(W){F={error:W}}finally{try{if(H&&!H.done&&(G=Y.return))G.call(Y)}finally{if(F)throw F.error}}return X},WIA=function(){for(var D=[],$=0;$<arguments.length;$++)D=D.concat(cg(arguments[$]));return D},KIA=function(){for(var D=0,$=0,G=arguments.length;$<G;$++)D+=arguments[$].length;for(var Y=Array(D),H=0,$=0;$<G;$++)for(var X=arguments[$],F=0,W=X.length;F<W;F++,H++)Y[H]=X[F];return Y},qIA=function(D,$,G){if(G||arguments.length===2){for(var Y=0,H=$.length,X;Y<H;Y++)if(X||!(Y in $)){if(!X)X=Array.prototype.slice.call($,0,Y);X[Y]=$[Y]}}return D.concat(X||Array.prototype.slice.call($))},kX=function(D){return this instanceof kX?(this.v=D,this):new kX(D)},ZIA=function(D,$,G){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var Y=G.apply(D,$||[]),H,X=[];return H=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),W("next"),W("throw"),W("return",F),H[Symbol.asyncIterator]=function(){return this},H;function F(T){return function(R){return Promise.resolve(R).then(T,w)}}function W(T,R){if(Y[T]){if(H[T]=function(S){return new Promise(function(k,l){X.push([T,S,k,l])>1||q(T,S)})},R)H[T]=R(H[T])}}function q(T,R){try{Z(Y[T](R))}catch(S){O(X[0][3],S)}}function Z(T){T.value instanceof kX?Promise.resolve(T.value.v).then(N,w):O(X[0][2],T)}function N(T){q("next",T)}function w(T){q("throw",T)}function O(T,R){if(T(R),X.shift(),X.length)q(X[0][0],X[0][1])}},MIA=function(D){var $,G;return $={},Y("next"),Y("throw",function(H){throw H}),Y("return"),$[Symbol.iterator]=function(){return this},$;function Y(H,X){$[H]=D[H]?function(F){return(G=!G)?{value:kX(D[H](F)),done:!1}:X?X(F):F}:X}},NIA=function(D){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var $=D[Symbol.asyncIterator],G;return $?$.call(D):(D=typeof L2==="function"?L2(D):D[Symbol.iterator](),G={},Y("next"),Y("throw"),Y("return"),G[Symbol.asyncIterator]=function(){return this},G);function Y(X){G[X]=D[X]&&function(F){return new Promise(function(W,q){F=D[X](F),H(W,q,F.done,F.value)})}}function H(X,F,W,q){Promise.resolve(q).then(function(Z){X({value:Z,done:W})},F)}},zIA=function(D,$){if(Object.defineProperty)Object.defineProperty(D,"raw",{value:$});else D.raw=$;return D};var B=Object.create?function(D,$){Object.defineProperty(D,"default",{enumerable:!0,value:$})}:function(D,$){D.default=$},I=function(D){return I=Object.getOwnPropertyNames||function($){var G=[];for(var Y in $)if(Object.prototype.hasOwnProperty.call($,Y))G[G.length]=Y;return G},I(D)};wIA=function(D){if(D&&D.__esModule)return D;var $={};if(D!=null){for(var G=I(D),Y=0;Y<G.length;Y++)if(G[Y]!=="default")O2($,D,G[Y])}return B($,D),$},LIA=function(D){return D&&D.__esModule?D:{default:D}},OIA=function(D,$,G,Y){if(G==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof $==="function"?D!==$||!Y:!$.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return G==="m"?Y:G==="a"?Y.call(D):Y?Y.value:$.get(D)},RIA=function(D,$,G,Y,H){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!H)throw TypeError("Private accessor was defined without a setter");if(typeof $==="function"?D!==$||!H:!$.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?H.call(D,G):H?H.value=G:$.set(D,G),G},VIA=function(D,$){if($===null||typeof $!=="object"&&typeof $!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof D==="function"?$===D:D.has($)},TIA=function(D,$,G){if($!==null&&$!==void 0){if(typeof $!=="object"&&typeof $!=="function")throw TypeError("Object expected.");var Y,H;if(G){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");Y=$[Symbol.asyncDispose]}if(Y===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(Y=$[Symbol.dispose],G)H=Y}if(typeof Y!=="function")throw TypeError("Object not disposable.");if(H)Y=function(){try{H.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:$,dispose:Y,async:G})}else if(G)D.stack.push({async:!0});return $};var E=typeof SuppressedError==="function"?SuppressedError:function(D,$,G){var Y=Error(G);return Y.name="SuppressedError",Y.error=D,Y.suppressed=$,Y};SIA=function(D){function $(X){D.error=D.hasError?new E(X,D.error,"An error was suppressed during disposal."):X,D.hasError=!0}var G,Y=0;function H(){while(G=D.stack.pop())try{if(!G.async&&Y===1)return Y=0,D.stack.push(G),Promise.resolve().then(H);if(G.dispose){var X=G.dispose.call(G.value);if(G.async)return Y|=2,Promise.resolve(X).then(H,function(F){return $(F),H()})}else Y|=1}catch(F){$(F)}if(Y===1)return D.hasError?Promise.reject(D.error):Promise.resolve();if(D.hasError)throw D.error}return H()},jIA=function(D,$){if(typeof D==="string"&&/^\.\.?\//.test(D))return D.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(G,Y,H,X,F){return Y?$?".jsx":".js":H&&(!X||!F)?G:H+X+"."+F.toLowerCase()+"js"});return D},A("__extends",BIA),A("__assign",IIA),A("__rest",EIA),A("__decorate",DIA),A("__param",$IA),A("__esDecorate",GIA),A("__runInitializers",JIA),A("__propKey",YIA),A("__setFunctionName",UIA),A("__metadata",HIA),A("__awaiter",XIA),A("__generator",CIA),A("__exportStar",FIA),A("__createBinding",O2),A("__values",L2),A("__read",cg),A("__spread",WIA),A("__spreadArrays",KIA),A("__spreadArray",qIA),A("__await",kX),A("__asyncGenerator",ZIA),A("__asyncDelegator",MIA),A("__asyncValues",NIA),A("__makeTemplateObject",zIA),A("__importStar",wIA),A("__importDefault",LIA),A("__classPrivateFieldGet",OIA),A("__classPrivateFieldSet",RIA),A("__classPrivateFieldIn",VIA),A("__addDisposableResource",TIA),A("__disposeResources",SIA),A("__rewriteRelativeImportExtension",jIA)})});var kIA=v((PIA)=>{Object.defineProperty(PIA,"__esModule",{value:!0});PIA.resolveFetch=void 0;var GhA=(A)=>{if(A)return(...Q)=>A(...Q);return(...Q)=>fetch(...Q)};PIA.resolveFetch=GhA});var lg=v((yIA)=>{Object.defineProperty(yIA,"__esModule",{value:!0});yIA.FunctionRegion=yIA.FunctionsHttpError=yIA.FunctionsRelayError=yIA.FunctionsFetchError=yIA.FunctionsError=void 0;class AK extends Error{constructor(A,Q="FunctionsError",B){super(A);this.name=Q,this.context=B}toJSON(){return{name:this.name,message:this.message,context:this.context}}}yIA.FunctionsError=AK;class xIA extends AK{constructor(A){super("Failed to send a request to the Edge Function","FunctionsFetchError",A)}}yIA.FunctionsFetchError=xIA;class gIA extends AK{constructor(A){super("Relay Error invoking the Edge Function","FunctionsRelayError",A)}}yIA.FunctionsRelayError=gIA;class bIA extends AK{constructor(A){super("Edge Function returned a non-2xx status code","FunctionsHttpError",A)}}yIA.FunctionsHttpError=bIA;var vIA;(function(A){A.Any="any",A.ApNortheast1="ap-northeast-1",A.ApNortheast2="ap-northeast-2",A.ApSouth1="ap-south-1",A.ApSoutheast1="ap-southeast-1",A.ApSoutheast2="ap-southeast-2",A.CaCentral1="ca-central-1",A.EuCentral1="eu-central-1",A.EuWest1="eu-west-1",A.EuWest2="eu-west-2",A.EuWest3="eu-west-3",A.SaEast1="sa-east-1",A.UsEast1="us-east-1",A.UsWest1="us-west-1",A.UsWest2="us-west-2"})(vIA||(yIA.FunctionRegion=vIA={}))});var cIA=v((uIA)=>{Object.defineProperty(uIA,"__esModule",{value:!0});uIA.FunctionsClient=void 0;var XhA=l4(),ChA=kIA(),vX=lg();class hIA{constructor(A,{headers:Q={},customFetch:B,region:I=vX.FunctionRegion.Any}={}){this.url=A,this.headers=Q,this.region=I,this.fetch=(0,ChA.resolveFetch)(B)}setAuth(A){this.headers.Authorization=`Bearer ${A}`}invoke(A){return XhA.__awaiter(this,arguments,void 0,function*(Q,B={}){var I;let E,D;try{let{headers:$,method:G,body:Y,signal:H,timeout:X}=B,F={},{region:W}=B;if(!W)W=this.region;let q=new URL(`${this.url}/${Q}`);if(W&&W!=="any")F["x-region"]=W,q.searchParams.set("forceFunctionRegion",W);let Z;if(Y&&($&&!Object.prototype.hasOwnProperty.call($,"Content-Type")||!$))if(typeof Blob<"u"&&Y instanceof Blob||Y instanceof ArrayBuffer)F["Content-Type"]="application/octet-stream",Z=Y;else if(typeof Y==="string")F["Content-Type"]="text/plain",Z=Y;else if(typeof FormData<"u"&&Y instanceof FormData)Z=Y;else F["Content-Type"]="application/json",Z=JSON.stringify(Y);else if(Y&&typeof Y!=="string"&&!(typeof Blob<"u"&&Y instanceof Blob)&&!(Y instanceof ArrayBuffer)&&!(typeof FormData<"u"&&Y instanceof FormData))Z=JSON.stringify(Y);else Z=Y;let N=H;if(X)if(D=new AbortController,E=setTimeout(()=>D.abort(),X),H)N=D.signal,H.addEventListener("abort",()=>D.abort());else N=D.signal;let w=yield this.fetch(q.toString(),{method:G||"POST",headers:Object.assign(Object.assign(Object.assign({},F),this.headers),$),body:Z,signal:N}).catch((S)=>{throw new vX.FunctionsFetchError(S)}),O=w.headers.get("x-relay-error");if(O&&O==="true")throw new vX.FunctionsRelayError(w);if(!w.ok)throw new vX.FunctionsHttpError(w);let T=((I=w.headers.get("Content-Type"))!==null&&I!==void 0?I:"text/plain").split(";")[0].trim(),R;if(T==="application/json")R=yield w.json();else if(T==="application/octet-stream"||T==="application/pdf")R=yield w.blob();else if(T==="text/event-stream")R=w;else if(T==="multipart/form-data")R=yield w.formData();else R=yield w.text();return{data:R,error:null,response:w}}catch($){return{data:null,error:$,response:$ instanceof vX.FunctionsHttpError||$ instanceof vX.FunctionsRelayError?$.context:void 0}}finally{if(E)clearTimeout(E)}})}}uIA.FunctionsClient=hIA});var lIA=v((j9)=>{Object.defineProperty(j9,"__esModule",{value:!0});j9.FunctionRegion=j9.FunctionsRelayError=j9.FunctionsHttpError=j9.FunctionsFetchError=j9.FunctionsError=j9.FunctionsClient=void 0;var FhA=cIA();Object.defineProperty(j9,"FunctionsClient",{enumerable:!0,get:function(){return FhA.FunctionsClient}});var QK=lg();Object.defineProperty(j9,"FunctionsError",{enumerable:!0,get:function(){return QK.FunctionsError}});Object.defineProperty(j9,"FunctionsFetchError",{enumerable:!0,get:function(){return QK.FunctionsFetchError}});Object.defineProperty(j9,"FunctionsHttpError",{enumerable:!0,get:function(){return QK.FunctionsHttpError}});Object.defineProperty(j9,"FunctionsRelayError",{enumerable:!0,get:function(){return QK.FunctionsRelayError}});Object.defineProperty(j9,"FunctionRegion",{enumerable:!0,get:function(){return QK.FunctionRegion}})});function pIA(A,Q){return new Promise((B)=>{if(Q===null||Q===void 0?void 0:Q.aborted){B();return}let I=setTimeout(()=>{Q===null||Q===void 0||Q.removeEventListener("abort",E),B()},A);function E(){clearTimeout(I),B()}Q===null||Q===void 0||Q.addEventListener("abort",E)})}function qhA(A,Q,B,I){if(!I||B>=3)return!1;if(!rIA.includes(A))return!1;if(!KhA.includes(Q))return!1;return!0}function BK(A){return BK=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Q){return typeof Q}:function(Q){return Q&&typeof Symbol=="function"&&Q.constructor===Symbol&&Q!==Symbol.prototype?"symbol":typeof Q},BK(A)}function zhA(A,Q){if(BK(A)!="object"||!A)return A;var B=A[Symbol.toPrimitive];if(B!==void 0){var I=B.call(A,Q||"default");if(BK(I)!="object")return I;throw TypeError("@@toPrimitive must return a primitive value.")}return(Q==="string"?String:Number)(A)}function whA(A){var Q=zhA(A,"string");return BK(Q)=="symbol"?Q:Q+""}function LhA(A,Q,B){return(Q=whA(Q))in A?Object.defineProperty(A,Q,{value:B,enumerable:!0,configurable:!0,writable:!0}):A[Q]=B,A}function iIA(A,Q){var B=Object.keys(A);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(A);Q&&(I=I.filter(function(E){return Object.getOwnPropertyDescriptor(A,E).enumerable})),B.push.apply(B,I)}return B}function V2(A){for(var Q=1;Q<arguments.length;Q++){var B=arguments[Q]!=null?arguments[Q]:{};Q%2?iIA(Object(B),!0).forEach(function(I){LhA(A,I,B[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(B)):iIA(Object(B)).forEach(function(I){Object.defineProperty(A,I,Object.getOwnPropertyDescriptor(B,I))})}return A}var dIA=(A)=>Math.min(1000*2**A,30000),KhA,rIA,oIA,ZhA=class{constructor(A){var Q,B,I,E,D;if(this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=A.method,this.url=A.url,this.headers=new Headers(A.headers),this.schema=A.schema,this.body=A.body,this.shouldThrowOnError=(Q=A.shouldThrowOnError)!==null&&Q!==void 0?Q:!1,this.signal=A.signal,this.isMaybeSingle=(B=A.isMaybeSingle)!==null&&B!==void 0?B:!1,this.shouldStripNulls=(I=A.shouldStripNulls)!==null&&I!==void 0?I:!1,this.urlLengthLimit=(E=A.urlLengthLimit)!==null&&E!==void 0?E:8000,this.retryEnabled=(D=A.retry)!==null&&D!==void 0?D:!0,A.fetch)this.fetch=A.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(A,Q){return this.headers=new Headers(this.headers),this.headers.set(A,Q),this}retry(A){return this.retryEnabled=A,this}then(A,Q){var B=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");if(this.shouldStripNulls){let $=this.headers.get("Accept");if($==="application/vnd.pgrst.object+json")this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped");else if(!$||$==="application/json")this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}let I=this.fetch,D=(async()=>{let $=0;while(!0){let H=new Headers(B.headers);if($>0)H.set("X-Retry-Count",String($));let X;try{X=await I(B.url.toString(),{method:B.method,headers:H,body:JSON.stringify(B.body,(F,W)=>typeof W==="bigint"?W.toString():W),signal:B.signal})}catch(F){if((F===null||F===void 0?void 0:F.name)==="AbortError"||(F===null||F===void 0?void 0:F.code)==="ABORT_ERR")throw F;if(!rIA.includes(B.method))throw F;if(B.retryEnabled&&$<3){let W=dIA($);$++,await pIA(W,B.signal);continue}throw F}if(qhA(B.method,X.status,$,B.retryEnabled)){var G,Y;let F=(G=(Y=X.headers)===null||Y===void 0?void 0:Y.get("Retry-After"))!==null&&G!==void 0?G:null,W=F!==null?Math.max(0,parseInt(F,10)||0)*1000:dIA($);await X.text(),$++,await pIA(W,B.signal);continue}return await B.processResponse(X)}})();if(!this.shouldThrowOnError)D=D.catch(($)=>{var G;let Y="",H="",X="",F=$===null||$===void 0?void 0:$.cause;if(F){var W,q,Z,N;let T=(W=F===null||F===void 0?void 0:F.message)!==null&&W!==void 0?W:"",R=(q=F===null||F===void 0?void 0:F.code)!==null&&q!==void 0?q:"";if(Y=`${(Z=$===null||$===void 0?void 0:$.name)!==null&&Z!==void 0?Z:"FetchError"}: ${$===null||$===void 0?void 0:$.message}`,Y+=`
95
95
 
96
96
  Caused by: ${(N=F===null||F===void 0?void 0:F.name)!==null&&N!==void 0?N:"Error"}: ${T}`,R)Y+=` (${R})`;if(F===null||F===void 0?void 0:F.stack)Y+=`
97
97
  ${F.stack}`}else{var w;Y=(w=$===null||$===void 0?void 0:$.stack)!==null&&w!==void 0?w:""}let O=this.url.toString().length;if(($===null||$===void 0?void 0:$.name)==="AbortError"||($===null||$===void 0?void 0:$.code)==="ABORT_ERR"){if(X="",H="Request was aborted (timeout or manual cancellation)",O>this.urlLengthLimit)H+=`. Note: Your request URL is ${O} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`}else if((F===null||F===void 0?void 0:F.name)==="HeadersOverflowError"||(F===null||F===void 0?void 0:F.code)==="UND_ERR_HEADERS_OVERFLOW"){if(X="",H="HTTP headers exceeded server limits (typically 16KB)",O>this.urlLengthLimit)H+=`. Your request URL is ${O} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`}return{success:!1,error:{message:`${(G=$===null||$===void 0?void 0:$.name)!==null&&G!==void 0?G:"FetchError"}: ${$===null||$===void 0?void 0:$.message}`,details:Y,hint:H,code:X},data:null,count:null,status:0,statusText:""}});return D.then(A,Q)}async processResponse(A){var Q=this;let B=null,I=null,E=null,D=A.status,$=A.statusText;if(A.ok){var G,Y;if(Q.method!=="HEAD"){var H;let W=await A.text();if(W==="");else if(Q.headers.get("Accept")==="text/csv")I=W;else if(Q.headers.get("Accept")&&((H=Q.headers.get("Accept"))===null||H===void 0?void 0:H.includes("application/vnd.pgrst.plan+text")))I=W;else I=JSON.parse(W)}let X=(G=Q.headers.get("Prefer"))===null||G===void 0?void 0:G.match(/count=(exact|planned|estimated)/),F=(Y=A.headers.get("content-range"))===null||Y===void 0?void 0:Y.split("/");if(X&&F&&F.length>1)E=parseInt(F[1]);if(Q.isMaybeSingle&&Array.isArray(I))if(I.length>1)B={code:"PGRST116",details:`Results contain ${I.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},I=null,E=null,D=406,$="Not Acceptable";else if(I.length===1)I=I[0];else I=null}else{let X=await A.text();try{if(B=JSON.parse(X),Array.isArray(B)&&A.status===404)I=[],B=null,D=200,$="OK"}catch(F){if(A.status===404&&X==="")D=204,$="No Content";else B={message:X}}if(B&&Q.shouldThrowOnError)throw new oIA(B)}return{success:B===null,error:B,data:I,count:E,status:D,statusText:$}}returns(){return this}overrideTypes(){return this}},MhA,nIA,xX,NhA=class{constructor(A,{headers:Q={},schema:B,fetch:I,urlLengthLimit:E=8000,retry:D}){this.url=A,this.headers=new Headers(Q),this.schema=B,this.fetch=I,this.urlLengthLimit=E,this.retry=D}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(A,Q){let{head:B=!1,count:I}=Q!==null&&Q!==void 0?Q:{},E=B?"HEAD":"GET",D=!1,$=(A!==null&&A!==void 0?A:"*").split("").map((H)=>{if(/\s/.test(H)&&!D)return"";if(H==='"')D=!D;return H}).join(""),{url:G,headers:Y}=this.cloneRequestState();if(G.searchParams.set("select",$),I)Y.append("Prefer",`count=${I}`);return new xX({method:E,url:G,headers:Y,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(A,{count:Q,defaultToNull:B=!0}={}){var I;let E="POST",{url:D,headers:$}=this.cloneRequestState();if(Q)$.append("Prefer",`count=${Q}`);if(!B)$.append("Prefer","missing=default");if(Array.isArray(A)){let G=A.reduce((Y,H)=>Y.concat(Object.keys(H)),[]);if(G.length>0){let Y=[...new Set(G)].map((H)=>`"${H}"`);D.searchParams.set("columns",Y.join(","))}}return new xX({method:"POST",url:D,headers:$,schema:this.schema,body:A,fetch:(I=this.fetch)!==null&&I!==void 0?I:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(A,{onConflict:Q,ignoreDuplicates:B=!1,count:I,defaultToNull:E=!0}={}){var D;let $="POST",{url:G,headers:Y}=this.cloneRequestState();if(Y.append("Prefer",`resolution=${B?"ignore":"merge"}-duplicates`),Q!==void 0)G.searchParams.set("on_conflict",Q);if(I)Y.append("Prefer",`count=${I}`);if(!E)Y.append("Prefer","missing=default");if(Array.isArray(A)){let H=A.reduce((X,F)=>X.concat(Object.keys(F)),[]);if(H.length>0){let X=[...new Set(H)].map((F)=>`"${F}"`);G.searchParams.set("columns",X.join(","))}}return new xX({method:"POST",url:G,headers:Y,schema:this.schema,body:A,fetch:(D=this.fetch)!==null&&D!==void 0?D:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(A,{count:Q}={}){var B;let I="PATCH",{url:E,headers:D}=this.cloneRequestState();if(Q)D.append("Prefer",`count=${Q}`);return new xX({method:"PATCH",url:E,headers:D,schema:this.schema,body:A,fetch:(B=this.fetch)!==null&&B!==void 0?B:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:A}={}){var Q;let B="DELETE",{url:I,headers:E}=this.cloneRequestState();if(A)E.append("Prefer",`count=${A}`);return new xX({method:"DELETE",url:I,headers:E,schema:this.schema,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},aIA=class A{constructor(Q,{headers:B={},schema:I,fetch:E,timeout:D,urlLengthLimit:$=8000,retry:G}={}){this.url=Q,this.headers=new Headers(B),this.schemaName=I,this.urlLengthLimit=$;let Y=E!==null&&E!==void 0?E:globalThis.fetch;if(D!==void 0&&D>0)this.fetch=(H,X)=>{let F=new AbortController,W=setTimeout(()=>F.abort(),D),q=X===null||X===void 0?void 0:X.signal;if(q){if(q.aborted)return clearTimeout(W),Y(H,X);let Z=()=>{clearTimeout(W),F.abort()};return q.addEventListener("abort",Z,{once:!0}),Y(H,V2(V2({},X),{},{signal:F.signal})).finally(()=>{clearTimeout(W),q.removeEventListener("abort",Z)})}return Y(H,V2(V2({},X),{},{signal:F.signal})).finally(()=>clearTimeout(W))};else this.fetch=Y;this.retry=G}from(Q){if(!Q||typeof Q!=="string"||Q.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new NhA(new URL(`${this.url}/${Q}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(Q){return new A(this.url,{headers:this.headers,schema:Q,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(Q,B={},{head:I=!1,get:E=!1,count:D}={}){var $;let G,Y=new URL(`${this.url}/rpc/${Q}`),H,X=(q)=>q!==null&&typeof q==="object"&&(!Array.isArray(q)||q.some(X)),F=I&&Object.values(B).some(X);if(F)G="POST",H=B;else if(I||E)G=I?"HEAD":"GET",Object.entries(B).filter(([q,Z])=>Z!==void 0).map(([q,Z])=>[q,Array.isArray(Z)?`{${Z.join(",")}}`:`${Z}`]).forEach(([q,Z])=>{Y.searchParams.append(q,Z)});else G="POST",H=B;let W=new Headers(this.headers);if(F)W.set("Prefer",D?`count=${D},return=minimal`:"return=minimal");else if(D)W.set("Prefer",`count=${D}`);return new xX({method:G,url:Y,headers:W,schema:this.schemaName,body:H,fetch:($=this.fetch)!==null&&$!==void 0?$:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};var sIA=kA(()=>{KhA=[520,503],rIA=["GET","HEAD","OPTIONS"],oIA=class extends Error{constructor(A){super(A.message);this.name="PostgrestError",this.details=A.details,this.hint=A.hint,this.code=A.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};MhA=class extends ZhA{select(A){let Q=!1,B=(A!==null&&A!==void 0?A:"*").split("").map((I)=>{if(/\s/.test(I)&&!Q)return"";if(I==='"')Q=!Q;return I}).join("");return this.url.searchParams.set("select",B),this.headers.append("Prefer","return=representation"),this}order(A,{ascending:Q=!0,nullsFirst:B,foreignTable:I,referencedTable:E=I}={}){let D=E?`${E}.order`:"order",$=this.url.searchParams.get(D);return this.url.searchParams.set(D,`${$?`${$},`:""}${A}.${Q?"asc":"desc"}${B===void 0?"":B?".nullsfirst":".nullslast"}`),this}limit(A,{foreignTable:Q,referencedTable:B=Q}={}){let I=typeof B>"u"?"limit":`${B}.limit`;return this.url.searchParams.set(I,`${A}`),this}range(A,Q,{foreignTable:B,referencedTable:I=B}={}){let E=typeof I>"u"?"offset":`${I}.offset`,D=typeof I>"u"?"limit":`${I}.limit`;return this.url.searchParams.set(E,`${A}`),this.url.searchParams.set(D,`${Q-A+1}`),this}abortSignal(A){return this.signal=A,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:A=!1,verbose:Q=!1,settings:B=!1,buffers:I=!1,wal:E=!1,format:D="text"}={}){var $;let G=[A?"analyze":null,Q?"verbose":null,B?"settings":null,I?"buffers":null,E?"wal":null].filter(Boolean).join("|"),Y=($=this.headers.get("Accept"))!==null&&$!==void 0?$:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${D}; for="${Y}"; options=${G};`),D==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(A){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${A}`),this}},nIA=new RegExp("[,()]"),xX=class extends MhA{eq(A,Q){return this.url.searchParams.append(A,`eq.${Q}`),this}neq(A,Q){return this.url.searchParams.append(A,`neq.${Q}`),this}gt(A,Q){return this.url.searchParams.append(A,`gt.${Q}`),this}gte(A,Q){return this.url.searchParams.append(A,`gte.${Q}`),this}lt(A,Q){return this.url.searchParams.append(A,`lt.${Q}`),this}lte(A,Q){return this.url.searchParams.append(A,`lte.${Q}`),this}like(A,Q){return this.url.searchParams.append(A,`like.${Q}`),this}likeAllOf(A,Q){return this.url.searchParams.append(A,`like(all).{${Q.join(",")}}`),this}likeAnyOf(A,Q){return this.url.searchParams.append(A,`like(any).{${Q.join(",")}}`),this}ilike(A,Q){return this.url.searchParams.append(A,`ilike.${Q}`),this}ilikeAllOf(A,Q){return this.url.searchParams.append(A,`ilike(all).{${Q.join(",")}}`),this}ilikeAnyOf(A,Q){return this.url.searchParams.append(A,`ilike(any).{${Q.join(",")}}`),this}regexMatch(A,Q){return this.url.searchParams.append(A,`match.${Q}`),this}regexIMatch(A,Q){return this.url.searchParams.append(A,`imatch.${Q}`),this}is(A,Q){return this.url.searchParams.append(A,`is.${Q}`),this}isDistinct(A,Q){return this.url.searchParams.append(A,`isdistinct.${Q}`),this}in(A,Q){let B=Array.from(new Set(Q)).map((I)=>{if(typeof I==="string"&&nIA.test(I))return`"${I}"`;else return`${I}`}).join(",");return this.url.searchParams.append(A,`in.(${B})`),this}notIn(A,Q){let B=Array.from(new Set(Q)).map((I)=>{if(typeof I==="string"&&nIA.test(I))return`"${I}"`;else return`${I}`}).join(",");return this.url.searchParams.append(A,`not.in.(${B})`),this}contains(A,Q){if(typeof Q==="string")this.url.searchParams.append(A,`cs.${Q}`);else if(Array.isArray(Q))this.url.searchParams.append(A,`cs.{${Q.join(",")}}`);else this.url.searchParams.append(A,`cs.${JSON.stringify(Q)}`);return this}containedBy(A,Q){if(typeof Q==="string")this.url.searchParams.append(A,`cd.${Q}`);else if(Array.isArray(Q))this.url.searchParams.append(A,`cd.{${Q.join(",")}}`);else this.url.searchParams.append(A,`cd.${JSON.stringify(Q)}`);return this}rangeGt(A,Q){return this.url.searchParams.append(A,`sr.${Q}`),this}rangeGte(A,Q){return this.url.searchParams.append(A,`nxl.${Q}`),this}rangeLt(A,Q){return this.url.searchParams.append(A,`sl.${Q}`),this}rangeLte(A,Q){return this.url.searchParams.append(A,`nxr.${Q}`),this}rangeAdjacent(A,Q){return this.url.searchParams.append(A,`adj.${Q}`),this}overlaps(A,Q){if(typeof Q==="string")this.url.searchParams.append(A,`ov.${Q}`);else this.url.searchParams.append(A,`ov.{${Q.join(",")}}`);return this}textSearch(A,Q,{config:B,type:I}={}){let E="";if(I==="plain")E="pl";else if(I==="phrase")E="ph";else if(I==="websearch")E="w";let D=B===void 0?"":`(${B})`;return this.url.searchParams.append(A,`${E}fts${D}.${Q}`),this}match(A){return Object.entries(A).filter(([Q,B])=>B!==void 0).forEach(([Q,B])=>{this.url.searchParams.append(Q,`eq.${B}`)}),this}not(A,Q,B){return this.url.searchParams.append(A,`not.${Q}.${B}`),this}or(A,{foreignTable:Q,referencedTable:B=Q}={}){let I=B?`${B}.or`:"or";return this.url.searchParams.append(I,`(${A})`),this}filter(A,Q,B){return this.url.searchParams.append(A,`${Q}.${B}`),this}}});class dg{constructor(){}connect(){}disconnect(){}}function OhA(A,Q,B){let I=new URL(Q,A);if(B){for(let[E,D]of Object.entries(B))if(D!==void 0)I.searchParams.set(E,D)}return I.toString()}async function RhA(A){if(!A||A.type==="none")return{};if(A.type==="bearer")return{Authorization:`Bearer ${A.token}`};if(A.type==="header")return{[A.name]:A.value};if(A.type==="custom")return await A.getHeaders();return{}}function VhA(A){let Q=A.fetchImpl??globalThis.fetch;return{async request({method:B,path:I,query:E,body:D,headers:$}){let G=OhA(A.baseUrl,I,E),Y=await RhA(A.auth),H=await Q(G,{method:B,headers:{...D?{"Content-Type":"application/json"}:{},...Y,...$},body:D?JSON.stringify(D):void 0}),X=await H.text(),F=(H.headers.get("content-type")||"").includes("application/json"),W=F&&X?JSON.parse(X):X;if(!H.ok){let q=F?W:void 0,Z=q?.error;throw new IK(Z?.message??`Request failed with status ${H.status}`,{status:H.status,icebergType:Z?.type,icebergCode:Z?.code,details:q})}return{status:H.status,headers:H.headers,data:W}}}}function T2(A){return A.join("\x1F")}function gX(A){return A.join("\x1F")}var IK,ThA=class{constructor(A,Q=""){this.client=A,this.prefix=Q}async listNamespaces(A){let Q=A?{parent:T2(A.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:Q})).data.namespaces.map((I)=>({namespace:I}))}async createNamespace(A,Q){let B={namespace:A.namespace,properties:Q?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:B})).data}async dropNamespace(A){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${T2(A.namespace)}`})}async loadNamespaceMetadata(A){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${T2(A.namespace)}`})).data.properties}}async namespaceExists(A){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${T2(A.namespace)}`}),!0}catch(Q){if(Q instanceof IK&&Q.status===404)return!1;throw Q}}async createNamespaceIfNotExists(A,Q){try{return await this.createNamespace(A,Q)}catch(B){if(B instanceof IK&&B.status===409)return;throw B}}},ShA=class{constructor(A,Q="",B){this.client=A,this.prefix=Q,this.accessDelegation=B}async listTables(A){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables`})).data.identifiers}async createTable(A,Q){let B={};if(this.accessDelegation)B["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables`,body:Q,headers:B})).data.metadata}async updateTable(A,Q){let B=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables/${A.name}`,body:Q});return{"metadata-location":B.data["metadata-location"],metadata:B.data.metadata}}async dropTable(A,Q){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables/${A.name}`,query:{purgeRequested:String(Q?.purge??!1)}})}async loadTable(A){let Q={};if(this.accessDelegation)Q["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables/${A.name}`,headers:Q})).data.metadata}async tableExists(A){let Q={};if(this.accessDelegation)Q["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${gX(A.namespace)}/tables/${A.name}`,headers:Q}),!0}catch(B){if(B instanceof IK&&B.status===404)return!1;throw B}}async createTableIfNotExists(A,Q){try{return await this.createTable(A,Q)}catch(B){if(B instanceof IK&&B.status===409)return await this.loadTable({namespace:A.namespace,name:Q.name});throw B}}},tIA=class{constructor(A){let Q="v1";if(A.catalogName)Q+=`/${A.catalogName}`;let B=A.baseUrl.endsWith("/")?A.baseUrl:`${A.baseUrl}/`;this.client=VhA({baseUrl:B,auth:A.auth,fetchImpl:A.fetch}),this.accessDelegation=A.accessDelegation?.join(","),this.namespaceOps=new ThA(this.client,Q),this.tableOps=new ShA(this.client,Q,this.accessDelegation)}async listNamespaces(A){return this.namespaceOps.listNamespaces(A)}async createNamespace(A,Q){return this.namespaceOps.createNamespace(A,Q)}async dropNamespace(A){await this.namespaceOps.dropNamespace(A)}async loadNamespaceMetadata(A){return this.namespaceOps.loadNamespaceMetadata(A)}async listTables(A){return this.tableOps.listTables(A)}async createTable(A,Q){return this.tableOps.createTable(A,Q)}async updateTable(A,Q){return this.tableOps.updateTable(A,Q)}async dropTable(A,Q){await this.tableOps.dropTable(A,Q)}async loadTable(A){return this.tableOps.loadTable(A)}async namespaceExists(A){return this.namespaceOps.namespaceExists(A)}async tableExists(A){return this.tableOps.tableExists(A)}async createNamespaceIfNotExists(A,Q){return this.namespaceOps.createNamespaceIfNotExists(A,Q)}async createTableIfNotExists(A,Q){return this.tableOps.createTableIfNotExists(A,Q)}};var eIA=kA(()=>{IK=class extends Error{constructor(A,Q){super(A);this.name="IcebergError",this.status=Q.status,this.icebergType=Q.icebergType,this.icebergCode=Q.icebergCode,this.details=Q.details,this.isCommitStateUnknown=Q.icebergType==="CommitStateUnknownException"||[500,502,504].includes(Q.status)&&Q.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}}});function DK(A){return DK=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Q){return typeof Q}:function(Q){return Q&&typeof Symbol=="function"&&Q.constructor===Symbol&&Q!==Symbol.prototype?"symbol":typeof Q},DK(A)}function jhA(A,Q){if(DK(A)!="object"||!A)return A;var B=A[Symbol.toPrimitive];if(B!==void 0){var I=B.call(A,Q||"default");if(DK(I)!="object")return I;throw TypeError("@@toPrimitive must return a primitive value.")}return(Q==="string"?String:Number)(A)}function PhA(A){var Q=jhA(A,"string");return DK(Q)=="symbol"?Q:Q+""}function _hA(A,Q,B){return(Q=PhA(Q))in A?Object.defineProperty(A,Q,{value:B,enumerable:!0,configurable:!0,writable:!0}):A[Q]=B,A}function AEA(A,Q){var B=Object.keys(A);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(A);Q&&(I=I.filter(function(E){return Object.getOwnPropertyDescriptor(A,E).enumerable})),B.push.apply(B,I)}return B}function OB(A){for(var Q=1;Q<arguments.length;Q++){var B=arguments[Q]!=null?arguments[Q]:{};Q%2?AEA(Object(B),!0).forEach(function(I){_hA(A,I,B[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(B)):AEA(Object(B)).forEach(function(I){Object.defineProperty(A,I,Object.getOwnPropertyDescriptor(B,I))})}return A}function _2(A){return typeof A==="object"&&A!==null&&"__isStorageError"in A}function j2(A,Q,B){let I=OB({},A),E=Q.toLowerCase();for(let D of Object.keys(I))if(D.toLowerCase()===E)delete I[D];return I[E]=B,I}function khA(A){let Q={};for(let[B,I]of Object.entries(A))Q[B.toLowerCase()]=I;return Q}async function EK(A,Q,B,I,E,D,$){return new Promise((G,Y)=>{A(B,yhA(Q,I,E,D)).then((H)=>{if(!H.ok)throw H;if(I===null||I===void 0?void 0:I.noResolveJson)return H;if($==="vectors"){let X=H.headers.get("content-type");if(H.headers.get("content-length")==="0"||H.status===204)return{};if(!X||!X.includes("application/json"))return{}}return H.json()}).then((H)=>G(H)).catch((H)=>bhA(H,Y,I,$))})}function EEA(A="storage"){return{get:async(Q,B,I,E)=>{return EK(Q,"GET",B,I,E,void 0,A)},post:async(Q,B,I,E,D)=>{return EK(Q,"POST",B,E,D,I,A)},put:async(Q,B,I,E,D)=>{return EK(Q,"PUT",B,E,D,I,A)},head:async(Q,B,I,E)=>{return EK(Q,"HEAD",B,OB(OB({},I),{},{noResolveJson:!0}),E,void 0,A)},remove:async(Q,B,I,E,D)=>{return EK(Q,"DELETE",B,E,D,I,A)}}}var P2,S2,IEA,vhA=(A)=>{if(A)return(...Q)=>A(...Q);return(...Q)=>fetch(...Q)},xhA=(A)=>{if(typeof A!=="object"||A===null)return!1;let Q=Object.getPrototypeOf(A);return(Q===null||Q===Object.prototype||Object.getPrototypeOf(Q)===null)&&!(Symbol.toStringTag in A)&&!(Symbol.iterator in A)},pg=(A)=>{if(Array.isArray(A))return A.map((B)=>pg(B));else if(typeof A==="function"||A!==Object(A))return A;let Q={};return Object.entries(A).forEach(([B,I])=>{let E=B.replace(/([-_][a-z])/gi,(D)=>D.toUpperCase().replace(/[-_]/g,""));Q[E]=pg(I)}),Q},ghA=(A)=>{if(!A||typeof A!=="string")return!1;if(A.length===0||A.length>100)return!1;if(A.trim()!==A)return!1;if(A.includes("/")||A.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(A)},QEA=(A)=>{if(typeof A==="object"&&A!==null){let Q=A;if(typeof Q.msg==="string")return Q.msg;if(typeof Q.message==="string")return Q.message;if(typeof Q.error_description==="string")return Q.error_description;if(typeof Q.error==="string")return Q.error;if(typeof Q.error==="object"&&Q.error!==null){let B=Q.error;if(typeof B.message==="string")return B.message}}return JSON.stringify(A)},bhA=async(A,Q,B,I)=>{if(A!==null&&typeof A==="object"&&"json"in A&&typeof A.json==="function"){let E=A,D=parseInt(String(E.status),10);if(!Number.isFinite(D))D=500;E.json().then(($)=>{let G=($===null||$===void 0?void 0:$.statusCode)||($===null||$===void 0?void 0:$.code)||D+"";Q(new S2(QEA($),D,G,I))}).catch(()=>{let $=D+"";Q(new S2(E.statusText||`HTTP ${D} error`,D,$,I))})}else Q(new IEA(QEA(A),A,I))},yhA=(A,Q,B,I)=>{let E={method:A,headers:(Q===null||Q===void 0?void 0:Q.headers)||{}};if(A==="GET"||A==="HEAD"||!I)return OB(OB({},E),B);if(xhA(I)){var D;let $=(Q===null||Q===void 0?void 0:Q.headers)||{},G;for(let[Y,H]of Object.entries($))if(Y.toLowerCase()==="content-type")G=H;E.headers=j2($,"Content-Type",(D=G)!==null&&D!==void 0?D:"application/json"),E.body=JSON.stringify(I)}else E.body=I;if(Q===null||Q===void 0?void 0:Q.duplex)E.duplex=Q.duplex;return OB(OB({},E),B)},fhA,$K,u$,ng,hhA,ig,OD,bX=class{constructor(A,Q={},B,I="storage"){this.shouldThrowOnError=!1,this.url=A,this.headers=khA(Q),this.fetch=vhA(B),this.namespace=I}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(A,Q){return this.headers=j2(this.headers,A,Q),this}async handleOperation(A){var Q=this;try{return{data:await A(),error:null}}catch(B){if(Q.shouldThrowOnError)throw B;if(_2(B))return{data:null,error:B};throw B}}},DEA,uhA=class{constructor(A,Q){this.downloadFn=A,this.shouldThrowOnError=Q,this[DEA]="StreamDownloadBuilder",this.promise=null}then(A,Q){return this.getPromise().then(A,Q)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var A=this;try{return{data:(await A.downloadFn()).body,error:null}}catch(Q){if(A.shouldThrowOnError)throw Q;if(_2(Q))return{data:null,error:Q};throw Q}}},$EA,mhA=class{constructor(A,Q){this.downloadFn=A,this.shouldThrowOnError=Q,this[$EA]="BlobDownloadBuilder",this.promise=null}asStream(){return new uhA(this.downloadFn,this.shouldThrowOnError)}then(A,Q){return this.getPromise().then(A,Q)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var A=this;try{return{data:await(await A.downloadFn()).blob(),error:null}}catch(Q){if(A.shouldThrowOnError)throw Q;if(_2(Q))return{data:null,error:Q};throw Q}}},chA,BEA,lhA,dhA="2.106.2",GK,phA,nhA,ihA,rhA,ohA,ahA,shA,thA,GEA;var JEA=kA(()=>{eIA();P2=class extends Error{constructor(A,Q="storage",B,I){super(A);this.__isStorageError=!0,this.namespace=Q,this.name=Q==="vectors"?"StorageVectorsError":"StorageError",this.status=B,this.statusCode=I}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};S2=class extends P2{constructor(A,Q,B,I="storage"){super(A,I,Q,B);this.name=I==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=Q,this.statusCode=B}toJSON(){return OB({},super.toJSON())}},IEA=class extends P2{constructor(A,Q,B="storage"){super(A,B);this.name=B==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=Q}};fhA=EEA("storage"),{get:$K,post:u$,put:ng,head:hhA,remove:ig}=fhA,OD=EEA("vectors");DEA=Symbol.toStringTag;$EA=Symbol.toStringTag;chA={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},BEA={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},lhA=class extends bX{constructor(A,Q={},B,I){super(A,Q,I,"storage");this.bucketId=B}async uploadOrUpdate(A,Q,B,I){var E=this;return E.handleOperation(async()=>{let D,$=OB(OB({},BEA),I),G=OB(OB({},E.headers),A==="POST"&&{"x-upsert":String($.upsert)}),Y=$.metadata;if(typeof Blob<"u"&&B instanceof Blob){if(D=new FormData,D.append("cacheControl",$.cacheControl),Y)D.append("metadata",E.encodeMetadata(Y));D.append("",B)}else if(typeof FormData<"u"&&B instanceof FormData){if(D=B,!D.has("cacheControl"))D.append("cacheControl",$.cacheControl);if(Y&&!D.has("metadata"))D.append("metadata",E.encodeMetadata(Y))}else{if(D=B,G["cache-control"]=`max-age=${$.cacheControl}`,G["content-type"]=$.contentType,Y)G["x-metadata"]=E.toBase64(E.encodeMetadata(Y));if((typeof ReadableStream<"u"&&D instanceof ReadableStream||D&&typeof D==="object"&&("pipe"in D)&&typeof D.pipe==="function")&&!$.duplex)$.duplex="half"}if(I===null||I===void 0?void 0:I.headers)for(let[W,q]of Object.entries(I.headers))G=j2(G,W,q);let H=E._removeEmptyFolders(Q),X=E._getFinalPath(H),F=await(A=="PUT"?ng:u$)(E.fetch,`${E.url}/object/${X}`,D,OB({headers:G},($===null||$===void 0?void 0:$.duplex)?{duplex:$.duplex}:{}));return{path:H,id:F.Id,fullPath:F.Key}})}async upload(A,Q,B){return this.uploadOrUpdate("POST",A,Q,B)}async uploadToSignedUrl(A,Q,B,I){var E=this;let D=E._removeEmptyFolders(A),$=E._getFinalPath(D),G=new URL(E.url+`/object/upload/sign/${$}`);return G.searchParams.set("token",Q),E.handleOperation(async()=>{let Y,H=OB(OB({},BEA),I),X=OB(OB({},E.headers),{"x-upsert":String(H.upsert)}),F=H.metadata;if(typeof Blob<"u"&&B instanceof Blob){if(Y=new FormData,Y.append("cacheControl",H.cacheControl),F)Y.append("metadata",E.encodeMetadata(F));Y.append("",B)}else if(typeof FormData<"u"&&B instanceof FormData){if(Y=B,!Y.has("cacheControl"))Y.append("cacheControl",H.cacheControl);if(F&&!Y.has("metadata"))Y.append("metadata",E.encodeMetadata(F))}else{if(Y=B,X["cache-control"]=`max-age=${H.cacheControl}`,X["content-type"]=H.contentType,F)X["x-metadata"]=E.toBase64(E.encodeMetadata(F));if((typeof ReadableStream<"u"&&Y instanceof ReadableStream||Y&&typeof Y==="object"&&("pipe"in Y)&&typeof Y.pipe==="function")&&!H.duplex)H.duplex="half"}if(I===null||I===void 0?void 0:I.headers)for(let[W,q]of Object.entries(I.headers))X=j2(X,W,q);return{path:D,fullPath:(await ng(E.fetch,G.toString(),Y,OB({headers:X},(H===null||H===void 0?void 0:H.duplex)?{duplex:H.duplex}:{}))).Key}})}async createSignedUploadUrl(A,Q){var B=this;return B.handleOperation(async()=>{let I=B._getFinalPath(A),E=OB({},B.headers);if(Q===null||Q===void 0?void 0:Q.upsert)E["x-upsert"]="true";let D=await u$(B.fetch,`${B.url}/object/upload/sign/${I}`,{},{headers:E}),$=new URL(B.url+D.url),G=$.searchParams.get("token");if(!G)throw new P2("No token returned by API");return{signedUrl:$.toString(),path:A,token:G}})}async update(A,Q,B){return this.uploadOrUpdate("PUT",A,Q,B)}async move(A,Q,B){var I=this;return I.handleOperation(async()=>{return await u$(I.fetch,`${I.url}/object/move`,{bucketId:I.bucketId,sourceKey:A,destinationKey:Q,destinationBucket:B===null||B===void 0?void 0:B.destinationBucket},{headers:I.headers})})}async copy(A,Q,B){var I=this;return I.handleOperation(async()=>{return{path:(await u$(I.fetch,`${I.url}/object/copy`,{bucketId:I.bucketId,sourceKey:A,destinationKey:Q,destinationBucket:B===null||B===void 0?void 0:B.destinationBucket},{headers:I.headers})).Key}})}async createSignedUrl(A,Q,B){var I=this;return I.handleOperation(async()=>{let E=I._getFinalPath(A),D=typeof(B===null||B===void 0?void 0:B.transform)==="object"&&B.transform!==null&&Object.keys(B.transform).length>0,$=await u$(I.fetch,`${I.url}/object/sign/${E}`,OB({expiresIn:Q},D?{transform:B.transform}:{}),{headers:I.headers}),G=new URLSearchParams;if(B===null||B===void 0?void 0:B.download)G.set("download",B.download===!0?"":B.download);if((B===null||B===void 0?void 0:B.cacheNonce)!=null)G.set("cacheNonce",String(B.cacheNonce));let Y=G.toString();return{signedUrl:encodeURI(`${I.url}${$.signedURL}${Y?`&${Y}`:""}`)}})}async createSignedUrls(A,Q,B){var I=this;return I.handleOperation(async()=>{let E=await u$(I.fetch,`${I.url}/object/sign/${I.bucketId}`,{expiresIn:Q,paths:A},{headers:I.headers}),D=new URLSearchParams;if(B===null||B===void 0?void 0:B.download)D.set("download",B.download===!0?"":B.download);if((B===null||B===void 0?void 0:B.cacheNonce)!=null)D.set("cacheNonce",String(B.cacheNonce));let $=D.toString();return E.map((G)=>OB(OB({},G),{},{signedUrl:G.signedURL?encodeURI(`${I.url}${G.signedURL}${$?`&${$}`:""}`):null}))})}download(A,Q,B){let I=typeof(Q===null||Q===void 0?void 0:Q.transform)==="object"&&Q.transform!==null&&Object.keys(Q.transform).length>0?"render/image/authenticated":"object",E=new URLSearchParams;if(Q===null||Q===void 0?void 0:Q.transform)this.applyTransformOptsToQuery(E,Q.transform);if((Q===null||Q===void 0?void 0:Q.cacheNonce)!=null)E.set("cacheNonce",String(Q.cacheNonce));let D=E.toString(),$=this._getFinalPath(A);return new mhA(()=>$K(this.fetch,`${this.url}/${I}/${$}${D?`?${D}`:""}`,{headers:this.headers,noResolveJson:!0},B),this.shouldThrowOnError)}async info(A){var Q=this;let B=Q._getFinalPath(A);return Q.handleOperation(async()=>{return pg(await $K(Q.fetch,`${Q.url}/object/info/${B}`,{headers:Q.headers}))})}async exists(A){var Q=this;let B=Q._getFinalPath(A);try{return await hhA(Q.fetch,`${Q.url}/object/${B}`,{headers:Q.headers}),{data:!0,error:null}}catch(E){if(Q.shouldThrowOnError)throw E;if(_2(E)){var I;let D=E instanceof S2?E.status:E instanceof IEA?(I=E.originalError)===null||I===void 0?void 0:I.status:void 0;if(D!==void 0&&[400,404].includes(D))return{data:!1,error:E}}throw E}}getPublicUrl(A,Q){let B=this._getFinalPath(A),I=new URLSearchParams;if(Q===null||Q===void 0?void 0:Q.download)I.set("download",Q.download===!0?"":Q.download);if(Q===null||Q===void 0?void 0:Q.transform)this.applyTransformOptsToQuery(I,Q.transform);if((Q===null||Q===void 0?void 0:Q.cacheNonce)!=null)I.set("cacheNonce",String(Q.cacheNonce));let E=I.toString(),D=typeof(Q===null||Q===void 0?void 0:Q.transform)==="object"&&Q.transform!==null&&Object.keys(Q.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${D}/public/${B}`)+(E?`?${E}`:"")}}}async remove(A){var Q=this;return Q.handleOperation(async()=>{return await ig(Q.fetch,`${Q.url}/object/${Q.bucketId}`,{prefixes:A},{headers:Q.headers})})}async list(A,Q,B){var I=this;return I.handleOperation(async()=>{let E=OB(OB(OB({},chA),Q),{},{prefix:A||""});return await u$(I.fetch,`${I.url}/object/list/${I.bucketId}`,E,{headers:I.headers},B)})}async listV2(A,Q){var B=this;return B.handleOperation(async()=>{let I=OB({},A);return await u$(B.fetch,`${B.url}/object/list-v2/${B.bucketId}`,I,{headers:B.headers},Q)})}encodeMetadata(A){return JSON.stringify(A)}toBase64(A){if(typeof Buffer<"u")return Buffer.from(A).toString("base64");return btoa(A)}_getFinalPath(A){return`${this.bucketId}/${A.replace(/^\/+/,"")}`}_removeEmptyFolders(A){return A.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(A,Q){if(Q.width)A.set("width",Q.width.toString());if(Q.height)A.set("height",Q.height.toString());if(Q.resize)A.set("resize",Q.resize);if(Q.format)A.set("format",Q.format);if(Q.quality)A.set("quality",Q.quality.toString());return A}},GK={"X-Client-Info":`storage-js/${dhA}`},phA=class extends bX{constructor(A,Q={},B,I){let E=new URL(A);if(I===null||I===void 0?void 0:I.useNewHostname){if(/supabase\.(co|in|red)$/.test(E.hostname)&&!E.hostname.includes("storage.supabase."))E.hostname=E.hostname.replace("supabase.","storage.supabase.")}let D=E.href.replace(/\/$/,""),$=OB(OB({},GK),Q);super(D,$,B,"storage")}async listBuckets(A){var Q=this;return Q.handleOperation(async()=>{let B=Q.listBucketOptionsToQueryString(A);return await $K(Q.fetch,`${Q.url}/bucket${B}`,{headers:Q.headers})})}async getBucket(A){var Q=this;return Q.handleOperation(async()=>{return await $K(Q.fetch,`${Q.url}/bucket/${A}`,{headers:Q.headers})})}async createBucket(A,Q={public:!1}){var B=this;return B.handleOperation(async()=>{return await u$(B.fetch,`${B.url}/bucket`,{id:A,name:A,type:Q.type,public:Q.public,file_size_limit:Q.fileSizeLimit,allowed_mime_types:Q.allowedMimeTypes},{headers:B.headers})})}async updateBucket(A,Q){var B=this;return B.handleOperation(async()=>{return await ng(B.fetch,`${B.url}/bucket/${A}`,{id:A,name:A,public:Q.public,file_size_limit:Q.fileSizeLimit,allowed_mime_types:Q.allowedMimeTypes},{headers:B.headers})})}async emptyBucket(A){var Q=this;return Q.handleOperation(async()=>{return await u$(Q.fetch,`${Q.url}/bucket/${A}/empty`,{},{headers:Q.headers})})}async deleteBucket(A){var Q=this;return Q.handleOperation(async()=>{return await ig(Q.fetch,`${Q.url}/bucket/${A}`,{},{headers:Q.headers})})}listBucketOptionsToQueryString(A){let Q={};if(A){if("limit"in A)Q.limit=String(A.limit);if("offset"in A)Q.offset=String(A.offset);if(A.search)Q.search=A.search;if(A.sortColumn)Q.sortColumn=A.sortColumn;if(A.sortOrder)Q.sortOrder=A.sortOrder}return Object.keys(Q).length>0?"?"+new URLSearchParams(Q).toString():""}},nhA=class extends bX{constructor(A,Q={},B){let I=A.replace(/\/$/,""),E=OB(OB({},GK),Q);super(I,E,B,"storage")}async createBucket(A){var Q=this;return Q.handleOperation(async()=>{return await u$(Q.fetch,`${Q.url}/bucket`,{name:A},{headers:Q.headers})})}async listBuckets(A){var Q=this;return Q.handleOperation(async()=>{let B=new URLSearchParams;if((A===null||A===void 0?void 0:A.limit)!==void 0)B.set("limit",A.limit.toString());if((A===null||A===void 0?void 0:A.offset)!==void 0)B.set("offset",A.offset.toString());if(A===null||A===void 0?void 0:A.sortColumn)B.set("sortColumn",A.sortColumn);if(A===null||A===void 0?void 0:A.sortOrder)B.set("sortOrder",A.sortOrder);if(A===null||A===void 0?void 0:A.search)B.set("search",A.search);let I=B.toString(),E=I?`${Q.url}/bucket?${I}`:`${Q.url}/bucket`;return await $K(Q.fetch,E,{headers:Q.headers})})}async deleteBucket(A){var Q=this;return Q.handleOperation(async()=>{return await ig(Q.fetch,`${Q.url}/bucket/${A}`,{},{headers:Q.headers})})}from(A){var Q=this;if(!ghA(A))throw new P2("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let B=new tIA({baseUrl:this.url,catalogName:A,auth:{type:"custom",getHeaders:async()=>Q.headers},fetch:this.fetch}),I=this.shouldThrowOnError;return new Proxy(B,{get(E,D){let $=E[D];if(typeof $!=="function")return $;return async(...G)=>{try{return{data:await $.apply(E,G),error:null}}catch(Y){if(I)throw Y;return{data:null,error:Y}}}}})}},ihA=class extends bX{constructor(A,Q={},B){let I=A.replace(/\/$/,""),E=OB(OB({},GK),{},{"Content-Type":"application/json"},Q);super(I,E,B,"vectors")}async createIndex(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/CreateIndex`,A,{headers:Q.headers})||{}})}async getIndex(A,Q){var B=this;return B.handleOperation(async()=>{return await OD.post(B.fetch,`${B.url}/GetIndex`,{vectorBucketName:A,indexName:Q},{headers:B.headers})})}async listIndexes(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/ListIndexes`,A,{headers:Q.headers})})}async deleteIndex(A,Q){var B=this;return B.handleOperation(async()=>{return await OD.post(B.fetch,`${B.url}/DeleteIndex`,{vectorBucketName:A,indexName:Q},{headers:B.headers})||{}})}},rhA=class extends bX{constructor(A,Q={},B){let I=A.replace(/\/$/,""),E=OB(OB({},GK),{},{"Content-Type":"application/json"},Q);super(I,E,B,"vectors")}async putVectors(A){var Q=this;if(A.vectors.length<1||A.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/PutVectors`,A,{headers:Q.headers})||{}})}async getVectors(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/GetVectors`,A,{headers:Q.headers})})}async listVectors(A){var Q=this;if(A.segmentCount!==void 0){if(A.segmentCount<1||A.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(A.segmentIndex!==void 0){if(A.segmentIndex<0||A.segmentIndex>=A.segmentCount)throw Error(`segmentIndex must be between 0 and ${A.segmentCount-1}`)}}return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/ListVectors`,A,{headers:Q.headers})})}async queryVectors(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/QueryVectors`,A,{headers:Q.headers})})}async deleteVectors(A){var Q=this;if(A.keys.length<1||A.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/DeleteVectors`,A,{headers:Q.headers})||{}})}},ohA=class extends bX{constructor(A,Q={},B){let I=A.replace(/\/$/,""),E=OB(OB({},GK),{},{"Content-Type":"application/json"},Q);super(I,E,B,"vectors")}async createBucket(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/CreateVectorBucket`,{vectorBucketName:A},{headers:Q.headers})||{}})}async getBucket(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/GetVectorBucket`,{vectorBucketName:A},{headers:Q.headers})})}async listBuckets(A={}){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/ListVectorBuckets`,A,{headers:Q.headers})})}async deleteBucket(A){var Q=this;return Q.handleOperation(async()=>{return await OD.post(Q.fetch,`${Q.url}/DeleteVectorBucket`,{vectorBucketName:A},{headers:Q.headers})||{}})}},ahA=class extends ohA{constructor(A,Q={}){super(A,Q.headers||{},Q.fetch)}from(A){return new shA(this.url,this.headers,A,this.fetch)}async createBucket(A){var Q=()=>super.createBucket,B=this;return Q().call(B,A)}async getBucket(A){var Q=()=>super.getBucket,B=this;return Q().call(B,A)}async listBuckets(A={}){var Q=()=>super.listBuckets,B=this;return Q().call(B,A)}async deleteBucket(A){var Q=()=>super.deleteBucket,B=this;return Q().call(B,A)}},shA=class extends ihA{constructor(A,Q,B,I){super(A,Q,I);this.vectorBucketName=B}async createIndex(A){var Q=()=>super.createIndex,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName}))}async listIndexes(A={}){var Q=()=>super.listIndexes,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName}))}async getIndex(A){var Q=()=>super.getIndex,B=this;return Q().call(B,B.vectorBucketName,A)}async deleteIndex(A){var Q=()=>super.deleteIndex,B=this;return Q().call(B,B.vectorBucketName,A)}index(A){return new thA(this.url,this.headers,this.vectorBucketName,A,this.fetch)}},thA=class extends rhA{constructor(A,Q,B,I,E){super(A,Q,E);this.vectorBucketName=B,this.indexName=I}async putVectors(A){var Q=()=>super.putVectors,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName,indexName:B.indexName}))}async getVectors(A){var Q=()=>super.getVectors,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName,indexName:B.indexName}))}async listVectors(A={}){var Q=()=>super.listVectors,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName,indexName:B.indexName}))}async queryVectors(A){var Q=()=>super.queryVectors,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName,indexName:B.indexName}))}async deleteVectors(A){var Q=()=>super.deleteVectors,B=this;return Q().call(B,OB(OB({},A),{},{vectorBucketName:B.vectorBucketName,indexName:B.indexName}))}},GEA=class extends phA{constructor(A,Q={},B,I){super(A,Q,B,I)}from(A){return new lhA(this.url,this.headers,A,this.fetch)}get vectors(){return new ahA(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new nhA(this.url+"/iceberg",this.headers,this.fetch)}}});class YEA{constructor(A){return this.options=A,new Proxy(this,AuA)}}var ehA=()=>Promise.resolve({data:{session:null,user:null},error:null}),AuA,rg;var og=kA(()=>{AuA={get:(A,Q)=>{if(Q==="constructor")return A.constructor;if(Q==="then"||Q==="catch"||Q==="finally")return;if(typeof Q==="symbol")return;if(Q==="getSession")return()=>Promise.resolve({data:{session:null,user:null},error:null});if(Q==="onAuthStateChange")return()=>({data:{subscription:{unsubscribe:()=>{}}},error:null});return ehA}};rg=class rg extends YEA{}});function JuA(A,Q,B,I){function E(D){return D instanceof B?D:new B(function($){$(D)})}return new(B||(B=Promise))(function(D,$){function G(X){try{H(I.next(X))}catch(F){$(F)}}function Y(X){try{H(I.throw(X))}catch(F){$(F)}}function H(X){X.done?D(X.value):E(X.value).then(G,Y)}H((I=I.apply(A,Q||[])).next())})}function UuA(){if(ag===null)ag=import(YuA).catch(()=>null);return ag}function HuA(){return JuA(this,void 0,void 0,function*(){try{let A=yield UuA();if(!A||!A.propagation||!A.context)return null;let Q={};A.propagation.inject(A.context.active(),Q);let B=Q.traceparent;if(!B)return null;return{traceparent:B,tracestate:Q.tracestate,baggage:Q.baggage}}catch(A){return null}})}function XuA(A){if(!A||typeof A!=="string")return null;let Q=A.split("-");if(Q.length!==4)return null;let[B,I,E,D]=Q;if(B.length!==2||I.length!==32||E.length!==16||D.length!==2)return null;let $=/^[0-9a-f]+$/i;if(!$.test(B)||!$.test(I)||!$.test(E)||!$.test(D))return null;if(I==="00000000000000000000000000000000"||E==="0000000000000000")return null;return{version:B,traceId:I,parentId:E,traceFlags:D,isSampled:(parseInt(D,16)&1)===1}}function CuA(A,Q){if(!A||!Q||Q.length===0)return!1;let B;if(A instanceof URL)B=A;else try{B=new URL(A)}catch(I){return!1}for(let I of Q)try{if(typeof I==="string"){if(FuA(B.hostname,I))return!0}else if(I instanceof RegExp){if(I.test(B.hostname))return!0}else if(typeof I==="function"){if(I(B))return!0}}catch(E){continue}return!1}function FuA(A,Q){if(Q===A)return!0;if(Q.startsWith("*.")){let B=Q.slice(2);if(A.endsWith(B)){if(A===B||A.endsWith("."+B))return!0}}return!1}function WuA(A){let Q=[];try{let B=new URL(A);Q.push(B.hostname)}catch(B){}return Q.push("*.supabase.co","*.supabase.in"),Q.push("localhost","127.0.0.1","[::1]"),Q}function YK(A){return YK=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Q){return typeof Q}:function(Q){return Q&&typeof Symbol=="function"&&Q.constructor===Symbol&&Q!==Symbol.prototype?"symbol":typeof Q},YK(A)}function KuA(A,Q){if(YK(A)!="object"||!A)return A;var B=A[Symbol.toPrimitive];if(B!==void 0){var I=B.call(A,Q||"default");if(YK(I)!="object")return I;throw TypeError("@@toPrimitive must return a primitive value.")}return(Q==="string"?String:Number)(A)}function quA(A){var Q=KuA(A,"string");return YK(Q)=="symbol"?Q:Q+""}function ZuA(A,Q,B){return(Q=quA(Q))in A?Object.defineProperty(A,Q,{value:B,enumerable:!0,configurable:!0,writable:!0}):A[Q]=B,A}function UEA(A,Q){var B=Object.keys(A);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(A);Q&&(I=I.filter(function(E){return Object.getOwnPropertyDescriptor(A,E).enumerable})),B.push.apply(B,I)}return B}function bE(A){for(var Q=1;Q<arguments.length;Q++){var B=arguments[Q]!=null?arguments[Q]:{};Q%2?UEA(Object(B),!0).forEach(function(I){ZuA(A,I,B[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(B)):UEA(Object(B)).forEach(function(I){Object.defineProperty(A,I,Object.getOwnPropertyDescriptor(B,I))})}return A}async function wuA(A,Q,B){if(!CuA(typeof A==="string"?A:A instanceof URL?A:A.url,Q))return null;let I=await HuA();if(!I||!I.traceparent)return null;if(B){let E=XuA(I.traceparent);if(E&&!E.isSampled)return null}return I}function HEA(A){return typeof A==="boolean"?{enabled:A}:A}function LuA(A){return A.endsWith("/")?A:A+"/"}function OuA(A,Q){var B,I,E,D,$,G;let{db:Y,auth:H,realtime:X,global:F}=A,{db:W,auth:q,realtime:Z,global:N}=Q,w=HEA(A.tracePropagation),O=HEA(Q.tracePropagation),T={db:bE(bE({},W),Y),auth:bE(bE({},q),H),realtime:bE(bE({},Z),X),storage:{},global:bE(bE(bE({},N),F),{},{headers:bE(bE({},(B=N===null||N===void 0?void 0:N.headers)!==null&&B!==void 0?B:{}),(I=F===null||F===void 0?void 0:F.headers)!==null&&I!==void 0?I:{})}),tracePropagation:{enabled:(E=(D=w===null||w===void 0?void 0:w.enabled)!==null&&D!==void 0?D:O===null||O===void 0?void 0:O.enabled)!==null&&E!==void 0?E:!1,respectSamplingDecision:($=(G=w===null||w===void 0?void 0:w.respectSamplingDecision)!==null&&G!==void 0?G:O===null||O===void 0?void 0:O.respectSamplingDecision)!==null&&$!==void 0?$:!0},accessToken:async()=>""};if(A.accessToken)T.accessToken=A.accessToken;else delete T.accessToken;return T}function RuA(A){let Q=A===null||A===void 0?void 0:A.trim();if(!Q)throw Error("supabaseUrl is required.");if(!Q.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(LuA(Q))}catch(B){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}function SuA(){if(typeof window<"u")return!1;let A=globalThis.process;if(!A)return!1;let Q=A.version;if(Q===void 0||Q===null)return!1;let B=Q.match(/^v(\d+)\./);if(!B)return!1;return parseInt(B[1],10)<=18}var m$,QuA="2.106.2",JK="",BuA,IuA,EuA,DuA,$uA,GuA,ag=null,YuA="@opentelemetry/api",MuA=(A)=>{if(A)return(...Q)=>A(...Q);return(...Q)=>fetch(...Q)},NuA=()=>{return Headers},zuA=(A,Q,B,I,E)=>{let D=MuA(I),$=NuA(),G=(E===null||E===void 0?void 0:E.enabled)===!0,Y=(E===null||E===void 0?void 0:E.respectSamplingDecision)!==!1,H=G?WuA(Q):null;return async(X,F)=>{var W;let q=(W=await B())!==null&&W!==void 0?W:A,Z=new $(F===null||F===void 0?void 0:F.headers);if(!Z.has("apikey"))Z.set("apikey",A);if(!Z.has("Authorization"))Z.set("Authorization",`Bearer ${q}`);if(H){let N=await wuA(X,H,Y);if(N){if(N.traceparent&&!Z.has("traceparent"))Z.set("traceparent",N.traceparent);if(N.tracestate&&!Z.has("tracestate"))Z.set("tracestate",N.tracestate);if(N.baggage&&!Z.has("baggage"))Z.set("baggage",N.baggage)}}return D(X,bE(bE({},F),{},{headers:Z}))}},VuA,TuA=class{constructor(A,Q,B){var I,E;this.supabaseUrl=A,this.supabaseKey=Q;let D=RuA(A);if(!Q)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",D),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",D),this.storageUrl=new URL("storage/v1",D),this.functionsUrl=new URL("functions/v1",D);let $=`sb-${D.hostname.split(".")[0]}-auth-token`,G={db:EuA,realtime:$uA,auth:bE(bE({},DuA),{},{storageKey:$}),global:IuA,tracePropagation:GuA},Y=OuA(B!==null&&B!==void 0?B:{},G);if(this.settings=Y,this.storageKey=(I=Y.auth.storageKey)!==null&&I!==void 0?I:"",this.headers=(E=Y.global.headers)!==null&&E!==void 0?E:{},!Y.accessToken){var H;this.auth=this._initSupabaseAuthClient((H=Y.auth)!==null&&H!==void 0?H:{},this.headers,Y.global.fetch)}else this.accessToken=Y.accessToken,this.auth=new Proxy({},{get:(X,F)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(F)} is not possible`)}});if(this.fetch=zuA(Q,A,this._getAccessToken.bind(this),Y.global.fetch,Y.tracePropagation),this.realtime=this._initRealtimeClient(bE({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},Y.realtime)),this.accessToken)Promise.resolve(this.accessToken()).then((X)=>this.realtime.setAuth(X)).catch((X)=>console.warn("Failed to set initial Realtime auth token:",X));if(this.rest=new aIA(new URL("rest/v1",D).href,{headers:this.headers,schema:Y.db.schema,fetch:this.fetch,timeout:Y.db.timeout,urlLengthLimit:Y.db.urlLengthLimit}),this.storage=new GEA(this.storageUrl.href,this.headers,this.fetch,B===null||B===void 0?void 0:B.storage),!Y.accessToken)this._listenForAuthEvents()}get functions(){return new m$.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(A){return this.rest.from(A)}schema(A){return this.rest.schema(A)}rpc(A,Q={},B={head:!1,get:!1,count:void 0}){return this.rest.rpc(A,Q,B)}channel(A,Q={config:{}}){return this.realtime.channel(A,Q)}getChannels(){return this.realtime.getChannels()}removeChannel(A){return this.realtime.removeChannel(A)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var A=this,Q,B;if(A.accessToken)return await A.accessToken();let{data:I}=await A.auth.getSession();return(Q=(B=I.session)===null||B===void 0?void 0:B.access_token)!==null&&Q!==void 0?Q:A.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:A,persistSession:Q,detectSessionInUrl:B,storage:I,userStorage:E,storageKey:D,flowType:$,lock:G,debug:Y,throwOnError:H,experimental:X,lockAcquireTimeout:F,skipAutoInitialize:W},q,Z){let N={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new VuA({url:this.authUrl.href,headers:bE(bE({},N),q),storageKey:D,autoRefreshToken:A,persistSession:Q,detectSessionInUrl:B,storage:I,userStorage:E,flowType:$,lock:G,debug:Y,throwOnError:H,experimental:X,fetch:Z,lockAcquireTimeout:F,skipAutoInitialize:W,hasCustomAuthorizationHeader:Object.keys(this.headers).some((w)=>w.toLowerCase()==="authorization")})}_initRealtimeClient(A){return new dg(this.realtimeUrl.href,bE(bE({},A),{},{params:bE(bE({},{apikey:this.supabaseKey}),A===null||A===void 0?void 0:A.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((A,Q)=>{this._handleTokenChanged(A,"CLIENT",Q===null||Q===void 0?void 0:Q.access_token)})}_handleTokenChanged(A,Q,B){if((A==="TOKEN_REFRESHED"||A==="SIGNED_IN")&&this.changedAccessToken!==B)this.changedAccessToken=B,this.realtime.setAuth(B);else if(A==="SIGNED_OUT"){if(this.realtime.setAuth(),Q=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},XEA=(A,Q,B)=>{return new TuA(A,Q,B)};var CEA=kA(()=>{sIA();JEA();og();m$=cA(lIA(),1);og();if(typeof Deno<"u")JK="deno";else if(typeof document<"u")JK="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")JK="react-native";else JK="node";BuA={"X-Client-Info":`supabase-js-${JK}/${QuA}`},IuA={headers:BuA},EuA={schema:"public"},DuA={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},$uA={},GuA={enabled:!1,respectSamplingDecision:!0};VuA=class extends rg{constructor(A){super(A)}};if(SuA())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217")});var sg=v((suQ,FEA)=>{FEA.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var k2=v((KEA)=>{var WEA={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function juA(A){return function(...Q){if(Q.length)A=A.replace(/\{(\d)\}/g,(B,I)=>Q[I]||"");return Error("ADM-ZIP: "+A)}}for(let A of Object.keys(WEA))KEA[A]=juA(WEA[A])});var zEA=v((euQ,NEA)=>{var PuA=xA("fs"),w1=xA("path"),qEA=sg(),_uA=k2(),kuA=typeof process==="object"&&process.platform==="win32",ZEA=(A)=>typeof A==="object"&&A!==null,MEA=new Uint32Array(256).map((A,Q)=>{for(let B=0;B<8;B++)if((Q&1)!==0)Q=3988292384^Q>>>1;else Q>>>=1;return Q>>>0});function yE(A){if(this.sep=w1.sep,this.fs=PuA,ZEA(A)){if(ZEA(A.fs)&&typeof A.fs.statSync==="function")this.fs=A.fs}}NEA.exports=yE;yE.prototype.makeDir=function(A){let Q=this;function B(I){let E=I.split(Q.sep)[0];I.split(Q.sep).forEach(function(D){if(!D||D.substr(-1,1)===":")return;E+=Q.sep+D;var $;try{$=Q.fs.statSync(E)}catch(G){if(G.message&&G.message.startsWith("ENOENT"))Q.fs.mkdirSync(E);else throw G}if($&&$.isFile())throw _uA.FILE_IN_THE_WAY(`"${E}"`)})}B(A)};yE.prototype.writeFileTo=function(A,Q,B,I){let E=this;if(E.fs.existsSync(A)){if(!B)return!1;var D=E.fs.statSync(A);if(D.isDirectory())return!1}var $=w1.dirname(A);if(!E.fs.existsSync($))E.makeDir($);var G;try{G=E.fs.openSync(A,"w",438)}catch(Y){E.fs.chmodSync(A,438),G=E.fs.openSync(A,"w",438)}if(G)try{E.fs.writeSync(G,Q,0,Q.length,0)}finally{E.fs.closeSync(G)}return E.fs.chmodSync(A,I||438),!0};yE.prototype.writeFileToAsync=function(A,Q,B,I,E){if(typeof I==="function")E=I,I=void 0;let D=this;D.fs.exists(A,function($){if($&&!B)return E(!1);D.fs.stat(A,function(G,Y){if($&&Y.isDirectory())return E(!1);var H=w1.dirname(A);D.fs.exists(H,function(X){if(!X)D.makeDir(H);D.fs.open(A,"w",438,function(F,W){if(F)D.fs.chmod(A,438,function(){D.fs.open(A,"w",438,function(q,Z){D.fs.write(Z,Q,0,Q.length,0,function(){D.fs.close(Z,function(){D.fs.chmod(A,I||438,function(){E(!0)})})})})});else if(W)D.fs.write(W,Q,0,Q.length,0,function(){D.fs.close(W,function(){D.fs.chmod(A,I||438,function(){E(!0)})})});else D.fs.chmod(A,I||438,function(){E(!0)})})})})})};yE.prototype.findFiles=function(A){let Q=this;function B(I,E,D){if(typeof E==="boolean")D=E,E=void 0;let $=[];return Q.fs.readdirSync(I).forEach(function(G){let Y=w1.join(I,G),H=Q.fs.statSync(Y);if(!E||E.test(Y))$.push(w1.normalize(Y)+(H.isDirectory()?Q.sep:""));if(H.isDirectory()&&D)$=$.concat(B(Y,E,D))}),$}return B(A,void 0,!0)};yE.prototype.findFilesAsync=function(A,Q){let B=this,I=[];B.fs.readdir(A,function(E,D){if(E)return Q(E);let $=D.length;if(!$)return Q(null,I);D.forEach(function(G){G=w1.join(A,G),B.fs.stat(G,function(Y,H){if(Y)return Q(Y);if(H){if(I.push(w1.normalize(G)+(H.isDirectory()?B.sep:"")),H.isDirectory())B.findFilesAsync(G,function(X,F){if(X)return Q(X);if(I=I.concat(F),!--$)Q(null,I)});else if(!--$)Q(null,I)}})})})};yE.prototype.getAttributes=function(){};yE.prototype.setAttributes=function(){};yE.crc32update=function(A,Q){return MEA[(A^Q)&255]^A>>>8};yE.crc32=function(A){if(typeof A==="string")A=Buffer.from(A,"utf8");let Q=A.length,B=-1;for(let I=0;I<Q;)B=yE.crc32update(B,A[I++]);return~B>>>0};yE.methodToString=function(A){switch(A){case qEA.STORED:return"STORED ("+A+")";case qEA.DEFLATED:return"DEFLATED ("+A+")";default:return"UNSUPPORTED ("+A+")"}};yE.canonical=function(A){if(!A)return"";let Q=w1.posix.normalize("/"+A.split("\\").join("/"));return w1.join(".",Q)};yE.zipnamefix=function(A){if(!A)return"";let Q=w1.posix.normalize("/"+A.split("\\").join("/"));return w1.posix.join(".",Q)};yE.findLast=function(A,Q){if(!Array.isArray(A))throw TypeError("arr is not array");let B=A.length>>>0;for(let I=B-1;I>=0;I--)if(Q(A[I],I,A))return A[I];return};yE.sanitize=function(A,Q){A=w1.resolve(w1.normalize(A));var B=Q.split("/");for(var I=0,E=B.length;I<E;I++){var D=w1.normalize(w1.join(A,B.slice(I,E).join(w1.sep)));if(D.indexOf(A)===0)return D}return w1.normalize(w1.join(A,w1.basename(Q)))};yE.toBuffer=function(Q,B){if(Buffer.isBuffer(Q))return Q;else if(Q instanceof Uint8Array)return Buffer.from(Q);else return typeof Q==="string"?B(Q):Buffer.alloc(0)};yE.readBigUInt64LE=function(A,Q){let B=A.readUInt32LE(Q);return A.readUInt32LE(Q+4)*4294967296+B};yE.fromDOS2Date=function(A){return new Date((A>>25&127)+1980,Math.max((A>>21&15)-1,0),Math.max(A>>16&31,1),A>>11&31,A>>5&63,(A&31)<<1)};yE.fromDate2DOS=function(A){let Q=0,B=0;if(A.getFullYear()>1979)Q=(A.getFullYear()-1980&127)<<9|A.getMonth()+1<<5|A.getDate(),B=A.getHours()<<11|A.getMinutes()<<5|A.getSeconds()>>1;return Q<<16|B};yE.isWin=kuA;yE.crcTable=MEA});var LEA=v((AmQ,wEA)=>{var vuA=xA("path");wEA.exports=function(A,{fs:Q}){var B=A||"",I=D(),E=null;function D(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(B&&Q.existsSync(B))E=Q.statSync(B),I.directory=E.isDirectory(),I.mtime=E.mtime,I.atime=E.atime,I.executable=(73&E.mode)!==0,I.readonly=(128&E.mode)===0,I.hidden=vuA.basename(B)[0]===".";else console.warn("Invalid path: "+B);return{get directory(){return I.directory},get readOnly(){return I.readonly},get hidden(){return I.hidden},get mtime(){return I.mtime},get atime(){return I.atime},get executable(){return I.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:B,isDirectory:I.directory,isReadOnly:I.readonly,isHidden:I.hidden,isExecutable:I.executable,mTime:I.mtime,aTime:I.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var REA=v((QmQ,OEA)=>{OEA.exports={efs:!0,encode:(A)=>Buffer.from(A,"utf8"),decode:(A)=>A.toString("utf8")}});var fX=v((BmQ,yX)=>{yX.exports=zEA();yX.exports.Constants=sg();yX.exports.Errors=k2();yX.exports.FileAttr=LEA();yX.exports.decoder=REA()});var TEA=v((ImQ,VEA)=>{var P9=fX(),lQ=P9.Constants;VEA.exports=function(){var A=20,Q=10,B=0,I=0,E=0,D=0,$=0,G=0,Y=0,H=0,X=0,F=0,W=0,q=0,Z=0;A|=P9.isWin?2560:768,B|=lQ.FLG_EFS;let N={extraLen:0},w=(R)=>Math.max(0,R)>>>0,O=(R)=>Math.max(0,R)&65535,T=(R)=>Math.max(0,R)&255;return E=P9.fromDate2DOS(new Date),{get made(){return A},set made(R){A=R},get version(){return Q},set version(R){Q=R},get flags(){return B},set flags(R){B=R},get flags_efs(){return(B&lQ.FLG_EFS)>0},set flags_efs(R){if(R)B|=lQ.FLG_EFS;else B&=~lQ.FLG_EFS},get flags_desc(){return(B&lQ.FLG_DESC)>0},set flags_desc(R){if(R)B|=lQ.FLG_DESC;else B&=~lQ.FLG_DESC},get method(){return I},set method(R){switch(R){case lQ.STORED:this.version=10;case lQ.DEFLATED:default:this.version=20}I=R},get time(){return P9.fromDOS2Date(this.timeval)},set time(R){R=new Date(R),this.timeval=P9.fromDate2DOS(R)},get timeval(){return E},set timeval(R){E=w(R)},get timeHighByte(){return T(E>>>8)},get crc(){return D},set crc(R){D=w(R)},get compressedSize(){return $},set compressedSize(R){$=w(R)},get size(){return G},set size(R){G=w(R)},get fileNameLength(){return Y},set fileNameLength(R){Y=R},get extraLength(){return H},set extraLength(R){H=R},get extraLocalLength(){return N.extraLen},set extraLocalLength(R){N.extraLen=R},get commentLength(){return X},set commentLength(R){X=R},get diskNumStart(){return F},set diskNumStart(R){F=w(R)},get inAttr(){return W},set inAttr(R){W=w(R)},get attr(){return q},set attr(R){q=w(R)},get fileAttr(){return(q||0)>>16&4095},get offset(){return Z},set offset(R){Z=w(R)},get encrypted(){return(B&lQ.FLG_ENC)===lQ.FLG_ENC},get centralHeaderSize(){return lQ.CENHDR+Y+H+X},get realDataOffset(){return Z+lQ.LOCHDR+N.fnameLen+N.extraLen},get localHeader(){return N},loadLocalHeaderFromBinary:function(R){var S=R.slice(Z,Z+lQ.LOCHDR);if(S.readUInt32LE(0)!==lQ.LOCSIG)throw P9.Errors.INVALID_LOC();N.version=S.readUInt16LE(lQ.LOCVER),N.flags=S.readUInt16LE(lQ.LOCFLG),N.flags_desc=(N.flags&lQ.FLG_DESC)>0,N.method=S.readUInt16LE(lQ.LOCHOW),N.time=S.readUInt32LE(lQ.LOCTIM),N.crc=S.readUInt32LE(lQ.LOCCRC),N.compressedSize=S.readUInt32LE(lQ.LOCSIZ),N.size=S.readUInt32LE(lQ.LOCLEN),N.fnameLen=S.readUInt16LE(lQ.LOCNAM),N.extraLen=S.readUInt16LE(lQ.LOCEXT);let k=Z+lQ.LOCHDR+N.fnameLen,l=k+N.extraLen;return R.slice(k,l)},loadFromBinary:function(R){if(R.length!==lQ.CENHDR||R.readUInt32LE(0)!==lQ.CENSIG)throw P9.Errors.INVALID_CEN();A=R.readUInt16LE(lQ.CENVEM),Q=R.readUInt16LE(lQ.CENVER),B=R.readUInt16LE(lQ.CENFLG),I=R.readUInt16LE(lQ.CENHOW),E=R.readUInt32LE(lQ.CENTIM),D=R.readUInt32LE(lQ.CENCRC),$=R.readUInt32LE(lQ.CENSIZ),G=R.readUInt32LE(lQ.CENLEN),Y=R.readUInt16LE(lQ.CENNAM),H=R.readUInt16LE(lQ.CENEXT),X=R.readUInt16LE(lQ.CENCOM),F=R.readUInt16LE(lQ.CENDSK),W=R.readUInt16LE(lQ.CENATT),q=R.readUInt32LE(lQ.CENATX),Z=R.readUInt32LE(lQ.CENOFF)},localHeaderToBinary:function(){var R=Buffer.alloc(lQ.LOCHDR);return R.writeUInt32LE(lQ.LOCSIG,0),R.writeUInt16LE(Q,lQ.LOCVER),R.writeUInt16LE(B,lQ.LOCFLG),R.writeUInt16LE(I,lQ.LOCHOW),R.writeUInt32LE(E,lQ.LOCTIM),R.writeUInt32LE(D,lQ.LOCCRC),R.writeUInt32LE($,lQ.LOCSIZ),R.writeUInt32LE(G,lQ.LOCLEN),R.writeUInt16LE(Y,lQ.LOCNAM),R.writeUInt16LE(N.extraLen,lQ.LOCEXT),R},centralHeaderToBinary:function(){var R=Buffer.alloc(lQ.CENHDR+Y+H+X);return R.writeUInt32LE(lQ.CENSIG,0),R.writeUInt16LE(A,lQ.CENVEM),R.writeUInt16LE(Q,lQ.CENVER),R.writeUInt16LE(B,lQ.CENFLG),R.writeUInt16LE(I,lQ.CENHOW),R.writeUInt32LE(E,lQ.CENTIM),R.writeUInt32LE(D,lQ.CENCRC),R.writeUInt32LE($,lQ.CENSIZ),R.writeUInt32LE(G,lQ.CENLEN),R.writeUInt16LE(Y,lQ.CENNAM),R.writeUInt16LE(H,lQ.CENEXT),R.writeUInt16LE(X,lQ.CENCOM),R.writeUInt16LE(F,lQ.CENDSK),R.writeUInt16LE(W,lQ.CENATT),R.writeUInt32LE(q,lQ.CENATX),R.writeUInt32LE(Z,lQ.CENOFF),R},toJSON:function(){let R=function(S){return S+" bytes"};return{made:A,version:Q,flags:B,method:P9.methodToString(I),time:this.time,crc:"0x"+D.toString(16).toUpperCase(),compressedSize:R($),size:R(G),fileNameLength:R(Y),extraLength:R(H),commentLength:R(X),diskNumStart:F,inAttr:W,attr:q,offset:Z,centralHeaderSize:R(lQ.CENHDR+Y+H+X)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var jEA=v((EmQ,SEA)=>{var hX=fX(),VE=hX.Constants;SEA.exports=function(){var A=0,Q=0,B=0,I=0,E=0;return{get diskEntries(){return A},set diskEntries(D){A=Q=D},get totalEntries(){return Q},set totalEntries(D){Q=A=D},get size(){return B},set size(D){B=D},get offset(){return I},set offset(D){I=D},get commentLength(){return E},set commentLength(D){E=D},get mainHeaderSize(){return VE.ENDHDR+E},loadFromBinary:function(D){if((D.length!==VE.ENDHDR||D.readUInt32LE(0)!==VE.ENDSIG)&&(D.length<VE.ZIP64HDR||D.readUInt32LE(0)!==VE.ZIP64SIG))throw hX.Errors.INVALID_END();if(D.readUInt32LE(0)===VE.ENDSIG)A=D.readUInt16LE(VE.ENDSUB),Q=D.readUInt16LE(VE.ENDTOT),B=D.readUInt32LE(VE.ENDSIZ),I=D.readUInt32LE(VE.ENDOFF),E=D.readUInt16LE(VE.ENDCOM);else A=hX.readBigUInt64LE(D,VE.ZIP64SUB),Q=hX.readBigUInt64LE(D,VE.ZIP64TOT),B=hX.readBigUInt64LE(D,VE.ZIP64SIZE),I=hX.readBigUInt64LE(D,VE.ZIP64OFF),E=0},toBinary:function(){var D=Buffer.alloc(VE.ENDHDR+E);return D.writeUInt32LE(VE.ENDSIG,0),D.writeUInt32LE(0,4),D.writeUInt16LE(A,VE.ENDSUB),D.writeUInt16LE(Q,VE.ENDTOT),D.writeUInt32LE(B,VE.ENDSIZ),D.writeUInt32LE(I,VE.ENDOFF),D.writeUInt16LE(E,VE.ENDCOM),D.fill(" ",VE.ENDHDR),D},toJSON:function(){let D=function($,G){let Y=$.toString(16).toUpperCase();while(Y.length<G)Y="0"+Y;return"0x"+Y};return{diskEntries:A,totalEntries:Q,size:B+" bytes",offset:D(I,4),commentLength:E}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var tg=v((xuA)=>{xuA.EntryHeader=TEA();xuA.MainHeader=jEA()});var _EA=v(($mQ,PEA)=>{PEA.exports=function(A){var Q=xA("zlib"),B={chunkSize:(parseInt(A.length/1024)+1)*1024};return{deflate:function(){return Q.deflateRawSync(A,B)},deflateAsync:function(I){var E=Q.createDeflateRaw(B),D=[],$=0;E.on("data",function(G){D.push(G),$+=G.length}),E.on("end",function(){var G=Buffer.alloc($),Y=0;G.fill(0);for(var H=0;H<D.length;H++){var X=D[H];X.copy(G,Y),Y+=X.length}I&&I(G)}),E.end(A)}}}});var vEA=v((GmQ,kEA)=>{var yuA=+(process.versions?process.versions.node:"").split(".")[0]||0;kEA.exports=function(A,Q){var B=xA("zlib");let I=yuA>=15&&Q>0?{maxOutputLength:Q}:{};return{inflate:function(){return B.inflateRawSync(A,I)},inflateAsync:function(E){var D=B.createInflateRaw(I),$=[],G=0;D.on("data",function(Y){$.push(Y),G+=Y.length}),D.on("end",function(){var Y=Buffer.alloc(G),H=0;Y.fill(0);for(var X=0;X<$.length;X++){var F=$[X];F.copy(Y,H),H+=F.length}E&&E(Y)}),D.end(A)}}}});var fEA=v((JmQ,yEA)=>{var{randomFillSync:xEA}=xA("crypto"),fuA=k2(),huA=new Uint32Array(256).map((A,Q)=>{for(let B=0;B<8;B++)if((Q&1)!==0)Q=Q>>>1^3988292384;else Q>>>=1;return Q>>>0}),bEA=(A,Q)=>Math.imul(A,Q)>>>0,gEA=(A,Q)=>{return huA[(A^Q)&255]^A>>>8},UK=()=>{if(typeof xEA==="function")return xEA(Buffer.alloc(12));else return UK.node()};UK.node=()=>{let A=Buffer.alloc(12),Q=A.length;for(let B=0;B<Q;B++)A[B]=Math.random()*256&255;return A};var v2={genSalt:UK};function x2(A){let Q=Buffer.isBuffer(A)?A:Buffer.from(A);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let B=0;B<Q.length;B++)this.updateKeys(Q[B])}x2.prototype.updateKeys=function(A){let Q=this.keys;return Q[0]=gEA(Q[0],A),Q[1]+=Q[0]&255,Q[1]=bEA(Q[1],134775813)+1,Q[2]=gEA(Q[2],Q[1]>>>24),A};x2.prototype.next=function(){let A=(this.keys[2]|2)>>>0;return bEA(A,A^1)>>8&255};function uuA(A){let Q=new x2(A);return function(B){let I=Buffer.alloc(B.length),E=0;for(let D of B)I[E++]=Q.updateKeys(D^Q.next());return I}}function muA(A){let Q=new x2(A);return function(B,I,E=0){if(!I)I=Buffer.alloc(B.length);for(let D of B){let $=Q.next();I[E++]=D^$,Q.updateKeys(D)}return I}}function cuA(A,Q,B){if(!A||!Buffer.isBuffer(A)||A.length<12)return Buffer.alloc(0);let I=uuA(B),E=I(A.slice(0,12)),D=(Q.flags&8)===8?Q.timeHighByte:Q.crc>>>24;if(E[11]!==D)throw fuA.WRONG_PASSWORD();return I(A.slice(12))}function luA(A){if(Buffer.isBuffer(A)&&A.length>=12)v2.genSalt=function(){return A.slice(0,12)};else if(A==="node")v2.genSalt=UK.node;else v2.genSalt=UK}function duA(A,Q,B,I=!1){if(A==null)A=Buffer.alloc(0);if(!Buffer.isBuffer(A))A=Buffer.from(A.toString());let E=muA(B),D=v2.genSalt();if(D[11]=Q.crc>>>24&255,I)D[10]=Q.crc>>>16&255;let $=Buffer.alloc(A.length+12);return E(D,$),E(A,$,12)}yEA.exports={decrypt:cuA,encrypt:duA,_salter:luA}});var hEA=v((puA)=>{puA.Deflater=_EA();puA.Inflater=vEA();puA.ZipCrypto=fEA()});var Ab=v((UmQ,uEA)=>{var II=fX(),ouA=tg(),fE=II.Constants,eg=hEA();uEA.exports=function(A,Q){var B=new ouA.EntryHeader,I=Buffer.alloc(0),E=Buffer.alloc(0),D=!1,$=null,G=Buffer.alloc(0),Y=Buffer.alloc(0),H=!0;let X=A,F=typeof X.decoder==="object"?X.decoder:II.decoder;H=F.hasOwnProperty("efs")?F.efs:!1;function W(){if(!Q||!(Q instanceof Uint8Array))return Buffer.alloc(0);return Y=B.loadLocalHeaderFromBinary(Q),Q.slice(B.realDataOffset,B.realDataOffset+B.compressedSize)}function q(R){if(!B.flags_desc&&!B.localHeader.flags_desc){if(II.crc32(R)!==B.localHeader.crc)return!1}else{let S={},k=B.realDataOffset+B.compressedSize;if(Q.readUInt32LE(k)==fE.LOCSIG||Q.readUInt32LE(k)==fE.CENSIG)throw II.Errors.DESCRIPTOR_NOT_EXIST();if(Q.readUInt32LE(k)==fE.EXTSIG)S.crc=Q.readUInt32LE(k+fE.EXTCRC),S.compressedSize=Q.readUInt32LE(k+fE.EXTSIZ),S.size=Q.readUInt32LE(k+fE.EXTLEN);else if(Q.readUInt16LE(k+12)===19280)S.crc=Q.readUInt32LE(k+fE.EXTCRC-4),S.compressedSize=Q.readUInt32LE(k+fE.EXTSIZ-4),S.size=Q.readUInt32LE(k+fE.EXTLEN-4);else throw II.Errors.DESCRIPTOR_UNKNOWN();if(S.compressedSize!==B.compressedSize||S.size!==B.size||S.crc!==B.crc)throw II.Errors.DESCRIPTOR_FAULTY();if(II.crc32(R)!==S.crc)return!1}return!0}function Z(R,S,k){if(typeof S>"u"&&typeof R==="string")k=R,R=void 0;if(D){if(R&&S)S(Buffer.alloc(0),II.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var l=W();if(l.length===0){if(R&&S)S(l);return l}if(B.encrypted){if(typeof k!=="string"&&!Buffer.isBuffer(k))throw II.Errors.INVALID_PASS_PARAM();l=eg.ZipCrypto.decrypt(l,B,k)}var s=Buffer.alloc(B.size);switch(B.method){case II.Constants.STORED:if(l.copy(s),!q(s)){if(R&&S)S(s,II.Errors.BAD_CRC());throw II.Errors.BAD_CRC()}else{if(R&&S)S(s);return s}case II.Constants.DEFLATED:var e=new eg.Inflater(l,B.size);if(!R){if(e.inflate(s).copy(s,0),!q(s))throw II.Errors.BAD_CRC(`"${F.decode(I)}"`);return s}else e.inflateAsync(function(c){if(c.copy(c,0),S)if(!q(c))S(c,II.Errors.BAD_CRC());else S(c)});break;default:if(R&&S)S(Buffer.alloc(0),II.Errors.UNKNOWN_METHOD());throw II.Errors.UNKNOWN_METHOD()}}function N(R,S){if((!$||!$.length)&&Buffer.isBuffer(Q)){if(R&&S)S(W());return W()}if($.length&&!D){var k;switch(B.method){case II.Constants.STORED:if(B.compressedSize=B.size,k=Buffer.alloc($.length),$.copy(k),R&&S)S(k);return k;default:case II.Constants.DEFLATED:var l=new eg.Deflater($);if(!R){var s=l.deflate();return B.compressedSize=s.length,s}else l.deflateAsync(function(e){k=Buffer.alloc(e.length),B.compressedSize=e.length,e.copy(k),S&&S(k)});l=null;break}}else if(R&&S)S(Buffer.alloc(0));else return Buffer.alloc(0)}function w(R,S){return II.readBigUInt64LE(R,S)}function O(R){try{var S=0,k,l,s;while(S+4<R.length)if(k=R.readUInt16LE(S),S+=2,l=R.readUInt16LE(S),S+=2,s=R.slice(S,S+l),S+=l,fE.ID_ZIP64===k)T(s)}catch(e){throw II.Errors.EXTRA_FIELD_PARSE_ERROR()}}function T(R){var S,k,l,s;if(R.length>=fE.EF_ZIP64_SCOMP){if(S=w(R,fE.EF_ZIP64_SUNCOMP),B.size===fE.EF_ZIP64_OR_32)B.size=S}if(R.length>=fE.EF_ZIP64_RHO){if(k=w(R,fE.EF_ZIP64_SCOMP),B.compressedSize===fE.EF_ZIP64_OR_32)B.compressedSize=k}if(R.length>=fE.EF_ZIP64_DSN){if(l=w(R,fE.EF_ZIP64_RHO),B.offset===fE.EF_ZIP64_OR_32)B.offset=l}if(R.length>=fE.EF_ZIP64_DSN+4){if(s=R.readUInt32LE(fE.EF_ZIP64_DSN),B.diskNumStart===fE.EF_ZIP64_OR_16)B.diskNumStart=s}}return{get entryName(){return F.decode(I)},get rawEntryName(){return I},set entryName(R){I=II.toBuffer(R,F.encode);var S=I[I.length-1];D=S===47||S===92,B.fileNameLength=I.length},get efs(){if(typeof H==="function")return H(this.entryName);else return H},get extra(){return G},set extra(R){G=R,B.extraLength=R.length,O(R)},get comment(){return F.decode(E)},set comment(R){if(E=II.toBuffer(R,F.encode),B.commentLength=E.length,E.length>65535)throw II.Errors.COMMENT_TOO_LONG()},get name(){var R=F.decode(I);return D?R.substr(R.length-1).split("/").pop():R.split("/").pop()},get isDirectory(){return D},getCompressedData:function(){return N(!1,null)},getCompressedDataAsync:function(R){N(!0,R)},setData:function(R){if($=II.toBuffer(R,II.decoder.encode),!D&&$.length)B.size=$.length,B.method=II.Constants.DEFLATED,B.crc=II.crc32(R),B.changed=!0;else B.method=II.Constants.STORED},getData:function(R){if(B.changed)return $;else return Z(!1,null,R)},getDataAsync:function(R,S){if(B.changed)R($);else Z(!0,R,S)},set attr(R){B.attr=R},get attr(){return B.attr},set header(R){B.loadFromBinary(R)},get header(){return B},packCentralHeader:function(){B.flags_efs=this.efs,B.extraLength=G.length;var R=B.centralHeaderToBinary(),S=II.Constants.CENHDR;return I.copy(R,S),S+=I.length,G.copy(R,S),S+=B.extraLength,E.copy(R,S),R},packLocalHeader:function(){let R=0;B.flags_efs=this.efs,B.extraLocalLength=Y.length;let S=B.localHeaderToBinary(),k=Buffer.alloc(S.length+I.length+B.extraLocalLength);return S.copy(k,R),R+=S.length,I.copy(k,R),R+=I.length,Y.copy(k,R),R+=Y.length,k},toJSON:function(){let R=function(S){return"<"+(S&&S.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:B.toJSON(),compressedData:R(Q),data:R($)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var lEA=v((HmQ,cEA)=>{var mEA=Ab(),auA=tg(),Y8=fX();cEA.exports=function(A,Q){var B=[],I={},E=Buffer.alloc(0),D=new auA.MainHeader,$=!1,G=null;let Y=new Set,H=Q,{noSort:X,decoder:F}=H;if(A)Z(H.readEntries);else $=!0;function W(){let w=new Set;for(let O of Object.keys(I)){let T=O.split("/");if(T.pop(),!T.length)continue;for(let R=0;R<T.length;R++){let S=T.slice(0,R+1).join("/")+"/";w.add(S)}}for(let O of w)if(!(O in I)){let T=new mEA(H);T.entryName=O,T.attr=16,T.temporary=!0,B.push(T),I[T.entryName]=T,Y.add(T)}}function q(){if($=!0,I={},D.diskEntries>(A.length-D.offset)/Y8.Constants.CENHDR)throw Y8.Errors.DISK_ENTRY_TOO_LARGE();B=Array(D.diskEntries);var w=D.offset;for(var O=0;O<B.length;O++){var T=w,R=new mEA(H,A);if(R.header=A.slice(T,T+=Y8.Constants.CENHDR),R.entryName=A.slice(T,T+=R.header.fileNameLength),R.header.extraLength)R.extra=A.slice(T,T+=R.header.extraLength);if(R.header.commentLength)R.comment=A.slice(T,T+R.header.commentLength);w+=R.header.centralHeaderSize,B[O]=R,I[R.entryName]=R}Y.clear(),W()}function Z(w){var O=A.length-Y8.Constants.ENDHDR,T=Math.max(0,O-65535),R=T,S=A.length,k=-1,l=0;if(typeof H.trailingSpace==="boolean"?H.trailingSpace:!1)T=0;for(O;O>=R;O--){if(A[O]!==80)continue;if(A.readUInt32LE(O)===Y8.Constants.ENDSIG){k=O,l=O,S=O+Y8.Constants.ENDHDR,R=O-Y8.Constants.END64HDR;continue}if(A.readUInt32LE(O)===Y8.Constants.END64SIG){R=T;continue}if(A.readUInt32LE(O)===Y8.Constants.ZIP64SIG){k=O,S=O+Y8.readBigUInt64LE(A,O+Y8.Constants.ZIP64SIZE)+Y8.Constants.ZIP64LEAD;break}}if(k==-1)throw Y8.Errors.INVALID_FORMAT();if(D.loadFromBinary(A.slice(k,S)),D.commentLength)E=A.slice(l+Y8.Constants.ENDHDR);if(w)q()}function N(){if(B.length>1&&!X)B.sort((w,O)=>w.entryName.toLowerCase().localeCompare(O.entryName.toLowerCase()))}return{get entries(){if(!$)q();return B.filter((w)=>!Y.has(w))},get comment(){return F.decode(E)},set comment(w){E=Y8.toBuffer(w,F.encode),D.commentLength=E.length},getEntryCount:function(){if(!$)return D.diskEntries;return B.length},forEach:function(w){this.entries.forEach(w)},getEntry:function(w){if(!$)q();return I[w]||null},setEntry:function(w){if(!$)q();B.push(w),I[w.entryName]=w,D.totalEntries=B.length},deleteFile:function(w,O=!0){if(!$)q();let T=I[w];this.getEntryChildren(T,O).map((S)=>S.entryName).forEach(this.deleteEntry)},deleteEntry:function(w){if(!$)q();let O=I[w],T=B.indexOf(O);if(T>=0)B.splice(T,1),delete I[w],D.totalEntries=B.length},getEntryChildren:function(w,O=!0){if(!$)q();if(typeof w==="object")if(w.isDirectory&&O){let T=[],R=w.entryName;for(let S of B)if(S.entryName.startsWith(R))T.push(S);return T}else return[w];return[]},getChildCount:function(w){if(w&&w.isDirectory){let O=this.getEntryChildren(w);return O.includes(w)?O.length-1:O.length}return 0},compressToBuffer:function(){if(!$)q();N();let w=[],O=[],T=0,R=0;D.size=0,D.offset=0;let S=0;for(let s of this.entries){let e=s.getCompressedData();s.header.offset=R;let c=s.packLocalHeader(),$A=c.length+e.length;R+=$A,w.push(c),w.push(e);let a=s.packCentralHeader();O.push(a),D.size+=a.length,T+=$A+a.length,S++}T+=D.mainHeaderSize,D.offset=R,D.totalEntries=S,R=0;let k=Buffer.alloc(T);for(let s of w)s.copy(k,R),R+=s.length;for(let s of O)s.copy(k,R),R+=s.length;let l=D.toBinary();if(E)E.copy(l,Y8.Constants.ENDHDR);return l.copy(k,R),A=k,$=!1,k},toAsyncBuffer:function(w,O,T,R){try{if(!$)q();N();let S=[],k=[],l=0,s=0,e=0;D.size=0,D.offset=0;let c=function($A){if($A.length>0){let a=$A.shift(),HA=a.entryName+a.extra.toString();if(T)T(HA);a.getCompressedDataAsync(function(LA){if(R)R(HA);a.header.offset=s;let TA=a.packLocalHeader(),r=TA.length+LA.length;s+=r,S.push(TA),S.push(LA);let j=a.packCentralHeader();k.push(j),D.size+=j.length,l+=r+j.length,e++,c($A)})}else{l+=D.mainHeaderSize,D.offset=s,D.totalEntries=e,s=0;let a=Buffer.alloc(l);S.forEach(function(LA){LA.copy(a,s),s+=LA.length}),k.forEach(function(LA){LA.copy(a,s),s+=LA.length});let HA=D.toBinary();if(E)E.copy(HA,Y8.Constants.ENDHDR);HA.copy(a,s),A=a,$=!1,w(a)}};c(Array.from(this.entries))}catch(S){O(S)}}}}});var Qb=v((XmQ,pEA)=>{var SE=fX(),TE=xA("path"),suA=Ab(),tuA=lEA(),y5=(...A)=>SE.findLast(A,(Q)=>typeof Q==="boolean"),dEA=(...A)=>SE.findLast(A,(Q)=>typeof Q==="string"),euA=(...A)=>SE.findLast(A,(Q)=>typeof Q==="function"),AmA={noSort:!1,readEntries:!1,method:SE.Constants.NONE,fs:null};pEA.exports=function(A,Q){let B=null,I=Object.assign(Object.create(null),AmA);if(A&&typeof A==="object"){if(!(A instanceof Uint8Array)){if(Object.assign(I,A),A=I.input?I.input:void 0,I.input)delete I.input}if(Buffer.isBuffer(A))B=A,I.method=SE.Constants.BUFFER,A=void 0}Object.assign(I,Q);let E=new SE(I);if(typeof I.decoder!=="object"||typeof I.decoder.encode!=="function"||typeof I.decoder.decode!=="function")I.decoder=SE.decoder;if(A&&typeof A==="string")if(E.fs.existsSync(A))I.method=SE.Constants.FILE,I.filename=A,B=E.fs.readFileSync(A);else throw SE.Errors.INVALID_FILENAME();let D=new tuA(B,I),{canonical:$,sanitize:G,zipnamefix:Y}=SE;function H(q){if(q&&D){var Z;if(typeof q==="string")Z=D.getEntry(TE.posix.normalize(q));if(typeof q==="object"&&typeof q.entryName<"u"&&typeof q.header<"u")Z=D.getEntry(q.entryName);if(Z)return Z}return null}function X(q){let{join:Z,normalize:N,sep:w}=TE.posix;return Z(TE.isAbsolute(q)?"/":".",N(w+q.split("\\").join(w)+w))}function F(q){if(q instanceof RegExp)return function(Z){return function(N){return Z.test(N)}}(q);else if(typeof q!=="function")return()=>!0;return q}let W=(q,Z)=>{let N=Z.slice(-1);return N=N===E.sep?E.sep:"",TE.relative(q,Z)+N};return{readFile:function(q,Z){var N=H(q);return N&&N.getData(Z)||null},childCount:function(q){let Z=H(q);if(Z)return D.getChildCount(Z)},readFileAsync:function(q,Z){var N=H(q);if(N)N.getDataAsync(Z);else Z(null,"getEntry failed for:"+q)},readAsText:function(q,Z){var N=H(q);if(N){var w=N.getData();if(w&&w.length)return w.toString(Z||"utf8")}return""},readAsTextAsync:function(q,Z,N){var w=H(q);if(w)w.getDataAsync(function(O,T){if(T){Z(O,T);return}if(O&&O.length)Z(O.toString(N||"utf8"));else Z("")});else Z("")},deleteFile:function(q,Z=!0){var N=H(q);if(N)D.deleteFile(N.entryName,Z)},deleteEntry:function(q){var Z=H(q);if(Z)D.deleteEntry(Z.entryName)},addZipComment:function(q){D.comment=q},getZipComment:function(){return D.comment||""},addZipEntryComment:function(q,Z){var N=H(q);if(N)N.comment=Z},getZipEntryComment:function(q){var Z=H(q);if(Z)return Z.comment||"";return""},updateFile:function(q,Z){var N=H(q);if(N)N.setData(Z)},addLocalFile:function(q,Z,N,w){if(E.fs.existsSync(q)){Z=Z?X(Z):"";let O=TE.win32.basename(TE.win32.normalize(q));Z+=N?N:O;let T=E.fs.statSync(q),R=T.isFile()?E.fs.readFileSync(q):Buffer.alloc(0);if(T.isDirectory())Z+=E.sep;this.addFile(Z,R,w,T)}else throw SE.Errors.FILE_NOT_FOUND(q)},addLocalFileAsync:function(q,Z){q=typeof q==="object"?q:{localPath:q};let N=TE.resolve(q.localPath),{comment:w}=q,{zipPath:O,zipName:T}=q,R=this;E.fs.stat(N,function(S,k){if(S)return Z(S,!1);O=O?X(O):"";let l=TE.win32.basename(TE.win32.normalize(N));if(O+=T?T:l,k.isFile())E.fs.readFile(N,function(s,e){if(s)return Z(s,!1);return R.addFile(O,e,w,k),setImmediate(Z,void 0,!0)});else if(k.isDirectory())return O+=E.sep,R.addFile(O,Buffer.alloc(0),w,k),setImmediate(Z,void 0,!0)})},addLocalFolder:function(q,Z,N){if(N=F(N),Z=Z?X(Z):"",q=TE.normalize(q),E.fs.existsSync(q)){let w=E.findFiles(q),O=this;if(w.length)for(let T of w){let R=TE.join(Z,W(q,T));if(N(R))O.addLocalFile(T,TE.dirname(R))}}else throw SE.Errors.FILE_NOT_FOUND(q)},addLocalFolderAsync:function(q,Z,N,w){w=F(w),N=N?X(N):"",q=TE.normalize(q);var O=this;E.fs.open(q,"r",function(T){if(T&&T.code==="ENOENT")Z(void 0,SE.Errors.FILE_NOT_FOUND(q));else if(T)Z(void 0,T);else{var R=E.findFiles(q),S=-1,k=function(){if(S+=1,S<R.length){var l=R[S],s=W(q,l).split("\\").join("/");if(s=s.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),w(s))E.fs.stat(l,function(e,c){if(e)Z(void 0,e);if(c.isFile())E.fs.readFile(l,function($A,a){if($A)Z(void 0,$A);else O.addFile(N+s,a,"",c),k()});else O.addFile(N+s+"/",Buffer.alloc(0),"",c),k()});else process.nextTick(()=>{k()})}else Z(!0,void 0)};k()}})},addLocalFolderAsync2:function(q,Z){let N=this;q=typeof q==="object"?q:{localPath:q},localPath=TE.resolve(X(q.localPath));let{zipPath:w,filter:O,namefix:T}=q;if(O instanceof RegExp)O=function(k){return function(l){return k.test(l)}}(O);else if(typeof O!=="function")O=function(){return!0};if(w=w?X(w):"",T=="latin1")T=(k)=>k.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof T!=="function")T=(k)=>k;let R=(k)=>TE.join(w,T(W(localPath,k))),S=(k)=>TE.win32.basename(TE.win32.normalize(T(k)));E.fs.open(localPath,"r",function(k){if(k&&k.code==="ENOENT")Z(void 0,SE.Errors.FILE_NOT_FOUND(localPath));else if(k)Z(void 0,k);else E.findFilesAsync(localPath,function(l,s){if(l)return Z(l);if(s=s.filter((e)=>O(R(e))),!s.length)Z(void 0,!1);setImmediate(s.reverse().reduce(function(e,c){return function($A,a){if($A||a===!1)return setImmediate(e,$A,!1);N.addLocalFileAsync({localPath:c,zipPath:TE.dirname(R(c)),zipName:S(c)},e)}},Z))})})},addLocalFolderPromise:function(q,Z){return new Promise((N,w)=>{this.addLocalFolderAsync2(Object.assign({localPath:q},Z),(O,T)=>{if(O)w(O);if(T)N(this)})})},addFile:function(q,Z,N,w){q=Y(q);let O=H(q),T=O!=null;if(!T)O=new suA(I),O.entryName=q;O.comment=N||"";let R=typeof w==="object"&&w instanceof E.fs.Stats;if(R)O.header.time=w.mtime;var S=O.isDirectory?16:0;let k=O.isDirectory?16384:32768;if(R)k|=4095&w.mode;else if(typeof w==="number")k|=4095&w;else k|=O.isDirectory?493:420;if(S=(S|k<<16)>>>0,O.attr=S,O.setData(Z),!T)D.setEntry(O);return O},getEntries:function(q){return D.password=q,D?D.entries:[]},getEntry:function(q){return H(q)},getEntryCount:function(){return D.getEntryCount()},forEach:function(q){return D.forEach(q)},extractEntryTo:function(q,Z,N,w,O,T){w=y5(!1,w),O=y5(!1,O),N=y5(!0,N),T=dEA(O,T);var R=H(q);if(!R)throw SE.Errors.NO_ENTRY();var S=$(R.entryName),k=G(Z,T&&!R.isDirectory?T:N?S:TE.basename(S));if(R.isDirectory){var l=D.getEntryChildren(R);return l.forEach(function(c){if(c.isDirectory)return;var $A=c.getData();if(!$A)throw SE.Errors.CANT_EXTRACT_FILE();var a=$(c.entryName),HA=G(Z,N?a:TE.basename(a));let LA=O?c.header.fileAttr:void 0;E.writeFileTo(HA,$A,w,LA)}),!0}var s=R.getData(D.password);if(!s)throw SE.Errors.CANT_EXTRACT_FILE();if(E.fs.existsSync(k)&&!w)throw SE.Errors.CANT_OVERRIDE();let e=O?q.header.fileAttr:void 0;return E.writeFileTo(k,s,w,e),!0},test:function(q){if(!D)return!1;for(var Z in D.entries)try{if(Z.isDirectory)continue;var N=D.entries[Z].getData(q);if(!N)return!1}catch(w){return!1}return!0},extractAllTo:function(q,Z,N,w){if(N=y5(!1,N),w=dEA(N,w),Z=y5(!1,Z),!D)throw SE.Errors.NO_ZIP();D.entries.forEach(function(O){var T=G(q,$(O.entryName));if(O.isDirectory){E.makeDir(T);return}var R=O.getData(w);if(!R)throw SE.Errors.CANT_EXTRACT_FILE();let S=N?O.header.fileAttr:void 0;E.writeFileTo(T,R,Z,S);try{E.fs.utimesSync(T,O.header.time,O.header.time)}catch(k){throw SE.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(q,Z,N,w){if(w=euA(Z,N,w),N=y5(!1,N),Z=y5(!1,Z),!w)return new Promise((k,l)=>{this.extractAllToAsync(q,Z,N,function(s){if(s)l(s);else k(this)})});if(!D){w(SE.Errors.NO_ZIP());return}q=TE.resolve(q);let O=(k)=>G(q,TE.normalize($(k.entryName))),T=(k,l)=>Error(k+': "'+l+'"'),R=[],S=[];D.entries.forEach((k)=>{if(k.isDirectory)R.push(k);else S.push(k)});for(let k of R){let l=O(k),s=N?k.header.fileAttr:void 0;try{if(E.makeDir(l),s)E.fs.chmodSync(l,s);E.fs.utimesSync(l,k.header.time,k.header.time)}catch(e){w(T("Unable to create folder",l))}}S.reverse().reduce(function(k,l){return function(s){if(s)k(s);else{let e=TE.normalize($(l.entryName)),c=G(q,e);l.getDataAsync(function($A,a){if(a)k(a);else if(!$A)k(SE.Errors.CANT_EXTRACT_FILE());else{let HA=N?l.header.fileAttr:void 0;E.writeFileToAsync(c,$A,Z,HA,function(LA){if(!LA)k(T("Unable to write file",c));E.fs.utimes(c,l.header.time,l.header.time,function(TA){if(TA)k(T("Unable to set times",c));else k()})})}})}}},w)()},writeZip:function(q,Z){if(arguments.length===1){if(typeof q==="function")Z=q,q=""}if(!q&&I.filename)q=I.filename;if(!q)return;var N=D.compressToBuffer();if(N){var w=E.writeFileTo(q,N,!0);if(typeof Z==="function")Z(!w?Error("failed"):null,"")}},writeZipPromise:function(q,Z){let{overwrite:N,perm:w}=Object.assign({overwrite:!0},Z);return new Promise((O,T)=>{if(!q&&I.filename)q=I.filename;if(!q)T("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((R)=>{let S=(k)=>k?O(k):T("ADM-ZIP: Wasn't able to write zip file");E.writeFileToAsync(q,R,N,w,S)},T)})},toBufferPromise:function(){return new Promise((q,Z)=>{D.toAsyncBuffer(q,Z)})},toBuffer:function(q,Z,N,w){if(typeof q==="function")return D.toAsyncBuffer(q,Z,N,w),null;return D.compressToBuffer()}}}});var nEA=v((CmQ,QmA)=>{QmA.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Alpic",constant:"ALPIC",env:"ALPIC_HOST"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var sEA=v((Bb)=>{var iEA=nEA(),oE=process.env;Object.defineProperty(Bb,"_vendors",{value:iEA.map(function(A){return A.constant})});Bb.name=null;Bb.isPR=null;Bb.id=null;if(oE.CI!=="false")iEA.forEach(function(A){let B=(Array.isArray(A.env)?A.env:[A.env]).every(function(I){return rEA(I)});if(Bb[A.constant]=B,!B)return;Bb.name=A.name,Bb.isPR=BmA(A),Bb.id=A.constant});Bb.isCI=!!(oE.CI!=="false"&&(oE.BUILD_ID||oE.BUILD_NUMBER||oE.CI||oE.CI_APP_ID||oE.CI_BUILD_ID||oE.CI_BUILD_NUMBER||oE.CI_NAME||oE.CONTINUOUS_INTEGRATION||oE.RUN_ID||Bb.name||!1));function rEA(A){if(typeof A==="string")return!!oE[A];if("env"in A)return oE[A.env]&&oE[A.env].includes(A.includes);if("any"in A)return A.any.some(function(Q){return!!oE[Q]});return Object.keys(A).every(function(Q){return oE[Q]===A[Q]})}function BmA(A){switch(typeof A.pr){case"string":return!!oE[A.pr];case"object":if("env"in A.pr)if("any"in A.pr)return A.pr.any.some(function(Q){return oE[A.pr.env]===Q});else return A.pr.env in oE&&oE[A.pr.env]!==A.pr.ne;else if("any"in A.pr)return A.pr.any.some(function(Q){return!!oE[Q]});else return rEA(A.pr);default:return null}}});var Q1A=v((WmQ,A1A)=>{var eEA={};A1A.exports=eEA;var tEA={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(tEA).forEach(function(A){var Q=tEA[A],B=eEA[A]=[];B.open="\x1B["+Q[0]+"m",B.close="\x1B["+Q[1]+"m"})});var I1A=v((KmQ,B1A)=>{B1A.exports=function(A,Q){Q=Q||process.argv;var B=Q.indexOf("--"),I=/^-{1,2}/.test(A)?"":"--",E=Q.indexOf(I+A);return E!==-1&&(B===-1?!0:E<B)}});var D1A=v((qmQ,E1A)=>{var EmA=xA("os"),c$=I1A(),H4=process.env,uX=void 0;if(c$("no-color")||c$("no-colors")||c$("color=false"))uX=!1;else if(c$("color")||c$("colors")||c$("color=true")||c$("color=always"))uX=!0;if("FORCE_COLOR"in H4)uX=H4.FORCE_COLOR.length===0||parseInt(H4.FORCE_COLOR,10)!==0;function DmA(A){if(A===0)return!1;return{level:A,hasBasic:!0,has256:A>=2,has16m:A>=3}}function $mA(A){if(uX===!1)return 0;if(c$("color=16m")||c$("color=full")||c$("color=truecolor"))return 3;if(c$("color=256"))return 2;if(A&&!A.isTTY&&uX!==!0)return 0;var Q=uX?1:0;if(process.platform==="win32"){var B=EmA.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(B[0])>=10&&Number(B[2])>=10586)return Number(B[2])>=14931?3:2;return 1}if("CI"in H4){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(E){return E in H4})||H4.CI_NAME==="codeship")return 1;return Q}if("TEAMCITY_VERSION"in H4)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(H4.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in H4){var I=parseInt((H4.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(H4.TERM_PROGRAM){case"iTerm.app":return I>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(H4.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(H4.TERM))return 1;if("COLORTERM"in H4)return 1;if(H4.TERM==="dumb")return Q;return Q}function Eb(A){var Q=$mA(A);return DmA(Q)}E1A.exports={supportsColor:Eb,stdout:Eb(process.stdout),stderr:Eb(process.stderr)}});var G1A=v((ZmQ,$1A)=>{$1A.exports=function(Q,B){var I="";Q=Q||"Run the trap, drop the bass",Q=Q.split("");var E={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","۝","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return Q.forEach(function(D){D=D.toLowerCase();var $=E[D]||[" "],G=Math.floor(Math.random()*$.length);if(typeof E[D]<"u")I+=E[D][G];else I+=D}),I}});var Y1A=v((MmQ,J1A)=>{J1A.exports=function(Q,B){Q=Q||" he is here ";var I={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},E=[].concat(I.up,I.down,I.mid);function D(Y){var H=Math.floor(Math.random()*Y);return H}function $(Y){var H=!1;return E.filter(function(X){H=X===Y}),H}function G(Y,H){var X="",F,W;H=H||{},H.up=typeof H.up<"u"?H.up:!0,H.mid=typeof H.mid<"u"?H.mid:!0,H.down=typeof H.down<"u"?H.down:!0,H.size=typeof H.size<"u"?H.size:"maxi",Y=Y.split("");for(W in Y){if($(W))continue;switch(X=X+Y[W],F={up:0,down:0,mid:0},H.size){case"mini":F.up=D(8),F.mid=D(2),F.down=D(8);break;case"maxi":F.up=D(16)+3,F.mid=D(4)+1,F.down=D(64)+3;break;default:F.up=D(8)+1,F.mid=D(6)/2,F.down=D(8)+1;break}var q=["up","mid","down"];for(var Z in q){var N=q[Z];for(var w=0;w<=F[N];w++)if(H[N])X=X+I[N][D(I[N].length)]}}return X}return G(Q,B)}});var H1A=v((NmQ,U1A)=>{U1A.exports=function(A){return function(Q,B,I){if(Q===" ")return Q;switch(B%3){case 0:return A.red(Q);case 1:return A.white(Q);case 2:return A.blue(Q)}}}});var C1A=v((zmQ,X1A)=>{X1A.exports=function(A){return function(Q,B,I){return B%2===0?Q:A.inverse(Q)}}});var W1A=v((wmQ,F1A)=>{F1A.exports=function(A){var Q=["red","yellow","green","blue","magenta"];return function(B,I,E){if(B===" ")return B;else return A[Q[I++%Q.length]](B)}}});var q1A=v((LmQ,K1A)=>{K1A.exports=function(A){var Q=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(B,I,E){return B===" "?B:A[Q[Math.round(Math.random()*(Q.length-2))]](B)}}});var w1A=v((RmQ,z1A)=>{var N0={};z1A.exports=N0;N0.themes={};var GmA=xA("util"),f5=N0.styles=Q1A(),Z1A=Object.defineProperties,JmA=new RegExp(/[\r\n]+/g);N0.supportsColor=D1A().supportsColor;if(typeof N0.enabled>"u")N0.enabled=N0.supportsColor()!==!1;N0.enable=function(){N0.enabled=!0};N0.disable=function(){N0.enabled=!1};N0.stripColors=N0.strip=function(A){return(""+A).replace(/\x1B\[\d+m/g,"")};var OmQ=N0.stylize=function(Q,B){if(!N0.enabled)return Q+"";var I=f5[B];if(!I&&B in N0)return N0[B](Q);return I.open+Q+I.close},YmA=/[|\\{}()[\]^$+*?.]/g,UmA=function(A){if(typeof A!=="string")throw TypeError("Expected a string");return A.replace(YmA,"\\$&")};function M1A(A){var Q=function B(){return XmA.apply(B,arguments)};return Q._styles=A,Q.__proto__=HmA,Q}var N1A=function(){var A={};return f5.grey=f5.gray,Object.keys(f5).forEach(function(Q){f5[Q].closeRe=new RegExp(UmA(f5[Q].close),"g"),A[Q]={get:function(){return M1A(this._styles.concat(Q))}}}),A}(),HmA=Z1A(function(){},N1A);function XmA(){var A=Array.prototype.slice.call(arguments),Q=A.map(function($){if($!=null&&$.constructor===String)return $;else return GmA.inspect($)}).join(" ");if(!N0.enabled||!Q)return Q;var B=Q.indexOf(`
@@ -577,7 +577,7 @@ Private-MAC: `+T.digest().toHex()+`\r
577
577
  depsCount: ${Q},
578
578
  deps: ${B}}`};var CxQ={keyword:"dependencies",type:"object",schemaType:"object",error:YkA.error,code(A){let[Q,B]=FxQ(A);GkA(A,Q),JkA(A,B)}};function FxQ({schema:A}){let Q={},B={};for(let I in A){if(I==="__proto__")continue;let E=Array.isArray(A[I])?Q:B;E[I]=A[I]}return[Q,B]}function GkA(A,Q=A.schema){let{gen:B,data:I,it:E}=A;if(Object.keys(Q).length===0)return;let D=B.let("missing");for(let $ in Q){let G=Q[$];if(G.length===0)continue;let Y=(0,Zz.propertyInData)(B,I,$,E.opts.ownProperties);if(A.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),E.allErrors)B.if(Y,()=>{for(let H of G)(0,Zz.checkReportMissingProp)(A,H)});else B.if(Zs._`${Y} && (${(0,Zz.checkMissingProp)(A,G,D)})`),(0,Zz.reportMissingProp)(A,D),B.else()}}YkA.validatePropertyDeps=GkA;function JkA(A,Q=A.schema){let{gen:B,data:I,keyword:E,it:D}=A,$=B.name("valid");for(let G in Q){if((0,XxQ.alwaysValidSchema)(D,Q[G]))continue;B.if((0,Zz.propertyInData)(B,I,G,D.opts.ownProperties),()=>{let Y=A.subschema({keyword:E,schemaProp:G},$);A.mergeValidEvaluated(Y,$)},()=>B.var($,!0)),A.ok($)}}YkA.validateSchemaDeps=JkA;YkA.default=CxQ});var WkA=v((FkA)=>{Object.defineProperty(FkA,"__esModule",{value:!0});var CkA=U0(),qxQ=u0(),ZxQ={message:"property name must be valid",params:({params:A})=>CkA._`{propertyName: ${A.propertyName}}`},MxQ={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ZxQ,code(A){let{gen:Q,schema:B,data:I,it:E}=A;if((0,qxQ.alwaysValidSchema)(E,B))return;let D=Q.name("valid");Q.forIn("key",I,($)=>{A.setParams({propertyName:$}),A.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},D),Q.if((0,CkA.not)(D),()=>{if(A.error(!0),!E.allErrors)Q.break()})}),A.ok(D)}};FkA.default=MxQ});var Ms=v((KkA)=>{Object.defineProperty(KkA,"__esModule",{value:!0});var qk=N$(),N6=U0(),zxQ=iJ(),Zk=u0(),wxQ={message:"must NOT have additional properties",params:({params:A})=>N6._`{additionalProperty: ${A.additionalProperty}}`},LxQ={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:wxQ,code(A){let{gen:Q,schema:B,parentSchema:I,data:E,errsCount:D,it:$}=A;if(!D)throw Error("ajv implementation error");let{allErrors:G,opts:Y}=$;if($.props=!0,Y.removeAdditional!=="all"&&(0,Zk.alwaysValidSchema)($,B))return;let H=(0,qk.allSchemaProperties)(I.properties),X=(0,qk.allSchemaProperties)(I.patternProperties);F(),A.ok(N6._`${D} === ${zxQ.default.errors}`);function F(){Q.forIn("key",E,(w)=>{if(!H.length&&!X.length)Z(w);else Q.if(W(w),()=>Z(w))})}function W(w){let O;if(H.length>8){let T=(0,Zk.schemaRefOrVal)($,I.properties,"properties");O=(0,qk.isOwnProperty)(Q,T,w)}else if(H.length)O=(0,N6.or)(...H.map((T)=>N6._`${w} === ${T}`));else O=N6.nil;if(X.length)O=(0,N6.or)(O,...X.map((T)=>N6._`${(0,qk.usePattern)(A,T)}.test(${w})`));return(0,N6.not)(O)}function q(w){Q.code(N6._`delete ${E}[${w}]`)}function Z(w){if(Y.removeAdditional==="all"||Y.removeAdditional&&B===!1){q(w);return}if(B===!1){if(A.setParams({additionalProperty:w}),A.error(),!G)Q.break();return}if(typeof B=="object"&&!(0,Zk.alwaysValidSchema)($,B)){let O=Q.name("valid");if(Y.removeAdditional==="failing")N(w,O,!1),Q.if((0,N6.not)(O),()=>{A.reset(),q(w)});else if(N(w,O),!G)Q.if((0,N6.not)(O),()=>Q.break())}}function N(w,O,T){let R={keyword:"additionalProperties",dataProp:w,dataPropType:Zk.Type.Str};if(T===!1)Object.assign(R,{compositeRule:!0,createErrors:!1,allErrors:!1});A.subschema(R,O)}}};KkA.default=LxQ});var NkA=v((MkA)=>{Object.defineProperty(MkA,"__esModule",{value:!0});var RxQ=$z(),qkA=N$(),Ns=u0(),ZkA=Ms(),VxQ={keyword:"properties",type:"object",schemaType:"object",code(A){let{gen:Q,schema:B,parentSchema:I,data:E,it:D}=A;if(D.opts.removeAdditional==="all"&&I.additionalProperties===void 0)ZkA.default.code(new RxQ.KeywordCxt(D,ZkA.default,"additionalProperties"));let $=(0,qkA.allSchemaProperties)(B);for(let F of $)D.definedProperties.add(F);if(D.opts.unevaluated&&$.length&&D.props!==!0)D.props=Ns.mergeEvaluated.props(Q,(0,Ns.toHash)($),D.props);let G=$.filter((F)=>!(0,Ns.alwaysValidSchema)(D,B[F]));if(G.length===0)return;let Y=Q.name("valid");for(let F of G){if(H(F))X(F);else{if(Q.if((0,qkA.propertyInData)(Q,E,F,D.opts.ownProperties)),X(F),!D.allErrors)Q.else().var(Y,!0);Q.endIf()}A.it.definedProperties.add(F),A.ok(Y)}function H(F){return D.opts.useDefaults&&!D.compositeRule&&B[F].default!==void 0}function X(F){A.subschema({keyword:"properties",schemaProp:F,dataProp:F},Y)}}};MkA.default=VxQ});var RkA=v((OkA)=>{Object.defineProperty(OkA,"__esModule",{value:!0});var zkA=N$(),Mk=U0(),wkA=u0(),LkA=u0(),SxQ={keyword:"patternProperties",type:"object",schemaType:"object",code(A){let{gen:Q,schema:B,data:I,parentSchema:E,it:D}=A,{opts:$}=D,G=(0,zkA.allSchemaProperties)(B),Y=G.filter((N)=>(0,wkA.alwaysValidSchema)(D,B[N]));if(G.length===0||Y.length===G.length&&(!D.opts.unevaluated||D.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&E.properties,X=Q.name("valid");if(D.props!==!0&&!(D.props instanceof Mk.Name))D.props=(0,LkA.evaluatedPropsToName)(Q,D.props);let{props:F}=D;W();function W(){for(let N of G){if(H)q(N);if(D.allErrors)Z(N);else Q.var(X,!0),Z(N),Q.if(X)}}function q(N){for(let w in H)if(new RegExp(N).test(w))(0,wkA.checkStrictMode)(D,`property ${w} matches pattern ${N} (use allowMatchingProperties)`)}function Z(N){Q.forIn("key",I,(w)=>{Q.if(Mk._`${(0,zkA.usePattern)(A,N)}.test(${w})`,()=>{let O=Y.includes(N);if(!O)A.subschema({keyword:"patternProperties",schemaProp:N,dataProp:w,dataPropType:LkA.Type.Str},X);if(D.opts.unevaluated&&F!==!0)Q.assign(Mk._`${F}[${w}]`,!0);else if(!O&&!D.allErrors)Q.if((0,Mk.not)(X),()=>Q.break())})})}}};OkA.default=SxQ});var TkA=v((VkA)=>{Object.defineProperty(VkA,"__esModule",{value:!0});var PxQ=u0(),_xQ={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(A){let{gen:Q,schema:B,it:I}=A;if((0,PxQ.alwaysValidSchema)(I,B)){A.fail();return}let E=Q.name("valid");A.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},E),A.failResult(E,()=>A.reset(),()=>A.error())},error:{message:"must NOT be valid"}};VkA.default=_xQ});var jkA=v((SkA)=>{Object.defineProperty(SkA,"__esModule",{value:!0});var vxQ=N$(),xxQ={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:vxQ.validateUnion,error:{message:"must match a schema in anyOf"}};SkA.default=xxQ});var _kA=v((PkA)=>{Object.defineProperty(PkA,"__esModule",{value:!0});var Nk=U0(),bxQ=u0(),yxQ={message:"must match exactly one schema in oneOf",params:({params:A})=>Nk._`{passingSchemas: ${A.passing}}`},fxQ={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:yxQ,code(A){let{gen:Q,schema:B,parentSchema:I,it:E}=A;if(!Array.isArray(B))throw Error("ajv implementation error");if(E.opts.discriminator&&I.discriminator)return;let D=B,$=Q.let("valid",!1),G=Q.let("passing",null),Y=Q.name("_valid");A.setParams({passing:G}),Q.block(H),A.result($,()=>A.reset(),()=>A.error(!0));function H(){D.forEach((X,F)=>{let W;if((0,bxQ.alwaysValidSchema)(E,X))Q.var(Y,!0);else W=A.subschema({keyword:"oneOf",schemaProp:F,compositeRule:!0},Y);if(F>0)Q.if(Nk._`${Y} && ${$}`).assign($,!1).assign(G,Nk._`[${G}, ${F}]`).else();Q.if(Y,()=>{if(Q.assign($,!0),Q.assign(G,F),W)A.mergeEvaluated(W,Nk.Name)})})}}};PkA.default=fxQ});var vkA=v((kkA)=>{Object.defineProperty(kkA,"__esModule",{value:!0});var uxQ=u0(),mxQ={keyword:"allOf",schemaType:"array",code(A){let{gen:Q,schema:B,it:I}=A;if(!Array.isArray(B))throw Error("ajv implementation error");let E=Q.name("valid");B.forEach((D,$)=>{if((0,uxQ.alwaysValidSchema)(I,D))return;let G=A.subschema({keyword:"allOf",schemaProp:$},E);A.ok(E),A.mergeEvaluated(G)})}};kkA.default=mxQ});var ykA=v((bkA)=>{Object.defineProperty(bkA,"__esModule",{value:!0});var zk=U0(),gkA=u0(),lxQ={message:({params:A})=>zk.str`must match "${A.ifClause}" schema`,params:({params:A})=>zk._`{failingKeyword: ${A.ifClause}}`},dxQ={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:lxQ,code(A){let{gen:Q,parentSchema:B,it:I}=A;if(B.then===void 0&&B.else===void 0)(0,gkA.checkStrictMode)(I,'"if" without "then" and "else" is ignored');let E=xkA(I,"then"),D=xkA(I,"else");if(!E&&!D)return;let $=Q.let("valid",!0),G=Q.name("_valid");if(Y(),A.reset(),E&&D){let X=Q.let("ifClause");A.setParams({ifClause:X}),Q.if(G,H("then",X),H("else",X))}else if(E)Q.if(G,H("then"));else Q.if((0,zk.not)(G),H("else"));A.pass($,()=>A.error(!0));function Y(){let X=A.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);A.mergeEvaluated(X)}function H(X,F){return()=>{let W=A.subschema({keyword:X},G);if(Q.assign($,G),A.mergeValidEvaluated(W,$),F)Q.assign(F,zk._`${X}`);else A.setParams({ifClause:X})}}}};function xkA(A,Q){let B=A.schema[Q];return B!==void 0&&!(0,gkA.alwaysValidSchema)(A,B)}bkA.default=dxQ});var hkA=v((fkA)=>{Object.defineProperty(fkA,"__esModule",{value:!0});var nxQ=u0(),ixQ={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:A,parentSchema:Q,it:B}){if(Q.if===void 0)(0,nxQ.checkStrictMode)(B,`"${A}" without "if" is ignored`)}};fkA.default=ixQ});var mkA=v((ukA)=>{Object.defineProperty(ukA,"__esModule",{value:!0});var oxQ=Ks(),axQ=QkA(),sxQ=qs(),txQ=EkA(),exQ=$kA(),AgQ=XkA(),QgQ=WkA(),BgQ=Ms(),IgQ=NkA(),EgQ=RkA(),DgQ=TkA(),$gQ=jkA(),GgQ=_kA(),JgQ=vkA(),YgQ=ykA(),UgQ=hkA();function HgQ(A=!1){let Q=[DgQ.default,$gQ.default,GgQ.default,JgQ.default,YgQ.default,UgQ.default,QgQ.default,BgQ.default,AgQ.default,IgQ.default,EgQ.default];if(A)Q.push(axQ.default,txQ.default);else Q.push(oxQ.default,sxQ.default);return Q.push(exQ.default),Q}ukA.default=HgQ});var lkA=v((ckA)=>{Object.defineProperty(ckA,"__esModule",{value:!0});var Q1=U0(),CgQ={message:({schemaCode:A})=>Q1.str`must match format "${A}"`,params:({schemaCode:A})=>Q1._`{format: ${A}}`},FgQ={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:CgQ,code(A,Q){let{gen:B,data:I,$data:E,schema:D,schemaCode:$,it:G}=A,{opts:Y,errSchemaPath:H,schemaEnv:X,self:F}=G;if(!Y.validateFormats)return;if(E)W();else q();function W(){let Z=B.scopeValue("formats",{ref:F.formats,code:Y.code.formats}),N=B.const("fDef",Q1._`${Z}[${$}]`),w=B.let("fType"),O=B.let("format");B.if(Q1._`typeof ${N} == "object" && !(${N} instanceof RegExp)`,()=>B.assign(w,Q1._`${N}.type || "string"`).assign(O,Q1._`${N}.validate`),()=>B.assign(w,Q1._`"string"`).assign(O,N)),A.fail$data((0,Q1.or)(T(),R()));function T(){if(Y.strictSchema===!1)return Q1.nil;return Q1._`${$} && !${O}`}function R(){let S=X.$async?Q1._`(${N}.async ? await ${O}(${I}) : ${O}(${I}))`:Q1._`${O}(${I})`,k=Q1._`(typeof ${O} == "function" ? ${S} : ${O}.test(${I}))`;return Q1._`${O} && ${O} !== true && ${w} === ${Q} && !${k}`}}function q(){let Z=F.formats[D];if(!Z){T();return}if(Z===!0)return;let[N,w,O]=R(Z);if(N===Q)A.pass(S());function T(){if(Y.strictSchema===!1){F.logger.warn(k());return}throw Error(k());function k(){return`unknown format "${D}" ignored in schema at path "${H}"`}}function R(k){let l=k instanceof RegExp?(0,Q1.regexpCode)(k):Y.code.formats?Q1._`${Y.code.formats}${(0,Q1.getProperty)(D)}`:void 0,s=B.scopeValue("formats",{key:D,ref:k,code:l});if(typeof k=="object"&&!(k instanceof RegExp))return[k.type||"string",k.validate,Q1._`${s}.validate`];return["string",k,s]}function S(){if(typeof Z=="object"&&!(Z instanceof RegExp)&&Z.async){if(!X.$async)throw Error("async format in sync schema");return Q1._`await ${O}(${I})`}return typeof w=="function"?Q1._`${O}(${I})`:Q1._`${O}.test(${I})`}}}};ckA.default=FgQ});var pkA=v((dkA)=>{Object.defineProperty(dkA,"__esModule",{value:!0});var KgQ=lkA(),qgQ=[KgQ.default];dkA.default=qgQ});var rkA=v((nkA)=>{Object.defineProperty(nkA,"__esModule",{value:!0});nkA.contentVocabulary=nkA.metadataVocabulary=void 0;nkA.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];nkA.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var skA=v((akA)=>{Object.defineProperty(akA,"__esModule",{value:!0});var NgQ=M_A(),zgQ=n_A(),wgQ=mkA(),LgQ=pkA(),okA=rkA(),OgQ=[NgQ.default,zgQ.default,(0,wgQ.default)(),LgQ.default,okA.metadataVocabulary,okA.contentVocabulary];akA.default=OgQ});var QvA=v((ekA)=>{Object.defineProperty(ekA,"__esModule",{value:!0});ekA.DiscrError=void 0;var tkA;(function(A){A.Tag="tag",A.Mapping="mapping"})(tkA||(ekA.DiscrError=tkA={}))});var EvA=v((IvA)=>{Object.defineProperty(IvA,"__esModule",{value:!0});var uF=U0(),zs=QvA(),BvA=Ek(),VgQ=Gz(),TgQ=u0(),SgQ={message:({params:{discrError:A,tagName:Q}})=>A===zs.DiscrError.Tag?`tag "${Q}" must be string`:`value of tag "${Q}" must be in oneOf`,params:({params:{discrError:A,tag:Q,tagName:B}})=>uF._`{error: ${A}, tag: ${B}, tagValue: ${Q}}`},jgQ={keyword:"discriminator",type:"object",schemaType:"object",error:SgQ,code(A){let{gen:Q,data:B,schema:I,parentSchema:E,it:D}=A,{oneOf:$}=E;if(!D.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=I.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(I.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let Y=Q.let("valid",!1),H=Q.const("tag",uF._`${B}${(0,uF.getProperty)(G)}`);Q.if(uF._`typeof ${H} == "string"`,()=>X(),()=>A.error(!1,{discrError:zs.DiscrError.Tag,tag:H,tagName:G})),A.ok(Y);function X(){let q=W();Q.if(!1);for(let Z in q)Q.elseIf(uF._`${H} === ${Z}`),Q.assign(Y,F(q[Z]));Q.else(),A.error(!1,{discrError:zs.DiscrError.Mapping,tag:H,tagName:G}),Q.endIf()}function F(q){let Z=Q.name("valid"),N=A.subschema({keyword:"oneOf",schemaProp:q},Z);return A.mergeEvaluated(N,uF.Name),Z}function W(){var q;let Z={},N=O(E),w=!0;for(let S=0;S<$.length;S++){let k=$[S];if((k===null||k===void 0?void 0:k.$ref)&&!(0,TgQ.schemaHasRulesButRef)(k,D.self.RULES)){let s=k.$ref;if(k=BvA.resolveRef.call(D.self,D.schemaEnv.root,D.baseId,s),k instanceof BvA.SchemaEnv)k=k.schema;if(k===void 0)throw new VgQ.default(D.opts.uriResolver,D.baseId,s)}let l=(q=k===null||k===void 0?void 0:k.properties)===null||q===void 0?void 0:q[G];if(typeof l!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);w=w&&(N||O(k)),T(l,S)}if(!w)throw Error(`discriminator: "${G}" must be required`);return Z;function O({required:S}){return Array.isArray(S)&&S.includes(G)}function T(S,k){if(S.const)R(S.const,k);else if(S.enum)for(let l of S.enum)R(l,k);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function R(S,k){if(typeof S!="string"||S in Z)throw Error(`discriminator: "${G}" values must be unique strings`);Z[S]=k}}}};IvA.default=jgQ});var DvA=v((eRB,_gQ)=>{_gQ.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var Ls=v((YD,ws)=>{Object.defineProperty(YD,"__esModule",{value:!0});YD.MissingRefError=YD.ValidationError=YD.CodeGen=YD.Name=YD.nil=YD.stringify=YD.str=YD._=YD.KeywordCxt=YD.Ajv=void 0;var kgQ=Y_A(),vgQ=skA(),xgQ=EvA(),$vA=DvA(),ggQ=["/properties"],wk="http://json-schema.org/draft-07/schema";class Mz extends kgQ.default{_addVocabularies(){if(super._addVocabularies(),vgQ.default.forEach((A)=>this.addVocabulary(A)),this.opts.discriminator)this.addKeyword(xgQ.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let A=this.opts.$data?this.$dataMetaSchema($vA,ggQ):$vA;this.addMetaSchema(A,wk,!1),this.refs["http://json-schema.org/schema"]=wk}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(wk)?wk:void 0)}}YD.Ajv=Mz;ws.exports=YD=Mz;ws.exports.Ajv=Mz;Object.defineProperty(YD,"__esModule",{value:!0});YD.default=Mz;var bgQ=$z();Object.defineProperty(YD,"KeywordCxt",{enumerable:!0,get:function(){return bgQ.KeywordCxt}});var mF=U0();Object.defineProperty(YD,"_",{enumerable:!0,get:function(){return mF._}});Object.defineProperty(YD,"str",{enumerable:!0,get:function(){return mF.str}});Object.defineProperty(YD,"stringify",{enumerable:!0,get:function(){return mF.stringify}});Object.defineProperty(YD,"nil",{enumerable:!0,get:function(){return mF.nil}});Object.defineProperty(YD,"Name",{enumerable:!0,get:function(){return mF.Name}});Object.defineProperty(YD,"CodeGen",{enumerable:!0,get:function(){return mF.CodeGen}});var ygQ=Bk();Object.defineProperty(YD,"ValidationError",{enumerable:!0,get:function(){return ygQ.default}});var fgQ=Gz();Object.defineProperty(YD,"MissingRefError",{enumerable:!0,get:function(){return fgQ.default}})});var KvA=v((FvA)=>{Object.defineProperty(FvA,"__esModule",{value:!0});FvA.formatNames=FvA.fastFormats=FvA.fullFormats=void 0;function bG(A,Q){return{validate:A,compare:Q}}FvA.fullFormats={date:bG(UvA,Ts),time:bG(Rs(!0),Ss),"date-time":bG(GvA(!0),XvA),"iso-time":bG(Rs(),HvA),"iso-date-time":bG(GvA(),CvA),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:ngQ,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:egQ,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:igQ,int32:{type:"number",validate:agQ},int64:{type:"number",validate:sgQ},float:{type:"number",validate:YvA},double:{type:"number",validate:YvA},password:!0,binary:!0};FvA.fastFormats={...FvA.fullFormats,date:bG(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Ts),time:bG(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ss),"date-time":bG(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,XvA),"iso-time":bG(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,HvA),"iso-date-time":bG(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,CvA),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};FvA.formatNames=Object.keys(FvA.fullFormats);function mgQ(A){return A%4===0&&(A%100!==0||A%400===0)}var cgQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lgQ=[0,31,28,31,30,31,30,31,31,30,31,30,31];function UvA(A){let Q=cgQ.exec(A);if(!Q)return!1;let B=+Q[1],I=+Q[2],E=+Q[3];return I>=1&&I<=12&&E>=1&&E<=(I===2&&mgQ(B)?29:lgQ[I])}function Ts(A,Q){if(!(A&&Q))return;if(A>Q)return 1;if(A<Q)return-1;return 0}var Os=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Rs(A){return function(B){let I=Os.exec(B);if(!I)return!1;let E=+I[1],D=+I[2],$=+I[3],G=I[4],Y=I[5]==="-"?-1:1,H=+(I[6]||0),X=+(I[7]||0);if(H>23||X>59||A&&!G)return!1;if(E<=23&&D<=59&&$<60)return!0;let F=D-X*Y,W=E-H*Y-(F<0?1:0);return(W===23||W===-1)&&(F===59||F===-1)&&$<61}}function Ss(A,Q){if(!(A&&Q))return;let B=new Date("2020-01-01T"+A).valueOf(),I=new Date("2020-01-01T"+Q).valueOf();if(!(B&&I))return;return B-I}function HvA(A,Q){if(!(A&&Q))return;let B=Os.exec(A),I=Os.exec(Q);if(!(B&&I))return;if(A=B[1]+B[2]+B[3],Q=I[1]+I[2]+I[3],A>Q)return 1;if(A<Q)return-1;return 0}var Vs=/t|\s/i;function GvA(A){let Q=Rs(A);return function(I){let E=I.split(Vs);return E.length===2&&UvA(E[0])&&Q(E[1])}}function XvA(A,Q){if(!(A&&Q))return;let B=new Date(A).valueOf(),I=new Date(Q).valueOf();if(!(B&&I))return;return B-I}function CvA(A,Q){if(!(A&&Q))return;let[B,I]=A.split(Vs),[E,D]=Q.split(Vs),$=Ts(B,E);if($===void 0)return;return $||Ss(I,D)}var dgQ=/\/|:/,pgQ=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function ngQ(A){return dgQ.test(A)&&pgQ.test(A)}var JvA=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function igQ(A){return JvA.lastIndex=0,JvA.test(A)}var rgQ=-2147483648,ogQ=2147483647;function agQ(A){return Number.isInteger(A)&&A<=ogQ&&A>=rgQ}function sgQ(A){return Number.isInteger(A)}function YvA(){return!0}var tgQ=/[^\\]\\Z/;function egQ(A){if(tgQ.test(A))return!1;try{return new RegExp(A),!0}catch(Q){return!1}}});var ZvA=v((qvA)=>{Object.defineProperty(qvA,"__esModule",{value:!0});qvA.formatLimitDefinition=void 0;var QbQ=Ls(),z6=U0(),E5=z6.operators,Lk={formatMaximum:{okStr:"<=",ok:E5.LTE,fail:E5.GT},formatMinimum:{okStr:">=",ok:E5.GTE,fail:E5.LT},formatExclusiveMaximum:{okStr:"<",ok:E5.LT,fail:E5.GTE},formatExclusiveMinimum:{okStr:">",ok:E5.GT,fail:E5.LTE}},BbQ={message:({keyword:A,schemaCode:Q})=>z6.str`should be ${Lk[A].okStr} ${Q}`,params:({keyword:A,schemaCode:Q})=>z6._`{comparison: ${Lk[A].okStr}, limit: ${Q}}`};qvA.formatLimitDefinition={keyword:Object.keys(Lk),type:"string",schemaType:"string",$data:!0,error:BbQ,code(A){let{gen:Q,data:B,schemaCode:I,keyword:E,it:D}=A,{opts:$,self:G}=D;if(!$.validateFormats)return;let Y=new QbQ.KeywordCxt(D,G.RULES.all.format.definition,"format");if(Y.$data)H();else X();function H(){let W=Q.scopeValue("formats",{ref:G.formats,code:$.code.formats}),q=Q.const("fmt",z6._`${W}[${Y.schemaCode}]`);A.fail$data((0,z6.or)(z6._`typeof ${q} != "object"`,z6._`${q} instanceof RegExp`,z6._`typeof ${q}.compare != "function"`,F(q)))}function X(){let W=Y.schema,q=G.formats[W];if(!q||q===!0)return;if(typeof q!="object"||q instanceof RegExp||typeof q.compare!="function")throw Error(`"${E}": format "${W}" does not define "compare" function`);let Z=Q.scopeValue("formats",{key:W,ref:q,code:$.code.formats?z6._`${$.code.formats}${(0,z6.getProperty)(W)}`:void 0});A.fail$data(F(Z))}function F(W){return z6._`${W}.compare(${B}, ${I}) ${Lk[E].fail} 0`}},dependencies:["format"]};var IbQ=(A)=>{return A.addKeyword(qvA.formatLimitDefinition),A};qvA.default=IbQ});var wvA=v((Nz,zvA)=>{Object.defineProperty(Nz,"__esModule",{value:!0});var cF=KvA(),DbQ=ZvA(),_s=U0(),MvA=new _s.Name("fullFormats"),$bQ=new _s.Name("fastFormats"),ks=(A,Q={keywords:!0})=>{if(Array.isArray(Q))return NvA(A,Q,cF.fullFormats,MvA),A;let[B,I]=Q.mode==="fast"?[cF.fastFormats,$bQ]:[cF.fullFormats,MvA],E=Q.formats||cF.formatNames;if(NvA(A,E,B,I),Q.keywords)(0,DbQ.default)(A);return A};ks.get=(A,Q="full")=>{let I=(Q==="fast"?cF.fastFormats:cF.fullFormats)[A];if(!I)throw Error(`Unknown format "${A}"`);return I};function NvA(A,Q,B,I){var E,D;(E=(D=A.opts.code).formats)!==null&&E!==void 0||(D.formats=_s._`require("ajv-formats/dist/formats").${I}`);for(let $ of Q)A.addFormat($,B[$])}zvA.exports=Nz=ks;Object.defineProperty(Nz,"__esModule",{value:!0});Nz.default=ks});import{existsSync as qbQ,readFileSync as ZbQ}from"node:fs";import{dirname as MbQ,join as lF}from"node:path";import{cwd as Pk}from"node:process";function as(A){if(!qbQ(A))return;return ZbQ(A,"utf-8")}function wbQ(A){let Q=[lF(Pk(),A,"app","build.gradle"),lF(Pk(),A,"app","build.gradle.kts")];for(let B of Q){let I=as(B);if(!I)continue;let E=I.match(/versionName\s*(?:=\s*)?["']([^"']+)["']/)?.[1],D=I.match(/versionCode\s*(?:=\s*)?(\d+)/)?.[1];if(E)return{versionName:E,versionCode:D,source:B}}return}function nvA(A,Q){let B=Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return A.match(new RegExp(`<key>${B}</key>\\s*<string>([^<]+)</string>`))?.[1]?.trim()}function jk(A,Q){let I=A.match(new RegExp(`${Q}\\s*=\\s*([^;]+);`))?.[1]?.trim();if(!I)return;return I.replace(/"/g,"").trim()}function LbQ(A){let Q=lF(Pk(),A,"App"),B=lF(Q,"App","Info.plist"),I=lF(Q,"App.xcodeproj","project.pbxproj"),E=as(B),D=as(I);if(!E)return;let $=nvA(E,"CFBundleShortVersionString"),G=nvA(E,"CFBundleVersion");if($==="$(MARKETING_VERSION)")$=D?jk(D,"MARKETING_VERSION"):void 0;if(G==="$(CURRENT_PROJECT_VERSION)")G=D?jk(D,"CURRENT_PROJECT_VERSION"):void 0;if(!$&&D)$=jk(D,"MARKETING_VERSION");if(!G&&D)G=jk(D,"CURRENT_PROJECT_VERSION");if(!$)return;return{versionName:$,versionCode:G,source:B}}function ObQ(A){let Q=A?.plugins?.CapacitorUpdater?.version;if(typeof Q==="string"&&Q.trim().length>0)return Q.trim();return}function RbQ(A){let Q=A?.plugins?.CapacitorUpdater?.defaultChannel;if(typeof Q==="string"&&Q.trim().length>0)return Q.trim();return""}function VbQ(A){let Q=A?.plugins?.CapacitorUpdater?.updateUrl;if(typeof Q==="string"&&Q.trim().length>0)return Q.trim();return NbQ}async function rvA(A,Q){let B=Q?.plugins?.CapacitorUpdater?.appId,I=Q?.appId,E=B||I;if(!E)return{ok:!1,error:"Could not resolve app ID from capacitor config. Ensure appId is set in capacitor.config.ts or CapacitorUpdater.appId is configured."};let D=B?"CapacitorUpdater.appId from capacitor config":"top-level appId from capacitor config",$=D6(Q,A),G=A==="android"?wbQ($):LbQ($);if(!G)return{ok:!1,error:`Unable to resolve native ${A.toUpperCase()} version values from platform files in "${$}".`};let Y=ObQ(Q),H=Y||G.versionName,X=Y?"CapacitorUpdater.version from capacitor config":`native ${A.toUpperCase()} versionName`,F=lF(Pk(),"package.json"),W=MbQ(F),q=await t4("@capgo/capacitor-updater",W,F);if(!q)return{ok:!1,error:"Unable to resolve installed @capgo/capacitor-updater version from this project."};return{ok:!0,context:{endpoint:VbQ(Q),payload:{app_id:E,device_id:zbQ,version_name:"builtin",version_build:H,is_emulator:!1,is_prod:!1,platform:A,plugin_version:q,defaultChannel:RbQ(Q)},nativeSource:G.source,versionBuildSource:X,appIdSource:D}}}function ovA(A){let Q={};if(A&&typeof A==="object"){for(let[B,I]of Object.entries(A))if(B!=="error"&&B!=="message")Q[B]=I}return Q}function TbQ(A,Q){let B=typeof A?.error==="string"?A.error:void 0,I=typeof A?.message==="string"?A.message:void 0,E=typeof A?.version==="string"?A.version:void 0;if(B==="no_new_version_available"||E&&E===Q)return{status:"retry",detail:I||"No new version available yet"};if(B)return{status:"failed",detail:`${B}: ${I??"Unknown backend message"}`,errorCode:B,backendMessage:I,extra:ovA(A)};if(E&&E!==Q)return{status:"available",detail:`Update ${E} is available`,responseVersion:E};return{status:"failed",detail:`Unexpected response format: ${JSON.stringify(A)}`}}async function avA(A,Q){let B;try{B=await fetch(A,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q),signal:AbortSignal.timeout(ivA)})}catch(D){if(D instanceof DOMException&&D.name==="TimeoutError")return{success:!1,reason:`Request timed out after ${ivA/1000}s — the endpoint did not respond in time.`,backendRefusal:!1};return{success:!1,reason:`Network error: ${D instanceof Error?D.message:String(D)}`,backendRefusal:!1}}let I;try{I=await B.json()}catch{I={error:"invalid_json_response",message:"Non-JSON response from updates endpoint"}}if(!B.ok){let D=typeof I?.error==="string"?I.error:void 0,$=typeof I?.message==="string"?I.message:void 0;return{success:!1,reason:`HTTP ${B.status}: ${JSON.stringify(I)}`,backendRefusal:!!D,errorCode:D,backendMessage:$,extra:ovA(I)}}let E=TbQ(I,Q.version_name);if(E.status==="available")return{success:!0,availableVersion:E.responseVersion??""};if(E.status==="retry")return{success:!1,reason:E.detail,backendRefusal:!1};return{success:!1,reason:E.detail,backendRefusal:!!E.errorCode,errorCode:E.errorCode,backendMessage:E.backendMessage,extra:E.extra}}function svA(A){if(!A.errorCode)return[];let Q=[];if(A.errorCode==="disable_auto_update_to_major"){let I=typeof A.extra?.version==="string"?A.extra.version:"unknown",E=typeof A.extra?.old==="string"?A.extra.old:"unknown";Q.push(`Channel policy blocks major upgrades (target ${I}, device baseline ${E}).`)}let B=SbQ[A.errorCode];if(B)Q.push(B.cause),Q.push(`Fix: ${B.fix}`),Q.push(`Details: ${B.docsUrl||X1}`);else Q.push(`Backend returned ${A.errorCode}.`),Q.push("Check channel restrictions, app/plugin configuration, and device version values."),Q.push(`Troubleshooting guide: ${X1}`);return Q}var NbQ="https://plugin.capgo.app/updates",zbQ="00000000-0000-0000-0000-000000000000",X1="https://capgo.app/docs/plugins/updater/commonproblems/",ivA=1e4,SbQ;var tvA=kA(()=>{FB();SbQ={disable_auto_update_to_major:{cause:"Channel blocks major upgrades and device baseline major does not match the target bundle major.",fix:"Set plugins.CapacitorUpdater.version so its MAJOR matches the bundle MAJOR (e.g. 1.0.0 for bundle 1.x.x), run npx cap sync, and reinstall the native build.",docsUrl:`${X1}#disable_auto_update_to_major`},disable_auto_update_to_minor:{cause:"Channel blocks minor upgrades and the target bundle minor is above the device baseline.",fix:"Upload a bundle within the allowed minor range, or change the channel disable_auto_update policy in the dashboard.",docsUrl:`${X1}#disable_auto_update_to_minor--disable_auto_update_to_patch`},disable_auto_update_to_patch:{cause:"Channel blocks patch upgrades and the target bundle patch is above the device baseline.",fix:"Upload a bundle within the allowed patch range, or change the channel disable_auto_update policy in the dashboard.",docsUrl:`${X1}#disable_auto_update_to_minor--disable_auto_update_to_patch`},disable_auto_update_to_metadata:{cause:"Channel uses metadata-based targeting (version_number) and the device baseline is below the required min_update_version.",fix:"Set plugins.CapacitorUpdater.version to match the installed native version, or adjust min_update_version on the channel.",docsUrl:`${X1}#disable_auto_update_to_metadata`},disable_auto_update_under_native:{cause:"Channel prevents downgrades below the native app version.",fix:"Upload a bundle with version >= native baseline, or disable the under-native downgrade protection on the channel.",docsUrl:`${X1}#disable_auto_update_under_native`},misconfigured_channel:{cause:"Channel has disable_auto_update=version_number but min_update_version is missing.",fix:"Set a valid min_update_version on the channel, or change disable_auto_update to a different mode."},cannot_update_via_private_channel:{cause:"The selected channel does not allow device self-assignment.",fix:"Use a channel with self-assignment enabled, or enable self-assignment / make the channel public.",docsUrl:`${X1}#cannot_update_via_private_channel`},semver_error:{cause:"version_build sent to the backend is not valid semver (expected x.y.z).",fix:"Set plugins.CapacitorUpdater.version to a valid semver like 1.2.3, run npx cap sync, and rebuild native.",docsUrl:`${X1}#unknown_version_build--semver_error`},unknown_version_build:{cause:"Backend received version_build=unknown (device baseline version is missing).",fix:"Set plugins.CapacitorUpdater.version in capacitor.config.*, run npx cap sync, and rebuild native.",docsUrl:`${X1}#unknown_version_build--semver_error`},unsupported_plugin_version:{cause:"Installed @capgo/capacitor-updater is too old for the current backend.",fix:"Run npm install @capgo/capacitor-updater@latest, then npx cap sync, and rebuild native.",docsUrl:`${X1}#unsupported_plugin_version`},key_id_mismatch:{cause:"Bundle encryption key and device key differ.",fix:"Ensure the same public key is used in app config and when encrypting bundles, then re-upload the bundle.",docsUrl:`${X1}#key_id_mismatch`},disabled_platform_ios:{cause:"Channel has iOS updates disabled.",fix:"Enable the iOS platform toggle on the target channel in the dashboard.",docsUrl:`${X1}#disabled_platform_ios--disabled_platform_android`},disabled_platform_android:{cause:"Channel has Android updates disabled.",fix:"Enable the Android platform toggle on the target channel in the dashboard.",docsUrl:`${X1}#disabled_platform_ios--disabled_platform_android`},disabled_platform_electron:{cause:"Channel has Electron updates disabled.",fix:"Enable the Electron platform toggle on the target channel in the dashboard."},disable_prod_build:{cause:"Channel blocks production builds (allow_prod is off).",fix:"Enable allow_prod on the channel, or test with a development build.",docsUrl:`${X1}#disable_prod_build--disable_dev_build--disable_device--disable_emulator`},disable_dev_build:{cause:"Channel blocks development builds (allow_dev is off).",fix:"Enable allow_dev on the channel, or test with a production build.",docsUrl:`${X1}#disable_prod_build--disable_dev_build--disable_device--disable_emulator`},disable_device:{cause:"Channel blocks physical devices (allow_device is off).",fix:"Enable allow_device on the channel, or test on an emulator.",docsUrl:`${X1}#disable_prod_build--disable_dev_build--disable_device--disable_emulator`},disable_emulator:{cause:"Channel blocks emulators (allow_emulator is off).",fix:"Enable allow_emulator on the channel, or test on a physical device.",docsUrl:`${X1}#disable_prod_build--disable_dev_build--disable_device--disable_emulator`},no_channel:{cause:"No channel was resolved for this device.",fix:"Set defaultChannel in capacitor.config.* plugins.CapacitorUpdater section, or create a default channel in the dashboard.",docsUrl:`${X1}#no_channel--null_channel_data`},null_channel_data:{cause:"Channel was resolved but contains no usable data.",fix:"Set defaultChannel in capacitor.config.* plugins.CapacitorUpdater section, or verify the channel has a bundle assigned.",docsUrl:`${X1}#no_channel--null_channel_data`},missing_info:{cause:"Request is missing required fields (app_id, device_id, version_build, or platform).",fix:"Check capacitor.config.* for a valid appId and verify the probe payload."},no_bundle:{cause:"Channel resolved a version but no downloadable bundle artifact exists.",fix:"Re-upload the bundle with npx @capgo/cli@latest bundle upload and verify channel assignment."},no_bundle_url:{cause:"Bundle was resolved but its download URL is missing.",fix:"Re-upload the bundle — the storage artifact may be corrupted or missing."},no_url_or_manifest:{cause:"Bundle was resolved but neither URL nor manifest is available.",fix:"Re-upload the bundle — the storage artifact may be corrupted or missing."},already_on_builtin:{cause:"Device is already running the builtin bundle.",fix:"Upload and assign a bundle to the channel for OTA updates to be delivered."},revert_to_builtin_plugin_version_too_old:{cause:"Plugin version is too old for safe builtin revert.",fix:"Run npm install @capgo/capacitor-updater@latest, then npx cap sync, and rebuild native."},on_premise_app:{cause:"App is either flagged as on-premise or does not exist in Capgo Cloud.",fix:"Check that the app_id is registered in Capgo (capgo app add). If it is an on-premise app, configure plugins.CapacitorUpdater.updateUrl to point to your on-prem update endpoint."},need_plan_upgrade:{cause:"Update checks are blocked by plan limits.",fix:"Upgrade your Capgo plan or contact your organization admin."},invalid_json_body:{cause:"Updates endpoint rejected the request body as invalid JSON.",fix:"This is likely a CLI bug — please report it at https://github.com/Cap-go/capgo/issues."},invalid_query_parameters:{cause:"Updates endpoint rejected the query parameters.",fix:"This is likely a CLI bug — please report it at https://github.com/Cap-go/capgo/issues."}}});var BxA={};G8(BxA,{probeInternal:()=>QxA,probe:()=>ss});import{exit as jbQ,stdin as evA,stdout as AxA}from"node:process";async function QxA(A){let Q;try{Q=(await rQ()).config}catch{return{success:!1,error:"Failed to load Capacitor config."}}let B;if(A.platform==="ios"||A.platform==="android")B=A.platform;else if(A.platform)return{success:!1,error:`Invalid platform "${A.platform}". Must be "ios" or "android".`};else{if(!(!!evA.isTTY&&!!AxA.isTTY))return{success:!1,error:"Platform is required in non-interactive environments. Use --platform ios or --platform android."};let Y=await M1({message:"Which platform do you want to probe?",options:[{value:"ios",label:"iOS"},{value:"android",label:"Android"}]});if(sB(Y))return{success:!1,error:"Probe cancelled."};B=Y}let I=await rvA(B,Q);if(!I.ok)return{success:!1,error:`Probe setup failed: ${I.error}`};let E=I.context,D=await avA(E.endpoint,E.payload),$={success:D.success,probeResult:D,endpoint:E.endpoint,platform:B,versionBuild:E.payload.version_build,versionBuildSource:E.versionBuildSource,appId:E.payload.app_id,appIdSource:E.appIdSource,nativeSource:E.nativeSource};if(!D.success)$.hints=svA(D);return $}async function ss(A){sQ("Probe Capgo updates endpoint");let Q=await QxA(A);if(Q.error)L.error(Q.error),jbQ(1);L.info(`Endpoint: ${Q.endpoint}`),L.info(`Platform: ${Q.platform}, version_build: ${Q.versionBuild}`),L.info(`version_build source: ${Q.versionBuildSource}`),L.info(`app_id: ${Q.appId} (${Q.appIdSource})`),L.info(`Native values source: ${Q.nativeSource}`);let B=Q.probeResult;if(B.success)L.success(`Update available: ${B.availableVersion}`);else{if(L.warn(`Reason: ${B.reason}`),B.backendRefusal)L.warn("The backend actively refused the request (not a cache/propagation issue).");if(B.errorCode)L.warn(`Error code: ${B.errorCode}`);if(B.backendMessage)L.warn(`Backend message: ${B.backendMessage}`);if(Q.hints)for(let I of Q.hints)L.warn(` ${I}`)}}var ts=kA(()=>{TB();tvA();FB()});TB();import{exit as Bt}from"node:process";var z0A=cA(N0A(),1),{program:rI,createCommand:AfQ,createArgument:QfQ,createOption:BfQ,CommanderError:IfQ,InvalidArgumentError:EfQ,InvalidOptionArgumentError:DfQ,Command:$fQ,Argument:GfQ,Option:U2,Help:JfQ}=z0A.default;V9();TB();import{existsSync as oHA,readFileSync as aHA}from"node:fs";TB();FB();async function dHA(A,Q){let{data:B}=await A.rpc("exist_app_v2",{appid:Q}).single();return!!B}function pHA(A){if(!A)return!1;let Q=[A.message,A.details,A.hint,A.code].filter(Boolean).join(" ").toLowerCase();return["need_onboarding","existing_app","ios_store_url","android_store_url","column","schema cache","pgrst204","42703"].some((B)=>Q.includes(B))}async function nHA(A,Q){let{data:B,error:I}=await A.from("apps").select("app_id, name, icon_url, need_onboarding, existing_app, ios_store_url, android_store_url").eq("owner_org",Q).eq("need_onboarding",!0).order("created_at",{ascending:!1});if(I){if(pHA(I))return[];throw Error(`Could not load pending onboarding apps: ${I.message}`)}return B??[]}async function iHA(A,Q,B){let{data:I,error:E}=await A.from("apps").select("app_id, name, owner_org, need_onboarding").eq("owner_org",Q).eq("app_id",B).maybeSingle();if(E){if(pHA(E)){let{data:D,error:$}=await A.from("apps").select("app_id, name, owner_org").eq("owner_org",Q).eq("app_id",B).maybeSingle();if($)throw Error(`Could not check existing app ${B} in org ${Q}: ${$.message}`);return D?{...D,need_onboarding:!1}:null}throw Error(`Could not check existing app ${B} in org ${Q}: ${E.message}`)}return I??null}async function Kl(A,Q,B){let{data:I,error:E}=await A.from("apps").update({need_onboarding:!1}).select("app_id").eq("owner_org",Q).eq("app_id",B).eq("need_onboarding",!0);if(E)throw Error(`Could not complete onboarding for app ${B}: ${E.message}`);if(!I?.length)throw Error(`Could not complete onboarding for app ${B} in org ${Q}: app was not found or is no longer pending onboarding`)}async function rHA(A,Q){return await Promise.all(Q.map(async(I)=>{let{data:E}=await A.rpc("exist_app_v2",{appid:I}).single();return{appid:I,exists:!!E}}))}async function _E(A,Q,B=!1){let{data:I,error:E}=await A.rpc("reject_access_due_to_2fa_for_app",{app_id:Q});if(E){if(!B)L.error(`Cannot check 2FA compliance: ${E.message}`);throw Error(`Cannot check 2FA compliance: ${E.message}`)}if(I){if(B)throw Error("2FA required for this organization");Hl()}}async function uI(A,Q,B,I,E=!1,D=!1){let $=WI();if(!D)await _E(A,B,E);let G=await VHA(A,Q,B);if(!G.okay)switch(G.error){case"INVALID_APIKEY":{if(!E)L.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let X=`App ${B} does not exist, run first \`${$.runner} @capgo/cli app add ${B}\` to create it`;if(!E)L.error(X);throw Error(X)}case"NO_ORG":{if(!E)L.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let Y=G.data;if(I>Y){let X=`Insuficcent permissions for app ${B}. Current permission: ${q8[G.data]}, required for this action: ${q8[I]}.`;if(!E)L.error(X);throw Error(X)}return G.data}var A$="assets/icon.png",BT="public/capgo.png";function VC(A,Q){return`org/${A}/${Q}/icon`}d1();FB();var _EQ=/^[a-z0-9]+(\.[\w-]+)+$/i;function kEQ(A,Q,B){if(!Q.apikey){if(!B)L.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(A.includes("--")){if(!B)L.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!_EQ.test(A)){if(!B)L.error(`Invalid app ID format: "${A}"`),L.info("App ID must be in reverse domain notation (e.g., com.example.app)"),L.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),L.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function vEQ(A,Q,B){if(!await dHA(A,Q))return;if(Q==="io.ionic.starter"){if(!B)L.error(`This appId ${Q} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!B)L.error(`App ${Q} already exist`);throw Error(`App ${Q} already exists`)}async function CZ(A,Q,B,I=!1){if(!I)sQ("Adding");if(!I)await b0();Q.apikey=Q.apikey||vQ();let E=await rQ(),D=fB(A,E?.config);kEQ(D,Q,I);let $=await eQ(Q.apikey,Q.supaHost,Q.supaAnon),G=await T0($,Q.apikey);if(await vEQ($,D,I),!B)B=await yHA($,Q.apikey,"org.create_app");let Y=B.gid;await XZ($,Q.apikey,"org.create_app",{orgId:Y},{message:`Insufficient permissions to create an app in organization ${Y}`,silent:I});let{name:H,icon:X}=Q;if(H=H||E.config?.appName||"Unknown",X=X||"resources/icon.png",!X||!H){if(!I)L.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!I)L.info(`Adding ${D} to Capgo`);let F=null,W=null;if(oHA(X)){if(F=aHA(X),W=DY(X)||"image/png",!I)L.warn(`Found app icon ${X}`)}else if(oHA(A$)){if(F=aHA(A$),W=DY(A$)||"image/png",!I)L.warn(`Found app icon ${A$}`)}else if(!I)L.warn(`Cannot find app icon in any of the following locations: ${X}, ${A$}`);let q=VC(Y,D),Z=BT;if(F&&W){let{error:w}=await $.storage.from("images").upload(q,F,{contentType:W,upsert:!0});if(w){if(!I)L.error(`Could not add app ${jA(w)}`);throw Error(`Could not add app ${jA(w)}`)}Z=q}let{error:N}=await $.from("apps").insert({icon_url:Z,owner_org:Y,user_id:G,name:H,app_id:D});if(N){if(!I)L.error(`Could not add app ${jA(N)}`);throw Error(`Could not add app ${jA(N)}`)}if(await HB(Q.apikey,{channel:"app",event:"App Created",icon:"\uD83C\uDD95",user_id:Y,tags:{"app-id":D},notify:!1,notifyConsole:!0}).catch(()=>{}),!I)L.success(`App ${D} added to Capgo`),L.info("This app is accessible to all members of your organization based on their permissions"),L.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${D}"`),tQ("Done ✅");return{appId:D,organizationUid:Y,userId:G,name:H,iconUrl:Z,signedURL:Z}}async function sHA(A,Q){await CZ(A,Q,void 0)}jL();TB();FB();async function FZ(A,Q,B=!1,I=!1){if(!B)sQ("Deleting");Q.apikey=Q.apikey||vQ();let E=await rQ(),D=fB(A,E?.config);if(!Q.apikey){if(!B)L.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!B)L.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await eQ(Q.apikey,Q.supaHost,Q.supaAnon),G=await T0($,Q.apikey);await uI($,Q.apikey,D,5,B);let{data:Y,error:H}=await $.from("apps").select("owner_org ( created_by, id )").eq("app_id",D).single(),X=Y;if(!I&&!H&&(X?.owner_org.created_by??"")!==G)if(!B){L.warn("Deleting the app is not recommended for users that are not the organization owner"),L.warn("You are invited as a super_admin but your are not the owner"),L.warn("It's strongly recommended that you do not continue!");let N=await M1({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(sB(N)||N==="no")throw L.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(H&&!B)L.warn(`Cannot get the app owner ${jA(H)}`);let{error:F}=X?.owner_org.id?await $.storage.from("images").remove([VC(X.owner_org.id,D)]):{error:null};if(F&&!B)L.error("Could not delete app logo");let{error:W}=await $.storage.from(`apps/${D}/${G}`).remove(["versions"]);if(W&&!B)L.error("Could not delete app version");let{error:q}=await $.from("apps").delete().eq("app_id",D);if(q){if(!B)L.error("Could not delete app");throw Error(`Could not delete app: ${jA(q)}`)}let Z=await HE($,D);if(await HB(Q.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:Z,tags:{"app-id":D},notify:!1}).catch(()=>{}),!B)L.success("App deleted in Capgo"),tQ("Done ✅");return!0}async function tHA(A,Q){return FZ(A,Q,!1,!1)}TB();V9();FB();import{platform as xEQ,version as gEQ}from"node:os";import{version as bEQ}from"node:process";async function eHA(A){let Q={},B=Object.keys(A);return(await Promise.all(B.map((E)=>SL(E)))).forEach((E,D)=>{if(E)Q[B[D]]=E}),Q}async function yEQ(){let A=await e6(),Q={"@capgo/cli":N1.version};for(let[B,I]of A)if(B.startsWith("@capgo/")||B.startsWith("@capawesome/")||B.startsWith("capacitor"))Q[B]=I;return Q}async function kU(A,Q=!1){if(!Q)L.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let B=await rQ(),I=o$("",A.packageJson),E=B?.config?.plugins?.CapacitorUpdater?.version||I,D=B?.config?.appName||"",$=fB("",B?.config),G=B?.config?.webDir||"";if(!Q)L.info(` App Name: ${D}`),L.info(` App ID: ${$}`),L.info(` App Version: ${E}`),L.info(` Web Dir: ${G}`),L.info(` OS: ${xEQ()} ${gEQ()}`),L.info(` Node: ${bEQ}`),L.info(" Installed Dependencies:");let Y=await yEQ();if(Object.keys(Y).length===0){if(!Q)L.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!Q)for(let X of Object.keys(Y))L.info(` ${X}: ${Y[X]}`);let H={};if(!Q){let X=yI();X.start("Running: Loading latest dependencies"),H=await eHA(Y),X.stop("Latest Dependencies:");for(let F of Object.keys(H))L.info(` ${F}: ${H[F]}`)}else H=await eHA(Y);if(JSON.stringify(Y)!==JSON.stringify(H)){if(!Q)L.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!Q)L.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:D,appId:$,appVersion:E,webDir:G,installedDependencies:Y,latestDependencies:H}}async function AXA(A){return kU(A)}TB();l$();d1();FB();function fEQ(A){let Q=new YI;Q.headers=["Name","id","Created"],Q.rows=[];for(let B of A.toReversed())Q.rows.push([B.name??"",B.app_id,OC(B.created_at)]);L.success("Apps"),L.success(Q.toString())}async function hEQ(A,Q){let{data:B,error:I}=await A.from("apps").select().order("created_at",{ascending:!1});if(I){if(!Q)L.error("Apps not found");throw Error("Apps not found")}return B??[]}async function ql(A,Q=!1){if(!Q)sQ("List apps in Capgo");await b0(),A.apikey=A.apikey||vQ();let B=await eQ(A.apikey,A.supaHost,A.supaAnon);if(await T0(B,A.apikey),!Q)L.info("Getting active bundle in Capgo");let I=await hEQ(B,Q);if(!I.length){if(!Q)L.error("No apps found");throw Error("No apps found")}if(!Q)L.info(`Active app in Capgo: ${I.length}`),fEQ(I),tQ("Done ✅");return I}async function QXA(A){return ql(A,!1)}TB();import{existsSync as BXA,readFileSync as IXA}from"node:fs";FB();async function Zl(A,Q,B=!1){if(!B)sQ("Set app");Q.apikey=Q.apikey||vQ();let I=await rQ();if(A=fB(A,I?.config),!Q.apikey){if(!B)L.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let E=await eQ(Q.apikey,Q.supaHost,Q.supaAnon);await uI(E,Q.apikey,A,4,B);let D=await HE(E,A),{name:$,icon:G,retention:Y,exposeMetadata:H}=Q;if(Y&&Number.isNaN(Number(Y))){if(!B)L.error("retention value must be a number");throw Error("Retention value must be a number")}else if(Y&&Y<0){if(!B)L.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(Y&&Y>=63113904){if(!B)L.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let X,F,W=VC(D,A),q=BT;if(G&&BXA(G)){if(X=IXA(G),F=DY(G)||"image/png",!B)L.warn(`Found app icon ${G}`)}else if(BXA(A$)){if(X=IXA(A$),F=DY(A$)||"image/png",!B)L.warn(`Found app icon ${A$}`)}else if(!B)L.warn(`Cannot find app icon in any of the following locations: ${G}, ${A$}`);if(X&&F){let{error:N}=await E.storage.from("images").upload(W,X,{contentType:F,upsert:!0});if(N){if(!B)L.error(`Could not set app ${jA(N)}`);throw Error(`Could not set app: ${jA(N)}`)}q=W}let{error:Z}=await E.from("apps").update({icon_url:q,name:$,retention:!Y?void 0:Y*24*60*60,expose_metadata:H}).eq("app_id",A);if(Z){if(!B)L.error(`Could not set app ${jA(Z)}`);throw Error(`Could not set app: ${jA(Z)}`)}if(await HB(Q.apikey,{channel:"app",event:"App Updated",icon:"\uD83D\uDCDD",user_id:D,tags:{"app-id":A},notify:!1,notifyConsole:!0}).catch(()=>{}),!B)tQ("Done ✅");return!0}async function EXA(A,Q){return Zl(A,Q)}TB();Aq();FB();async function Ml(A,Q,B=!1){if(!B)sQ("Set a specific setting in capacitor config");if(Q.bool&&Q.string){if(!B)L.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!Q.bool&&!Q.string){if(!B)L.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(Q.bool&&Q.bool!=="true"&&Q.bool!=="false"){if(!B)L.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let I=await rQ(),E=I.config,D=A.split(".");if(D.length===0){if(!B)L.error("Invalid path");throw Error("Invalid config path")}for(let G of D.slice(0,-1)){if(!Object.hasOwn(E,G))E[G]={};E=E[G]}let $=Q.bool?Q.bool==="true":Q.string;if(E[D.at(-1)]=$,await p9(I,!0),!B)L.success(`Set "${A}" to "${$}"`)}catch(I){if(!B)L.error(`Cannot set config in capacitor settings ${jA(I)}`);throw Error(`Cannot set capacitor config: ${jA(I)}`)}if(!B)tQ("Done ✅")}async function DXA(A,Q){return Ml(A,Q)}TB();FB();import{existsSync as IG,readFileSync as C1Q}from"node:fs";import{resolve as EG}from"node:path";import{cwd as UT,exit as a0}from"node:process";import{Buffer as aEQ}from"node:buffer";import{readFile as sEQ}from"node:fs/promises";import{homedir as tEQ}from"node:os";import{join as $T}from"node:path";import{cwd as YXA,env as eEQ}from"node:process";import{randomBytes as uEQ}from"node:crypto";import{appendFile as mEQ,chmod as cEQ,lstat as $XA,mkdir as lEQ,readFile as dEQ,rename as pEQ,rm as nEQ,writeFile as iEQ}from"node:fs/promises";import{dirname as rEQ,join as oEQ}from"node:path";async function IT(A){try{if((await $XA(A)).isSymbolicLink())throw Error(`Refusing to access symbolic link path: ${A}`)}catch(Q){if(Q.code!=="ENOENT")throw Q}}async function TC(A,Q){if(await IT(A),await lEQ(A,{recursive:!0,mode:Q}),!(await $XA(A)).isDirectory())throw Error(`Expected a directory at ${A}`);await cEQ(A,Q)}async function GXA(A,Q,B=384){await IT(A),await mEQ(A,Q,{mode:B})}async function a$(A,Q,B={}){let I=B.mode??384;await IT(A);let E=oEQ(rEQ(A),`.capgo-tmp-${uEQ(8).toString("hex")}`);try{await iEQ(E,Q,{encoding:B.encoding??"utf-8",mode:I}),await pEQ(E,A)}catch(D){throw await nEQ(E,{force:!0}),D}}async function ET(A){return await IT(A),await dEQ(A,"utf-8")}var UXA=$T(tEQ(),".capgo-credentials"),HXA=$T(UXA,"credentials.json"),XXA=".capgo-credentials.json",NJ=3600,JXA=604800;function CXA(A){return A?$T(YXA(),XXA):HXA}function A1Q(A){return A?null:UXA}function SC(A){let B=A.trim().match(/^(\d+)\s*([smhd])?$/i);if(!B)throw Error("output-retention must be a number with optional unit: s, m, h, d (examples: 1h, 3600s, 2d)");let I=Number.parseInt(B[1],10),E=(B[2]||"s").toLowerCase(),$=I*(E==="s"?1:E==="m"?60:E==="h"?3600:86400);if($<NJ)throw Error(`output-retention must be at least ${NJ} seconds (1h)`);if($>JXA)throw Error(`output-retention must be at most ${JXA} seconds (7d)`);return $}function BG(A){if(A===void 0)return!0;if(typeof A==="boolean")return A;let Q=A.trim().toLowerCase();if(Q==="true"||Q==="1"||Q==="yes")return!0;if(Q==="false"||Q==="0"||Q==="no")return!1;throw Error("output-upload must be true/false (examples: --output-upload, --output-upload false)")}function jC(A){if(typeof A==="string"&&A.trim()==="")throw Error("in-app-update-priority must be an integer between 0 and 5");let Q=typeof A==="number"?A:Number(A);if(!Number.isInteger(Q)||Q<0||Q>5)throw Error("in-app-update-priority must be an integer between 0 and 5");return Q}async function DT(A){return(await sEQ(A)).toString("base64")}async function vU(A){try{let Q=CXA(A),B=await ET(Q);return JSON.parse(B)}catch{return{}}}async function R1(A,Q){if(Q!==void 0){let E=await vU(Q);if(!A){let D=Object.keys(E);if(D.length===0)return null;return E[D[0]]||null}return E[A]||null}let B=await vU(!0),I=await vU(!1);if(!A){let E=Object.keys(B);if(E.length>0)return B[E[0]]||null;let D=Object.keys(I);if(D.length===0)return null;return I[D[0]]||null}return B[A]||I[A]||null}async function WZ(A,Q){let B=CXA(Q),I=A1Q(Q);if(I)await TC(I,448);await a$(B,JSON.stringify(A,null,2),{mode:384})}function tE(A){return eEQ[A]}function Q1Q(){let A={},Q=tE("BUILD_CERTIFICATE_BASE64"),B=tE("P12_PASSWORD"),I=tE("APPLE_KEY_ID"),E=tE("APPLE_ISSUER_ID"),D=tE("APPLE_KEY_CONTENT"),$=tE("APP_STORE_CONNECT_TEAM_ID"),G=tE("CAPGO_IOS_SCHEME"),Y=tE("CAPGO_IOS_TARGET"),H=tE("CAPGO_IOS_PROVISIONING_MAP"),X=tE("CAPGO_IOS_PROVISIONING_MAP_BASE64"),F=H||(X?aEQ.from(X,"base64").toString("utf-8"):void 0),q=tE("CAPGO_ANDROID_FLAVOR")?.trim()||void 0,Z=tE("ANDROID_KEYSTORE_FILE"),N=tE("KEYSTORE_KEY_ALIAS"),w=tE("KEYSTORE_KEY_PASSWORD"),O=tE("KEYSTORE_STORE_PASSWORD"),T=tE("PLAY_CONFIG_JSON"),R=tE("PLAY_STORE_IN_APP_UPDATE_PRIORITY"),S=tE("BUILD_OUTPUT_UPLOAD_ENABLED"),k=tE("BUILD_OUTPUT_RETENTION_SECONDS"),l=tE("SKIP_BUILD_NUMBER_BUMP"),s=tE("CAPGO_IOS_DISTRIBUTION");if(Q)A.BUILD_CERTIFICATE_BASE64=Q;if(B)A.P12_PASSWORD=B;if(I)A.APPLE_KEY_ID=I;if(E)A.APPLE_ISSUER_ID=E;if(D)A.APPLE_KEY_CONTENT=D;if($)A.APP_STORE_CONNECT_TEAM_ID=$;if(G)A.CAPGO_IOS_SCHEME=G;if(Y)A.CAPGO_IOS_TARGET=Y;if(s)A.CAPGO_IOS_DISTRIBUTION=s;if(F)A.CAPGO_IOS_PROVISIONING_MAP=F;let e=q?.trim();if(e)A.CAPGO_ANDROID_FLAVOR=e;if(Z)A.ANDROID_KEYSTORE_FILE=Z;if(N)A.KEYSTORE_KEY_ALIAS=N;if(w)A.KEYSTORE_KEY_PASSWORD=w;if(O)A.KEYSTORE_STORE_PASSWORD=O;if(T)A.PLAY_CONFIG_JSON=T;if(R)A.PLAY_STORE_IN_APP_UPDATE_PRIORITY=String(jC(R));if(S)A.BUILD_OUTPUT_UPLOAD_ENABLED=BG(S)?"true":"false";if(k)A.BUILD_OUTPUT_RETENTION_SECONDS=String(SC(k));if(l)A.SKIP_BUILD_NUMBER_BUMP=BG(l)?"true":"false";return A}async function FXA(A,Q,B){let I=await R1(A),E=Q1Q(),D={...I?.[Q]||{}};if(Object.assign(D,E),B)Object.assign(D,B);if(Q==="android"){let $=!!D.KEYSTORE_KEY_PASSWORD,G=!!D.KEYSTORE_STORE_PASSWORD;if($&&!G)D.KEYSTORE_STORE_PASSWORD=D.KEYSTORE_KEY_PASSWORD;else if(!$&&G)D.KEYSTORE_KEY_PASSWORD=D.KEYSTORE_STORE_PASSWORD}return Object.keys(D).length>0?D:void 0}async function Nl(A,Q,B={}){let I={...B};if(A==="ios"){if(Q.BUILD_CERTIFICATE_FILE)I.BUILD_CERTIFICATE_BASE64=await DT(Q.BUILD_CERTIFICATE_FILE);if(Q.APPLE_KEY_FILE)I.APPLE_KEY_CONTENT=await DT(Q.APPLE_KEY_FILE)}else if(A==="android"){if(Q.ANDROID_KEYSTORE_PATH)I.ANDROID_KEYSTORE_FILE=await DT(Q.ANDROID_KEYSTORE_PATH);if(Q.PLAY_CONFIG_JSON_PATH)I.PLAY_CONFIG_JSON=await DT(Q.PLAY_CONFIG_JSON_PATH)}return I}async function s$(A,Q,B,I){let E=await vU(I),D=E[A]||{};D[Q]={...D[Q],...B},E[A]=D,await WZ(E,I)}async function PC(A,Q,B,I){let E=await vU(I),D=E[A];if(!D||!D[Q])return;for(let $ of B)delete D[Q][$];E[A]=D,await WZ(E,I)}async function _C(A,Q,B){let I=await vU(B);if(!A){await WZ({},B);return}if(!Q){delete I[A],await WZ(I,B);return}let E=I[A]||{};if(delete E[Q],Object.keys(E).length===0)delete I[A];else I[A]=E;await WZ(I,B)}async function GT(A,Q,B){return(await R1(A,B))?.[Q]||null}async function kC(A){let Q=await vU(A);return Object.keys(Q)}function xU(){return $T(YXA(),XXA)}function gU(){return HXA}import{Buffer as WXA}from"node:buffer";import{createHash as B1Q}from"node:crypto";import{readFileSync as KXA}from"node:fs";function wl(A){let Q=KXA(A);return Ol(Q,A)}function Ll(A){let Q=WXA.from(A,"base64");return Ol(Q,"<base64 input>")}function qXA(A){let Q=KXA(A);return I1Q(Q,A)}function Ol(A,Q){let E=A.indexOf("<?xml"),D=E!==-1?A.indexOf("</plist>",E):-1;if(E===-1||D===-1||D<=E)throw Error(`No embedded plist found in mobileprovision file: ${Q}`);let $=A.slice(E,D+8).toString("utf-8"),G=JT($,"Name");if(!G)throw Error(`Mobileprovision file missing required 'Name' key: ${Q}`);let Y=JT($,"UUID")||"",H=G1Q($,"Entitlements","application-identifier")||"",X=H.indexOf("."),F=X!==-1?H.slice(X+1):H;return{name:G,uuid:Y,applicationIdentifier:H,bundleId:F}}function I1Q(A,Q){let B=Ol(A,Q),I="<?xml",E="</plist>",D=A.indexOf("<?xml"),$=A.indexOf("</plist>",D),G=A.slice(D,$+8).toString("utf-8"),Y=E1Q(G),H=JT(G,"ExpirationDate","date")||"",X=D1Q(G),F=$1Q(G);return{...B,teamId:Y,expirationDate:H,profileType:X,certificateSha1s:F}}function E1Q(A){let Q=A.match(/<key>TeamIdentifier<\/key>\s*<array>([\s\S]*?)<\/array>/);if(Q){let B=Q[1].match(/<string>([^<]+)<\/string>/);if(B)return B[1]}return""}function D1Q(A){if(/<key>ProvisionsAllDevices<\/key>\s*<true\s*\/>/.test(A))return"enterprise";let B=/<key>ProvisionedDevices<\/key>\s*<array>/.test(A),I=/<key>get-task-allow<\/key>\s*<true\s*\/>/.test(A);if(B){if(I)return"development";return"ad_hoc"}return"app_store"}function $1Q(A){let Q=A.match(/<key>DeveloperCertificates<\/key>\s*<array>([\s\S]*?)<\/array>/);if(!Q)return[];let B=[];for(let I of Q[1].matchAll(/<data>([\s\S]*?)<\/data>/g)){let E=I[1].replace(/\s+/g,"");if(!E)continue;try{let D=WXA.from(E,"base64"),$=B1Q("sha1").update(D).digest("hex").toLowerCase();B.push($)}catch{}}return B}function JT(A,Q,B="string"){let I=zl(B),E=new RegExp(`<key>${zl(Q)}</key>\\s*<${I}>([^<]*)</${I}>`),D=A.match(E);return D?D[1]:null}function G1Q(A,Q,B){let I=new RegExp(`<key>${zl(Q)}</key>\\s*<dict>([\\s\\S]*?)</dict>`),E=A.match(I);if(!E)return null;return JT(E[1],B)}function zl(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}import{existsSync as ZXA,readdirSync as J1Q,readFileSync as Y1Q}from"node:fs";import{join as zXA}from"node:path";var U1Q=new Set(["com.apple.product-type.application","com.apple.product-type.app-extension","com.apple.product-type.app-extension.messages","com.apple.product-type.app-extension.messages-sticker-pack","com.apple.product-type.application.watchapp2","com.apple.product-type.watchkit2-extension","com.apple.product-type.extensionkit-extension","com.apple.product-type.application.on-demand-install-capable"]);function KZ(A){if(!A)return[];let Q=/\w+\s*\/\*[^*]*\*\/\s*=\s*\{[^}]*isa\s*=\s*PBXNativeTarget;[^}]*\}/g,B=[];for(let I of A.matchAll(Q)){let E=I[0],D=E.match(/name\s*=\s*("[^"]*"|[^;\s]+)\s*;/),$=E.match(/productType\s*=\s*"([^"]+)"/),G=E.match(/buildConfigurationList\s*=\s*(\w+)/);if(!D||!$||!G)continue;let Y=D[1].replace(/^"|"$/g,""),H=$[1],X=G[1];if(!U1Q.has(H))continue;let F=H1Q(A,X);B.push({name:Y,bundleId:F,productType:H})}return B}function H1Q(A,Q){let B=new RegExp(`${NXA(Q)}\\s*\\/\\*[^*]*\\*\\/\\s*=\\s*\\{[^}]*isa\\s*=\\s*XCConfigurationList;[^}]*\\}`),I=A.match(B);if(!I)return"";let E=I[0].match(/buildConfigurations\s*=\s*\(([^)]*)\)/);if(!E)return"";let D=Array.from(E[1].matchAll(/(\w+)/g),(G)=>G[1]);if(D.length===0)return"";let $="";for(let G of D){let Y=new RegExp(`${NXA(G)}\\s*\\/\\*[^*]*\\*\\/\\s*=\\s*\\{(?:[^{}]*\\{[^}]*\\})*[^}]*\\}`),H=A.match(Y);if(!H)continue;let X=H[0],F=X.match(/PRODUCT_BUNDLE_IDENTIFIER\s*=\s*"?([^";\s]+)"?\s*;/);if(!F)continue;let W=X.match(/name\s*=\s*("[^"]*"|[^;\s]+)\s*;/);if((W?W[1].replace(/^"|"$/g,""):"")==="Release")return F[1];if(!$)$=F[1]}return $}function X1Q(A){let Q=zXA(A,"ios"),B=MXA(Q);if(B)return B;return MXA(A)}function MXA(A){if(!ZXA(A))return null;let Q;try{Q=J1Q(A)}catch{return null}for(let B of Q)if(B.endsWith(".xcodeproj")){let I=zXA(A,B,"project.pbxproj");if(ZXA(I))return I}return null}function YT(A){let Q=X1Q(A);if(!Q)return null;try{return Y1Q(Q,"utf-8")}catch{return null}}function NXA(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HT(A,Q){let B={},I=[];if(Q){let E=YT(Q);if(E)I=KZ(E)}for(let E of A){let D=E.indexOf("="),$,G;if(D!==-1){if($=E.slice(0,D).trim(),G=E.slice(D+1).trim(),!$)throw Error(`Empty bundle ID in provisioning profile entry: "${E}"`);if(!G)throw Error(`Empty profile path in provisioning profile entry: "${E}"`)}else{if(G=E.trim(),!G)throw Error("Empty provisioning profile entry");let W=EG(G);if(!IG(W))throw Error(`Provisioning profile not found: ${W}`);let q=wl(W);if(I.find((N)=>N.bundleId===q.bundleId))$=q.bundleId;else if(q.bundleId.endsWith(".*")){let N=I.find((w)=>w.productType==="com.apple.product-type.application");if(N)$=N.bundleId;else $=q.bundleId}else $=q.bundleId}let Y=EG(G);if(!IG(Y))throw Error(`Provisioning profile not found: ${Y}`);if(B[$])throw Error(`Duplicate provisioning profile for bundle ID "${$}". Each bundle ID can only have one profile.`);let X=C1Q(Y).toString("base64"),F=wl(Y);B[$]={profile:X,name:F.name}}return B}async function wXA(A){try{if(!A.platform)L.error("Platform is required. Use --platform ios or --platform android"),a0(1);let Q=await rQ(),B=fB(A.appId,Q?.config);if(!B)L.error("❌ App ID is required."),L.error(""),L.error("Either:"),L.error(" 1. Run this command from a Capacitor project directory, OR"),L.error(" 2. Provide --appId explicitly: --appId com.example.app"),L.error(""),a0(1);let I=A.platform;L.info(`
579
579
  \uD83D\uDD12 SECURITY NOTICE:`),L.info(" - Credentials saved to ~/.capgo-credentials/credentials.json (local only)"),L.info(" - When building, credentials are sent to Capgo servers"),L.info(" - Credentials are NEVER stored on Capgo servers"),L.info(" - Auto-deleted after build"),L.info(" - Builds sent directly to app stores"),L.info(` - Build outputs can optionally be uploaded for time-limited download links
580
- `);let E={},D={};if(A.outputUpload!==void 0)E.BUILD_OUTPUT_UPLOAD_ENABLED=BG(A.outputUpload)?"true":"false";else E.BUILD_OUTPUT_UPLOAD_ENABLED="false",L.info("ℹ️ --output-upload not specified, defaulting to false (no Capgo download link)");if(A.outputRetention)E.BUILD_OUTPUT_RETENTION_SECONDS=String(SC(A.outputRetention));else E.BUILD_OUTPUT_RETENTION_SECONDS=String(NJ),L.info(`ℹ️ --output-retention not specified, defaulting to ${NJ}s (1 hour)`);if(A.skipBuildNumberBump!==void 0)E.SKIP_BUILD_NUMBER_BUMP=BG(A.skipBuildNumberBump)?"true":"false";else L.info("ℹ️ --skip-build-number-bump not specified, build number will be auto-incremented (default)");if(I==="ios"){if(A.certificate){let H=EG(A.certificate);if(!IG(H))L.error(`Certificate file not found: ${H}`),a0(1);D.BUILD_CERTIFICATE_FILE=H,L.info(`✓ Certificate file: ${H}`)}if(A.iosProvisioningProfile&&A.iosProvisioningProfile.length>0)try{let H=HT(A.iosProvisioningProfile,UT());E.CAPGO_IOS_PROVISIONING_MAP=JSON.stringify(H);let X=Object.keys(H);for(let W of X)L.info(`✓ Provisioning profile for ${W}: ${H[W].name}`);let F=YT(UT());if(F){let q=KZ(F).filter((Z)=>!H[Z.bundleId]);if(q.length>0){L.warn("⚠️ The following signable targets have no provisioning profile:");for(let Z of q)L.warn(` ${Z.name} (${Z.bundleId})`);L.warn(" Add more --ios-provisioning-profile entries if these targets need signing.")}}}catch(H){L.error(`Failed to process provisioning profiles: ${H instanceof Error?H.message:String(H)}`),a0(1)}if(A.appleKey){let H=EG(A.appleKey);if(!IG(H))L.error(`Apple key file not found: ${H}`),a0(1);D.APPLE_KEY_FILE=H,L.info(`✓ Apple key file: ${H}`)}if(A.p12Password)E.P12_PASSWORD=A.p12Password;else if(D.BUILD_CERTIFICATE_FILE)L.warn("⚠️ No P12 password provided - assuming certificate has no password"),L.warn(' If your certificate requires a password, add --p12-password "your-password"');if(A.appleKeyId)E.APPLE_KEY_ID=A.appleKeyId;if(A.appleIssuerId)E.APPLE_ISSUER_ID=A.appleIssuerId;if(A.appleTeamId)E.APP_STORE_CONNECT_TEAM_ID=A.appleTeamId;if(A.iosDistribution)E.CAPGO_IOS_DISTRIBUTION=A.iosDistribution;else E.CAPGO_IOS_DISTRIBUTION="app_store",L.info("ℹ️ --ios-distribution not specified, defaulting to app_store (App Store + TestFlight)")}else if(I==="android"){if(A.keystore){let F=EG(A.keystore);if(!IG(F))L.error(`Keystore file not found: ${F}`),a0(1);D.ANDROID_KEYSTORE_PATH=F,L.info(`✓ Keystore file: ${F}`)}if(A.playConfig){let F=EG(A.playConfig);if(!IG(F))L.error(`Play config file not found: ${F}`),a0(1);D.PLAY_CONFIG_JSON_PATH=F,L.info(`✓ Play Store config: ${F}`)}if(A.keystoreAlias)E.KEYSTORE_KEY_ALIAS=A.keystoreAlias;let H=!!A.keystoreKeyPassword,X=!!A.keystoreStorePassword;if(H&&!X)E.KEYSTORE_KEY_PASSWORD=A.keystoreKeyPassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreKeyPassword;else if(!H&&X)E.KEYSTORE_KEY_PASSWORD=A.keystoreStorePassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreStorePassword;else if(H&&X)E.KEYSTORE_KEY_PASSWORD=A.keystoreKeyPassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreStorePassword;if(A.androidFlavor){let F=A.androidFlavor.trim();if(F)E.CAPGO_ANDROID_FLAVOR=F,L.info(`✓ Android flavor: ${F}`);else L.warn("Ignoring whitespace-only --android-flavor value")}else L.info("ℹ️ --android-flavor not specified, no product flavor will be used");if(A.inAppUpdatePriority!==void 0)try{let F=jC(A.inAppUpdatePriority);E.PLAY_STORE_IN_APP_UPDATE_PRIORITY=String(F),L.info(`✓ In-app update priority: ${F}`)}catch(F){L.error(`❌ ${F.message}`),a0(1)}}let $=await Nl(I,D,E),G=[];if(I==="ios"){let H=$.CAPGO_IOS_DISTRIBUTION||"app_store",X=["app_store","ad_hoc"];if(!X.includes(H))L.error(`❌ Invalid --ios-distribution value: '${H}'. Must be one of: ${X.join(", ")}`),a0(1);let F=H;if(!$.BUILD_CERTIFICATE_BASE64)G.push("--certificate <path> (P12 certificate file)");if(!$.CAPGO_IOS_PROVISIONING_MAP)G.push("--ios-provisioning-profile <path> (Provisioning profile file)");if(F==="app_store"){if(!($.APPLE_KEY_ID&&$.APPLE_ISSUER_ID&&$.APPLE_KEY_CONTENT))if($.BUILD_OUTPUT_UPLOAD_ENABLED==="false")G.push("--apple-key/--apple-key-id/--apple-issuer-id OR --output-upload (Build has no output destination - enable either TestFlight upload or Capgo download link)");else L.warn("⚠️ App Store Connect API key not provided - TestFlight auto-upload is disabled"),L.warn(" When building without API key, you must also set --skip-build-number-bump"),L.warn(" To enable auto-upload, add: --apple-key ./AuthKey.p8 --apple-key-id KEY_ID --apple-issuer-id ISSUER_ID")}else if(F==="ad_hoc")L.info("\uD83D\uDCE6 Ad-hoc distribution mode: App Store Connect API key not required");if(!$.APP_STORE_CONNECT_TEAM_ID)G.push("--apple-team-id <id> (App Store Connect Team ID)")}else if(I==="android"){if(!$.ANDROID_KEYSTORE_FILE)G.push("--keystore <path> (Keystore file)");if(!$.KEYSTORE_KEY_ALIAS)G.push("--keystore-alias <alias> (Keystore alias)");if(!$.KEYSTORE_KEY_PASSWORD&&!$.KEYSTORE_STORE_PASSWORD)G.push("--keystore-key-password <password> OR --keystore-store-password <password> (At least one password required, will be used for both)");if(!$.PLAY_CONFIG_JSON)if($.BUILD_OUTPUT_UPLOAD_ENABLED==="false")G.push("--play-config <path> OR --output-upload (Build has no output destination - enable either Play Store upload or Capgo download link)");else L.warn("⚠️ --play-config not provided - builds will succeed but cannot auto-upload to Play Store"),L.warn(" To enable auto-upload, add: --play-config ./play-store-service-account.json")}if(G.length>0){L.error(`❌ Missing required credentials for ${I.toUpperCase()}:`),L.error("");for(let H of G)L.error(` • ${H}`);if(L.error(""),L.error("Example:"),I==="ios")L.error(" npx @capgo/cli build credentials save --platform ios \\"),L.error(" --certificate ./cert.p12 \\"),L.error(' --p12-password "your-password" \\ # Optional if cert has no password'),L.error(" --ios-provisioning-profile ./profile.mobileprovision \\"),L.error(' --apple-team-id "XXXXXXXXXX" \\'),L.error(" --output-upload"),L.error(""),L.error(" For multi-target apps (e.g., with extensions), repeat --ios-provisioning-profile:"),L.error(" --ios-provisioning-profile ./App.mobileprovision \\"),L.error(" --ios-provisioning-profile com.example.widget=./Widget.mobileprovision"),L.error(""),L.error(" Optionally replace --output-upload with --apple-key, --apple-key-id, --apple-issuer-id for TestFlight auto-upload.");else L.error(" npx @capgo/cli build credentials save --platform android \\"),L.error(" --keystore ./release.keystore \\"),L.error(' --keystore-alias "my-key-alias" \\'),L.error(' --keystore-key-password "password"'),L.error(""),L.error(" Note: If both key and store passwords are the same, you only need to provide one."),L.error(" If they differ, provide both --keystore-key-password and --keystore-store-password."),L.error(" Optionally add --play-config for auto-uploading to Google Play Store.");L.error(""),a0(1)}if(await s$(B,I,$,A.local),I==="android"&&!A.androidFlavor)await PC(B,I,["CAPGO_ANDROID_FLAVOR"],A.local);if(I==="android"&&A.inAppUpdatePriority===void 0)await PC(B,I,["PLAY_STORE_IN_APP_UPDATE_PRIORITY"],A.local);try{let H=vQ(!0);if(H){let X=await eQ(H),F=await HE(X,B);await HB(H,{channel:"credentials",event:"Credentials saved",icon:"\uD83D\uDD10",user_id:F,tags:{"app-id":B,platform:I,storage:A.local?"local":"global"},notify:!1}).catch()}}catch{}let Y=A.local?xU():gU();L.success(`
580
+ `);let E={},D={};if(A.outputUpload!==void 0)E.BUILD_OUTPUT_UPLOAD_ENABLED=BG(A.outputUpload)?"true":"false";else E.BUILD_OUTPUT_UPLOAD_ENABLED="false",L.info("ℹ️ --output-upload not specified, defaulting to false (no Capgo download link)");if(A.outputRetention)E.BUILD_OUTPUT_RETENTION_SECONDS=String(SC(A.outputRetention));else E.BUILD_OUTPUT_RETENTION_SECONDS=String(NJ),L.info(`ℹ️ --output-retention not specified, defaulting to ${NJ}s (1 hour)`);if(A.skipBuildNumberBump!==void 0)E.SKIP_BUILD_NUMBER_BUMP=BG(A.skipBuildNumberBump)?"true":"false";else L.info("ℹ️ --skip-build-number-bump not specified, build number will be auto-incremented (default)");if(I==="ios"){if(A.certificate){let H=EG(A.certificate);if(!IG(H))L.error(`Certificate file not found: ${H}`),a0(1);D.BUILD_CERTIFICATE_FILE=H,L.info(`✓ Certificate file: ${H}`)}if(A.iosProvisioningProfile&&A.iosProvisioningProfile.length>0)try{let H=HT(A.iosProvisioningProfile,UT());E.CAPGO_IOS_PROVISIONING_MAP=JSON.stringify(H);let X=Object.keys(H);for(let W of X)L.info(`✓ Provisioning profile for ${W}: ${H[W].name}`);let F=YT(UT());if(F){let q=KZ(F).filter((Z)=>!H[Z.bundleId]);if(q.length>0){L.warn("⚠️ The following signable targets have no provisioning profile:");for(let Z of q)L.warn(` ${Z.name} (${Z.bundleId})`);L.warn(" Add more --ios-provisioning-profile entries if these targets need signing.")}}}catch(H){L.error(`Failed to process provisioning profiles: ${H instanceof Error?H.message:String(H)}`),a0(1)}if(A.appleKey){let H=EG(A.appleKey);if(!IG(H))L.error(`Apple key file not found: ${H}`),a0(1);D.APPLE_KEY_FILE=H,L.info(`✓ Apple key file: ${H}`)}if(A.p12Password)E.P12_PASSWORD=A.p12Password;else if(D.BUILD_CERTIFICATE_FILE)L.warn("⚠️ No P12 password provided - assuming certificate has no password"),L.warn(' If your certificate requires a password, add --p12-password "your-password"');if(A.appleKeyId)E.APPLE_KEY_ID=A.appleKeyId;if(A.appleIssuerId)E.APPLE_ISSUER_ID=A.appleIssuerId;if(A.appleTeamId)E.APP_STORE_CONNECT_TEAM_ID=A.appleTeamId;if(A.iosDistribution)E.CAPGO_IOS_DISTRIBUTION=A.iosDistribution;else E.CAPGO_IOS_DISTRIBUTION="app_store",L.info("ℹ️ --ios-distribution not specified, defaulting to app_store (App Store + TestFlight)")}else if(I==="android"){if(A.keystore){let F=EG(A.keystore);if(!IG(F))L.error(`Keystore file not found: ${F}`),a0(1);D.ANDROID_KEYSTORE_PATH=F,L.info(`✓ Keystore file: ${F}`)}if(A.playConfig){let F=EG(A.playConfig);if(!IG(F))L.error(`Play config file not found: ${F}`),a0(1);D.PLAY_CONFIG_JSON_PATH=F,L.info(`✓ Play Store config: ${F}`)}if(A.keystoreAlias)E.KEYSTORE_KEY_ALIAS=A.keystoreAlias;let H=!!A.keystoreKeyPassword,X=!!A.keystoreStorePassword;if(H&&!X)E.KEYSTORE_KEY_PASSWORD=A.keystoreKeyPassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreKeyPassword;else if(!H&&X)E.KEYSTORE_KEY_PASSWORD=A.keystoreStorePassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreStorePassword;else if(H&&X)E.KEYSTORE_KEY_PASSWORD=A.keystoreKeyPassword,E.KEYSTORE_STORE_PASSWORD=A.keystoreStorePassword;if(A.androidFlavor){let F=A.androidFlavor.trim();if(F)E.CAPGO_ANDROID_FLAVOR=F,L.info(`✓ Android flavor: ${F}`);else L.warn("Ignoring whitespace-only --android-flavor value")}else L.info("ℹ️ --android-flavor not specified, no product flavor will be used");if(A.inAppUpdatePriority!==void 0)try{let F=jC(A.inAppUpdatePriority);E.PLAY_STORE_IN_APP_UPDATE_PRIORITY=String(F),L.info(`✓ In-app update priority: ${F}`)}catch(F){L.error(`❌ ${F.message}`),a0(1)}}let $=await Nl(I,D,E),G=[];if(I==="ios"){let H=$.CAPGO_IOS_DISTRIBUTION||"app_store",X=["app_store","ad_hoc"];if(!X.includes(H))L.error(`❌ Invalid --ios-distribution value: '${H}'. Must be one of: ${X.join(", ")}`),a0(1);let F=H;if(!$.BUILD_CERTIFICATE_BASE64)G.push("--certificate <path> (P12 certificate file)");if(!$.CAPGO_IOS_PROVISIONING_MAP)G.push("--ios-provisioning-profile <path> (Provisioning profile file)");if(F==="app_store"){if(!($.APPLE_KEY_ID&&$.APPLE_ISSUER_ID&&$.APPLE_KEY_CONTENT))if($.BUILD_OUTPUT_UPLOAD_ENABLED==="false")G.push("--apple-key/--apple-key-id/--apple-issuer-id OR --output-upload (Build has no output destination - enable either TestFlight upload or Capgo download link)");else L.warn("⚠️ App Store Connect API key not provided - TestFlight auto-upload is disabled"),L.warn(" When building without API key, you must also set --skip-build-number-bump"),L.warn(" To enable auto-upload, add: --apple-key ./AuthKey.p8 --apple-key-id KEY_ID --apple-issuer-id ISSUER_ID")}else if(F==="ad_hoc")L.info("\uD83D\uDCE6 Ad-hoc distribution mode: App Store Connect API key not required");if(!$.APP_STORE_CONNECT_TEAM_ID)G.push("--apple-team-id <id> (App Store Connect Team ID)")}else if(I==="android"){if(!$.ANDROID_KEYSTORE_FILE)G.push("--keystore <path> (Keystore file)");if(!$.KEYSTORE_KEY_ALIAS)G.push("--keystore-alias <alias> (Keystore alias)");if(!$.KEYSTORE_KEY_PASSWORD&&!$.KEYSTORE_STORE_PASSWORD)G.push("--keystore-key-password <password> OR --keystore-store-password <password> (At least one password required, will be used for both)");if(!$.PLAY_CONFIG_JSON)if($.BUILD_OUTPUT_UPLOAD_ENABLED==="false")G.push("--play-config <path> OR --output-upload (Build has no output destination - enable either Play Store upload or Capgo download link)");else L.warn("⚠️ --play-config not provided - builds will succeed but cannot auto-upload to Play Store"),L.warn(" To enable auto-upload, add: --play-config ./play-store-service-account.json")}if(G.length>0){L.error(`❌ Missing required credentials for ${I.toUpperCase()}:`),L.error("");for(let H of G)L.error(` • ${H}`);if(L.error(""),L.error("Example:"),I==="ios")L.error(" npx @capgo/cli build credentials save --platform ios \\"),L.error(" --certificate ./cert.p12 \\"),L.error(' --p12-password "your-password" \\ # Optional if cert has no password'),L.error(" --ios-provisioning-profile ./profile.mobileprovision \\"),L.error(' --apple-team-id "XXXXXXXXXX" \\'),L.error(" --output-upload"),L.error(""),L.error(" For multi-target apps (e.g., with extensions), repeat --ios-provisioning-profile:"),L.error(" --ios-provisioning-profile ./App.mobileprovision \\"),L.error(" --ios-provisioning-profile com.example.widget=./Widget.mobileprovision"),L.error(""),L.error(" Optionally replace --output-upload with --apple-key, --apple-key-id, --apple-issuer-id for TestFlight auto-upload.");else L.error(" npx @capgo/cli build credentials save --platform android \\"),L.error(" --keystore ./release.keystore \\"),L.error(' --keystore-alias "my-key-alias" \\'),L.error(' --keystore-key-password "password"'),L.error(""),L.error(" Note: If both key and store passwords are the same, you only need to provide one."),L.error(" If they differ, provide both --keystore-key-password and --keystore-store-password."),L.error(" Optionally add --play-config for auto-uploading to Google Play Store.");L.error(""),a0(1)}if(await s$(B,I,$,A.local),I==="android"&&!A.androidFlavor)await PC(B,I,["CAPGO_ANDROID_FLAVOR"],A.local);if(I==="android"&&A.inAppUpdatePriority===void 0)await PC(B,I,["PLAY_STORE_IN_APP_UPDATE_PRIORITY"],A.local);try{let H=vQ(!0);if(H){let X=await eQ(H),F=await HE(X,B);await HB(H,{channel:"credentials",event:"Credentials saved",icon:"\uD83D\uDD10",org_id:F,tracking_version:2,tags:{"app-id":B,platform:I,storage:A.local?"local":"global"},notify:!1}).catch()}}catch{}let Y=A.local?xU():gU();L.success(`
581
581
  ✅ ${I.toUpperCase()} credentials saved successfully for ${B}!`),L.info(` Location: ${Y}`),L.info(` Use: npx @capgo/cli build ${B} --platform ${I}
582
582
  `)}catch(Q){L.error(`Failed to save credentials: ${Q instanceof Error?Q.message:String(Q)}`),a0(1)}}async function LXA(A){try{let Q=A?.local?await kC(!0):[],B=A?.local?[]:await kC(!1),I=[...new Set([...Q,...B])];if(I.length===0){L.info("No saved credentials found."),L.info("Use: npx @capgo/cli build credentials save --platform <ios|android>");return}L.info(`
583
583
  \uD83D\uDCCB Saved Build Credentials:
@@ -714,11 +714,11 @@ ${B}
714
714
  </BUILD_LOG>
715
715
  `;return await LHQ(I,E),I}async function xZA(A){let Q=`${A.apiHost}/build/ai_analyze`;try{let B=await fetch(Q,{method:"POST",headers:{capgkey:A.apikey,"content-type":"application/json"},body:JSON.stringify({jobId:A.jobId,appId:A.appId,logs:A.logs}),signal:AbortSignal.timeout(60000)});if(B.status===200){let E=await B.json();if(typeof E.analysis!=="string")return{kind:"error",status:200,message:"malformed_response"};return{kind:"ok",analysis:E.analysis}}if(B.status===409)return{kind:"already_analyzed"};if(B.status===413)return{kind:"too_big"};let I;try{let E=await B.json();I=E.error||E.message}catch{}return{kind:"error",status:B.status,message:I}}catch(B){return{kind:"error",message:B instanceof Error?B.message:String(B)}}}var OHQ=10485760;async function Dn(A){try{return(await wHQ(z3(A))).size>OHQ}catch{return!1}}import RHQ from"node:process";var XG={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",cyan:"\x1B[36m",yellow:"\x1B[33m",gray:"\x1B[90m"};function $H(A,Q){return`${A}${Q}${XG.reset}`}function $n(A){return A.replace(/`([^`]+)`/g,(Q,B)=>$H(`${XG.cyan}${XG.dim}`,B)).replace(/\*\*([^*]+)\*\*/g,(Q,B)=>$H(XG.bold,B)).replace(/(^|[^*])\*([^*\s][^*]*)\*(?!\*)/g,(Q,B,I)=>`${B}${$H(XG.italic,I)}`)}function gZA(A,Q=RHQ.stdout.isTTY===!0){if(!Q)return A;let B=A.split(`
716
716
  `),I=[],E=!1,D=$H(XG.gray,"▎ ");for(let $ of B){if($.trimStart().startsWith("```")){E=!E;continue}if(E){I.push(`${D}${$}`);continue}let G=$.match(/^(#{1,6}) +(\S.*)$/);if(G){let X=G[2];I.push(""),I.push($H(`${XG.bold}${XG.cyan}`,X));continue}let Y=$.match(/^([ \t]*)(\d+)\. +(\S.*)$/);if(Y){let[,X,F,W]=Y;I.push(`${X}${$H(XG.yellow,`${F}.`)} ${$n(W)}`);continue}let H=$.match(/^([ \t]*)[-*] +(\S.*)$/);if(H){let[,X,F]=H;I.push(`${X}${$H(XG.yellow,"•")} ${$n(F)}`);continue}I.push($n($))}return I.join(`
717
- `)}FB();async function aS(A){try{await HB(A.apikey,{event:"CLI AI Build Analysis Choice",channel:"build-lifecycle",icon:"\uD83E\uDD16",notify:!1,user_id:A.orgId,tags:{app_id:A.appId,platform:A.platform,job_id:A.jobId,choice:A.choice,triggered_by:A.triggeredBy}})}catch{}}async function bZA(A){let Q={app_id:A.appId,platform:A.platform,job_id:A.jobId,result:A.result};if(A.result==="error"&&typeof A.errorStatus==="number"&&Number.isFinite(A.errorStatus))Q.error_status=String(A.errorStatus);try{await HB(A.apikey,{event:"CLI AI Build Analysis Result",channel:"build-lifecycle",icon:"\uD83E\uDD16",notify:!1,user_id:A.orgId,tags:Q})}catch{}}FB();var Gn=cA(Qn(),1);import{mkdir as VHQ,writeFile as THQ}from"node:fs/promises";import{dirname as SHQ,resolve as jHQ}from"node:path";import{cwd as PHQ}from"node:process";async function fZA(A,Q,B){let I=jHQ(PHQ(),A),E=`${I}.qr.png`;await VHQ(SHQ(I),{recursive:!0});let D=null,$=null;if(Q.outputUrl){try{D=await Gn.default.toString(Q.outputUrl,{type:"utf8",errorCorrectionLevel:"L"})}catch(Y){B?.(`Failed to render ASCII QR code: ${yZA(Y)}`)}try{await Gn.default.toFile(E,Q.outputUrl,{errorCorrectionLevel:"L",width:512}),$=E}catch(Y){B?.(`Failed to render PNG QR code at ${E}: ${yZA(Y)}`)}}let G={schemaVersion:1,jobId:Q.jobId,appId:Q.appId,platform:Q.platform,buildMode:Q.buildMode,status:Q.status,outputUrl:Q.outputUrl??null,qrCodeAscii:D,qrCodePngPath:$,finishedAt:new Date().toISOString()};return await THQ(I,`${JSON.stringify(G,null,2)}
718
- `,"utf-8"),G}function yZA(A){if(A instanceof Error)return A.message;return String(A)}FB();function _HQ(A){if(!A||typeof A!=="object")return;let Q=A.originalResponse?.getStatus?.();return typeof Q==="number"?Q:void 0}function kHQ(A){let Q=_HQ(A);if(Q===401||Q===403)return"unauthorized";if(Q===413)return"payload_too_large";if(Q!==void 0&&Q>=500&&Q<600)return"storage_failure";if(Q===void 0||Q===0)return"network_error";return"unknown"}var vHQ={started:"Builder Upload Started",succeeded:"Builder Upload Succeeded",failed:"Builder Upload Failed"},xHQ={started:"⬆️",succeeded:"\uD83D\uDCE6",failed:"\uD83D\uDEAB"};async function sS(A){let Q={app_id:A.appId,platform:A.platform,build_mode:A.buildMode,job_id:A.jobId,upload_size_bytes:String(A.sizeBytes)};if(typeof A.durationSeconds==="number"&&Number.isFinite(A.durationSeconds))Q.upload_duration_seconds=String(Math.round(A.durationSeconds));if(A.phase==="failed"&&A.error!==void 0)Q.failure_category=kHQ(A.error);try{await HB(A.apikey,{event:vHQ[A.phase],channel:"build-lifecycle",icon:xHQ[A.phase],notify:!1,user_id:A.orgId,tags:Q})}catch{}}async function lHQ(){return M1({message:"No platform selected. Which platform do you want to build?",options:[{value:"ios",label:"iOS"},{value:"android",label:"Android"}]})}async function dHQ(A,{silent:Q=!1,interactive:B=MC({silent:Q}),promptPlatform:I=lHQ}={}){if(A==="ios"||A==="android")return A;if(A)throw Error(`Invalid platform "${A}". Must be "ios" or "android"`);if(!B)throw Error("Missing required argument: --platform <ios|android>. In an interactive terminal, you can omit --platform and choose one when prompted.");let E=await I();if(sB(E))throw Error("Build request canceled.");if(E!=="ios"&&E!=="android")throw Error("Build request canceled.");return E}function pHQ(A){return{info:(Q)=>{if(!A)L.info(Q)},error:(Q)=>{if(!A)L.error(Q)},warn:(Q)=>{if(!A)L.warn(Q)},success:(Q)=>{if(!A)L.success(Q)},buildLog:(Q)=>{if(!A)console.log(Q)},uploadProgress:(()=>{let Q=A?null:yI(),B=!1;return(I)=>{if(A||!Q)return;if(!B)Q.start("Uploading bundle"),B=!0;if(I>=100)Q.stop("Upload complete!");else Q.message(`Uploading ${I.toFixed(0)}%`)}})(),customMsg:async(Q,B)=>{if(!A)await EH(Q,B,(I)=>console.log(I),(I)=>L.warn(I))}}}var cZA=Promise.resolve();async function nHQ(A,Q){let B=async()=>{let E=Yn();try{mZA(A)}catch(D){throw Error(`Failed to change working directory to "${A}": ${D.message}`)}try{return await Q()}finally{try{mZA(E)}catch{}}},I=cZA.then(B,B);return cZA=I.then(()=>{return},()=>{return}),I}async function iHQ(A,Q,B=3,I){let E=[1000,3000,5000];for(let D=1;D<=B;D++)try{let $=await fetch(A,Q);if($.ok||$.status>=400&&$.status<500)return $;let G=await $.text().catch(()=>"unknown error");if(I?.warn(`Build request attempt ${D}/${B} failed: ${$.status} - ${G}`),D<B){let Y=E[D-1]||5000;I?.info(`Retrying in ${Y/1000}s...`),await new Promise((H)=>setTimeout(H,Y))}else throw Error(`Failed to request build after ${B} attempts: ${$.status} - ${G}`)}catch($){let G=$ instanceof Error?$.message:String($);if(G.startsWith("Failed to request build after"))throw $;if(I?.warn(`Build request attempt ${D}/${B} failed: ${G}`),D<B){let Y=E[D-1]||5000;I?.info(`Retrying in ${Y/1000}s...`),await new Promise((H)=>setTimeout(H,Y))}else throw Error(`Failed to request build after ${B} attempts: ${G}`)}throw Error("Unexpected error in fetchWithRetry")}var rHQ=["succeeded","failed","expired","released","cancelled"],eS=new Set(rHQ);function oHQ(A){if(typeof A.data==="string")return A.data;if(A.data instanceof ArrayBuffer)return new TextDecoder().decode(A.data);if(ArrayBuffer.isView(A.data)){let Q=A.data;return new TextDecoder().decode(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength))}if(A.data&&typeof A.data.toString==="function")return A.data.toString();return""}function pZA(A,Q,B){if(Q)Q.warn(A);else if(!B)L.warn(A)}async function aHQ(A,Q,B,I){try{if(B)await B.customMsg(A,Q);else if(!I)await EH(A,Q,(E)=>console.log(E),(E)=>L.warn(E))}catch(E){pZA(`Custom message handler encountered an error, continuing... ${String(E)}`,B,I)}}async function sHQ(A,Q=!1,B,I,E,D,$,G){if(A&&!G)return null;let Y=null,H=!1,X=(W)=>{if(!W.trim())return;if(Y)return;if(!H)if(H=!0,G)G.buildLog("");else console.log("");if(G)G.buildLog(W);else console.log(W)},F=async()=>{if(!B||!I)return null;let W=B.replace(/\/+$/,""),q=`${W}/start`,N=`${W}/stream?token=${encodeURIComponent(I)}`.replace(/^https:/,"wss:").replace(/^http:/,"ws:");if(G)G.info("Connecting to log streaming...");else if(!A)console.log("Connecting to log streaming...");let w=await fetch(q,{method:"POST",headers:{"x-capgo-log-token":I}});if(!w.ok){let O=await w.text().catch(()=>"unknown error");if(G)G.warn(`Could not start log session (${w.status}): ${O}`);else if(!A)console.warn(`Could not start log session (${w.status}): ${O}`);return null}return await new Promise((O)=>{let T=!1,R=10,S=0,k=!1,l=new OM(N,void 0,{maxRetries:R,WebSocket:tC}),s=null,e=0,c=Date.now(),$A=!1,a=2000,HA=4,LA=eS,TA=null,r=null,j=(o)=>{if(T)return;if(T=!0,r)clearTimeout(r),r=null;if(s)clearInterval(s),s=null;if(D&&TA)D.removeEventListener("abort",TA),TA=null;try{l.close()}catch{}O(o)};r=setTimeout(()=>{if(!T){if(G)G.warn("Log streaming timed out after 3 hours");else if(!A)console.warn("Log streaming timed out after 3 hours");j(null)}},10800000);let P=()=>{if(s)return;s=setInterval(async()=>{try{if(l.readyState===OM.OPEN)l.send(JSON.stringify({type:"heartbeat",lastId:e}));let o=Date.now();if(E&&!$A&&o-c>=a*HA){$A=!0;try{let BA=await E();if(BA&&LA.has(BA))Y=BA,j(Y)}finally{$A=!1}}}catch(o){if(G)G.warn(`Heartbeat encountered an error, continuing... ${String(o)}`);else if(!A)L.warn(`Heartbeat encountered an error, continuing... ${String(o)}`)}},a)},x=async(o)=>{if(o.type==="custom_msg"&&typeof o.kind==="string"&&o.data){c=Date.now(),await aHQ(o.kind,o.data,G,A);return}if(o.type==="status"&&typeof o.status==="string"){let BA=o.status.toLowerCase();if(c=Date.now(),LA.has(BA))Y=BA;return}if(o.type==="log"&&typeof o.message==="string"){c=Date.now(),X(o.message);return}if(typeof o.message==="string")c=Date.now(),X(o.message)},DA=(o)=>{if(l.readyState!==OM.OPEN)return;try{l.send(JSON.stringify({type:"confirmed_received",lastId:o}))}catch(BA){pZA(`Failed to send log confirmation, continuing... ${String(BA)}`,G,A)}};if(P(),D){if(TA=()=>{if(!T)j("cancelled")},D.aborted){j("cancelled");return}D.addEventListener("abort",TA)}l.addEventListener("message",async(o)=>{let BA=oHQ(o),zA=null;try{zA=JSON.parse(BA)}catch{zA=null}if(zA?.type==="heartbeat_response")return;if(zA?.type==="batch_messages"&&Array.isArray(zA.messages)){let GA=e;for(let OA of zA.messages)if(await x(OA),typeof OA.id==="number")GA=Math.max(GA,OA.id);if(GA>e)e=GA,DA(GA)}else{if(zA)await x(zA);else if(BA)c=Date.now(),X(BA);if(zA&&typeof zA.id==="number"&&zA.id>e)e=zA.id,DA(zA.id)}if(Y)j(Y)}),l.addEventListener("error",()=>{if(S+=1,G)G.warn(`Log stream encountered an error, retrying (${S}/${R})...`);else if(!A)console.warn(`Log stream encountered an error, retrying (${S}/${R})...`);if(!k&&S>=R){if(k=!0,G)G.warn("Log stream retry limit reached. Falling back to status checks.");else if(!A)L.warn("Log stream retry limit reached. Falling back to status checks.");if($)$();j(null)}}),l.addEventListener("close",()=>{if(T)return;if(Y){j(Y);return}if(G)G.warn("Log stream closed, waiting for reconnect...");else if(!A)L.warn("Log stream closed, waiting for reconnect...")})})};try{let W=await F();if(W||Y)return W||Y}catch(W){if(G)G.warn(`Direct log streaming failed${W instanceof Error?`: ${W.message}`:""}`);else if(!A)L.warn(`Direct log streaming failed${W instanceof Error?`: ${W.message}`:""}`)}return Y}async function tHQ(A,Q,B,I,E,D,$=!1,G,Y){let X=0;while(X<120){if(G?.aborted)return"cancelled";try{let F=await fetch(`${A}/build/status?job_id=${encodeURIComponent(Q)}&app_id=${encodeURIComponent(B)}&platform=${I}`,{headers:{authorization:E},signal:G});if(!F.ok){Y?.warn(`Status check failed: ${F.status}`),await new Promise((Z)=>setTimeout(Z,5000)),X++;continue}let W=await F.json(),q=W.status?.toLowerCase?.()??"";if($)Y?.info(`Build status: ${q||W.status}`);if(eS.has(q))return q;await new Promise((Z)=>setTimeout(Z,5000)),X++}catch(F){if(G?.aborted)return"cancelled";Y?.warn(`Status check error: ${F}`),await new Promise((W)=>setTimeout(W,5000)),X++}}return Y?.warn("Build status polling timed out"),"timeout"}async function eHQ(A,Q,B){let I=new Set,E=new Set,D=!1,$=!1;if(Q==="ios"){let G=e4(A,B,"App","CapApp-SPM","Package.swift");if(CG(G)){D=!0;let X=(await tS(G,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);I.add(W)}}let Y=e4(A,B);if(CG(Y)){let H=[e4(Y,"App","Podfile"),e4(Y,"Podfile")];for(let F of Un(Y,{withFileTypes:!0}))if(F.isDirectory())H.push(e4(Y,F.name,"Podfile"));let X=[...new Set(H)].filter((F)=>CG(F));if(X.length>0)$=!0;for(let F of X){let q=(await tS(F,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"](?:\.\.\/)+node_modules\/([^'"]+)['"]/g);for(let Z of q){let N=Z[1],w=N.lastIndexOf("node_modules/");if(w!==-1)N=N.substring(w+13);I.add(N)}}}}else if(Q==="android"){let G=e4(A,B,"capacitor.settings.gradle");if(CG(G)){let X=(await tS(G,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);let Z=W.replace(/\/(android|capacitor)$/,"");I.add(Z)}}let Y=e4(A,B,"capacitor-cordova-android-plugins","build.gradle");if(CG(Y)){let X=(await tS(Y,"utf-8")).matchAll(/apply\s+from\s*:\s*["'](?:\.\.\/)+node_modules\/([^"']+)["']/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);let Z=W.split("/"),N=Z[0].startsWith("@")&&Z.length>=2?`${Z[0]}/${Z[1]}`:Z[0];E.add(N)}}}return{packages:I,cordovaPackages:E,usesSPM:D,usesCocoaPods:$}}function lZA(A,Q,B,I){let E=A.replace(/\\/g,"/");if(E.startsWith(`${I}/`))return!0;if(E==="package.json"||E==="package-lock.json"||E.startsWith("capacitor.config."))return!0;if(E.startsWith("resources/"))return!0;if(Q==="ios"&&E.startsWith("node_modules/@capacitor/ios/"))return!0;if(Q==="android"&&E.startsWith("node_modules/@capacitor/android/"))return!0;if(Q==="android")for(let D of B.cordovaPackages){let $=`node_modules/${D}/`;if(E===`node_modules/${D}/package.json`)return!0;if(E.startsWith($)){let G=E.slice($.length);if(G==="node_modules"||G.startsWith("node_modules/"))continue;return!0}}for(let D of B.packages){let $=`node_modules/${D}/`;if(E===`${$}package.json`)return!0;if(Q==="android"){if(E.startsWith(`${$}android/`))return!0}else if(Q==="ios"){if(E.startsWith(`${$}ios/`))return!0;if(B.usesSPM){if(E===`${$}Package.swift`)return!0}if(B.usesCocoaPods||!B.usesSPM){if(E.startsWith($)&&E.endsWith(".podspec"))return!0}}}return!1}function RM(A,Q,B,I,E,D){let $=Un(Q);for(let G of $){let Y=e4(Q,G),H=B?`${B}/${G}`:G,X=bHQ(Y);if(X.isDirectory()){if(G===".git"||G==="dist"||G==="build"||G===".angular"||G===".vite"||G===".gradle"||G===".idea"||G===".swiftpm")continue;if(G==="node_modules"){RM(A,Y,H,I,E,D);continue}if(G==="resources"){RM(A,Y,H,I,E,D);continue}let F=H.replace(/\\/g,"/"),W=[...E.packages,...E.cordovaPackages];if(lZA(H,I,E,D)||D===F||D.startsWith(`${F}/`)||W.some((Z)=>{return`node_modules/${Z}/`.startsWith(`${F}/`)||F.startsWith(`node_modules/${Z}`)}))RM(A,Y,H,I,E,D)}else if(X.isFile()){if(G===".DS_Store"||G.endsWith(".log"))continue;if(lZA(H,I,E,D))AXQ(A,Y,H)}}}function AXQ(A,Q,B){let I=B.replace(/\\/g,"/");if(A.getEntry(I))return;let E=I.lastIndexOf("/"),D=E===-1?void 0:I.slice(0,E);A.addLocalFile(Q,D)}function QXQ(A){if(!A)return[];let Q=A.split(",").map((B)=>B.trim()).filter(Boolean).map((B)=>Jn(B));return[...new Set(Q)]}function BXQ(A,Q){let B=new Set([...Q.packages,...Q.cordovaPackages]);return B.add(A==="ios"?"@capacitor/ios":"@capacitor/android"),B}function IXQ(A,Q){let B=e4(A,...Q.split("/"));if(CG(B))return B;let I=e4(A,".pnpm");if(!CG(I))return;let E=Q.replace("/","+"),D=Un(I,{withFileTypes:!0}).filter(($)=>$.isDirectory()).map(($)=>$.name).filter(($)=>$.startsWith(`${E}@`)).sort();if(D.length>1)throw Error(`Multiple pnpm store entries found for ${Q} in ${I}; provide the app-specific node_modules path so the native build archive can use the exact resolved package.`);for(let $ of D){let G=e4(I,$,"node_modules",...Q.split("/"));if(CG(G))return G}return}function EXQ(A,Q,B,I,E){if(Q.length===0)return;let D=Q.filter(($)=>!CG($));if(D.length>0)throw Error(`Missing node_modules folder at ${D.join(", ")}`);for(let $ of Q)for(let G of BXQ(B,I)){let Y=IXQ($,G);if(!Y)continue;RM(A,Y,`node_modules/${G}`,B,I,E)}}async function DXQ(A,Q,B,I,E={}){let D=D6(I,B),$=await eHQ(A,B,D),G=new dZA.default;RM(G,A,"",B,$,D),EXQ(G,QXQ(E.nodeModules),B,$,D);let Y=/node_modules\/\.pnpm\/[^/\n\r]+(?:\/[^/\n\r]+)*\/node_modules\//g,H=new Set(["",".gradle",".swift",".json",".lock",".xml",".properties",".pbxproj",".xcconfig",".plist",".podspec",".rb",".yaml",".yml"]);for(let F of G.getEntries()){if(F.isDirectory)continue;let W=F.entryName.includes(".")?`.${F.entryName.split(".").pop()}`:"",q=F.entryName.split("/").pop()||"";if(!H.has(W)&&q!=="Podfile")continue;let Z=F.getData().toString("utf-8"),N=Z.replace(Y,"node_modules/");if(B==="ios"){let w="../".repeat(F.entryName.split("/").length-1);N=N.replace(/(?:\.\.\/){4,}(ios\/|node_modules\/)/g,(O,T)=>`${w}${T}`)}if(N!==Z)G.updateFile(F.entryName,hZA.from(N,"utf-8"))}let X=e4(A,"capacitor.config.json");if(I&&!CG(X)){let F=`${JSON.stringify(I,null,2)}
717
+ `)}FB();async function aS(A){try{await HB(A.apikey,{event:"CLI AI Build Analysis Choice",channel:"build-lifecycle",icon:"\uD83E\uDD16",notify:!1,org_id:A.orgId,tracking_version:2,tags:{app_id:A.appId,platform:A.platform,job_id:A.jobId,choice:A.choice,triggered_by:A.triggeredBy}})}catch{}}async function bZA(A){let Q={app_id:A.appId,platform:A.platform,job_id:A.jobId,result:A.result};if(A.result==="error"&&typeof A.errorStatus==="number"&&Number.isFinite(A.errorStatus))Q.error_status=String(A.errorStatus);try{await HB(A.apikey,{event:"CLI AI Build Analysis Result",channel:"build-lifecycle",icon:"\uD83E\uDD16",notify:!1,org_id:A.orgId,tracking_version:2,tags:Q})}catch{}}FB();var Gn=cA(Qn(),1);import{mkdir as VHQ,writeFile as THQ}from"node:fs/promises";import{dirname as SHQ,resolve as jHQ}from"node:path";import{cwd as PHQ}from"node:process";async function fZA(A,Q,B){let I=jHQ(PHQ(),A),E=`${I}.qr.png`;await VHQ(SHQ(I),{recursive:!0});let D=null,$=null;if(Q.outputUrl){try{D=await Gn.default.toString(Q.outputUrl,{type:"utf8",errorCorrectionLevel:"L"})}catch(Y){B?.(`Failed to render ASCII QR code: ${yZA(Y)}`)}try{await Gn.default.toFile(E,Q.outputUrl,{errorCorrectionLevel:"L",width:512}),$=E}catch(Y){B?.(`Failed to render PNG QR code at ${E}: ${yZA(Y)}`)}}let G={schemaVersion:1,jobId:Q.jobId,appId:Q.appId,platform:Q.platform,buildMode:Q.buildMode,status:Q.status,outputUrl:Q.outputUrl??null,qrCodeAscii:D,qrCodePngPath:$,finishedAt:new Date().toISOString()};return await THQ(I,`${JSON.stringify(G,null,2)}
718
+ `,"utf-8"),G}function yZA(A){if(A instanceof Error)return A.message;return String(A)}FB();function _HQ(A){if(!A||typeof A!=="object")return;let Q=A.originalResponse?.getStatus?.();return typeof Q==="number"?Q:void 0}function kHQ(A){let Q=_HQ(A);if(Q===401||Q===403)return"unauthorized";if(Q===413)return"payload_too_large";if(Q!==void 0&&Q>=500&&Q<600)return"storage_failure";if(Q===void 0||Q===0)return"network_error";return"unknown"}var vHQ={started:"Builder Upload Started",succeeded:"Builder Upload Succeeded",failed:"Builder Upload Failed"},xHQ={started:"⬆️",succeeded:"\uD83D\uDCE6",failed:"\uD83D\uDEAB"};async function sS(A){let Q={app_id:A.appId,platform:A.platform,build_mode:A.buildMode,job_id:A.jobId,upload_size_bytes:String(A.sizeBytes)};if(typeof A.durationSeconds==="number"&&Number.isFinite(A.durationSeconds))Q.upload_duration_seconds=String(Math.round(A.durationSeconds));if(A.phase==="failed"&&A.error!==void 0)Q.failure_category=kHQ(A.error);try{await HB(A.apikey,{event:vHQ[A.phase],channel:"build-lifecycle",icon:xHQ[A.phase],notify:!1,org_id:A.orgId,tracking_version:2,tags:Q})}catch{}}async function lHQ(){return M1({message:"No platform selected. Which platform do you want to build?",options:[{value:"ios",label:"iOS"},{value:"android",label:"Android"}]})}async function dHQ(A,{silent:Q=!1,interactive:B=MC({silent:Q}),promptPlatform:I=lHQ}={}){if(A==="ios"||A==="android")return A;if(A)throw Error(`Invalid platform "${A}". Must be "ios" or "android"`);if(!B)throw Error("Missing required argument: --platform <ios|android>. In an interactive terminal, you can omit --platform and choose one when prompted.");let E=await I();if(sB(E))throw Error("Build request canceled.");if(E!=="ios"&&E!=="android")throw Error("Build request canceled.");return E}function pHQ(A){return{info:(Q)=>{if(!A)L.info(Q)},error:(Q)=>{if(!A)L.error(Q)},warn:(Q)=>{if(!A)L.warn(Q)},success:(Q)=>{if(!A)L.success(Q)},buildLog:(Q)=>{if(!A)console.log(Q)},uploadProgress:(()=>{let Q=A?null:yI(),B=!1;return(I)=>{if(A||!Q)return;if(!B)Q.start("Uploading bundle"),B=!0;if(I>=100)Q.stop("Upload complete!");else Q.message(`Uploading ${I.toFixed(0)}%`)}})(),customMsg:async(Q,B)=>{if(!A)await EH(Q,B,(I)=>console.log(I),(I)=>L.warn(I))}}}var cZA=Promise.resolve();async function nHQ(A,Q){let B=async()=>{let E=Yn();try{mZA(A)}catch(D){throw Error(`Failed to change working directory to "${A}": ${D.message}`)}try{return await Q()}finally{try{mZA(E)}catch{}}},I=cZA.then(B,B);return cZA=I.then(()=>{return},()=>{return}),I}async function iHQ(A,Q,B=3,I){let E=[1000,3000,5000];for(let D=1;D<=B;D++)try{let $=await fetch(A,Q);if($.ok||$.status>=400&&$.status<500)return $;let G=await $.text().catch(()=>"unknown error");if(I?.warn(`Build request attempt ${D}/${B} failed: ${$.status} - ${G}`),D<B){let Y=E[D-1]||5000;I?.info(`Retrying in ${Y/1000}s...`),await new Promise((H)=>setTimeout(H,Y))}else throw Error(`Failed to request build after ${B} attempts: ${$.status} - ${G}`)}catch($){let G=$ instanceof Error?$.message:String($);if(G.startsWith("Failed to request build after"))throw $;if(I?.warn(`Build request attempt ${D}/${B} failed: ${G}`),D<B){let Y=E[D-1]||5000;I?.info(`Retrying in ${Y/1000}s...`),await new Promise((H)=>setTimeout(H,Y))}else throw Error(`Failed to request build after ${B} attempts: ${G}`)}throw Error("Unexpected error in fetchWithRetry")}var rHQ=["succeeded","failed","expired","released","cancelled"],eS=new Set(rHQ);function oHQ(A){if(typeof A.data==="string")return A.data;if(A.data instanceof ArrayBuffer)return new TextDecoder().decode(A.data);if(ArrayBuffer.isView(A.data)){let Q=A.data;return new TextDecoder().decode(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength))}if(A.data&&typeof A.data.toString==="function")return A.data.toString();return""}function pZA(A,Q,B){if(Q)Q.warn(A);else if(!B)L.warn(A)}async function aHQ(A,Q,B,I){try{if(B)await B.customMsg(A,Q);else if(!I)await EH(A,Q,(E)=>console.log(E),(E)=>L.warn(E))}catch(E){pZA(`Custom message handler encountered an error, continuing... ${String(E)}`,B,I)}}async function sHQ(A,Q=!1,B,I,E,D,$,G){if(A&&!G)return null;let Y=null,H=!1,X=(W)=>{if(!W.trim())return;if(Y)return;if(!H)if(H=!0,G)G.buildLog("");else console.log("");if(G)G.buildLog(W);else console.log(W)},F=async()=>{if(!B||!I)return null;let W=B.replace(/\/+$/,""),q=`${W}/start`,N=`${W}/stream?token=${encodeURIComponent(I)}`.replace(/^https:/,"wss:").replace(/^http:/,"ws:");if(G)G.info("Connecting to log streaming...");else if(!A)console.log("Connecting to log streaming...");let w=await fetch(q,{method:"POST",headers:{"x-capgo-log-token":I}});if(!w.ok){let O=await w.text().catch(()=>"unknown error");if(G)G.warn(`Could not start log session (${w.status}): ${O}`);else if(!A)console.warn(`Could not start log session (${w.status}): ${O}`);return null}return await new Promise((O)=>{let T=!1,R=10,S=0,k=!1,l=new OM(N,void 0,{maxRetries:R,WebSocket:tC}),s=null,e=0,c=Date.now(),$A=!1,a=2000,HA=4,LA=eS,TA=null,r=null,j=(o)=>{if(T)return;if(T=!0,r)clearTimeout(r),r=null;if(s)clearInterval(s),s=null;if(D&&TA)D.removeEventListener("abort",TA),TA=null;try{l.close()}catch{}O(o)};r=setTimeout(()=>{if(!T){if(G)G.warn("Log streaming timed out after 3 hours");else if(!A)console.warn("Log streaming timed out after 3 hours");j(null)}},10800000);let P=()=>{if(s)return;s=setInterval(async()=>{try{if(l.readyState===OM.OPEN)l.send(JSON.stringify({type:"heartbeat",lastId:e}));let o=Date.now();if(E&&!$A&&o-c>=a*HA){$A=!0;try{let BA=await E();if(BA&&LA.has(BA))Y=BA,j(Y)}finally{$A=!1}}}catch(o){if(G)G.warn(`Heartbeat encountered an error, continuing... ${String(o)}`);else if(!A)L.warn(`Heartbeat encountered an error, continuing... ${String(o)}`)}},a)},x=async(o)=>{if(o.type==="custom_msg"&&typeof o.kind==="string"&&o.data){c=Date.now(),await aHQ(o.kind,o.data,G,A);return}if(o.type==="status"&&typeof o.status==="string"){let BA=o.status.toLowerCase();if(c=Date.now(),LA.has(BA))Y=BA;return}if(o.type==="log"&&typeof o.message==="string"){c=Date.now(),X(o.message);return}if(typeof o.message==="string")c=Date.now(),X(o.message)},DA=(o)=>{if(l.readyState!==OM.OPEN)return;try{l.send(JSON.stringify({type:"confirmed_received",lastId:o}))}catch(BA){pZA(`Failed to send log confirmation, continuing... ${String(BA)}`,G,A)}};if(P(),D){if(TA=()=>{if(!T)j("cancelled")},D.aborted){j("cancelled");return}D.addEventListener("abort",TA)}l.addEventListener("message",async(o)=>{let BA=oHQ(o),zA=null;try{zA=JSON.parse(BA)}catch{zA=null}if(zA?.type==="heartbeat_response")return;if(zA?.type==="batch_messages"&&Array.isArray(zA.messages)){let GA=e;for(let OA of zA.messages)if(await x(OA),typeof OA.id==="number")GA=Math.max(GA,OA.id);if(GA>e)e=GA,DA(GA)}else{if(zA)await x(zA);else if(BA)c=Date.now(),X(BA);if(zA&&typeof zA.id==="number"&&zA.id>e)e=zA.id,DA(zA.id)}if(Y)j(Y)}),l.addEventListener("error",()=>{if(S+=1,G)G.warn(`Log stream encountered an error, retrying (${S}/${R})...`);else if(!A)console.warn(`Log stream encountered an error, retrying (${S}/${R})...`);if(!k&&S>=R){if(k=!0,G)G.warn("Log stream retry limit reached. Falling back to status checks.");else if(!A)L.warn("Log stream retry limit reached. Falling back to status checks.");if($)$();j(null)}}),l.addEventListener("close",()=>{if(T)return;if(Y){j(Y);return}if(G)G.warn("Log stream closed, waiting for reconnect...");else if(!A)L.warn("Log stream closed, waiting for reconnect...")})})};try{let W=await F();if(W||Y)return W||Y}catch(W){if(G)G.warn(`Direct log streaming failed${W instanceof Error?`: ${W.message}`:""}`);else if(!A)L.warn(`Direct log streaming failed${W instanceof Error?`: ${W.message}`:""}`)}return Y}async function tHQ(A,Q,B,I,E,D,$=!1,G,Y){let X=0;while(X<120){if(G?.aborted)return"cancelled";try{let F=await fetch(`${A}/build/status?job_id=${encodeURIComponent(Q)}&app_id=${encodeURIComponent(B)}&platform=${I}`,{headers:{authorization:E},signal:G});if(!F.ok){Y?.warn(`Status check failed: ${F.status}`),await new Promise((Z)=>setTimeout(Z,5000)),X++;continue}let W=await F.json(),q=W.status?.toLowerCase?.()??"";if($)Y?.info(`Build status: ${q||W.status}`);if(eS.has(q))return q;await new Promise((Z)=>setTimeout(Z,5000)),X++}catch(F){if(G?.aborted)return"cancelled";Y?.warn(`Status check error: ${F}`),await new Promise((W)=>setTimeout(W,5000)),X++}}return Y?.warn("Build status polling timed out"),"timeout"}async function eHQ(A,Q,B){let I=new Set,E=new Set,D=!1,$=!1;if(Q==="ios"){let G=e4(A,B,"App","CapApp-SPM","Package.swift");if(CG(G)){D=!0;let X=(await tS(G,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);I.add(W)}}let Y=e4(A,B);if(CG(Y)){let H=[e4(Y,"App","Podfile"),e4(Y,"Podfile")];for(let F of Un(Y,{withFileTypes:!0}))if(F.isDirectory())H.push(e4(Y,F.name,"Podfile"));let X=[...new Set(H)].filter((F)=>CG(F));if(X.length>0)$=!0;for(let F of X){let q=(await tS(F,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"](?:\.\.\/)+node_modules\/([^'"]+)['"]/g);for(let Z of q){let N=Z[1],w=N.lastIndexOf("node_modules/");if(w!==-1)N=N.substring(w+13);I.add(N)}}}}else if(Q==="android"){let G=e4(A,B,"capacitor.settings.gradle");if(CG(G)){let X=(await tS(G,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);let Z=W.replace(/\/(android|capacitor)$/,"");I.add(Z)}}let Y=e4(A,B,"capacitor-cordova-android-plugins","build.gradle");if(CG(Y)){let X=(await tS(Y,"utf-8")).matchAll(/apply\s+from\s*:\s*["'](?:\.\.\/)+node_modules\/([^"']+)["']/g);for(let F of X){let W=F[1],q=W.lastIndexOf("node_modules/");if(q!==-1)W=W.substring(q+13);let Z=W.split("/"),N=Z[0].startsWith("@")&&Z.length>=2?`${Z[0]}/${Z[1]}`:Z[0];E.add(N)}}}return{packages:I,cordovaPackages:E,usesSPM:D,usesCocoaPods:$}}function lZA(A,Q,B,I){let E=A.replace(/\\/g,"/");if(E.startsWith(`${I}/`))return!0;if(E==="package.json"||E==="package-lock.json"||E.startsWith("capacitor.config."))return!0;if(E.startsWith("resources/"))return!0;if(Q==="ios"&&E.startsWith("node_modules/@capacitor/ios/"))return!0;if(Q==="android"&&E.startsWith("node_modules/@capacitor/android/"))return!0;if(Q==="android")for(let D of B.cordovaPackages){let $=`node_modules/${D}/`;if(E===`node_modules/${D}/package.json`)return!0;if(E.startsWith($)){let G=E.slice($.length);if(G==="node_modules"||G.startsWith("node_modules/"))continue;return!0}}for(let D of B.packages){let $=`node_modules/${D}/`;if(E===`${$}package.json`)return!0;if(Q==="android"){if(E.startsWith(`${$}android/`))return!0}else if(Q==="ios"){if(E.startsWith(`${$}ios/`))return!0;if(B.usesSPM){if(E===`${$}Package.swift`)return!0}if(B.usesCocoaPods||!B.usesSPM){if(E.startsWith($)&&E.endsWith(".podspec"))return!0}}}return!1}function RM(A,Q,B,I,E,D){let $=Un(Q);for(let G of $){let Y=e4(Q,G),H=B?`${B}/${G}`:G,X=bHQ(Y);if(X.isDirectory()){if(G===".git"||G==="dist"||G==="build"||G===".angular"||G===".vite"||G===".gradle"||G===".idea"||G===".swiftpm")continue;if(G==="node_modules"){RM(A,Y,H,I,E,D);continue}if(G==="resources"){RM(A,Y,H,I,E,D);continue}let F=H.replace(/\\/g,"/"),W=[...E.packages,...E.cordovaPackages];if(lZA(H,I,E,D)||D===F||D.startsWith(`${F}/`)||W.some((Z)=>{return`node_modules/${Z}/`.startsWith(`${F}/`)||F.startsWith(`node_modules/${Z}`)}))RM(A,Y,H,I,E,D)}else if(X.isFile()){if(G===".DS_Store"||G.endsWith(".log"))continue;if(lZA(H,I,E,D))AXQ(A,Y,H)}}}function AXQ(A,Q,B){let I=B.replace(/\\/g,"/");if(A.getEntry(I))return;let E=I.lastIndexOf("/"),D=E===-1?void 0:I.slice(0,E);A.addLocalFile(Q,D)}function QXQ(A){if(!A)return[];let Q=A.split(",").map((B)=>B.trim()).filter(Boolean).map((B)=>Jn(B));return[...new Set(Q)]}function BXQ(A,Q){let B=new Set([...Q.packages,...Q.cordovaPackages]);return B.add(A==="ios"?"@capacitor/ios":"@capacitor/android"),B}function IXQ(A,Q){let B=e4(A,...Q.split("/"));if(CG(B))return B;let I=e4(A,".pnpm");if(!CG(I))return;let E=Q.replace("/","+"),D=Un(I,{withFileTypes:!0}).filter(($)=>$.isDirectory()).map(($)=>$.name).filter(($)=>$.startsWith(`${E}@`)).sort();if(D.length>1)throw Error(`Multiple pnpm store entries found for ${Q} in ${I}; provide the app-specific node_modules path so the native build archive can use the exact resolved package.`);for(let $ of D){let G=e4(I,$,"node_modules",...Q.split("/"));if(CG(G))return G}return}function EXQ(A,Q,B,I,E){if(Q.length===0)return;let D=Q.filter(($)=>!CG($));if(D.length>0)throw Error(`Missing node_modules folder at ${D.join(", ")}`);for(let $ of Q)for(let G of BXQ(B,I)){let Y=IXQ($,G);if(!Y)continue;RM(A,Y,`node_modules/${G}`,B,I,E)}}async function DXQ(A,Q,B,I,E={}){let D=D6(I,B),$=await eHQ(A,B,D),G=new dZA.default;RM(G,A,"",B,$,D),EXQ(G,QXQ(E.nodeModules),B,$,D);let Y=/node_modules\/\.pnpm\/[^/\n\r]+(?:\/[^/\n\r]+)*\/node_modules\//g,H=new Set(["",".gradle",".swift",".json",".lock",".xml",".properties",".pbxproj",".xcconfig",".plist",".podspec",".rb",".yaml",".yml"]);for(let F of G.getEntries()){if(F.isDirectory)continue;let W=F.entryName.includes(".")?`.${F.entryName.split(".").pop()}`:"",q=F.entryName.split("/").pop()||"";if(!H.has(W)&&q!=="Podfile")continue;let Z=F.getData().toString("utf-8"),N=Z.replace(Y,"node_modules/");if(B==="ios"){let w="../".repeat(F.entryName.split("/").length-1);N=N.replace(/(?:\.\.\/){4,}(ios\/|node_modules\/)/g,(O,T)=>`${w}${T}`)}if(N!==Z)G.updateFile(F.entryName,hZA.from(N,"utf-8"))}let X=e4(A,"capacitor.config.json");if(I&&!CG(X)){let F=`${JSON.stringify(I,null,2)}
719
719
  `;G.addFile("capacitor.config.json",hZA.from(F,"utf-8"))}await uHQ(Q,G.toBuffer())}var $XQ=new Set(["CAPGO_IOS_SCHEME","CAPGO_IOS_TARGET","CAPGO_IOS_DISTRIBUTION","BUILD_OUTPUT_UPLOAD_ENABLED","BUILD_OUTPUT_RETENTION_SECONDS","SKIP_BUILD_NUMBER_BUMP","CAPGO_IOS_SOURCE_DIR","CAPGO_IOS_APP_DIR","CAPGO_IOS_PROJECT_DIR","IOS_PROJECT_DIR","CAPGO_ANDROID_SOURCE_DIR","CAPGO_ANDROID_APP_DIR","CAPGO_ANDROID_PROJECT_DIR","ANDROID_PROJECT_DIR","CAPGO_ANDROID_FLAVOR"]);function GXQ(A,Q,B,I){let E={platform:Q,buildMode:B,cliVersion:I,iosScheme:A.CAPGO_IOS_SCHEME,iosTarget:A.CAPGO_IOS_TARGET,iosDistribution:A.CAPGO_IOS_DISTRIBUTION,iosSourceDir:A.CAPGO_IOS_SOURCE_DIR,iosAppDir:A.CAPGO_IOS_APP_DIR,iosProjectDir:A.CAPGO_IOS_PROJECT_DIR,androidSourceDir:A.CAPGO_ANDROID_SOURCE_DIR,androidAppDir:A.CAPGO_ANDROID_APP_DIR,androidProjectDir:A.CAPGO_ANDROID_PROJECT_DIR,androidFlavor:A.CAPGO_ANDROID_FLAVOR,outputUploadEnabled:A.BUILD_OUTPUT_UPLOAD_ENABLED==="true",outputRetentionSeconds:A.BUILD_OUTPUT_RETENTION_SECONDS?Number.parseInt(A.BUILD_OUTPUT_RETENTION_SECONDS,10)||NJ:NJ,skipBuildNumberBump:A.SKIP_BUILD_NUMBER_BUMP==="true"},D={};for(let[$,G]of Object.entries(A))if(!$XQ.has($)&&G!==void 0)D[$]=G;return{buildOptions:E,buildCredentials:D}}async function GH(A,Q,B=!1,I){let E=Date.now(),D=Q.verbose??!1,$=I||pHQ(B),G=null,Y=Q.outputRecord?{...$,customMsg:async(H,X)=>{if(H==="qr_download_link"&&typeof X.url==="string")G=X.url;await $.customMsg(H,X)}}:$;try{Q.apikey=Q.apikey||vQ(B);let H=Jn(Q.path||Yn()),X=await nHQ(H,()=>rQ());if(A=A||X?.config?.appId,!A)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");let F=await dHQ(Q.platform,{silent:B}),W=Q.supaHost||"https://api.capgo.app",q=await eQ(Q.apikey,Q.supaHost,Q.supaAnon);await XZ(q,Q.apikey,"app.build_native",{appId:A},{message:`Insufficient permissions to request a native build for app ${A}`,silent:B});let Z=await HE(q,A);if(Y.info(`Requesting native build for ${A}`),Y.info(`Platform: ${F}`),Y.info(`Project: ${H}`),Y.info(`
720
720
  \uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),Y.info(" They are used only during build and deleted after"),Y.info(` Build outputs can optionally be uploaded for time-limited download links
721
- `),D)Y.info(`API host: ${W}`);let N={};if(Q.buildCertificateBase64)N.BUILD_CERTIFICATE_BASE64=Q.buildCertificateBase64;if(Q.p12Password)N.P12_PASSWORD=Q.p12Password;if(Q.appleKeyId)N.APPLE_KEY_ID=Q.appleKeyId;if(Q.appleIssuerId)N.APPLE_ISSUER_ID=Q.appleIssuerId;if(Q.appleKeyContent)N.APPLE_KEY_CONTENT=Q.appleKeyContent;if(Q.appStoreConnectTeamId)N.APP_STORE_CONNECT_TEAM_ID=Q.appStoreConnectTeamId;if(Q.iosScheme)N.CAPGO_IOS_SCHEME=Q.iosScheme;if(Q.iosTarget)N.CAPGO_IOS_TARGET=Q.iosTarget;if(Q.iosDistribution)N.CAPGO_IOS_DISTRIBUTION=Q.iosDistribution;if(Q.iosProvisioningProfile&&Q.iosProvisioningProfile.length>0){let P=HT(Q.iosProvisioningProfile,Jn(Q.path||Yn()));N.CAPGO_IOS_PROVISIONING_MAP=JSON.stringify(P)}if(Q.iosProvisioningMap)N.CAPGO_IOS_PROVISIONING_MAP=Q.iosProvisioningMap;if(Q.androidKeystoreFile)N.ANDROID_KEYSTORE_FILE=Q.androidKeystoreFile;if(Q.keystoreKeyAlias)N.KEYSTORE_KEY_ALIAS=Q.keystoreKeyAlias;let w=!!Q.keystoreKeyPassword,O=!!Q.keystoreStorePassword;if(w&&!O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreKeyPassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreKeyPassword;else if(!w&&O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreStorePassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreStorePassword;else if(w&&O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreKeyPassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreStorePassword;if(typeof Q.androidFlavor==="string"){let P=Q.androidFlavor.trim();if(P)N.CAPGO_ANDROID_FLAVOR=P}if(Q.playConfigJson)N.PLAY_CONFIG_JSON=Q.playConfigJson;if(Q.inAppUpdatePriority!==void 0)N.PLAY_STORE_IN_APP_UPDATE_PRIORITY=String(jC(Q.inAppUpdatePriority));if(Q.outputUpload!==void 0)N.BUILD_OUTPUT_UPLOAD_ENABLED=BG(Q.outputUpload)?"true":"false";if(Q.outputRetention)N.BUILD_OUTPUT_RETENTION_SECONDS=String(SC(Q.outputRetention));if(Q.skipBuildNumberBump!==void 0)N.SKIP_BUILD_NUMBER_BUMP=BG(Q.skipBuildNumberBump)?"true":"false";let T=await FXA(A,F,Object.keys(N).length>0?N:void 0);if(Q.playstoreUpload===!1&&T)delete T.PLAY_CONFIG_JSON,Y.info("ℹ️ --no-playstore-upload specified, Play Store upload disabled for this build");let R=D6(X?.config,F);if(T&&R)if(F==="ios")T.CAPGO_IOS_SOURCE_DIR=R,T.CAPGO_IOS_APP_DIR=R,T.CAPGO_IOS_PROJECT_DIR=R,T.IOS_PROJECT_DIR=R;else T.CAPGO_ANDROID_SOURCE_DIR=R,T.CAPGO_ANDROID_APP_DIR=R,T.CAPGO_ANDROID_PROJECT_DIR=R,T.ANDROID_PROJECT_DIR=R;if(!T)throw Y.error("❌ No credentials found for this app and platform"),Y.error(""),Y.error("You must provide credentials via:"),Y.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),Y.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),Y.error(" 3. Saved credentials file:"),Y.error(` npx @capgo/cli build credentials save --appId ${A} --platform ${F}`),Y.error(""),Y.error("Documentation:"),Y.error(" https://capgo.app/docs/cli/cloud-build/credentials/"),Error("No credentials found. Please provide credentials before building.");let S=[];if(F==="ios"){let P=T.CAPGO_IOS_DISTRIBUTION,x=["app_store","ad_hoc"];if(P&&!x.includes(P))S.push(`Invalid CAPGO_IOS_DISTRIBUTION value: '${P}'. Must be one of: ${x.join(", ")}`);let DA=P&&x.includes(P)?P:"app_store";if(!P)Y.info("ℹ️ --ios-distribution not specified, defaulting to app_store");if(T.CAPGO_IOS_DISTRIBUTION=DA,!T.BUILD_CERTIFICATE_BASE64)S.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!T.P12_PASSWORD)Y.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),Y.warn(" If your certificate requires a password, provide it with --p12-password");if(!!(T.BUILD_PROVISION_PROFILE_BASE64||T.APPLE_PROFILE_NAME)&&!T.CAPGO_IOS_PROVISIONING_MAP)throw Y.error("❌ Legacy provisioning profile format detected. Run:"),Y.error(" npx @capgo/cli build credentials migrate --platform ios"),Y.error(""),Y.error(" This will convert your existing provisioning profile to the new multi-target format."),Error("Legacy provisioning profile format detected. Run: npx @capgo/cli build credentials migrate --platform ios");if(!T.CAPGO_IOS_PROVISIONING_MAP)S.push('CAPGO_IOS_PROVISIONING_MAP (use --ios-provisioning-profile or save via "build credentials save")');if(DA==="app_store"){let BA=!!T.APPLE_KEY_ID,zA=!!T.APPLE_ISSUER_ID,GA=!!T.APPLE_KEY_CONTENT,OA=BA||zA||GA;if(!(BA&&zA&&GA))if(OA){let PA=[];if(!BA)PA.push("APPLE_KEY_ID (or --apple-key-id)");if(!zA)PA.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!GA)PA.push("APPLE_KEY_CONTENT (or --apple-key-content)");S.push(`Incomplete App Store Connect API key - missing: ${PA.join(", ")}`)}else if(T.BUILD_OUTPUT_UPLOAD_ENABLED!=="true")S.push("APPLE_KEY_ID/APPLE_ISSUER_ID/APPLE_KEY_CONTENT or BUILD_OUTPUT_UPLOAD_ENABLED=true (or --output-upload) (build has no output destination - enable either TestFlight upload or Capgo download link)");else if(T.SKIP_BUILD_NUMBER_BUMP!=="true")S.push("APPLE_KEY_ID/APPLE_ISSUER_ID/APPLE_KEY_CONTENT or --skip-build-number-bump (App Store Connect API key not provided - build numbers cannot be auto-incremented without it)");else Y.warn("⚠️ App Store Connect API key not provided - build will succeed but cannot auto-upload to TestFlight")}else if(DA==="ad_hoc")Y.info("\uD83D\uDCE6 Ad-hoc distribution mode: App Store Connect API key not required"),Y.info(" Build number will use timestamp-based fallback");if(!T.APP_STORE_CONNECT_TEAM_ID)S.push("APP_STORE_CONNECT_TEAM_ID (or --app-store-connect-team-id)")}else if(F==="android"){if(!T.ANDROID_KEYSTORE_FILE)S.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!T.KEYSTORE_KEY_ALIAS)S.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!T.KEYSTORE_KEY_PASSWORD&&!T.KEYSTORE_STORE_PASSWORD)S.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!T.PLAY_CONFIG_JSON)if(T.BUILD_OUTPUT_UPLOAD_ENABLED!=="true")S.push("PLAY_CONFIG_JSON or BUILD_OUTPUT_UPLOAD_ENABLED=true (build has no output destination - enable either Play Store upload or Capgo download link)");else Y.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(S.length>0){Y.error(`❌ Missing required credentials for ${F}:`),Y.error("");for(let P of S)Y.error(` • ${P}`);throw Y.error(""),Y.error("Provide credentials via:"),Y.error(` 1. CLI arguments: npx @capgo/cli build request --platform ${F} ${F==="ios"?'--apple-key-id "..." --apple-issuer-id "..." --apple-key-content "..."':'--android-keystore-file "..." --keystore-key-alias "..."'}`),Y.error(` 2. Environment variables: ${F==="ios"?'export APPLE_KEY_ID="..." APPLE_ISSUER_ID="..." APPLE_KEY_CONTENT="..."':'export ANDROID_KEYSTORE_FILE="..." KEYSTORE_KEY_ALIAS="..."'}`),Y.error(` 3. Saved credentials: npx @capgo/cli build credentials save --platform ${F} ...`),Y.error(""),Y.error("Documentation:"),Y.error(` https://capgo.app/docs/cli/cloud-build/${F}/`),Error(`Missing required credentials for ${F}: ${S.join(", ")}`)}if(!Q.buildMode)Y.info("ℹ️ --build-mode not specified, defaulting to release");if(!T.BUILD_OUTPUT_UPLOAD_ENABLED)Y.info("ℹ️ --output-upload not specified, defaulting to false (no Capgo download link)");if(!T.BUILD_OUTPUT_RETENTION_SECONDS)Y.info(`ℹ️ --output-retention not specified, defaulting to ${NJ}s (1 hour)`);if(!T.SKIP_BUILD_NUMBER_BUMP)Y.info("ℹ️ --skip-build-number-bump not specified, build number will be auto-incremented (default)");let{buildOptions:k,buildCredentials:l}=GXQ(T,F,Q.buildMode||"release",N1.version),s={app_id:A,platform:F,build_mode:Q.buildMode||"release",build_options:k,build_credentials:l};if(Y.info("✓ Using credentials (merged from CLI args, env vars, and saved file)"),D){let P=Object.keys(l);Y.info(`Credentials provided: ${P.join(", ")}`),Y.info(`Build options: platform=${k.platform}, mode=${k.buildMode}, cliVersion=${k.cliVersion}`)}Y.info("Requesting build from Capgo...");let e=3,c=await iHQ(`${W}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify(s)},e,Y);if(!c.ok){let P=await c.text();throw Error(`Failed to request build: ${c.status} - ${P}`)}let $A=await c.json();if(Y.success(`Build job created: ${$A.job_id}`),Y.info(`Status: ${$A.status}`),D)Y.info(`Upload URL: ${$A.upload_url}`),Y.info(`Upload expires: ${$A.upload_expires_at}`);let a=TZA()||Q.aiAnalytics===!0,HA=null,LA=!1;if(a&&$A.job_id)HA=$A.job_id,await SZA($A.job_id),PZA($A.job_id,()=>LA);let TA={...Y,buildLog:(P)=>{if(Y.buildLog(P),a&&HA)jZA(HA,P)}};await HB(Q.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:Z,tags:{"app-id":A,platform:F},notify:!1}).catch();let r=e4(mHQ(),`capgo-build-${Date.now()}`);await yHQ(r,{recursive:!0});let j=e4(r,`${uZA(H)}.zip`);try{Y.info(`Zipping ${F} project from ${H}...`),await DXQ(H,j,F,X?.config,{nodeModules:Q.nodeModules});let P=await hHQ(j),x=(P.size/1024/1024).toFixed(2);if(Y.success(`Created zip: ${j} (${x} MB)`),Y.info("Uploading to builder..."),D)Y.info(`Upload endpoint: ${$A.upload_url}`),Y.info(`File size: ${x} MB`),Y.info(`Job ID: ${$A.job_id}`);let DA=gHQ(j);Y.uploadProgress(0);let o=Date.now(),BA=Q.buildMode||"release";sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"started"}),await new Promise((ZQ,XQ)=>{let OQ=new Aj.Upload(DA,{endpoint:$A.upload_url,chunkSize:5242880,metadata:{filename:uZA(j),filetype:"application/zip"},headers:{authorization:Q.apikey},onBeforeRequest(XB){if(D){Y.info(`[TUS] ${XB.getMethod()} ${XB.getURL()}`);let qB=XB.getHeader("authorization");Y.info(`[TUS] Authorization header present: ${!!qB}`)}},onAfterResponse(XB,qB){if(D){Y.info(`[TUS] Response status: ${qB.getStatus()}`);let MQ=qB.getHeader("upload-offset"),TI=qB.getHeader("tus-resumable");Y.info(`[TUS] Upload-Offset: ${MQ}, Tus-Resumable: ${TI}`)}},async onError(XB){if(await sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"failed",durationSeconds:(Date.now()-o)/1000,error:XB}),Y.error(`Upload error: ${XB.message}`),XB instanceof Aj.DetailedError){let qB=XB.originalResponse?.getBody(),MQ=XB.originalResponse?.getStatus(),TI=XB.originalRequest?.getURL();if(D)Y.error(`[TUS] Request URL: ${TI}`),Y.error(`[TUS] Response status: ${MQ}`),Y.error(`[TUS] Response body: ${qB}`);let Q0=(()=>{try{let uB=JSON.parse(qB||'{"error": "unknown error"}');return uB.status||uB.error||uB.message||"unknown error"}catch{return qB||XB.message}})();XQ(Error(`TUS upload failed: ${Q0}`))}else XQ(Error(`TUS upload failed: ${XB.message||XB.toString()}`))},onProgress(XB,qB){let MQ=Number.parseFloat((XB/qB*100).toFixed(2));Y.uploadProgress(MQ)},onSuccess(){if(sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"succeeded",durationSeconds:(Date.now()-o)/1000}),Y.uploadProgress(100),D)Y.success("TUS upload completed successfully");ZQ()}});if(D)Y.info("[TUS] Starting upload...");OQ.start()}),Y.info("Starting build job...");let zA=await fetch(`${W}/build/start/${$A.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify({app_id:A})});if(!zA.ok){let ZQ=await zA.text();throw Error(`Failed to start build: ${zA.status} - ${ZQ}`)}let GA=await zA.json();Y.success("Build started!"),Y.info("Streaming build logs...");let OA=new AbortController,sA=!1,PA=async()=>{if(sA)return;sA=!0;let ZQ=new AbortController,XQ=setTimeout(()=>ZQ.abort(),4000);try{await fetch(`${W}/build/cancel/${$A.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify({app_id:A}),signal:ZQ.signal})}catch{}finally{clearTimeout(XQ)}},aA=async()=>{try{if(sA)SD.exit(1);Y.warn("Canceling build... (press Ctrl+C again to force quit)"),await PA(),OA.abort()}catch{}};SD.on("SIGINT",aA);let UQ,RA=!1,QQ=async()=>{try{let ZQ=await fetch(`${W}/build/status?job_id=${encodeURIComponent($A.job_id)}&app_id=${encodeURIComponent(A)}&platform=${F}`,{headers:{authorization:Q.apikey}});if(!ZQ.ok)return null;let XQ=await ZQ.json(),OQ=XQ.status?.toLowerCase?.()??"";if(RA)Y.info(`Build status: ${OQ||XQ.status}`);if(eS.has(OQ))return OQ;return null}catch{return null}},dA=null;try{dA=await sHQ(B,D,GA.logs_url,GA.logs_token,QQ,OA.signal,()=>{RA=!0},B&&!I&&!Q.outputRecord?void 0:TA)}finally{SD.removeListener("SIGINT",aA)}if(dA){if(UQ=dA,eS.has(dA))await QQ().catch(()=>{})}else UQ=await tHQ(W,$A.job_id,A,F,Q.apikey,B,RA,OA.signal,Y);if(UQ==="succeeded")Y.success("Build completed successfully!");else if(UQ==="failed")Y.error("Build failed");else Y.warn(`Build finished with status: ${UQ}`);if(Q.outputRecord&&UQ==="succeeded")try{let ZQ=await fZA(Q.outputRecord,{jobId:$A.job_id,appId:A,platform:F,buildMode:Q.buildMode??"release",status:UQ,outputUrl:G},(XQ)=>Y.warn(XQ));if(Y.success(`Build output record written to ${Q.outputRecord}`),!ZQ.outputUrl)Y.info("ℹ️ Record contains no download URL — pass --output-upload to publish one.");if(ZQ.qrCodePngPath)Y.info(`ℹ️ QR code PNG written to ${ZQ.qrCodePngPath}`)}catch(ZQ){Y.warn(`Failed to write build output record to ${Q.outputRecord}: ${ZQ instanceof Error?ZQ.message:String(ZQ)}`)}if(UQ==="failed"&&a&&HA){let ZQ=kZA({isTTY:SD.stdout.isTTY===!0,aiAnalyticsFlag:Q.aiAnalytics===!0}),XQ="⚠ AI can make mistakes. Always verify the diagnosis against the full log before applying the suggested fix.",OQ=(Q0)=>{if(Q0==="ok")return"success";if(Q0==="already_analyzed")return"already_analyzed";if(Q0==="too_big")return"too_big";return"error"},XB=async(Q0,uB)=>{await aS({apikey:Q.apikey,orgId:Z,appId:A,platform:F,jobId:HA,choice:Q0,triggeredBy:uB});let g1=`${SD.env.CAPGO_AI_LOG_BASE_DIR||"/tmp/capgo-builds"}/${HA}.log`,kE="";try{let{readFile:VB}=await import("node:fs/promises");kE=await VB(g1,"utf8")}catch(VB){let GI=VB instanceof Error?VB.message:String(VB);SD.stderr.write(`AI analysis skipped: could not read captured log at ${g1}: ${GI}
721
+ `),D)Y.info(`API host: ${W}`);let N={};if(Q.buildCertificateBase64)N.BUILD_CERTIFICATE_BASE64=Q.buildCertificateBase64;if(Q.p12Password)N.P12_PASSWORD=Q.p12Password;if(Q.appleKeyId)N.APPLE_KEY_ID=Q.appleKeyId;if(Q.appleIssuerId)N.APPLE_ISSUER_ID=Q.appleIssuerId;if(Q.appleKeyContent)N.APPLE_KEY_CONTENT=Q.appleKeyContent;if(Q.appStoreConnectTeamId)N.APP_STORE_CONNECT_TEAM_ID=Q.appStoreConnectTeamId;if(Q.iosScheme)N.CAPGO_IOS_SCHEME=Q.iosScheme;if(Q.iosTarget)N.CAPGO_IOS_TARGET=Q.iosTarget;if(Q.iosDistribution)N.CAPGO_IOS_DISTRIBUTION=Q.iosDistribution;if(Q.iosProvisioningProfile&&Q.iosProvisioningProfile.length>0){let P=HT(Q.iosProvisioningProfile,Jn(Q.path||Yn()));N.CAPGO_IOS_PROVISIONING_MAP=JSON.stringify(P)}if(Q.iosProvisioningMap)N.CAPGO_IOS_PROVISIONING_MAP=Q.iosProvisioningMap;if(Q.androidKeystoreFile)N.ANDROID_KEYSTORE_FILE=Q.androidKeystoreFile;if(Q.keystoreKeyAlias)N.KEYSTORE_KEY_ALIAS=Q.keystoreKeyAlias;let w=!!Q.keystoreKeyPassword,O=!!Q.keystoreStorePassword;if(w&&!O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreKeyPassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreKeyPassword;else if(!w&&O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreStorePassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreStorePassword;else if(w&&O)N.KEYSTORE_KEY_PASSWORD=Q.keystoreKeyPassword,N.KEYSTORE_STORE_PASSWORD=Q.keystoreStorePassword;if(typeof Q.androidFlavor==="string"){let P=Q.androidFlavor.trim();if(P)N.CAPGO_ANDROID_FLAVOR=P}if(Q.playConfigJson)N.PLAY_CONFIG_JSON=Q.playConfigJson;if(Q.inAppUpdatePriority!==void 0)N.PLAY_STORE_IN_APP_UPDATE_PRIORITY=String(jC(Q.inAppUpdatePriority));if(Q.outputUpload!==void 0)N.BUILD_OUTPUT_UPLOAD_ENABLED=BG(Q.outputUpload)?"true":"false";if(Q.outputRetention)N.BUILD_OUTPUT_RETENTION_SECONDS=String(SC(Q.outputRetention));if(Q.skipBuildNumberBump!==void 0)N.SKIP_BUILD_NUMBER_BUMP=BG(Q.skipBuildNumberBump)?"true":"false";let T=await FXA(A,F,Object.keys(N).length>0?N:void 0);if(Q.playstoreUpload===!1&&T)delete T.PLAY_CONFIG_JSON,Y.info("ℹ️ --no-playstore-upload specified, Play Store upload disabled for this build");let R=D6(X?.config,F);if(T&&R)if(F==="ios")T.CAPGO_IOS_SOURCE_DIR=R,T.CAPGO_IOS_APP_DIR=R,T.CAPGO_IOS_PROJECT_DIR=R,T.IOS_PROJECT_DIR=R;else T.CAPGO_ANDROID_SOURCE_DIR=R,T.CAPGO_ANDROID_APP_DIR=R,T.CAPGO_ANDROID_PROJECT_DIR=R,T.ANDROID_PROJECT_DIR=R;if(!T)throw Y.error("❌ No credentials found for this app and platform"),Y.error(""),Y.error("You must provide credentials via:"),Y.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),Y.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),Y.error(" 3. Saved credentials file:"),Y.error(` npx @capgo/cli build credentials save --appId ${A} --platform ${F}`),Y.error(""),Y.error("Documentation:"),Y.error(" https://capgo.app/docs/cli/cloud-build/credentials/"),Error("No credentials found. Please provide credentials before building.");let S=[];if(F==="ios"){let P=T.CAPGO_IOS_DISTRIBUTION,x=["app_store","ad_hoc"];if(P&&!x.includes(P))S.push(`Invalid CAPGO_IOS_DISTRIBUTION value: '${P}'. Must be one of: ${x.join(", ")}`);let DA=P&&x.includes(P)?P:"app_store";if(!P)Y.info("ℹ️ --ios-distribution not specified, defaulting to app_store");if(T.CAPGO_IOS_DISTRIBUTION=DA,!T.BUILD_CERTIFICATE_BASE64)S.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!T.P12_PASSWORD)Y.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),Y.warn(" If your certificate requires a password, provide it with --p12-password");if(!!(T.BUILD_PROVISION_PROFILE_BASE64||T.APPLE_PROFILE_NAME)&&!T.CAPGO_IOS_PROVISIONING_MAP)throw Y.error("❌ Legacy provisioning profile format detected. Run:"),Y.error(" npx @capgo/cli build credentials migrate --platform ios"),Y.error(""),Y.error(" This will convert your existing provisioning profile to the new multi-target format."),Error("Legacy provisioning profile format detected. Run: npx @capgo/cli build credentials migrate --platform ios");if(!T.CAPGO_IOS_PROVISIONING_MAP)S.push('CAPGO_IOS_PROVISIONING_MAP (use --ios-provisioning-profile or save via "build credentials save")');if(DA==="app_store"){let BA=!!T.APPLE_KEY_ID,zA=!!T.APPLE_ISSUER_ID,GA=!!T.APPLE_KEY_CONTENT,OA=BA||zA||GA;if(!(BA&&zA&&GA))if(OA){let PA=[];if(!BA)PA.push("APPLE_KEY_ID (or --apple-key-id)");if(!zA)PA.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!GA)PA.push("APPLE_KEY_CONTENT (or --apple-key-content)");S.push(`Incomplete App Store Connect API key - missing: ${PA.join(", ")}`)}else if(T.BUILD_OUTPUT_UPLOAD_ENABLED!=="true")S.push("APPLE_KEY_ID/APPLE_ISSUER_ID/APPLE_KEY_CONTENT or BUILD_OUTPUT_UPLOAD_ENABLED=true (or --output-upload) (build has no output destination - enable either TestFlight upload or Capgo download link)");else if(T.SKIP_BUILD_NUMBER_BUMP!=="true")S.push("APPLE_KEY_ID/APPLE_ISSUER_ID/APPLE_KEY_CONTENT or --skip-build-number-bump (App Store Connect API key not provided - build numbers cannot be auto-incremented without it)");else Y.warn("⚠️ App Store Connect API key not provided - build will succeed but cannot auto-upload to TestFlight")}else if(DA==="ad_hoc")Y.info("\uD83D\uDCE6 Ad-hoc distribution mode: App Store Connect API key not required"),Y.info(" Build number will use timestamp-based fallback");if(!T.APP_STORE_CONNECT_TEAM_ID)S.push("APP_STORE_CONNECT_TEAM_ID (or --app-store-connect-team-id)")}else if(F==="android"){if(!T.ANDROID_KEYSTORE_FILE)S.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!T.KEYSTORE_KEY_ALIAS)S.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!T.KEYSTORE_KEY_PASSWORD&&!T.KEYSTORE_STORE_PASSWORD)S.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!T.PLAY_CONFIG_JSON)if(T.BUILD_OUTPUT_UPLOAD_ENABLED!=="true")S.push("PLAY_CONFIG_JSON or BUILD_OUTPUT_UPLOAD_ENABLED=true (build has no output destination - enable either Play Store upload or Capgo download link)");else Y.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(S.length>0){Y.error(`❌ Missing required credentials for ${F}:`),Y.error("");for(let P of S)Y.error(` • ${P}`);throw Y.error(""),Y.error("Provide credentials via:"),Y.error(` 1. CLI arguments: npx @capgo/cli build request --platform ${F} ${F==="ios"?'--apple-key-id "..." --apple-issuer-id "..." --apple-key-content "..."':'--android-keystore-file "..." --keystore-key-alias "..."'}`),Y.error(` 2. Environment variables: ${F==="ios"?'export APPLE_KEY_ID="..." APPLE_ISSUER_ID="..." APPLE_KEY_CONTENT="..."':'export ANDROID_KEYSTORE_FILE="..." KEYSTORE_KEY_ALIAS="..."'}`),Y.error(` 3. Saved credentials: npx @capgo/cli build credentials save --platform ${F} ...`),Y.error(""),Y.error("Documentation:"),Y.error(` https://capgo.app/docs/cli/cloud-build/${F}/`),Error(`Missing required credentials for ${F}: ${S.join(", ")}`)}if(!Q.buildMode)Y.info("ℹ️ --build-mode not specified, defaulting to release");if(!T.BUILD_OUTPUT_UPLOAD_ENABLED)Y.info("ℹ️ --output-upload not specified, defaulting to false (no Capgo download link)");if(!T.BUILD_OUTPUT_RETENTION_SECONDS)Y.info(`ℹ️ --output-retention not specified, defaulting to ${NJ}s (1 hour)`);if(!T.SKIP_BUILD_NUMBER_BUMP)Y.info("ℹ️ --skip-build-number-bump not specified, build number will be auto-incremented (default)");let{buildOptions:k,buildCredentials:l}=GXQ(T,F,Q.buildMode||"release",N1.version),s={app_id:A,platform:F,build_mode:Q.buildMode||"release",build_options:k,build_credentials:l};if(Y.info("✓ Using credentials (merged from CLI args, env vars, and saved file)"),D){let P=Object.keys(l);Y.info(`Credentials provided: ${P.join(", ")}`),Y.info(`Build options: platform=${k.platform}, mode=${k.buildMode}, cliVersion=${k.cliVersion}`)}Y.info("Requesting build from Capgo...");let e=3,c=await iHQ(`${W}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify(s)},e,Y);if(!c.ok){let P=await c.text();throw Error(`Failed to request build: ${c.status} - ${P}`)}let $A=await c.json();if(Y.success(`Build job created: ${$A.job_id}`),Y.info(`Status: ${$A.status}`),D)Y.info(`Upload URL: ${$A.upload_url}`),Y.info(`Upload expires: ${$A.upload_expires_at}`);let a=TZA()||Q.aiAnalytics===!0,HA=null,LA=!1;if(a&&$A.job_id)HA=$A.job_id,await SZA($A.job_id),PZA($A.job_id,()=>LA);let TA={...Y,buildLog:(P)=>{if(Y.buildLog(P),a&&HA)jZA(HA,P)}};await HB(Q.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",org_id:Z,tracking_version:2,tags:{"app-id":A,platform:F},notify:!1}).catch();let r=e4(mHQ(),`capgo-build-${Date.now()}`);await yHQ(r,{recursive:!0});let j=e4(r,`${uZA(H)}.zip`);try{Y.info(`Zipping ${F} project from ${H}...`),await DXQ(H,j,F,X?.config,{nodeModules:Q.nodeModules});let P=await hHQ(j),x=(P.size/1024/1024).toFixed(2);if(Y.success(`Created zip: ${j} (${x} MB)`),Y.info("Uploading to builder..."),D)Y.info(`Upload endpoint: ${$A.upload_url}`),Y.info(`File size: ${x} MB`),Y.info(`Job ID: ${$A.job_id}`);let DA=gHQ(j);Y.uploadProgress(0);let o=Date.now(),BA=Q.buildMode||"release";sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"started"}),await new Promise((ZQ,XQ)=>{let OQ=new Aj.Upload(DA,{endpoint:$A.upload_url,chunkSize:5242880,metadata:{filename:uZA(j),filetype:"application/zip"},headers:{authorization:Q.apikey},onBeforeRequest(XB){if(D){Y.info(`[TUS] ${XB.getMethod()} ${XB.getURL()}`);let qB=XB.getHeader("authorization");Y.info(`[TUS] Authorization header present: ${!!qB}`)}},onAfterResponse(XB,qB){if(D){Y.info(`[TUS] Response status: ${qB.getStatus()}`);let MQ=qB.getHeader("upload-offset"),TI=qB.getHeader("tus-resumable");Y.info(`[TUS] Upload-Offset: ${MQ}, Tus-Resumable: ${TI}`)}},async onError(XB){if(await sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"failed",durationSeconds:(Date.now()-o)/1000,error:XB}),Y.error(`Upload error: ${XB.message}`),XB instanceof Aj.DetailedError){let qB=XB.originalResponse?.getBody(),MQ=XB.originalResponse?.getStatus(),TI=XB.originalRequest?.getURL();if(D)Y.error(`[TUS] Request URL: ${TI}`),Y.error(`[TUS] Response status: ${MQ}`),Y.error(`[TUS] Response body: ${qB}`);let Q0=(()=>{try{let uB=JSON.parse(qB||'{"error": "unknown error"}');return uB.status||uB.error||uB.message||"unknown error"}catch{return qB||XB.message}})();XQ(Error(`TUS upload failed: ${Q0}`))}else XQ(Error(`TUS upload failed: ${XB.message||XB.toString()}`))},onProgress(XB,qB){let MQ=Number.parseFloat((XB/qB*100).toFixed(2));Y.uploadProgress(MQ)},onSuccess(){if(sS({apikey:Q.apikey,appId:A,orgId:Z,platform:F,buildMode:BA,jobId:$A.job_id,sizeBytes:P.size,phase:"succeeded",durationSeconds:(Date.now()-o)/1000}),Y.uploadProgress(100),D)Y.success("TUS upload completed successfully");ZQ()}});if(D)Y.info("[TUS] Starting upload...");OQ.start()}),Y.info("Starting build job...");let zA=await fetch(`${W}/build/start/${$A.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify({app_id:A})});if(!zA.ok){let ZQ=await zA.text();throw Error(`Failed to start build: ${zA.status} - ${ZQ}`)}let GA=await zA.json();Y.success("Build started!"),Y.info("Streaming build logs...");let OA=new AbortController,sA=!1,PA=async()=>{if(sA)return;sA=!0;let ZQ=new AbortController,XQ=setTimeout(()=>ZQ.abort(),4000);try{await fetch(`${W}/build/cancel/${$A.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Q.apikey},body:JSON.stringify({app_id:A}),signal:ZQ.signal})}catch{}finally{clearTimeout(XQ)}},aA=async()=>{try{if(sA)SD.exit(1);Y.warn("Canceling build... (press Ctrl+C again to force quit)"),await PA(),OA.abort()}catch{}};SD.on("SIGINT",aA);let UQ,RA=!1,QQ=async()=>{try{let ZQ=await fetch(`${W}/build/status?job_id=${encodeURIComponent($A.job_id)}&app_id=${encodeURIComponent(A)}&platform=${F}`,{headers:{authorization:Q.apikey}});if(!ZQ.ok)return null;let XQ=await ZQ.json(),OQ=XQ.status?.toLowerCase?.()??"";if(RA)Y.info(`Build status: ${OQ||XQ.status}`);if(eS.has(OQ))return OQ;return null}catch{return null}},dA=null;try{dA=await sHQ(B,D,GA.logs_url,GA.logs_token,QQ,OA.signal,()=>{RA=!0},B&&!I&&!Q.outputRecord?void 0:TA)}finally{SD.removeListener("SIGINT",aA)}if(dA){if(UQ=dA,eS.has(dA))await QQ().catch(()=>{})}else UQ=await tHQ(W,$A.job_id,A,F,Q.apikey,B,RA,OA.signal,Y);if(UQ==="succeeded")Y.success("Build completed successfully!");else if(UQ==="failed")Y.error("Build failed");else Y.warn(`Build finished with status: ${UQ}`);if(Q.outputRecord&&UQ==="succeeded")try{let ZQ=await fZA(Q.outputRecord,{jobId:$A.job_id,appId:A,platform:F,buildMode:Q.buildMode??"release",status:UQ,outputUrl:G},(XQ)=>Y.warn(XQ));if(Y.success(`Build output record written to ${Q.outputRecord}`),!ZQ.outputUrl)Y.info("ℹ️ Record contains no download URL — pass --output-upload to publish one.");if(ZQ.qrCodePngPath)Y.info(`ℹ️ QR code PNG written to ${ZQ.qrCodePngPath}`)}catch(ZQ){Y.warn(`Failed to write build output record to ${Q.outputRecord}: ${ZQ instanceof Error?ZQ.message:String(ZQ)}`)}if(UQ==="failed"&&a&&HA){let ZQ=kZA({isTTY:SD.stdout.isTTY===!0,aiAnalyticsFlag:Q.aiAnalytics===!0}),XQ="⚠ AI can make mistakes. Always verify the diagnosis against the full log before applying the suggested fix.",OQ=(Q0)=>{if(Q0==="ok")return"success";if(Q0==="already_analyzed")return"already_analyzed";if(Q0==="too_big")return"too_big";return"error"},XB=async(Q0,uB)=>{await aS({apikey:Q.apikey,orgId:Z,appId:A,platform:F,jobId:HA,choice:Q0,triggeredBy:uB});let g1=`${SD.env.CAPGO_AI_LOG_BASE_DIR||"/tmp/capgo-builds"}/${HA}.log`,kE="";try{let{readFile:VB}=await import("node:fs/promises");kE=await VB(g1,"utf8")}catch(VB){let GI=VB instanceof Error?VB.message:String(VB);SD.stderr.write(`AI analysis skipped: could not read captured log at ${g1}: ${GI}
722
722
  `);return}let C1=SD.stdout.isTTY===!0,t0=C1?SD.stdout:SD.stderr,zQ=C1?yI():null;zQ?.start("Analyzing build log with Capgo AI (Kimi K2.5)");let aQ;try{aQ=await xZA({apiHost:W,apikey:Q.apikey,jobId:HA,appId:A,logs:kE})}finally{zQ?.stop("Capgo AI finished")}let YB=OQ(aQ.kind);if(await bZA({apikey:Q.apikey,orgId:Z,appId:A,platform:F,jobId:HA,result:YB,errorStatus:aQ.kind==="error"?aQ.status:void 0}),aQ.kind==="ok")t0.write(`
723
723
  --- AI analysis ---
724
724
  ${gZA(aQ.analysis,C1)}
@@ -737,7 +737,7 @@ ${"⚠ AI can make mistakes. Always verify the diagnosis against the full log be
737
737
  `)},MQ=async()=>{await aS({apikey:Q.apikey,orgId:Z,appId:A,platform:F,jobId:HA,choice:"skip",triggeredBy:ZQ==="auto_upload"||ZQ==="skip"?"ci_flag":"menu"})};async function TI(){if(await Dn(HA)){SD.stdout.write(`Log too big for AI analysis (>10 MB). Offering local AI instead.
738
738
  `),await qB();return}let Q0=await M1({message:"Choose AI analysis",options:[{value:"capgo",label:"Capgo AI (Kimi K2.5)"},{value:"local",label:"Local AI (write prompt to file)"},{value:"skip",label:"Skip"}]});if(Q0==="capgo")await XB("capgo_ai","menu");else if(Q0==="local")await qB();else await MQ()}try{if(ZQ==="skip")await MQ();else if(ZQ==="auto_upload")if(await Dn(HA))SD.stderr.write(`Log too big for AI analysis (>10 MB), skipping
739
739
  `),await MQ();else await XB("auto_upload","ci_flag");else if(ZQ==="ask_then_menu"){let Q0=await bI({message:"Build failed. Run AI analysis?"});if(!Q0||typeof Q0==="symbol")await MQ();else await TI()}else await TI()}catch(Q0){SD.stderr.write(`AI analysis flow errored: ${Q0 instanceof Error?Q0.message:String(Q0)}
740
- `)}}let PQ=((Date.now()-E)/1000).toFixed(2);return await HB(Q.apikey,{channel:"native-builder",event:UQ==="succeeded"?"Build succeeded":"Build failed",icon:UQ==="succeeded"?"✅":"❌",user_id:Z,tags:{"app-id":A,platform:F,status:UQ||"unknown",time:PQ},notify:!1}).catch(),{success:UQ==="succeeded",jobId:$A.job_id,uploadUrl:$A.upload_url,status:UQ||GA.status||$A.status}}finally{await fHQ(r,{recursive:!0,force:!0})}}catch(H){let X=H instanceof Error?H.message:String(H);return Y.error(X),{success:!1,error:X}}}async function nZA(A,Q){if(!(await GH(A,Q,!1)).success)cHQ(1)}import{Buffer as VM}from"node:buffer";import{spawn as JXQ,spawnSync as YXQ}from"node:child_process";var iZA=100,UXQ=20,HXQ=new Set(["P12_PASSWORD","APPLE_KEY_CONTENT","BUILD_CERTIFICATE_BASE64","BUILD_PROVISION_PROFILE_BASE64","CAPGO_IOS_PROVISIONING_MAP","CAPGO_IOS_PROVISIONING_MAP_BASE64","KEYSTORE_KEY_PASSWORD","KEYSTORE_STORE_PASSWORD","ANDROID_KEYSTORE_FILE","PLAY_CONFIG_JSON","CAPGO_TOKEN"]),rZA={provider:"github",label:"GitHub Actions repository secrets",cli:"gh"},oZA={provider:"gitlab",label:"GitLab CI/CD variables",cli:"glab"};function XXQ(A,Q,B={}){let I=YXQ(A,Q,{encoding:"utf8",input:B.input,stdio:["pipe","pipe","pipe"],windowsHide:!0});return{status:I.status,stdout:I.stdout||"",stderr:I.stderr||"",error:I.error}}function Hn(A,Q,B={}){return new Promise((I)=>{let E=JXQ(A,Q,{stdio:["pipe","pipe","pipe"],windowsHide:!0}),D=[],$=[];if(E.stdout.on("data",(G)=>D.push(G)),E.stderr.on("data",(G)=>$.push(G)),E.on("error",(G)=>{I({status:null,stdout:VM.concat(D).toString("utf8"),stderr:VM.concat($).toString("utf8"),error:G})}),E.on("close",(G)=>{I({status:G,stdout:VM.concat(D).toString("utf8"),stderr:VM.concat($).toString("utf8")})}),B.input)E.stdin.write(B.input);E.stdin.end()})}function Qj(A,Q){let B=[],I=!1,E=A.CAPGO_IOS_PROVISIONING_MAP;for(let[$,G]of Object.entries(A)){if(typeof G!=="string"||G.length===0)continue;if($==="CAPGO_IOS_PROVISIONING_MAP")continue;if($==="CAPGO_IOS_PROVISIONING_MAP_BASE64")I=!0;B.push({key:$,value:G,masked:HXQ.has($)})}if(E&&!I)B.push({key:"CAPGO_IOS_PROVISIONING_MAP_BASE64",value:VM.from(E,"utf8").toString("base64"),masked:!0});let D=Q?.trim();if(D)B.push({key:"CAPGO_TOKEN",value:D,masked:!0});return B}function Bj(A=XXQ){let Q=CXQ(A),B=[],I=[],E=[];if(Q.size===0)return E.push("No GitHub or GitLab git remote detected."),{targets:B,setup:I,notes:E};if(Q.has("github")){let D=aZA("gh",A);if(D.ready)B.push(rZA);else I.push(sZA(rZA,D))}if(Q.has("gitlab")){let D=aZA("glab",A);if(D.ready)B.push(oZA);else I.push(sZA(oZA,D))}return{targets:B,setup:I,notes:E}}function FG(A){return A?.label||"your git hosting platform"}async function Ij(A,Q=Hn){if(A.provider==="github"){let I=await Q("gh",["repo","view","--json","nameWithOwner","-q",".nameWithOwner"]);if(I.status===0){let E=I.stdout.trim();return E.length>0?E:null}return null}let B=await Q("glab",["repo","view","-F","json"]);if(B.status===0)try{let I=JSON.parse(B.stdout);return I.path_with_namespace??I.name??null}catch{return null}return null}async function Ej(A,Q,B=Hn){let I=A.provider==="github"?await KXQ(B):await qXQ(B),E=new Set(I);return Q.filter((D)=>E.has(D))}async function Dj(A,Q,B=[],I=Hn,E){let D=new Set(B),$=Q.length,G=0;for(let Y of Q){if(G+=1,E?.(G,$,Y.key),A.provider==="github"){await tZA(A.cli,["secret","set",Y.key],I,Y.value);continue}let X=["variable",D.has(Y.key)?"update":"set",Y.key,"--raw"];if(Y.masked)X.push("--masked");await tZA(A.cli,X,I,Y.value)}}function CXQ(A){let Q=A("git",["remote","-v"]),B=new Set;if(Q.status!==0)return B;for(let I of Q.stdout.split(/\r?\n/)){let E=I.trim().split(/\s+/)[1]||I.trim(),D=FXQ(E);if(!D)continue;if(D.includes("github"))B.add("github");if(D.includes("gitlab"))B.add("gitlab")}return B}function FXQ(A){if(!A)return null;try{let I=new URL(A).hostname.toLowerCase();if(I)return I}catch{}let Q=A.match(/^ssh:\/\/(?:[^@]+@)?([^/:]+)/i);if(Q?.[1])return Q[1].toLowerCase();let B=A.match(/^(?:[^@]+@)?([^:]+):/);if(B?.[1])return B[1].toLowerCase();return null}function aZA(A,Q){if(Q(A,["--version"]).status!==0)return{ready:!1,reason:`${A} is not installed`,kind:"not-installed"};if(Q(A,["auth","status"]).status!==0)return{ready:!1,reason:`${A} is not authenticated`,kind:"not-authenticated"};return{ready:!0,reason:""}}function sZA(A,Q){let B=Q.kind||"not-authenticated";if(A.provider==="github")return{target:A,reason:B,message:B==="not-installed"?"GitHub CLI is needed to upload GitHub Actions secrets.":"GitHub CLI is installed but not logged in.",commands:B==="not-installed"?["Install GitHub CLI: https://cli.github.com/","gh auth login"]:["gh auth login"]};return{target:A,reason:B,message:B==="not-installed"?"GitLab CLI is needed to upload GitLab CI/CD variables.":"GitLab CLI is installed but not logged in.",commands:B==="not-installed"?["Install GitLab CLI: https://gitlab.com/gitlab-org/cli#installation","glab auth login"]:["glab auth login"]}}function WXQ(A){if(Array.isArray(A))return A;if(A&&typeof A==="object"){let Q=A;if(Array.isArray(Q.variables))return Q.variables;if(Array.isArray(Q.data))return Q.data}return[]}async function tZA(A,Q,B,I){let E=await B(A,Q,{input:I});if(E.status!==0)throw Error(Xn(A,Q.slice(0,3),E))}async function KXQ(A){let Q=await A("gh",["secret","list","--json","name"]);if(Q.status!==0)throw Error(Xn("gh",["secret","list"],Q));let B=eZA(Q.stdout,"gh secret list");if(!Array.isArray(B))return[];return B.map((I)=>typeof I?.name==="string"?I.name:null).filter((I)=>!!I)}async function qXQ(A){let Q=new Set;for(let B=1;B<=UXQ;B+=1){let I=await A("glab",["variable","list","--output","json","--per-page",String(iZA),"--page",String(B)]);if(I.status!==0)throw Error(Xn("glab",["variable","list"],I));let E=eZA(I.stdout,"glab variable list"),D=WXQ(E);for(let $ of D)if(typeof $.key==="string")Q.add($.key);else if(typeof $.name==="string")Q.add($.name);if(D.length<iZA)break}return[...Q]}function eZA(A,Q){try{return JSON.parse(A||"[]")}catch{throw Error(`${Q} returned invalid JSON`)}}function Xn(A,Q,B){let I=[B.stderr,B.stdout,B.error?.message].filter(Boolean).join(`
740
+ `)}}let PQ=((Date.now()-E)/1000).toFixed(2);return await HB(Q.apikey,{channel:"native-builder",event:UQ==="succeeded"?"Build succeeded":"Build failed",icon:UQ==="succeeded"?"✅":"❌",org_id:Z,tracking_version:2,tags:{"app-id":A,platform:F,status:UQ||"unknown",time:PQ},notify:!1}).catch(),{success:UQ==="succeeded",jobId:$A.job_id,uploadUrl:$A.upload_url,status:UQ||GA.status||$A.status}}finally{await fHQ(r,{recursive:!0,force:!0})}}catch(H){let X=H instanceof Error?H.message:String(H);return Y.error(X),{success:!1,error:X}}}async function nZA(A,Q){if(!(await GH(A,Q,!1)).success)cHQ(1)}import{Buffer as VM}from"node:buffer";import{spawn as JXQ,spawnSync as YXQ}from"node:child_process";var iZA=100,UXQ=20,HXQ=new Set(["P12_PASSWORD","APPLE_KEY_CONTENT","BUILD_CERTIFICATE_BASE64","BUILD_PROVISION_PROFILE_BASE64","CAPGO_IOS_PROVISIONING_MAP","CAPGO_IOS_PROVISIONING_MAP_BASE64","KEYSTORE_KEY_PASSWORD","KEYSTORE_STORE_PASSWORD","ANDROID_KEYSTORE_FILE","PLAY_CONFIG_JSON","CAPGO_TOKEN"]),rZA={provider:"github",label:"GitHub Actions repository secrets",cli:"gh"},oZA={provider:"gitlab",label:"GitLab CI/CD variables",cli:"glab"};function XXQ(A,Q,B={}){let I=YXQ(A,Q,{encoding:"utf8",input:B.input,stdio:["pipe","pipe","pipe"],windowsHide:!0});return{status:I.status,stdout:I.stdout||"",stderr:I.stderr||"",error:I.error}}function Hn(A,Q,B={}){return new Promise((I)=>{let E=JXQ(A,Q,{stdio:["pipe","pipe","pipe"],windowsHide:!0}),D=[],$=[];if(E.stdout.on("data",(G)=>D.push(G)),E.stderr.on("data",(G)=>$.push(G)),E.on("error",(G)=>{I({status:null,stdout:VM.concat(D).toString("utf8"),stderr:VM.concat($).toString("utf8"),error:G})}),E.on("close",(G)=>{I({status:G,stdout:VM.concat(D).toString("utf8"),stderr:VM.concat($).toString("utf8")})}),B.input)E.stdin.write(B.input);E.stdin.end()})}function Qj(A,Q){let B=[],I=!1,E=A.CAPGO_IOS_PROVISIONING_MAP;for(let[$,G]of Object.entries(A)){if(typeof G!=="string"||G.length===0)continue;if($==="CAPGO_IOS_PROVISIONING_MAP")continue;if($==="CAPGO_IOS_PROVISIONING_MAP_BASE64")I=!0;B.push({key:$,value:G,masked:HXQ.has($)})}if(E&&!I)B.push({key:"CAPGO_IOS_PROVISIONING_MAP_BASE64",value:VM.from(E,"utf8").toString("base64"),masked:!0});let D=Q?.trim();if(D)B.push({key:"CAPGO_TOKEN",value:D,masked:!0});return B}function Bj(A=XXQ){let Q=CXQ(A),B=[],I=[],E=[];if(Q.size===0)return E.push("No GitHub or GitLab git remote detected."),{targets:B,setup:I,notes:E};if(Q.has("github")){let D=aZA("gh",A);if(D.ready)B.push(rZA);else I.push(sZA(rZA,D))}if(Q.has("gitlab")){let D=aZA("glab",A);if(D.ready)B.push(oZA);else I.push(sZA(oZA,D))}return{targets:B,setup:I,notes:E}}function FG(A){return A?.label||"your git hosting platform"}async function Ij(A,Q=Hn){if(A.provider==="github"){let I=await Q("gh",["repo","view","--json","nameWithOwner","-q",".nameWithOwner"]);if(I.status===0){let E=I.stdout.trim();return E.length>0?E:null}return null}let B=await Q("glab",["repo","view","-F","json"]);if(B.status===0)try{let I=JSON.parse(B.stdout);return I.path_with_namespace??I.name??null}catch{return null}return null}async function Ej(A,Q,B=Hn){let I=A.provider==="github"?await KXQ(B):await qXQ(B),E=new Set(I);return Q.filter((D)=>E.has(D))}async function Dj(A,Q,B=[],I=Hn,E){let D=new Set(B),$=Q.length,G=0;for(let Y of Q){if(G+=1,E?.(G,$,Y.key),A.provider==="github"){await tZA(A.cli,["secret","set",Y.key],I,Y.value);continue}let X=["variable",D.has(Y.key)?"update":"set",Y.key,"--raw"];if(Y.masked)X.push("--masked");await tZA(A.cli,X,I,Y.value)}}function CXQ(A){let Q=A("git",["remote","-v"]),B=new Set;if(Q.status!==0)return B;for(let I of Q.stdout.split(/\r?\n/)){let E=I.trim().split(/\s+/)[1]||I.trim(),D=FXQ(E);if(!D)continue;if(D.includes("github"))B.add("github");if(D.includes("gitlab"))B.add("gitlab")}return B}function FXQ(A){if(!A)return null;try{let I=new URL(A).hostname.toLowerCase();if(I)return I}catch{}let Q=A.match(/^ssh:\/\/(?:[^@]+@)?([^/:]+)/i);if(Q?.[1])return Q[1].toLowerCase();let B=A.match(/^(?:[^@]+@)?([^:]+):/);if(B?.[1])return B[1].toLowerCase();return null}function aZA(A,Q){if(Q(A,["--version"]).status!==0)return{ready:!1,reason:`${A} is not installed`,kind:"not-installed"};if(Q(A,["auth","status"]).status!==0)return{ready:!1,reason:`${A} is not authenticated`,kind:"not-authenticated"};return{ready:!0,reason:""}}function sZA(A,Q){let B=Q.kind||"not-authenticated";if(A.provider==="github")return{target:A,reason:B,message:B==="not-installed"?"GitHub CLI is needed to upload GitHub Actions secrets.":"GitHub CLI is installed but not logged in.",commands:B==="not-installed"?["Install GitHub CLI: https://cli.github.com/","gh auth login"]:["gh auth login"]};return{target:A,reason:B,message:B==="not-installed"?"GitLab CLI is needed to upload GitLab CI/CD variables.":"GitLab CLI is installed but not logged in.",commands:B==="not-installed"?["Install GitLab CLI: https://gitlab.com/gitlab-org/cli#installation","glab auth login"]:["glab auth login"]}}function WXQ(A){if(Array.isArray(A))return A;if(A&&typeof A==="object"){let Q=A;if(Array.isArray(Q.variables))return Q.variables;if(Array.isArray(Q.data))return Q.data}return[]}async function tZA(A,Q,B,I){let E=await B(A,Q,{input:I});if(E.status!==0)throw Error(Xn(A,Q.slice(0,3),E))}async function KXQ(A){let Q=await A("gh",["secret","list","--json","name"]);if(Q.status!==0)throw Error(Xn("gh",["secret","list"],Q));let B=eZA(Q.stdout,"gh secret list");if(!Array.isArray(B))return[];return B.map((I)=>typeof I?.name==="string"?I.name:null).filter((I)=>!!I)}async function qXQ(A){let Q=new Set;for(let B=1;B<=UXQ;B+=1){let I=await A("glab",["variable","list","--output","json","--per-page",String(iZA),"--page",String(B)]);if(I.status!==0)throw Error(Xn("glab",["variable","list"],I));let E=eZA(I.stdout,"glab variable list"),D=WXQ(E);for(let $ of D)if(typeof $.key==="string")Q.add($.key);else if(typeof $.name==="string")Q.add($.name);if(D.length<iZA)break}return[...Q]}function eZA(A,Q){try{return JSON.parse(A||"[]")}catch{throw Error(`${Q} returned invalid JSON`)}}function Xn(A,Q,B){let I=[B.stderr,B.stdout,B.error?.message].filter(Boolean).join(`
741
741
  `).trim(),E=[A,...Q].join(" ");return I?`${E} failed: ${I}`:`${E} failed`}PU();import Fn from"node:crypto";import{createServer as ZXQ}from"node:http";var QMA=["openid","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/androidpublisher"],MXQ="https://accounts.google.com/o/oauth2/v2/auth",NXQ="https://oauth2.googleapis.com/token",zXQ="https://openidconnect.googleapis.com/v1/userinfo",wXQ="https://oauth2.googleapis.com/revoke",LXQ=300000,Cn="127.0.0.1",AMA="/callback";function Wn(A){return A.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function OXQ(){let A=Wn(Fn.randomBytes(32)),Q=Wn(Fn.createHash("sha256").update(A).digest());return{verifier:A,challenge:Q,method:"S256"}}function RXQ(){return Wn(Fn.randomBytes(16))}function VXQ(A){let Q=new URLSearchParams({client_id:A.clientId,redirect_uri:A.redirectUri,response_type:"code",scope:A.scopes.join(" "),access_type:"offline",prompt:"consent",include_granted_scopes:"true",state:A.state,code_challenge:A.codeChallenge,code_challenge_method:"S256"});if(A.extra)for(let[B,I]of Object.entries(A.extra))Q.set(B,I);return`${MXQ}?${Q.toString()}`}function TXQ(A,Q=Date.now()){return{accessToken:A.access_token,refreshToken:A.refresh_token,expiresAt:Q+A.expires_in*1000,idToken:A.id_token,scope:A.scope,tokenType:A.token_type}}async function BMA(A){let Q=await fetch(NXQ,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:A.toString()}),B=await Q.text();if(!Q.ok){let E=B;try{let D=JSON.parse(B);if(D.error_description||D.error)E=`${D.error??""}${D.error&&D.error_description?": ":""}${D.error_description??""}`}catch{}throw Error(`Google token exchange failed (${Q.status}): ${E}`)}let I;try{I=JSON.parse(B)}catch{throw Error(`Google token endpoint returned non-JSON response: ${B.slice(0,200)}`)}return TXQ(I)}async function SXQ(A){let Q=new URLSearchParams({grant_type:"authorization_code",client_id:A.config.clientId,code:A.code,code_verifier:A.codeVerifier,redirect_uri:A.redirectUri});if(A.config.clientSecret)Q.set("client_secret",A.config.clientSecret);return BMA(Q)}async function IMA(A,Q){let B=new URLSearchParams({grant_type:"refresh_token",client_id:A.clientId,refresh_token:Q});if(A.clientSecret)B.set("client_secret",A.clientSecret);let I=await BMA(B);return{...I,refreshToken:I.refreshToken??Q}}async function EMA(A){let Q=await fetch(zXQ,{headers:{Authorization:`Bearer ${A}`}});if(!Q.ok){let I=await Q.text().catch(()=>"");throw Error(`userinfo failed (${Q.status}): ${I.slice(0,200)}`)}let B=await Q.json();return{sub:B.sub,email:B.email,emailVerified:!!B.email_verified,name:B.name,picture:B.picture}}async function DMA(A){let Q=await fetch(wXQ,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({token:A}).toString()});if(!Q.ok&&Q.status!==400){let B=await Q.text().catch(()=>"");throw Error(`revoke failed (${Q.status}): ${B.slice(0,200)}`)}}function $MA(A){return A.replace(/[&<>"']/g,(Q)=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[Q])}function jXQ(){return`<!doctype html><html><head><meta charset="utf-8"><title>Capgo — signed in</title>
742
742
  <style>body{font-family:-apple-system,BlinkMacSystemFont,sans-serif;max-width:480px;margin:80px auto;padding:0 20px;color:#222}h1{font-size:22px}p{color:#555;line-height:1.5}</style>
743
743
  </head><body><h1>✅ You can close this tab</h1>
@@ -757,7 +757,7 @@ ${"⚠ AI can make mistakes. Always verify the diagnosis against the full log be
757
757
  - The .p8 file is correct and hasn't been modified
758
758
  - The Key ID matches the key shown in App Store Connect
759
759
  - The Issuer ID is correct (shown at the top of the API keys page)
760
- - The key has "Admin" or "Developer" access`);throw Q}}async function Y2A(A,Q={}){return((await RG("/certificates?filter[certificateType]=IOS_DISTRIBUTION&limit=10",A)).data||[]).map((I)=>({id:I.id,name:I.attributes.name||I.attributes.displayName||"iOS Distribution",serialNumber:I.attributes.serialNumber||"",expirationDate:I.attributes.expirationDate,...Q.includeContent&&I.attributes.certificateContent?{certificateContent:I.attributes.certificateContent}:{}}))}function vqQ(A){let{Buffer:Q}=xA("node:buffer"),{createHash:B}=xA("node:crypto"),I=Q.from(A,"base64");return B("sha1").update(I).digest("hex").toLowerCase()}async function ii(A,Q){let B=Q.toLowerCase(),I=await Y2A(A,{includeContent:!0});for(let E of I){if(!E.certificateContent)continue;if(vqQ(E.certificateContent)===B)return E.id}return null}async function U2A(A,Q){let B=await RG(`/profiles?filter[certificates]=${encodeURIComponent(Q)}&include=bundleId&limit=50`,A),I=B.included||[],E=new Map;for(let D of I)if(D.type==="bundleIds"&&D.attributes?.identifier)E.set(D.id,D.attributes.identifier);return(B.data||[]).map((D)=>{let $=D.relationships?.bundleId?.data?.id;return{id:D.id,name:D.attributes.name||"",profileType:D.attributes.profileType||"",profileContent:D.attributes.profileContent||"",expirationDate:D.attributes.expirationDate||"",bundleIdentifier:$?E.get($)||"":""}})}async function H2A(A,Q){await RG(`/certificates/${Q}`,A,{method:"DELETE"})}class l3 extends Error{certificates;constructor(A){super(`Certificate limit reached. Found ${A.length} existing iOS distribution certificate(s).`);this.certificates=A;this.name="CertificateLimitError"}}async function X2A(A,Q){try{let I=(await RG("/certificates",A,{method:"POST",body:JSON.stringify({data:{type:"certificates",attributes:{certificateType:"IOS_DISTRIBUTION",csrContent:Q}}})})).data,E=pi(I.attributes.certificateContent);return{certificateId:I.id,certificateContent:I.attributes.certificateContent,expirationDate:I.attributes.expirationDate,teamId:E}}catch(B){if(B.message?.includes("ENTITY_ERROR.ATTRIBUTE.INVALID")||B.message?.includes("There is a problem with the request entity")||B.message?.includes("maximum number of certificates")){let I=await Y2A(A);if(I.length>0)throw new l3(I)}throw B}}async function ri(A,Q){let B=await RG(`/bundleIds?filter[identifier]=${encodeURIComponent(Q)}&limit=1`,A);if(B.data?.length>0)return{bundleIdResourceId:B.data[0].id};return{bundleIdResourceId:(await RG("/bundleIds",A,{method:"POST",body:JSON.stringify({data:{type:"bundleIds",attributes:{identifier:Q,name:`Capgo ${Q}`,platform:"IOS"}}})})).data.id}}function C2A(A){return`Capgo ${A} AppStore`}async function xqQ(A,Q){let B=C2A(Q);return((await RG(`/profiles?filter[name]=${encodeURIComponent(B)}&limit=10`,A)).data||[]).map((E)=>({id:E.id,name:E.attributes.name,profileType:E.attributes.profileType}))}async function F2A(A,Q){await RG(`/profiles/${Q}`,A,{method:"DELETE"})}class nM extends Error{profiles;constructor(A){super(`Duplicate profiles found: ${A.map((Q)=>Q.name).join(", ")}`);this.profiles=A;this.name="DuplicateProfileError"}}async function oi(A,Q,B,I){let E=C2A(I);try{let D=await RG("/profiles",A,{method:"POST",body:JSON.stringify({data:{type:"profiles",attributes:{name:E,profileType:"IOS_APP_STORE"},relationships:{bundleId:{data:{type:"bundleIds",id:Q}},certificates:{data:[{type:"certificates",id:B}]}}}})});return{profileId:D.data.id,profileName:D.data.attributes.name,profileContent:D.data.attributes.profileContent,expirationDate:D.data.attributes.expirationDate}}catch(D){if(D.message?.includes("Multiple profiles found")||D.message?.includes("duplicate")){let $=await xqQ(A,I);if($.length>0)throw new nM($)}throw D}}function gqQ(A){if(!A||typeof A!=="object")return;let Q=A.status;return typeof Q==="number"?Q:void 0}function W2A(A){if(!A||typeof A!=="object")return;let Q=A.phase;return typeof Q==="string"?Q:void 0}function BP(A,Q){if(A instanceof l3)return"cert_limit_reached";let B=gqQ(A);if(B===401)return"apple_api_unauthorized";if(B===429)return"apple_api_rate_limited";let I=W2A(A);if(I==="profile")return"profile_creation_failed";if(I==="p8")return"p8_invalid";if(Q==="import-scanning")return"keychain_no_identities";if(Q==="import-compiling-helper")return"keychain_helper_compile_failed";if(Q==="import-exporting")return"keychain_export_failed";if(Q==="import-fetching-profile")return"profile_read_failed";if(Q==="import-pick-profile"||Q==="import-no-match-recovery")return"profile_no_match";return"unknown"}function IP(A){if(A instanceof w3)return"google_oauth_failed";let Q=W2A(A);if(Q==="keystore")return"keystore_invalid";if(Q==="oauth")return"google_oauth_failed";if(Q==="play_account_id")return"play_account_id_invalid";return"unknown"}function K2A(A){switch(A){case"shape-error":return"sa_json_shape_invalid";case"token-error":return"sa_json_token_rejected";case"no-app-access":return"sa_json_no_app_access";case"network-error":return"sa_json_network_error"}}import{chmodSync as bqQ,existsSync as yqQ,writeFileSync as fqQ}from"node:fs";import{join as hqQ}from"node:path";import{cwd as uqQ}from"node:process";function H6(A,Q){return hqQ(uqQ(),`.env.capgo.${A}.${Q}`)}function d3(A){let Q=Object.values(A.credentials).filter((E)=>typeof E==="string"&&E.length>0).length;if(Q===0)return{kind:"empty"};let B=A.targetPath??H6(A.appId,A.platform);if(yqQ(B)&&!A.overwrite)return{kind:"exists",path:B};let I=CM({appId:A.appId,local:A.local??!1,platform:A.platform,creds:A.credentials});return fqQ(B,I,{mode:384}),bqQ(B,384),{kind:"written",path:B,fieldCount:Q}}import{execFile as mqQ}from"node:child_process";import{basename as cqQ}from"node:path";import{platform as lqQ}from"node:process";function iM(A){if(!X6())return Promise.resolve(null);return new Promise((Q)=>{mqQ("osascript",["-e",A],{encoding:"utf-8",timeout:120000},(B,I)=>{if(B){Q(null);return}let E=I.trim();Q(E||null)})})}function X6(){return lqQ==="darwin"}function q2A(){return iM('POSIX path of (choose file of type {"p8"} with prompt "Select your .p8 API key file")')}function Z2A(){return iM('POSIX path of (choose file with prompt "Select your package.json file")').then((A)=>{if(!A)return null;return cqQ(A).toLowerCase()==="package.json"?A:null})}function M2A(A){let Q=(I)=>I.replace(/\\/g,"\\\\").replace(/"/g,"\\\""),B=`POSIX path of (choose file name with prompt "${Q(A.prompt)}"`;if(A.defaultName)B+=` default name "${Q(A.defaultName)}"`;if(A.defaultLocation)B+=` default location (POSIX file "${Q(A.defaultLocation)}")`;return B+=")",iM(B)}function N2A(){return iM('POSIX path of (choose file of type {"jks", "keystore", "p12"} with prompt "Select your Android keystore")')}function z2A(){return iM('POSIX path of (choose file of type {"public.json"} with prompt "Select your Google Play service account JSON")')}FB();async function p3(A){let Q={step:A.step,platform:A.platform,app_id:A.appId};if(typeof A.durationMs==="number"&&Number.isFinite(A.durationMs))Q.duration_ms=String(Math.round(A.durationMs));if(A.errorCategory!==void 0)Q.error_category=A.errorCategory;else if(A.error!==void 0)Q.error_category=A.platform==="ios"?BP(A.error):IP(A.error);try{await HB(A.apikey,{event:"Builder Onboarding Step",channel:"builder-onboarding",icon:"\uD83E\uDDED",notify:!1,user_id:A.orgId,tags:Q})}catch{}}async function ai(A){let Q={};for(let[B,I]of Object.entries(A.tags??{}))Q[B]=String(I);Q.step=A.step,Q.platform=A.platform,Q.app_id=A.appId,Q.action=A.action;try{await HB(A.apikey,{event:"Builder Onboarding Action",channel:"builder-onboarding",icon:"\uD83E\uDDED",notify:!1,user_id:A.orgId,tags:Q})}catch{}}import{existsSync as rqQ,mkdirSync as oqQ,readFileSync as aqQ,writeFileSync as sqQ}from"node:fs";import{dirname as tqQ,resolve as eqQ}from"node:path";import{cwd as AZQ}from"node:process";var qE=".github/workflows/capgo-build.yml";function n3(A){let Q=[];if(Q.push("name: Capgo native build"),Q.push(""),Q.push("# Generated by `capgo build init`. Safe to edit — see"),Q.push("# https://capgo.app/docs/cli/cloud-build/ for the underlying CLI flags."),Q.push(""),Q.push("on:"),Q.push(" workflow_dispatch:"),Q.push(" inputs:"),Q.push(" platform:"),Q.push(" description: 'Platform to build'"),Q.push(" type: choice"),Q.push(" options:"),Q.push(" - ios"),Q.push(" - android"),Q.push(` default: ${A.defaultPlatform}`),Q.push(" build_mode:"),Q.push(" description: 'Build mode'"),Q.push(" type: choice"),Q.push(" options:"),Q.push(" - release"),Q.push(" - debug"),Q.push(" default: release"),Q.push(""),Q.push("jobs:"),Q.push(" build:"),Q.push(" runs-on: ubuntu-latest"),Q.push(" steps:"),Q.push(" - uses: actions/checkout@v4"),dqQ(Q,A.packageManager),Q.push(""),Q.push(" - name: Install dependencies"),Q.push(` run: ${pqQ(A.packageManager)}`),A.buildScript.type!=="skip")Q.push(""),Q.push(" - name: Build web assets"),nqQ(Q,iqQ(A.packageManager,A.buildScript));if(Q.push(""),Q.push(" - name: Capgo native build"),Q.push(" run: |"),Q.push(` ${w2A(A.packageManager)} @capgo/cli@latest build request ${A.appId} \\`),Q.push(" --platform ${{ inputs.platform }} \\"),Q.push(" --build-mode ${{ inputs.build_mode }} \\"),Q.push(" --apikey ${{ secrets.CAPGO_TOKEN }} \\"),Q.push(" --output-upload --output-record /tmp/capgo-build.json"),A.secretKeys.length>0){Q.push(" env:");for(let B of A.secretKeys)Q.push(` ${B}: \${{ secrets.${B} }}`)}return Q.push(""),Q.push(" - name: Surface artifact URL"),Q.push(" if: success()"),Q.push(" run: |"),Q.push(` URL=$(${w2A(A.packageManager)} @capgo/cli@latest build last-output --path /tmp/capgo-build.json --field outputUrl)`),Q.push(' if [ -n "$URL" ]; then'),Q.push(" {"),Q.push(' echo "### Capgo build ready"'),Q.push(' echo ""'),Q.push(' echo "- Artifact: $URL"'),Q.push(' } >> "$GITHUB_STEP_SUMMARY"'),Q.push(" fi"),Q.push(""),{path:".github/workflows/capgo-build.yml",content:Q.join(`
760
+ - The key has "Admin" or "Developer" access`);throw Q}}async function Y2A(A,Q={}){return((await RG("/certificates?filter[certificateType]=IOS_DISTRIBUTION&limit=10",A)).data||[]).map((I)=>({id:I.id,name:I.attributes.name||I.attributes.displayName||"iOS Distribution",serialNumber:I.attributes.serialNumber||"",expirationDate:I.attributes.expirationDate,...Q.includeContent&&I.attributes.certificateContent?{certificateContent:I.attributes.certificateContent}:{}}))}function vqQ(A){let{Buffer:Q}=xA("node:buffer"),{createHash:B}=xA("node:crypto"),I=Q.from(A,"base64");return B("sha1").update(I).digest("hex").toLowerCase()}async function ii(A,Q){let B=Q.toLowerCase(),I=await Y2A(A,{includeContent:!0});for(let E of I){if(!E.certificateContent)continue;if(vqQ(E.certificateContent)===B)return E.id}return null}async function U2A(A,Q){let B=await RG(`/profiles?filter[certificates]=${encodeURIComponent(Q)}&include=bundleId&limit=50`,A),I=B.included||[],E=new Map;for(let D of I)if(D.type==="bundleIds"&&D.attributes?.identifier)E.set(D.id,D.attributes.identifier);return(B.data||[]).map((D)=>{let $=D.relationships?.bundleId?.data?.id;return{id:D.id,name:D.attributes.name||"",profileType:D.attributes.profileType||"",profileContent:D.attributes.profileContent||"",expirationDate:D.attributes.expirationDate||"",bundleIdentifier:$?E.get($)||"":""}})}async function H2A(A,Q){await RG(`/certificates/${Q}`,A,{method:"DELETE"})}class l3 extends Error{certificates;constructor(A){super(`Certificate limit reached. Found ${A.length} existing iOS distribution certificate(s).`);this.certificates=A;this.name="CertificateLimitError"}}async function X2A(A,Q){try{let I=(await RG("/certificates",A,{method:"POST",body:JSON.stringify({data:{type:"certificates",attributes:{certificateType:"IOS_DISTRIBUTION",csrContent:Q}}})})).data,E=pi(I.attributes.certificateContent);return{certificateId:I.id,certificateContent:I.attributes.certificateContent,expirationDate:I.attributes.expirationDate,teamId:E}}catch(B){if(B.message?.includes("ENTITY_ERROR.ATTRIBUTE.INVALID")||B.message?.includes("There is a problem with the request entity")||B.message?.includes("maximum number of certificates")){let I=await Y2A(A);if(I.length>0)throw new l3(I)}throw B}}async function ri(A,Q){let B=await RG(`/bundleIds?filter[identifier]=${encodeURIComponent(Q)}&limit=1`,A);if(B.data?.length>0)return{bundleIdResourceId:B.data[0].id};return{bundleIdResourceId:(await RG("/bundleIds",A,{method:"POST",body:JSON.stringify({data:{type:"bundleIds",attributes:{identifier:Q,name:`Capgo ${Q}`,platform:"IOS"}}})})).data.id}}function C2A(A){return`Capgo ${A} AppStore`}async function xqQ(A,Q){let B=C2A(Q);return((await RG(`/profiles?filter[name]=${encodeURIComponent(B)}&limit=10`,A)).data||[]).map((E)=>({id:E.id,name:E.attributes.name,profileType:E.attributes.profileType}))}async function F2A(A,Q){await RG(`/profiles/${Q}`,A,{method:"DELETE"})}class nM extends Error{profiles;constructor(A){super(`Duplicate profiles found: ${A.map((Q)=>Q.name).join(", ")}`);this.profiles=A;this.name="DuplicateProfileError"}}async function oi(A,Q,B,I){let E=C2A(I);try{let D=await RG("/profiles",A,{method:"POST",body:JSON.stringify({data:{type:"profiles",attributes:{name:E,profileType:"IOS_APP_STORE"},relationships:{bundleId:{data:{type:"bundleIds",id:Q}},certificates:{data:[{type:"certificates",id:B}]}}}})});return{profileId:D.data.id,profileName:D.data.attributes.name,profileContent:D.data.attributes.profileContent,expirationDate:D.data.attributes.expirationDate}}catch(D){if(D.message?.includes("Multiple profiles found")||D.message?.includes("duplicate")){let $=await xqQ(A,I);if($.length>0)throw new nM($)}throw D}}function gqQ(A){if(!A||typeof A!=="object")return;let Q=A.status;return typeof Q==="number"?Q:void 0}function W2A(A){if(!A||typeof A!=="object")return;let Q=A.phase;return typeof Q==="string"?Q:void 0}function BP(A,Q){if(A instanceof l3)return"cert_limit_reached";let B=gqQ(A);if(B===401)return"apple_api_unauthorized";if(B===429)return"apple_api_rate_limited";let I=W2A(A);if(I==="profile")return"profile_creation_failed";if(I==="p8")return"p8_invalid";if(Q==="import-scanning")return"keychain_no_identities";if(Q==="import-compiling-helper")return"keychain_helper_compile_failed";if(Q==="import-exporting")return"keychain_export_failed";if(Q==="import-fetching-profile")return"profile_read_failed";if(Q==="import-pick-profile"||Q==="import-no-match-recovery")return"profile_no_match";return"unknown"}function IP(A){if(A instanceof w3)return"google_oauth_failed";let Q=W2A(A);if(Q==="keystore")return"keystore_invalid";if(Q==="oauth")return"google_oauth_failed";if(Q==="play_account_id")return"play_account_id_invalid";return"unknown"}function K2A(A){switch(A){case"shape-error":return"sa_json_shape_invalid";case"token-error":return"sa_json_token_rejected";case"no-app-access":return"sa_json_no_app_access";case"network-error":return"sa_json_network_error"}}import{chmodSync as bqQ,existsSync as yqQ,writeFileSync as fqQ}from"node:fs";import{join as hqQ}from"node:path";import{cwd as uqQ}from"node:process";function H6(A,Q){return hqQ(uqQ(),`.env.capgo.${A}.${Q}`)}function d3(A){let Q=Object.values(A.credentials).filter((E)=>typeof E==="string"&&E.length>0).length;if(Q===0)return{kind:"empty"};let B=A.targetPath??H6(A.appId,A.platform);if(yqQ(B)&&!A.overwrite)return{kind:"exists",path:B};let I=CM({appId:A.appId,local:A.local??!1,platform:A.platform,creds:A.credentials});return fqQ(B,I,{mode:384}),bqQ(B,384),{kind:"written",path:B,fieldCount:Q}}import{execFile as mqQ}from"node:child_process";import{basename as cqQ}from"node:path";import{platform as lqQ}from"node:process";function iM(A){if(!X6())return Promise.resolve(null);return new Promise((Q)=>{mqQ("osascript",["-e",A],{encoding:"utf-8",timeout:120000},(B,I)=>{if(B){Q(null);return}let E=I.trim();Q(E||null)})})}function X6(){return lqQ==="darwin"}function q2A(){return iM('POSIX path of (choose file of type {"p8"} with prompt "Select your .p8 API key file")')}function Z2A(){return iM('POSIX path of (choose file with prompt "Select your package.json file")').then((A)=>{if(!A)return null;return cqQ(A).toLowerCase()==="package.json"?A:null})}function M2A(A){let Q=(I)=>I.replace(/\\/g,"\\\\").replace(/"/g,"\\\""),B=`POSIX path of (choose file name with prompt "${Q(A.prompt)}"`;if(A.defaultName)B+=` default name "${Q(A.defaultName)}"`;if(A.defaultLocation)B+=` default location (POSIX file "${Q(A.defaultLocation)}")`;return B+=")",iM(B)}function N2A(){return iM('POSIX path of (choose file of type {"jks", "keystore", "p12"} with prompt "Select your Android keystore")')}function z2A(){return iM('POSIX path of (choose file of type {"public.json"} with prompt "Select your Google Play service account JSON")')}FB();async function p3(A){let Q={step:A.step,platform:A.platform,app_id:A.appId};if(typeof A.durationMs==="number"&&Number.isFinite(A.durationMs))Q.duration_ms=String(Math.round(A.durationMs));if(A.errorCategory!==void 0)Q.error_category=A.errorCategory;else if(A.error!==void 0)Q.error_category=A.platform==="ios"?BP(A.error):IP(A.error);try{await HB(A.apikey,{event:"Builder Onboarding Step",channel:"builder-onboarding",icon:"\uD83E\uDDED",notify:!1,org_id:A.orgId,tracking_version:2,tags:Q})}catch{}}async function ai(A){let Q={};for(let[B,I]of Object.entries(A.tags??{}))Q[B]=String(I);Q.step=A.step,Q.platform=A.platform,Q.app_id=A.appId,Q.action=A.action;try{await HB(A.apikey,{event:"Builder Onboarding Action",channel:"builder-onboarding",icon:"\uD83E\uDDED",notify:!1,org_id:A.orgId,tracking_version:2,tags:Q})}catch{}}import{existsSync as rqQ,mkdirSync as oqQ,readFileSync as aqQ,writeFileSync as sqQ}from"node:fs";import{dirname as tqQ,resolve as eqQ}from"node:path";import{cwd as AZQ}from"node:process";var qE=".github/workflows/capgo-build.yml";function n3(A){let Q=[];if(Q.push("name: Capgo native build"),Q.push(""),Q.push("# Generated by `capgo build init`. Safe to edit — see"),Q.push("# https://capgo.app/docs/cli/cloud-build/ for the underlying CLI flags."),Q.push(""),Q.push("on:"),Q.push(" workflow_dispatch:"),Q.push(" inputs:"),Q.push(" platform:"),Q.push(" description: 'Platform to build'"),Q.push(" type: choice"),Q.push(" options:"),Q.push(" - ios"),Q.push(" - android"),Q.push(` default: ${A.defaultPlatform}`),Q.push(" build_mode:"),Q.push(" description: 'Build mode'"),Q.push(" type: choice"),Q.push(" options:"),Q.push(" - release"),Q.push(" - debug"),Q.push(" default: release"),Q.push(""),Q.push("jobs:"),Q.push(" build:"),Q.push(" runs-on: ubuntu-latest"),Q.push(" steps:"),Q.push(" - uses: actions/checkout@v4"),dqQ(Q,A.packageManager),Q.push(""),Q.push(" - name: Install dependencies"),Q.push(` run: ${pqQ(A.packageManager)}`),A.buildScript.type!=="skip")Q.push(""),Q.push(" - name: Build web assets"),nqQ(Q,iqQ(A.packageManager,A.buildScript));if(Q.push(""),Q.push(" - name: Capgo native build"),Q.push(" run: |"),Q.push(` ${w2A(A.packageManager)} @capgo/cli@latest build request ${A.appId} \\`),Q.push(" --platform ${{ inputs.platform }} \\"),Q.push(" --build-mode ${{ inputs.build_mode }} \\"),Q.push(" --apikey ${{ secrets.CAPGO_TOKEN }} \\"),Q.push(" --output-upload --output-record /tmp/capgo-build.json"),A.secretKeys.length>0){Q.push(" env:");for(let B of A.secretKeys)Q.push(` ${B}: \${{ secrets.${B} }}`)}return Q.push(""),Q.push(" - name: Surface artifact URL"),Q.push(" if: success()"),Q.push(" run: |"),Q.push(` URL=$(${w2A(A.packageManager)} @capgo/cli@latest build last-output --path /tmp/capgo-build.json --field outputUrl)`),Q.push(' if [ -n "$URL" ]; then'),Q.push(" {"),Q.push(' echo "### Capgo build ready"'),Q.push(' echo ""'),Q.push(' echo "- Artifact: $URL"'),Q.push(' } >> "$GITHUB_STEP_SUMMARY"'),Q.push(" fi"),Q.push(""),{path:".github/workflows/capgo-build.yml",content:Q.join(`
761
761
  `)}}function dqQ(A,Q){if(Q==="bun"){A.push(""),A.push(" - uses: oven-sh/setup-bun@v2"),A.push(" with:"),A.push(" bun-version: latest"),A.push(" - uses: actions/setup-node@v4"),A.push(" with:"),A.push(" node-version: '20'");return}if(Q==="pnpm"){A.push(""),A.push(" - uses: pnpm/action-setup@v4"),A.push(" with:"),A.push(" version: latest"),A.push(" - uses: actions/setup-node@v4"),A.push(" with:"),A.push(" node-version: '20'"),A.push(" cache: 'pnpm'");return}if(Q==="yarn"){A.push(""),A.push(" - uses: actions/setup-node@v4"),A.push(" with:"),A.push(" node-version: '20'"),A.push(" cache: 'yarn'");return}A.push(""),A.push(" - uses: actions/setup-node@v4"),A.push(" with:"),A.push(" node-version: '20'"),A.push(" cache: 'npm'")}function pqQ(A){switch(A){case"bun":return"bun install --frozen-lockfile";case"npm":return"npm ci";case"pnpm":return"pnpm install --frozen-lockfile";case"yarn":return"yarn install --frozen-lockfile"}}function nqQ(A,Q){A.push(" run: |");for(let B of Q.replace(/\r\n/g,`
762
762
  `).replace(/\r/g,`
763
763
  `).split(`