@capgo/cli 7.124.6 → 7.124.8

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 CI.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()}`,CI.env[A.envVar]);else this.emit(`optionEnv:${A.name()}`)}})}_parseOptionsImplied(){let A=new ZcA(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=($)=>{let G=$.attributeName(),D=this.getOptionValue(G),Y=this.options.find((H)=>H.negate&&G===H.attributeName()),X=this.options.find((H)=>!H.negate&&G===H.attributeName());if(Y&&(Y.presetArg===void 0&&D===!1||Y.presetArg!==void 0&&D===Y.presetArg))return Y;return X||$},I=($)=>{let G=B($),D=G.attributeName();if(this.getOptionValueSource(D)==="env")return`environment variable '${G.envVar}'`;return`option '${G.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 $=E.createHelp().visibleOptions(E).filter((G)=>G.long).map((G)=>G.long);I=I.concat($),E=E.parent}while(E&&!E._enablePositionalOptions);Q=pIA(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=pIA(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 WcA(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=E9.basename(A,E9.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=(G)=>this._outputConfiguration.writeErr(G),I=this._outputConfiguration.getErrHasColors(),E=this._outputConfiguration.getErrHelpWidth();else B=(G)=>this._outputConfiguration.writeOut(G),I=this._outputConfiguration.getOutHasColors(),E=this._outputConfiguration.getOutHelpWidth();return{error:Q,write:(G)=>{if(!I)G=this._outputConfiguration.stripColor(G);return B(G)},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(($)=>$.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(($)=>$.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(CI.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 $;if(typeof Q==="function")$=Q({error:E.error,command:E.command});else $=Q;if($)E.write(`${$}
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 nIA(A){return A.map((Q)=>{if(!Q.startsWith("--inspect"))return Q;let B,I="127.0.0.1",E="9229",$;if(($=Q.match(/^(--inspect(-brk)?)$/))!==null)B=$[1];else if(($=Q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(B=$[1],/^\d+$/.test($[3]))E=$[3];else I=$[3];else if(($=Q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)B=$[1],I=$[3],E=$[4];if(B&&E!=="0")return`${B}=${I}:${parseInt(E)+1}`;return Q})}function nb(){if(CI.env.NO_COLOR||CI.env.FORCE_COLOR==="0"||CI.env.FORCE_COLOR==="false")return!1;if(CI.env.FORCE_COLOR||CI.env.CLICOLOR_FORCE!==void 0)return!0;return}McA.Command=ib;McA.useColor=nb});var sIA=x((wcA)=>{var{Argument:rIA}=OO(),{Command:rb}=iIA(),{CommanderError:LcA,InvalidArgumentError:oIA}=$q(),{Help:OcA}=cb(),{Option:aIA}=lb();wcA.program=new rb;wcA.createCommand=(A)=>new rb(A);wcA.createOption=(A,Q)=>new aIA(A,Q);wcA.createArgument=(A,Q)=>new rIA(A,Q);wcA.Command=rb;wcA.Option=aIA;wcA.Argument=rIA;wcA.Help=OcA;wcA.CommanderError=LcA;wcA.InvalidArgumentError=oIA;wcA.InvalidOptionArgumentError=oIA});var $E;var $9=vA(()=>{$E={name:"@capgo/cli",type:"module",version:"7.124.6",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:fail-on-incompatible":"bun test/test-fail-on-incompatible.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:v2-event-migration":"bun test/test-v2-event-migration.mjs","test:analytics":"bun test/test-analytics.mjs","test:analytics-error-category":"bun test/test-analytics-error-category.mjs","test:analytics-org-resolver":"bun test/test-analytics-org-resolver.mjs","test:supabase-perf":"bun test/test-supabase-perf.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.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:bundle-id-detector":"bun test/test-bundle-id-detector.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:fail-on-incompatible && 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:v2-event-migration && bun run test:analytics && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:mcp-analytics && bun run test:app-created-source && bun run test:doctor-analytics && 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:bundle-id-detector && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit","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","test:ai-onboarding-mode":"bun test/test-ai-onboarding-mode.mjs","test:ai-fit":"bun test/test-ai-fit.mjs","test:platform-layout":"bun test/test-platform-layout.mjs","test:frame-fit":"bun test/run-frame-fit.mjs","test:onboarding-min-size":"bun test/test-onboarding-min-size.mjs","test:min-size-gate":"bun test/test-min-size-gate.mjs","test:shell-size-gate":"bun test/test-shell-size-gate.mjs","test:build-log-sanitize":"bun test/test-build-log-sanitize.mjs","test:build-output-viewport":"bun test/test-build-output-viewport.mjs","test:diff-viewer-viewport":"bun test/test-diff-viewer-viewport.mjs","test:build-complete-exit":"bun test/test-build-complete-exit.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","string-width":"^8.2.1"},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","@xterm/headless":"^6.0.0","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"}}});function ycA(A){if(A&&typeof A==="object"&&"status"in A){let Q=A.status;if(typeof Q==="number")return Q}return}function fcA(A){if(A instanceof Error)return A.message;if(typeof A==="string")return A;return""}function Gq(A){if(A&&typeof A==="object"&&"code"in A){let I=A.code;if(typeof I==="string"&&I.startsWith("commander."))return"commander"}let Q=ycA(A);if(Q!==void 0){if(Q===401)return"unauthorized";if(Q===403)return"forbidden";if(Q===404)return"not_found";if(Q===413)return"payload_too_large";if(Q>=500)return"server_error"}let B=fcA(A).toLowerCase();if(/econnrefused|enotfound|fetch failed|network|socket|dns/.test(B))return"network_error";if(/timed out|timeout|etimedout|aborted/.test(B))return"timeout";if(/invalid|must be|required|not allowed|malformed|validation/.test(B))return"validation_error";return"unknown"}function eIA(A){if(A===401)return"unauthorized";if(A===403)return"forbidden";if(A===404)return"not_found";if(A===408||A===504)return"timeout";if(A===413)return"payload_too_large";if(A===429)return"rate_limited";if(A===400||A===422)return"validation_error";if(A>=500)return"server_error";return"unknown"}import{AsyncLocalStorage as hcA}from"node:async_hooks";function Dq(A,Q){return Q1A.run(A,()=>Promise.resolve(Q()))}function ucA(){return Q1A.getStore()}function Jq(){B1A=!0}function I1A(){return B1A}function $1A(A){E1A=A}function A1A(A){try{E1A?.(A)}catch{}}function D1A(A,Q){let B;try{B=new URL(A).pathname}catch{B=A.split("?")[0]}let I="/functions/v1/",E=B.indexOf(I);if(E>=0){let X=B.slice(E+I.length).replace(/^\/+|\/+$/g,"");return X?`${Q} functions:${X}`:`${Q} functions`}let $="/rest/v1/",G=B.indexOf($),D=G>=0?B.slice(G+$.length):B.replace(/^\//,"");if(D.startsWith("rpc/"))return`rpc:${D.slice(4).split("/")[0]}`;let Y=D.split("/")[0]||B;return`${Q} ${Y}`}function mcA(A){let Q=A?.headers;if(!Q)return;let B=Q.get;if(typeof B==="function")return B.call(Q,"capgkey")??void 0;if(Array.isArray(Q))return Q.find(([I])=>I.toLowerCase()==="capgkey")?.[1];return Q.capgkey}function J1A(){return async(Q,B)=>{let I=(B?.method??"GET").toUpperCase(),E=typeof Q==="string"?Q:Q instanceof URL?Q.href:Q.url,$=ucA(),G=mcA(B),D=Date.now();try{let Y=await globalThis.fetch(Q,B);return A1A({url:E,method:I,status:Y.status,ok:Y.ok,durationMs:Date.now()-D,source:$,apikey:G}),Y}catch(Y){throw A1A({url:E,method:I,status:0,ok:!1,durationMs:Date.now()-D,source:$,apikey:G,error:Y}),Y}}}var Q1A,B1A=!1,E1A,G1A=5000;var Yq=vA(()=>{Q1A=new hcA});var Y1A=x((qlQ,ccA)=>{ccA.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 sb=x((ob)=>{var U1A=Y1A(),LE=process.env;Object.defineProperty(ob,"_vendors",{value:U1A.map(function(A){return A.constant})});ob.name=null;ob.isPR=null;ob.id=null;if(LE.CI!=="false")U1A.forEach(function(A){let B=(Array.isArray(A.env)?A.env:[A.env]).every(function(I){return X1A(I)});if(ob[A.constant]=B,!B)return;ob.name=A.name,ob.isPR=lcA(A),ob.id=A.constant});ob.isCI=!!(LE.CI!=="false"&&(LE.BUILD_ID||LE.BUILD_NUMBER||LE.CI||LE.CI_APP_ID||LE.CI_BUILD_ID||LE.CI_BUILD_NUMBER||LE.CI_NAME||LE.CONTINUOUS_INTEGRATION||LE.RUN_ID||ob.name||!1));function X1A(A){if(typeof A==="string")return!!LE[A];if("env"in A)return LE[A.env]&&LE[A.env].includes(A.includes);if("any"in A)return A.any.some(function(Q){return!!LE[Q]});return Object.keys(A).every(function(Q){return LE[Q]===A[Q]})}function lcA(A){switch(typeof A.pr){case"string":return!!LE[A.pr];case"object":if("env"in A.pr)if("any"in A.pr)return A.pr.any.some(function(Q){return LE[A.pr.env]===Q});else return A.pr.env in LE&&LE[A.pr.env]!==A.pr.ne;else if("any"in A.pr)return A.pr.any.some(function(Q){return!!LE[Q]});else return X1A(A.pr);default:return null}}});import{homedir as C1A,platform as pcA,release as ncA}from"node:os";import{arch as icA,cwd as W1A,env as dU,version as rcA}from"node:process";function Uq(A){return A==="1"||A?.toLowerCase()==="true"||A?.toLowerCase()==="yes"}function tcA(){if(Uq(dU.CAPGO_DISABLE_TELEMETRY)||Uq(dU.CAPGO_DISABLE_POSTHOG))return;return dU.CAPGO_CLI_POSTHOG_API_KEY?.trim()||dU.POSTHOG_API_KEY?.trim()||acA}function ecA(A){let Q=A.replace(/\/+$/,"");if(Q.endsWith("/i/v0/e"))return`${Q}/`;let B=Q.replace(/\/capture$/,"/");return new URL("i/v0/e/",B.endsWith("/")?B:`${B}/`).toString()}function AlA(A){if(A instanceof Error)return{cause:A.cause,message:A.message,name:A.name||"Error",stack:A.stack};if(typeof A==="string")return{message:A,name:"Error",stack:void 0};try{return{message:JSON.stringify(A)??String(A),name:"Error",stack:void 0}}catch{return{message:String(A),name:"Error",stack:void 0}}}function QlA(A){let Q=A,B=W1A(),I=C1A();if(B)Q=Q.replaceAll(B,"<cwd>");if(I)Q=Q.replaceAll(I,"~");return Q}function BlA(A){let Q=A,B=W1A(),I=C1A();if(B)Q=Q.replaceAll(B,"<cwd>");if(I)Q=Q.replaceAll(I,"~");return Q.replace(/<cwd>\/[^\s"',)]+/g,"<cwd>/<path>").replace(/~\/[^\s"',)]+/g,"~/<path>").replace(/[\w.%+-]+@[\w.-]+\.[A-Z]{2,}/gi,"<email>").replace(/(https?:\/\/)([^/\s:@]+):([^/\s@]+)@/gi,"$1<redacted>@").replace(/\b[a-z][\w-]*(?:\.[\w-]+){2,}\b/gi,"<app_id>").replace(/\b[a-z]:\\[^\s"',)]+/gi,"<path>").replace(/(^|[\s"'(])\/[^\s"',)]+/g,"$1<path>").replace(/(--(?:token|api[-_]?key|key|password|secret|private[-_]?key|jwt|session|auth)(?:=|\s+))("[^"]+"|'[^']+'|\S+)/gi,"$1<redacted>").replace(/\b((?:token|api[-_]?key|password|secret|authorization)\s*[:=]\s*)[^\s,;]+/gi,"$1<redacted>")}function IlA(A,Q){let B=A?.split(`
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 nIA(A){return A.map((Q)=>{if(!Q.startsWith("--inspect"))return Q;let B,I="127.0.0.1",E="9229",$;if(($=Q.match(/^(--inspect(-brk)?)$/))!==null)B=$[1];else if(($=Q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(B=$[1],/^\d+$/.test($[3]))E=$[3];else I=$[3];else if(($=Q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)B=$[1],I=$[3],E=$[4];if(B&&E!=="0")return`${B}=${I}:${parseInt(E)+1}`;return Q})}function nb(){if(CI.env.NO_COLOR||CI.env.FORCE_COLOR==="0"||CI.env.FORCE_COLOR==="false")return!1;if(CI.env.FORCE_COLOR||CI.env.CLICOLOR_FORCE!==void 0)return!0;return}McA.Command=ib;McA.useColor=nb});var sIA=x((wcA)=>{var{Argument:rIA}=OO(),{Command:rb}=iIA(),{CommanderError:LcA,InvalidArgumentError:oIA}=$q(),{Help:OcA}=cb(),{Option:aIA}=lb();wcA.program=new rb;wcA.createCommand=(A)=>new rb(A);wcA.createOption=(A,Q)=>new aIA(A,Q);wcA.createArgument=(A,Q)=>new rIA(A,Q);wcA.Command=rb;wcA.Option=aIA;wcA.Argument=rIA;wcA.Help=OcA;wcA.CommanderError=LcA;wcA.InvalidArgumentError=oIA;wcA.InvalidOptionArgumentError=oIA});var $E;var $9=vA(()=>{$E={name:"@capgo/cli",type:"module",version:"7.124.8",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:fail-on-incompatible":"bun test/test-fail-on-incompatible.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:v2-event-migration":"bun test/test-v2-event-migration.mjs","test:analytics":"bun test/test-analytics.mjs","test:analytics-error-category":"bun test/test-analytics-error-category.mjs","test:analytics-org-resolver":"bun test/test-analytics-org-resolver.mjs","test:supabase-perf":"bun test/test-supabase-perf.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.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:bundle-id-detector":"bun test/test-bundle-id-detector.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:fail-on-incompatible && 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:v2-event-migration && bun run test:analytics && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:mcp-analytics && bun run test:app-created-source && bun run test:doctor-analytics && 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:bundle-id-detector && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit","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","test:ai-onboarding-mode":"bun test/test-ai-onboarding-mode.mjs","test:ai-fit":"bun test/test-ai-fit.mjs","test:platform-layout":"bun test/test-platform-layout.mjs","test:frame-fit":"bun test/run-frame-fit.mjs","test:onboarding-min-size":"bun test/test-onboarding-min-size.mjs","test:min-size-gate":"bun test/test-min-size-gate.mjs","test:shell-size-gate":"bun test/test-shell-size-gate.mjs","test:build-log-sanitize":"bun test/test-build-log-sanitize.mjs","test:build-output-viewport":"bun test/test-build-output-viewport.mjs","test:diff-viewer-viewport":"bun test/test-diff-viewer-viewport.mjs","test:build-complete-exit":"bun test/test-build-complete-exit.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","string-width":"^8.2.1"},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","@xterm/headless":"^6.0.0","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"}}});function ycA(A){if(A&&typeof A==="object"&&"status"in A){let Q=A.status;if(typeof Q==="number")return Q}return}function fcA(A){if(A instanceof Error)return A.message;if(typeof A==="string")return A;return""}function Gq(A){if(A&&typeof A==="object"&&"code"in A){let I=A.code;if(typeof I==="string"&&I.startsWith("commander."))return"commander"}let Q=ycA(A);if(Q!==void 0){if(Q===401)return"unauthorized";if(Q===403)return"forbidden";if(Q===404)return"not_found";if(Q===413)return"payload_too_large";if(Q>=500)return"server_error"}let B=fcA(A).toLowerCase();if(/econnrefused|enotfound|fetch failed|network|socket|dns/.test(B))return"network_error";if(/timed out|timeout|etimedout|aborted/.test(B))return"timeout";if(/invalid|must be|required|not allowed|malformed|validation/.test(B))return"validation_error";return"unknown"}function eIA(A){if(A===401)return"unauthorized";if(A===403)return"forbidden";if(A===404)return"not_found";if(A===408||A===504)return"timeout";if(A===413)return"payload_too_large";if(A===429)return"rate_limited";if(A===400||A===422)return"validation_error";if(A>=500)return"server_error";return"unknown"}import{AsyncLocalStorage as hcA}from"node:async_hooks";function Dq(A,Q){return Q1A.run(A,()=>Promise.resolve(Q()))}function ucA(){return Q1A.getStore()}function Jq(){B1A=!0}function I1A(){return B1A}function $1A(A){E1A=A}function A1A(A){try{E1A?.(A)}catch{}}function D1A(A,Q){let B;try{B=new URL(A).pathname}catch{B=A.split("?")[0]}let I="/functions/v1/",E=B.indexOf(I);if(E>=0){let X=B.slice(E+I.length).replace(/^\/+|\/+$/g,"");return X?`${Q} functions:${X}`:`${Q} functions`}let $="/rest/v1/",G=B.indexOf($),D=G>=0?B.slice(G+$.length):B.replace(/^\//,"");if(D.startsWith("rpc/"))return`rpc:${D.slice(4).split("/")[0]}`;let Y=D.split("/")[0]||B;return`${Q} ${Y}`}function mcA(A){let Q=A?.headers;if(!Q)return;let B=Q.get;if(typeof B==="function")return B.call(Q,"capgkey")??void 0;if(Array.isArray(Q))return Q.find(([I])=>I.toLowerCase()==="capgkey")?.[1];return Q.capgkey}function J1A(){return async(Q,B)=>{let I=(B?.method??"GET").toUpperCase(),E=typeof Q==="string"?Q:Q instanceof URL?Q.href:Q.url,$=ucA(),G=mcA(B),D=Date.now();try{let Y=await globalThis.fetch(Q,B);return A1A({url:E,method:I,status:Y.status,ok:Y.ok,durationMs:Date.now()-D,source:$,apikey:G}),Y}catch(Y){throw A1A({url:E,method:I,status:0,ok:!1,durationMs:Date.now()-D,source:$,apikey:G,error:Y}),Y}}}var Q1A,B1A=!1,E1A,G1A=5000;var Yq=vA(()=>{Q1A=new hcA});var Y1A=x((qlQ,ccA)=>{ccA.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 sb=x((ob)=>{var U1A=Y1A(),LE=process.env;Object.defineProperty(ob,"_vendors",{value:U1A.map(function(A){return A.constant})});ob.name=null;ob.isPR=null;ob.id=null;if(LE.CI!=="false")U1A.forEach(function(A){let B=(Array.isArray(A.env)?A.env:[A.env]).every(function(I){return X1A(I)});if(ob[A.constant]=B,!B)return;ob.name=A.name,ob.isPR=lcA(A),ob.id=A.constant});ob.isCI=!!(LE.CI!=="false"&&(LE.BUILD_ID||LE.BUILD_NUMBER||LE.CI||LE.CI_APP_ID||LE.CI_BUILD_ID||LE.CI_BUILD_NUMBER||LE.CI_NAME||LE.CONTINUOUS_INTEGRATION||LE.RUN_ID||ob.name||!1));function X1A(A){if(typeof A==="string")return!!LE[A];if("env"in A)return LE[A.env]&&LE[A.env].includes(A.includes);if("any"in A)return A.any.some(function(Q){return!!LE[Q]});return Object.keys(A).every(function(Q){return LE[Q]===A[Q]})}function lcA(A){switch(typeof A.pr){case"string":return!!LE[A.pr];case"object":if("env"in A.pr)if("any"in A.pr)return A.pr.any.some(function(Q){return LE[A.pr.env]===Q});else return A.pr.env in LE&&LE[A.pr.env]!==A.pr.ne;else if("any"in A.pr)return A.pr.any.some(function(Q){return!!LE[Q]});else return X1A(A.pr);default:return null}}});import{homedir as C1A,platform as pcA,release as ncA}from"node:os";import{arch as icA,cwd as W1A,env as dU,version as rcA}from"node:process";function Uq(A){return A==="1"||A?.toLowerCase()==="true"||A?.toLowerCase()==="yes"}function tcA(){if(Uq(dU.CAPGO_DISABLE_TELEMETRY)||Uq(dU.CAPGO_DISABLE_POSTHOG))return;return dU.CAPGO_CLI_POSTHOG_API_KEY?.trim()||dU.POSTHOG_API_KEY?.trim()||acA}function ecA(A){let Q=A.replace(/\/+$/,"");if(Q.endsWith("/i/v0/e"))return`${Q}/`;let B=Q.replace(/\/capture$/,"/");return new URL("i/v0/e/",B.endsWith("/")?B:`${B}/`).toString()}function AlA(A){if(A instanceof Error)return{cause:A.cause,message:A.message,name:A.name||"Error",stack:A.stack};if(typeof A==="string")return{message:A,name:"Error",stack:void 0};try{return{message:JSON.stringify(A)??String(A),name:"Error",stack:void 0}}catch{return{message:String(A),name:"Error",stack:void 0}}}function QlA(A){let Q=A,B=W1A(),I=C1A();if(B)Q=Q.replaceAll(B,"<cwd>");if(I)Q=Q.replaceAll(I,"~");return Q}function BlA(A){let Q=A,B=W1A(),I=C1A();if(B)Q=Q.replaceAll(B,"<cwd>");if(I)Q=Q.replaceAll(I,"~");return Q.replace(/<cwd>\/[^\s"',)]+/g,"<cwd>/<path>").replace(/~\/[^\s"',)]+/g,"~/<path>").replace(/[\w.%+-]+@[\w.-]+\.[A-Z]{2,}/gi,"<email>").replace(/(https?:\/\/)([^/\s:@]+):([^/\s@]+)@/gi,"$1<redacted>@").replace(/\b[a-z][\w-]*(?:\.[\w-]+){2,}\b/gi,"<app_id>").replace(/\b[a-z]:\\[^\s"',)]+/gi,"<path>").replace(/(^|[\s"'(])\/[^\s"',)]+/g,"$1<path>").replace(/(--(?:token|api[-_]?key|key|password|secret|private[-_]?key|jwt|session|auth)(?:=|\s+))("[^"]+"|'[^']+'|\S+)/gi,"$1<redacted>").replace(/\b((?:token|api[-_]?key|password|secret|authorization)\s*[:=]\s*)[^\s,;]+/gi,"$1<redacted>")}function IlA(A,Q){let B=A?.split(`
95
95
  `).slice(1).map((I)=>{let E=I.trim(),$=E.startsWith("at ")?E.slice(3):E,G=Q,D=$,Y=$.lastIndexOf(" (");if(Y!==-1&&$.endsWith(")"))G=$.slice(0,Y).trim()||Q,D=$.slice(Y+2,-1);else{let F=$.lastIndexOf(" "),W=F===-1?"":$.slice(F+1);if(/:\d+:\d+$/.test(W))G=$.slice(0,F).trim()||Q,D=W}let X=D.lastIndexOf(":"),H=X===-1?-1:D.lastIndexOf(":",X-1);if(X===-1||H===-1)return{function:Q,platform:"custom",lang:"javascript"};return{function:G,filename:QlA(D.slice(0,H)),lineno:Number.parseInt(D.slice(H+1,X),10),colno:Number.parseInt(D.slice(X+1),10),platform:"custom",lang:"javascript"}}).filter(Boolean);return B&&B.length>0?B:[{function:Q,platform:"custom",lang:"javascript"}]}function ElA(A){if(!A||typeof A!=="object"||!("code"in A))return;let{code:Q}=A;return typeof Q==="string"?Q:void 0}function K1A(A){return!ElA(A)?.startsWith("commander.")}function tb(A){let Q=[],B=A;while(B?.parent){let I=B.name();if(I)Q.push(I);B=B.parent}return Q.reverse().join(" ")||"unknown"}async function eb(A){let Q=tcA();if(!Q)return!1;let B=dU.CAPGO_CLI_POSTHOG_API_HOST?.trim()||dU.POSTHOG_API_HOST?.trim()||ocA,I;try{I=ecA(B)}catch{return!1}let E=AlA(A.error),$=BlA(E.message),G=`cli:${$E.version}:${A.functionName}`,D=IlA(E.stack,A.functionName),Y=D[0],X=[G,A.kind,E.name||"Error",Y?.function||A.functionName,Y&&"filename"in Y?Y.filename:"unknown",String(A.status??1)].join(":"),H={token:Q,event:"$exception",properties:{distinct_id:G,$exception_list:[{type:E.name||"Error",value:$,mechanism:{handled:!0,synthetic:!1},stacktrace:{type:"raw",frames:D}}],$exception_fingerprint:X,architecture:icA,cli_version:$E.version,error_kind:A.kind,function_name:A.functionName,is_ci:Boolean(dU.CI),node_version:rcA,os_platform:pcA(),os_release:ncA(),runtime:"cli",status:A.status},timestamp:new Date().toISOString()};try{let F=new AbortController,W=setTimeout(()=>F.abort(),scA);try{return(await fetch(I,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(H),signal:F.signal})).ok}finally{clearTimeout(W)}}catch{return!1}}var ocA="https://eu.i.posthog.com/i/v0/e/",acA="phc_NXDyDajQaTQVwb25DEhIVZfxVUn4R0Y348Z7vWYHZUi",scA=1500;var Ay=vA(()=>{$9()});import{existsSync as O$}from"fs";var Xq=(A=".",Q="unknown")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,$=`${A}/shrinkwrap.yaml`,G=`${A}/yarn.lock`,D=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(O$(B)||O$(I))return"bun";if(O$(E)||O$($))return"pnpm";if(O$(G))return"yarn";if(O$(D)||O$(Y))return"npm";return Q},VO=(A=Xq(),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"}},q1A=(A=".",Q="npx")=>{let B=`${A}/bun.lockb`,I=`${A}/bun.lock`,E=`${A}/pnpm-lock.yaml`,$=`${A}/shrinkwrap.yaml`,G=`${A}/yarn.lock`,D=`${A}/package-lock.json`,Y=`${A}/npm-shrinkwrap.json`;if(O$(B)||O$(I))return"bunx";if(O$(E)||O$($))return"pnpm exec";if(O$(G))return"yarn dlx";if(O$(D)||O$(Y))return"npx";return Q};var Z1A=()=>{};function TO(A,Q){if(isNaN(A)||isNaN(Q))throw Error("Cannot compare against non-numbers");return A===Q?0:A<Q?-1:1}function z1A(A=[],Q=[]){if(A.length&&!Q.length)return-1;if(!A.length&&Q.length)return 1;return 0}function SO(A=[],Q=[]){let B=Math.max(A.length,Q.length);for(let I=0;I<B;I++){let E=A[I],$=Q[I];if(E===void 0&&$===void 0)return 0;if($===void 0)return 1;if(E===void 0)return-1;if(typeof E==="string"&&typeof $==="number")return 1;if(typeof E==="number"&&typeof $==="string")return-1;if(E<$)return-1;if(E>$)return 1}return 0}function By(A){return typeof A==="number"&&!Number.isNaN(A)&&(!Number.isFinite(A)||0<=A&&A<=Number.MAX_SAFE_INTEGER)}function w$(A){return A.split(".").filter(Boolean).map((Q)=>{if(JlA.test(Q)){let B=Number(Q);if(By(B))return B}return Q})}function yD(A){return A.split(".").filter(Boolean)}function PO(A,Q){let B=Number(A);if(!By(B))throw TypeError(Q);return B}function G9(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 cH="0|[1-9]\\d*",$lA="\\d*[a-zA-Z-][a-zA-Z0-9-]*",GlA,M1A,L1A,N1A="[0-9A-Za-z-]+",O1A,w1A,R1A,V1A="(?:<|>)?=?",DlA="x|X|\\*",Qy,jO,T1A,S1A,Iy=256,JlA;var D6=vA(()=>{GlA=`(?<major>${cH})\\.(?<minor>${cH})\\.(?<patch>${cH})`,M1A=`(?:${cH}|${$lA})`,L1A=`(?:-(?<prerelease>${M1A}(?:\\.${M1A})*))`,O1A=`(?:\\+(?<buildmetadata>${N1A}(?:\\.${N1A})*))`,w1A=`v?${GlA}${L1A}?${O1A}?`,R1A=new RegExp(`^${w1A}$`),Qy=`${cH}|${DlA}`,jO=`[v=\\s]*(?<major>${Qy})(?:\\.(?<minor>${Qy})(?:\\.(?<patch>${Qy})${L1A}?${O1A}?)?)?`,T1A=new RegExp(`^(?<operator>~>?|\\^|${V1A})\\s*${jO}$`),S1A=new RegExp(`^(?<operator>${V1A})\\s*(${w1A})$|^$`);JlA=new RegExp(`^${cH}$`)});function m4(A,Q){if(A===Q)return 0;return TO(A.major,Q.major)||TO(A.minor,Q.minor)||TO(A.patch,Q.patch)||z1A(A.prerelease,Q.prerelease)||SO(A.prerelease,Q.prerelease)}var u6=vA(()=>{D6()});function j1A(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(SO(A.prerelease,Q.prerelease)!==0)return"prerelease"}var P1A=vA(()=>{D6()});function Ey(A){return A.toFixed(0)}function u8(A){let Q=Ey(A.major),B=Ey(A.minor),I=Ey(A.patch),E=A.prerelease?.join(".")??"",$=A.build?.join(".")??"";return[[`${Q}.${B}.${I}`,E].filter((Y)=>Y).join("-"),$].filter((Y)=>Y).join("+")}function YlA(A,Q){if(G9(Q))return!0;let B=m4(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 _O(A,Q){for(let B of Q)if(!YlA(A,B))return!1;if(!A.prerelease?.length)return!0;for(let B of Q){if(G9(B))continue;if(!B.prerelease?.length)continue;let{major:I,minor:E,patch:$}=B;if(A.major===I&&A.minor===E&&A.patch===$)return!0}return!1}var kO=vA(()=>{D6();u6()});function Hq(A,Q){return Q.some((B)=>_O(A,B))}var Fq=vA(()=>{kO()});function UlA(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 Cq(A=[],Q){let B=UlA(A);if(!Q)return B;let I=w$(Q);if(I.every((E)=>typeof E==="string")){if(I.every((E,$)=>E===B[$])&&typeof B[I.length]==="number")return B;I=[...I,0]}return I}function SY(A,Q,B={}){let I=B.build!==void 0?yD(B.build):A.build??[];switch(Q){case"premajor":return{major:A.major+1,minor:0,patch:0,prerelease:Cq(A.prerelease,B.prerelease),build:I};case"preminor":return{major:A.major,minor:A.minor+1,patch:0,prerelease:Cq(A.prerelease,B.prerelease),build:I};case"prepatch":return{major:A.major,minor:A.minor,patch:A.patch+1,prerelease:Cq(A.prerelease,B.prerelease),build:I};case"prerelease":{let $=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:$,prerelease:Cq(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 $=(A.prerelease??[]).length===0||A.patch!==0?A.minor+1:A.minor;return{major:A.major,minor:$,patch:0,prerelease:[],build:I}}case"patch":{let $=(A.prerelease??[]).length===0?A.patch+1:A.patch;return{major:A.major,minor:A.minor,patch:$,prerelease:[],build:I}}case"pre":return{major:A.major,minor:A.minor,patch:A.patch,prerelease:Cq(A.prerelease,B.prerelease),build:I};default:throw TypeError(`Cannot increment version: invalid argument ${Q}`)}}var _1A=vA(()=>{D6()});var vO,lH;var Wq=vA(()=>{vO={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},lH={operator:void 0,...vO}});var $y=vA(()=>{Wq();D6()});function Gy(A,Q){return m4(A,Q)>0}var Dy=vA(()=>{u6()});var k1A=vA(()=>{Fq();Dy()});function J6(A,Q){return m4(A,Q)<0}var Jy=vA(()=>{u6()});var v1A=vA(()=>{Fq();Jy()});function XlA(A){let B=A.match(S1A)?.groups;if(!B)return null;let{operator:I}=B;return{operator:I||void 0,...vO}}function G1(A){return!A||A.toLowerCase()==="x"||A==="*"}function HlA(A){if(G1(A.major))return;if(G1(A.minor))return{operator:">=",major:+A.major,minor:0,patch:0,prerelease:[],build:[]};if(G1(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?w$(A.prerelease):[],build:[]}}function FlA(A){if(G1(A.major))return;if(G1(A.minor))return{operator:"<",major:+A.major+1,minor:0,patch:0,prerelease:[],build:[]};if(G1(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:w$(A.prerelease),build:[]};return{operator:"<=",major:+A.major,minor:+A.minor,patch:+A.patch,prerelease:[],build:[]}}function ClA(A){let Q=A.match(new RegExp(`^${jO}`)),B=Q?.groups;if(!B)return null;let I=Q[0].length,E=A.slice(I).match(/^\s+-\s+/);if(!E)return null;let $=E[0].length,D=A.slice(I+$).match(new RegExp(`^${jO}\\s*$`))?.groups,Y=HlA(B),X=FlA(D);return[Y,X].filter(Boolean)}function WlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+A.patch;if(Q)return[lH];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:$,patch:0},{operator:"<",major:E,minor:$+1,patch:0}];return[{operator:">=",major:E,minor:$,patch:0},{operator:"<",major:E+1,minor:0,patch:0}]}let D=w$(A.prerelease??"");if(E===0){if($===0)return[{operator:">=",major:E,minor:$,patch:G,prerelease:D},{operator:"<",major:E,minor:$,patch:G+1}];return[{operator:">=",major:E,minor:$,patch:G,prerelease:D},{operator:"<",major:E,minor:$+1,patch:0}]}return[{operator:">=",major:E,minor:$,patch:G,prerelease:D},{operator:"<",major:E+1,minor:0,patch:0}]}function KlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+A.patch;if(Q)return[lH];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:$,patch:0},{operator:"<",major:E,minor:$+1,patch:0}];let D=w$(A.prerelease??"");return[{operator:">=",major:E,minor:$,patch:G,prerelease:D},{operator:"<",major:E,minor:$+1,patch:0}]}function qlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+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:$,patch:0}];let D=w$(A.prerelease??""),Y=yD(A.build??"");return[{operator:"<",major:E,minor:$,patch:G,prerelease:D,build:Y}]}function ZlA(A){let Q=G1(A.minor),B=G1(A.patch),I=+A.major,E=+A.minor,$=+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 G=w$(A.prerelease??""),D=yD(A.build??"");return[{operator:"<=",major:I,minor:E,patch:$,prerelease:G,build:D}]}function MlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+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:$+1,patch:0}];let D=w$(A.prerelease??""),Y=yD(A.build??"");return[{operator:">",major:E,minor:$,patch:G,prerelease:D,build:Y}]}function NlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+A.patch;if(Q)return[lH];if(B)return[{operator:">=",major:E,minor:0,patch:0}];if(I)return[{operator:">=",major:E,minor:$,patch:0}];let D=w$(A.prerelease??""),Y=yD(A.build??"");return[{operator:">=",major:E,minor:$,patch:G,prerelease:D,build:Y}]}function zlA(A){let Q=G1(A.major),B=G1(A.minor),I=G1(A.patch),E=+A.major,$=+A.minor,G=+A.patch;if(Q)return[lH];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:$,patch:0},{operator:"<",major:E,minor:$+1,patch:0}];let D=w$(A.prerelease??""),Y=yD(A.build??"");return[{operator:A.operator==="="?"=":void 0,major:E,minor:$,patch:G,prerelease:D,build:Y}]}function LlA(A){let Q=A.match(T1A)?.groups;if(!Q)return XlA(A);switch(Q.operator){case"^":return WlA(Q);case"~":case"~>":return KlA(Q);case"<":return qlA(Q);case"<=":return ZlA(Q);case">":return MlA(Q);case">=":return NlA(Q);default:return zlA(Q)}}function OlA(A){return A.split(/\s+/).flatMap(LlA)}function xO(A){let Q=A.replaceAll(/(?<=[<>=~^])(\s+)/g,"").split(/\s*\|\|\s*/).map((B)=>ClA(B)||OlA(B));if(Q.some((B)=>B.includes(null)))throw TypeError(`Cannot parse version range: range "${A}" is invalid`);return Q}var Yy=vA(()=>{D6();Wq()});function oB(A){if(typeof A!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof A}`);if(A.length>Iy)throw TypeError(`Cannot parse version as version length is too long: length is ${A.length}, max length is ${Iy}`);A=A.trim();let Q=A.match(R1A)?.groups;if(!Q)throw TypeError(`Cannot parse version: ${A}`);let B=PO(Q.major,`Cannot parse version ${A}: invalid major version`),I=PO(Q.minor,`Cannot parse version ${A}: invalid minor version`),E=PO(Q.patch,`Cannot parse version ${A}: invalid patch version`),$=Q.prerelease?w$(Q.prerelease):[],G=Q.buildmetadata?yD(Q.buildmetadata):[];return{major:B,minor:I,patch:E,prerelease:$,build:G}}var gO=vA(()=>{D6();D6()});function x1A(A,Q){let B=A.operator,I=Q.operator;if(B===void 0){if(G9(A))return!0;return Hq(A,[[Q]])}if(I===void 0){if(G9(Q))return!0;return Hq(Q,[[A]])}let E=m4(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 wlA(A){return A.every((Q)=>{return Q.some((B)=>RlA(B))})}function RlA(A){for(let Q=0;Q<A.length-1;Q++){let B=A[Q];for(let I of A.slice(Q+1))if(!x1A(B,I))return!1}return!0}function g1A(A,Q){return wlA([A,Q])&&A.some((B)=>{return Q.some((I)=>{return B.every((E)=>{return I.every(($)=>x1A(E,$))})})})}var b1A=vA(()=>{D6();u6();Fq()});var y1A=vA(()=>{Yy()});var f1A=vA(()=>{Wq();Wq();$y()});function Kq(A){try{return oB(A),!0}catch{return!1}}var h1A=vA(()=>{gO()});var u1A=vA(()=>{gO()});var m1A=vA(()=>{D6()});var c1A=vA(()=>{u6()});var l1A=vA(()=>{u6()});var d1A=vA(()=>{kO();D6();u6()});function p1A(A,Q){return m4(A,Q)>=0}var n1A=vA(()=>{u6()});var i1A=vA(()=>{kO();D6();u6()});var r1A=vA(()=>{u6()});var fG=vA(()=>{u6();P1A();Fq();_1A();$y();k1A();v1A();Yy();gO();b1A();y1A();f1A();h1A();u1A();m1A();c1A();l1A();Dy();d1A();n1A();Jy();i1A();r1A()});var R$=x((HpQ,fO)=>{var o1A,a1A,s1A,t1A,e1A,AEA,QEA,BEA,IEA,EEA,$EA,GEA,DEA,bO,Uy,JEA,YEA,UEA,dH,XEA,HEA,FEA,CEA,WEA,KEA,qEA,ZEA,MEA,yO,NEA,zEA,LEA;(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 fO==="object"&&typeof HpQ==="object")A(B(Q,B(HpQ)));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($,G){return I[$]=E?E($,G):G}}})(function(A){var Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,G){$.__proto__=G}||function($,G){for(var D in G)if(Object.prototype.hasOwnProperty.call(G,D))$[D]=G[D]};o1A=function($,G){if(typeof G!=="function"&&G!==null)throw TypeError("Class extends value "+String(G)+" is not a constructor or null");Q($,G);function D(){this.constructor=$}$.prototype=G===null?Object.create(G):(D.prototype=G.prototype,new D)},a1A=Object.assign||function($){for(var G,D=1,Y=arguments.length;D<Y;D++){G=arguments[D];for(var X in G)if(Object.prototype.hasOwnProperty.call(G,X))$[X]=G[X]}return $},s1A=function($,G){var D={};for(var Y in $)if(Object.prototype.hasOwnProperty.call($,Y)&&G.indexOf(Y)<0)D[Y]=$[Y];if($!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var X=0,Y=Object.getOwnPropertySymbols($);X<Y.length;X++)if(G.indexOf(Y[X])<0&&Object.prototype.propertyIsEnumerable.call($,Y[X]))D[Y[X]]=$[Y[X]]}return D},t1A=function($,G,D,Y){var X=arguments.length,H=X<3?G:Y===null?Y=Object.getOwnPropertyDescriptor(G,D):Y,F;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")H=Reflect.decorate($,G,D,Y);else for(var W=$.length-1;W>=0;W--)if(F=$[W])H=(X<3?F(H):X>3?F(G,D,H):F(G,D))||H;return X>3&&H&&Object.defineProperty(G,D,H),H},e1A=function($,G){return function(D,Y){G(D,Y,$)}},AEA=function($,G,D,Y,X,H){function F(g){if(g!==void 0&&typeof g!=="function")throw TypeError("Function expected");return g}var W=Y.kind,K=W==="getter"?"get":W==="setter"?"set":"value",Z=!G&&$?Y.static?$:$.prototype:null,M=G||(Z?Object.getOwnPropertyDescriptor(Z,Y.name):{}),O,w=!1;for(var T=D.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(g){if(w)throw TypeError("Cannot add initializers after decoration has completed");H.push(F(g||null))};var j=(0,D[T])(W==="accessor"?{get:M.get,set:M.set}:M[K],R);if(W==="accessor"){if(j===void 0)continue;if(j===null||typeof j!=="object")throw TypeError("Object expected");if(O=F(j.get))M.get=O;if(O=F(j.set))M.set=O;if(O=F(j.init))X.unshift(O)}else if(O=F(j))if(W==="field")X.unshift(O);else M[K]=O}if(Z)Object.defineProperty(Z,Y.name,M);w=!0},QEA=function($,G,D){var Y=arguments.length>2;for(var X=0;X<G.length;X++)D=Y?G[X].call($,D):G[X].call($);return Y?D:void 0},BEA=function($){return typeof $==="symbol"?$:"".concat($)},IEA=function($,G,D){if(typeof G==="symbol")G=G.description?"[".concat(G.description,"]"):"";return Object.defineProperty($,"name",{configurable:!0,value:D?"".concat(D," ",G):G})},EEA=function($,G){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata($,G)},$EA=function($,G,D,Y){function X(H){return H instanceof D?H:new D(function(F){F(H)})}return new(D||(D=Promise))(function(H,F){function W(M){try{Z(Y.next(M))}catch(O){F(O)}}function K(M){try{Z(Y.throw(M))}catch(O){F(O)}}function Z(M){M.done?H(M.value):X(M.value).then(W,K)}Z((Y=Y.apply($,G||[])).next())})},GEA=function($,G){var D={label:0,sent:function(){if(H[0]&1)throw H[1];return H[1]},trys:[],ops:[]},Y,X,H,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(M){return K([Z,M])}}function K(Z){if(Y)throw TypeError("Generator is already executing.");while(F&&(F=0,Z[0]&&(D=0)),D)try{if(Y=1,X&&(H=Z[0]&2?X.return:Z[0]?X.throw||((H=X.return)&&H.call(X),0):X.next)&&!(H=H.call(X,Z[1])).done)return H;if(X=0,H)Z=[Z[0]&2,H.value];switch(Z[0]){case 0:case 1:H=Z;break;case 4:return D.label++,{value:Z[1],done:!1};case 5:D.label++,X=Z[1],Z=[0];continue;case 7:Z=D.ops.pop(),D.trys.pop();continue;default:if((H=D.trys,!(H=H.length>0&&H[H.length-1]))&&(Z[0]===6||Z[0]===2)){D=0;continue}if(Z[0]===3&&(!H||Z[1]>H[0]&&Z[1]<H[3])){D.label=Z[1];break}if(Z[0]===6&&D.label<H[1]){D.label=H[1],H=Z;break}if(H&&D.label<H[2]){D.label=H[2],D.ops.push(Z);break}if(H[2])D.ops.pop();D.trys.pop();continue}Z=G.call($,D)}catch(M){Z=[6,M],X=0}finally{Y=H=0}if(Z[0]&5)throw Z[1];return{value:Z[0]?Z[1]:void 0,done:!0}}},DEA=function($,G){for(var D in $)if(D!=="default"&&!Object.prototype.hasOwnProperty.call(G,D))yO(G,$,D)},yO=Object.create?function($,G,D,Y){if(Y===void 0)Y=D;var X=Object.getOwnPropertyDescriptor(G,D);if(!X||("get"in X?!G.__esModule:X.writable||X.configurable))X={enumerable:!0,get:function(){return G[D]}};Object.defineProperty($,Y,X)}:function($,G,D,Y){if(Y===void 0)Y=D;$[Y]=G[D]},bO=function($){var G=typeof Symbol==="function"&&Symbol.iterator,D=G&&$[G],Y=0;if(D)return D.call($);if($&&typeof $.length==="number")return{next:function(){if($&&Y>=$.length)$=void 0;return{value:$&&$[Y++],done:!$}}};throw TypeError(G?"Object is not iterable.":"Symbol.iterator is not defined.")},Uy=function($,G){var D=typeof Symbol==="function"&&$[Symbol.iterator];if(!D)return $;var Y=D.call($),X,H=[],F;try{while((G===void 0||G-- >0)&&!(X=Y.next()).done)H.push(X.value)}catch(W){F={error:W}}finally{try{if(X&&!X.done&&(D=Y.return))D.call(Y)}finally{if(F)throw F.error}}return H},JEA=function(){for(var $=[],G=0;G<arguments.length;G++)$=$.concat(Uy(arguments[G]));return $},YEA=function(){for(var $=0,G=0,D=arguments.length;G<D;G++)$+=arguments[G].length;for(var Y=Array($),X=0,G=0;G<D;G++)for(var H=arguments[G],F=0,W=H.length;F<W;F++,X++)Y[X]=H[F];return Y},UEA=function($,G,D){if(D||arguments.length===2){for(var Y=0,X=G.length,H;Y<X;Y++)if(H||!(Y in G)){if(!H)H=Array.prototype.slice.call(G,0,Y);H[Y]=G[Y]}}return $.concat(H||Array.prototype.slice.call(G))},dH=function($){return this instanceof dH?(this.v=$,this):new dH($)},XEA=function($,G,D){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var Y=D.apply($,G||[]),X,H=[];return X=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),W("next"),W("throw"),W("return",F),X[Symbol.asyncIterator]=function(){return this},X;function F(T){return function(R){return Promise.resolve(R).then(T,O)}}function W(T,R){if(Y[T]){if(X[T]=function(S){return new Promise(function(j,g){H.push([T,S,j,g])>1||K(T,S)})},R)X[T]=R(X[T])}}function K(T,R){try{Z(Y[T](R))}catch(S){w(H[0][3],S)}}function Z(T){T.value instanceof dH?Promise.resolve(T.value.v).then(M,O):w(H[0][2],T)}function M(T){K("next",T)}function O(T){K("throw",T)}function w(T,R){if(T(R),H.shift(),H.length)K(H[0][0],H[0][1])}},HEA=function($){var G,D;return G={},Y("next"),Y("throw",function(X){throw X}),Y("return"),G[Symbol.iterator]=function(){return this},G;function Y(X,H){G[X]=$[X]?function(F){return(D=!D)?{value:dH($[X](F)),done:!1}:H?H(F):F}:H}},FEA=function($){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var G=$[Symbol.asyncIterator],D;return G?G.call($):($=typeof bO==="function"?bO($):$[Symbol.iterator](),D={},Y("next"),Y("throw"),Y("return"),D[Symbol.asyncIterator]=function(){return this},D);function Y(H){D[H]=$[H]&&function(F){return new Promise(function(W,K){F=$[H](F),X(W,K,F.done,F.value)})}}function X(H,F,W,K){Promise.resolve(K).then(function(Z){H({value:Z,done:W})},F)}},CEA=function($,G){if(Object.defineProperty)Object.defineProperty($,"raw",{value:G});else $.raw=G;return $};var B=Object.create?function($,G){Object.defineProperty($,"default",{enumerable:!0,value:G})}:function($,G){$.default=G},I=function($){return I=Object.getOwnPropertyNames||function(G){var D=[];for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))D[D.length]=Y;return D},I($)};WEA=function($){if($&&$.__esModule)return $;var G={};if($!=null){for(var D=I($),Y=0;Y<D.length;Y++)if(D[Y]!=="default")yO(G,$,D[Y])}return B(G,$),G},KEA=function($){return $&&$.__esModule?$:{default:$}},qEA=function($,G,D,Y){if(D==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof G==="function"?$!==G||!Y:!G.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return D==="m"?Y:D==="a"?Y.call($):Y?Y.value:G.get($)},ZEA=function($,G,D,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof G==="function"?$!==G||!X:!G.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,D):X?X.value=D:G.set($,D),D},MEA=function($,G){if(G===null||typeof G!=="object"&&typeof G!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof $==="function"?G===$:$.has(G)},NEA=function($,G,D){if(G!==null&&G!==void 0){if(typeof G!=="object"&&typeof G!=="function")throw TypeError("Object expected.");var Y,X;if(D){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");Y=G[Symbol.asyncDispose]}if(Y===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(Y=G[Symbol.dispose],D)X=Y}if(typeof Y!=="function")throw TypeError("Object not disposable.");if(X)Y=function(){try{X.call(this)}catch(H){return Promise.reject(H)}};$.stack.push({value:G,dispose:Y,async:D})}else if(D)$.stack.push({async:!0});return G};var E=typeof SuppressedError==="function"?SuppressedError:function($,G,D){var Y=Error(D);return Y.name="SuppressedError",Y.error=$,Y.suppressed=G,Y};zEA=function($){function G(H){$.error=$.hasError?new E(H,$.error,"An error was suppressed during disposal."):H,$.hasError=!0}var D,Y=0;function X(){while(D=$.stack.pop())try{if(!D.async&&Y===1)return Y=0,$.stack.push(D),Promise.resolve().then(X);if(D.dispose){var H=D.dispose.call(D.value);if(D.async)return Y|=2,Promise.resolve(H).then(X,function(F){return G(F),X()})}else Y|=1}catch(F){G(F)}if(Y===1)return $.hasError?Promise.reject($.error):Promise.resolve();if($.hasError)throw $.error}return X()},LEA=function($,G){if(typeof $==="string"&&/^\.\.?\//.test($))return $.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(D,Y,X,H,F){return Y?G?".jsx":".js":X&&(!H||!F)?D:X+H+"."+F.toLowerCase()+"js"});return $},A("__extends",o1A),A("__assign",a1A),A("__rest",s1A),A("__decorate",t1A),A("__param",e1A),A("__esDecorate",AEA),A("__runInitializers",QEA),A("__propKey",BEA),A("__setFunctionName",IEA),A("__metadata",EEA),A("__awaiter",$EA),A("__generator",GEA),A("__exportStar",DEA),A("__createBinding",yO),A("__values",bO),A("__read",Uy),A("__spread",JEA),A("__spreadArrays",YEA),A("__spreadArray",UEA),A("__await",dH),A("__asyncGenerator",XEA),A("__asyncDelegator",HEA),A("__asyncValues",FEA),A("__makeTemplateObject",CEA),A("__importStar",WEA),A("__importDefault",KEA),A("__classPrivateFieldGet",qEA),A("__classPrivateFieldSet",ZEA),A("__classPrivateFieldIn",MEA),A("__addDisposableResource",NEA),A("__disposeResources",zEA),A("__rewriteRelativeImportExtension",LEA)})});var REA=x((OEA)=>{Object.defineProperty(OEA,"__esModule",{value:!0});OEA.resolveFetch=void 0;var VlA=(A)=>{if(A)return(...Q)=>A(...Q);return(...Q)=>fetch(...Q)};OEA.resolveFetch=VlA});var Xy=x((PEA)=>{Object.defineProperty(PEA,"__esModule",{value:!0});PEA.FunctionRegion=PEA.FunctionsHttpError=PEA.FunctionsRelayError=PEA.FunctionsFetchError=PEA.FunctionsError=void 0;class qq 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}}}PEA.FunctionsError=qq;class TEA extends qq{constructor(A){super("Failed to send a request to the Edge Function","FunctionsFetchError",A)}}PEA.FunctionsFetchError=TEA;class SEA extends qq{constructor(A){super("Relay Error invoking the Edge Function","FunctionsRelayError",A)}}PEA.FunctionsRelayError=SEA;class jEA extends qq{constructor(A){super("Edge Function returned a non-2xx status code","FunctionsHttpError",A)}}PEA.FunctionsHttpError=jEA;var VEA;(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"})(VEA||(PEA.FunctionRegion=VEA={}))});var gEA=x((vEA)=>{Object.defineProperty(vEA,"__esModule",{value:!0});vEA.FunctionsClient=void 0;var _lA=R$(),klA=REA(),pH=Xy();class kEA{constructor(A,{headers:Q={},customFetch:B,region:I=pH.FunctionRegion.Any}={}){this.url=A,this.headers=Q,this.region=I,this.fetch=(0,klA.resolveFetch)(B)}setAuth(A){this.headers.Authorization=`Bearer ${A}`}invoke(A){return _lA.__awaiter(this,arguments,void 0,function*(Q,B={}){var I;let E,$;try{let{headers:G,method:D,body:Y,signal:X,timeout:H}=B,F={},{region:W}=B;if(!W)W=this.region;let K=new URL(`${this.url}/${Q}`);if(W&&W!=="any")F["x-region"]=W,K.searchParams.set("forceFunctionRegion",W);let Z;if(Y&&(G&&!Object.prototype.hasOwnProperty.call(G,"Content-Type")||!G))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 M=X;if(H)if($=new AbortController,E=setTimeout(()=>$.abort(),H),X)M=$.signal,X.addEventListener("abort",()=>$.abort());else M=$.signal;let O=yield this.fetch(K.toString(),{method:D||"POST",headers:Object.assign(Object.assign(Object.assign({},F),this.headers),G),body:Z,signal:M}).catch((S)=>{throw new pH.FunctionsFetchError(S)}),w=O.headers.get("x-relay-error");if(w&&w==="true")throw new pH.FunctionsRelayError(O);if(!O.ok)throw new pH.FunctionsHttpError(O);let T=((I=O.headers.get("Content-Type"))!==null&&I!==void 0?I:"text/plain").split(";")[0].trim(),R;if(T==="application/json")R=yield O.json();else if(T==="application/octet-stream"||T==="application/pdf")R=yield O.blob();else if(T==="text/event-stream")R=O;else if(T==="multipart/form-data")R=yield O.formData();else R=yield O.text();return{data:R,error:null,response:O}}catch(G){return{data:null,error:G,response:G instanceof pH.FunctionsHttpError||G instanceof pH.FunctionsRelayError?G.context:void 0}}finally{if(E)clearTimeout(E)}})}}vEA.FunctionsClient=kEA});var bEA=x((jY)=>{Object.defineProperty(jY,"__esModule",{value:!0});jY.FunctionRegion=jY.FunctionsRelayError=jY.FunctionsHttpError=jY.FunctionsFetchError=jY.FunctionsError=jY.FunctionsClient=void 0;var vlA=gEA();Object.defineProperty(jY,"FunctionsClient",{enumerable:!0,get:function(){return vlA.FunctionsClient}});var Zq=Xy();Object.defineProperty(jY,"FunctionsError",{enumerable:!0,get:function(){return Zq.FunctionsError}});Object.defineProperty(jY,"FunctionsFetchError",{enumerable:!0,get:function(){return Zq.FunctionsFetchError}});Object.defineProperty(jY,"FunctionsHttpError",{enumerable:!0,get:function(){return Zq.FunctionsHttpError}});Object.defineProperty(jY,"FunctionsRelayError",{enumerable:!0,get:function(){return Zq.FunctionsRelayError}});Object.defineProperty(jY,"FunctionRegion",{enumerable:!0,get:function(){return Zq.FunctionRegion}})});function fEA(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 blA(A,Q,B,I){if(!I||B>=3)return!1;if(!mEA.includes(A))return!1;if(!glA.includes(Q))return!1;return!0}function Mq(A){return Mq=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},Mq(A)}function ulA(A,Q){if(Mq(A)!="object"||!A)return A;var B=A[Symbol.toPrimitive];if(B!==void 0){var I=B.call(A,Q||"default");if(Mq(I)!="object")return I;throw TypeError("@@toPrimitive must return a primitive value.")}return(Q==="string"?String:Number)(A)}function mlA(A){var Q=ulA(A,"string");return Mq(Q)=="symbol"?Q:Q+""}function clA(A,Q,B){return(Q=mlA(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 hO(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){clA(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}var yEA=(A)=>Math.min(1000*2**A,30000),glA,mEA,Hy,ylA=class{constructor(A){var Q,B,I,E,$;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=($=A.retry)!==null&&$!==void 0?$:!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 G=this.headers.get("Accept");if(G==="application/vnd.pgrst.object+json")this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped");else if(!G||G==="application/json")this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}let I=this.fetch,$=(async()=>{let G=0;while(!0){let X=new Headers(B.headers);if(G>0)X.set("X-Retry-Count",String(G));let H;try{H=await I(B.url.toString(),{method:B.method,headers:X,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(!mEA.includes(B.method))throw F;if(B.retryEnabled&&G<3){let W=yEA(G);G++,await fEA(W,B.signal);continue}throw F}if(blA(B.method,H.status,G,B.retryEnabled)){var D,Y;let F=(D=(Y=H.headers)===null||Y===void 0?void 0:Y.get("Retry-After"))!==null&&D!==void 0?D:null,W=F!==null?Math.max(0,parseInt(F,10)||0)*1000:yEA(G);await H.text(),G++,await fEA(W,B.signal);continue}return await B.processResponse(H)}})();if(!this.shouldThrowOnError)$=$.catch((G)=>{var D;let Y="",X="",H="",F=G===null||G===void 0?void 0:G.cause;if(F){var W,K,Z,M;let T=(W=F===null||F===void 0?void 0:F.message)!==null&&W!==void 0?W:"",R=(K=F===null||F===void 0?void 0:F.code)!==null&&K!==void 0?K:"";if(Y=`${(Z=G===null||G===void 0?void 0:G.name)!==null&&Z!==void 0?Z:"FetchError"}: ${G===null||G===void 0?void 0:G.message}`,Y+=`
96
96
 
97
97
  Caused by: ${(M=F===null||F===void 0?void 0:F.name)!==null&&M!==void 0?M:"Error"}: ${T}`,R)Y+=` (${R})`;if(F===null||F===void 0?void 0:F.stack)Y+=`
@@ -953,11 +953,11 @@ ${Q}`,I,E,'Type "ready" when build and sync are done.'),"retry"}async function u
953
953
  `:`[${I[Y]}\r
954
954
  ]`;continue}if(E+=I[Y],I[Y]==="\\")$=!0;else if(G&&I[Y]==="]")G=!1;else if(!G&&I[Y]==="[")G=!0}try{new RegExp(E)}catch{return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),A.source}return E}function Mv(A,Q){if(Q.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Q.target==="openApi3"&&A.keyType?._def.typeName===OQ.ZodEnum)return{type:"object",required:A.keyType._def.values,properties:A.keyType._def.values.reduce((I,E)=>({...I,[E]:cB(A.valueType._def,{...Q,currentPath:[...Q.currentPath,"properties",E]})??c1(Q)}),{}),additionalProperties:Q.rejectedAdditionalProperties};let B={type:"object",additionalProperties:cB(A.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]})??Q.allowedAdditionalProperties};if(Q.target==="openApi3")return B;if(A.keyType?._def.typeName===OQ.ZodString&&A.keyType._def.checks?.length){let{type:I,...E}=Zv(A.keyType._def,Q);return{...B,propertyNames:E}}else if(A.keyType?._def.typeName===OQ.ZodEnum)return{...B,propertyNames:{enum:A.keyType._def.values}};else if(A.keyType?._def.typeName===OQ.ZodBranded&&A.keyType._def.type._def.typeName===OQ.ZodString&&A.keyType._def.type._def.checks?.length){let{type:I,...E}=qv(A.keyType._def,Q);return{...B,propertyNames:E}}return B}function kkA(A,Q){if(Q.mapStrategy==="record")return Mv(A,Q);let B=cB(A.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||c1(Q),I=cB(A.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||c1(Q);return{type:"array",maxItems:125,items:{type:"array",items:[B,I],minItems:2,maxItems:2}}}function vkA(A){let Q=A.values,I=Object.keys(A.values).filter(($)=>{return typeof Q[Q[$]]!=="number"}).map(($)=>Q[$]),E=Array.from(new Set(I.map(($)=>typeof $)));return{type:E.length===1?E[0]==="string"?"string":"number":["string","number"],enum:I}}function xkA(A){return A.target==="openAi"?void 0:{not:c1({...A,currentPath:[...A.currentPath,"not"]})}}function gkA(A){return A.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var O2={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ykA(A,Q){if(Q.target==="openApi3")return bkA(A,Q);let B=A.options instanceof Map?Array.from(A.options.values()):A.options;if(B.every((I)=>(I._def.typeName in O2)&&(!I._def.checks||!I._def.checks.length))){let I=B.reduce((E,$)=>{let G=O2[$._def.typeName];return G&&!E.includes(G)?[...E,G]:E},[]);return{type:I.length>1?I:I[0]}}else if(B.every((I)=>I._def.typeName==="ZodLiteral"&&!I.description)){let I=B.reduce((E,$)=>{let G=typeof $._def.value;switch(G){case"string":case"number":case"boolean":return[...E,G];case"bigint":return[...E,"integer"];case"object":if($._def.value===null)return[...E,"null"];case"symbol":case"undefined":case"function":default:return E}},[]);if(I.length===B.length){let E=I.filter(($,G,D)=>D.indexOf($)===G);return{type:E.length>1?E:E[0],enum:B.reduce(($,G)=>{return $.includes(G._def.value)?$:[...$,G._def.value]},[])}}}else if(B.every((I)=>I._def.typeName==="ZodEnum"))return{type:"string",enum:B.reduce((I,E)=>[...I,...E._def.values.filter(($)=>!I.includes($))],[])};return bkA(A,Q)}var bkA=(A,Q)=>{let B=(A.options instanceof Map?Array.from(A.options.values()):A.options).map((I,E)=>cB(I._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${E}`]})).filter((I)=>!!I&&(!Q.strictUnions||typeof I==="object"&&Object.keys(I).length>0));return B.length?{anyOf:B}:void 0};function fkA(A,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(A.innerType._def.typeName)&&(!A.innerType._def.checks||!A.innerType._def.checks.length)){if(Q.target==="openApi3")return{type:O2[A.innerType._def.typeName],nullable:!0};return{type:[O2[A.innerType._def.typeName],"null"]}}if(Q.target==="openApi3"){let I=cB(A.innerType._def,{...Q,currentPath:[...Q.currentPath]});if(I&&"$ref"in I)return{allOf:[I],nullable:!0};return I&&{...I,nullable:!0}}let B=cB(A.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return B&&{anyOf:[B,{type:"null"}]}}function hkA(A,Q){let B={type:"number"};if(!A.checks)return B;for(let I of A.checks)switch(I.kind){case"int":B.type="integer",Ut(B,"type",I.message,Q);break;case"min":if(Q.target==="jsonSchema7")if(I.inclusive)o0(B,"minimum",I.value,I.message,Q);else o0(B,"exclusiveMinimum",I.value,I.message,Q);else{if(!I.inclusive)B.exclusiveMinimum=!0;o0(B,"minimum",I.value,I.message,Q)}break;case"max":if(Q.target==="jsonSchema7")if(I.inclusive)o0(B,"maximum",I.value,I.message,Q);else o0(B,"exclusiveMaximum",I.value,I.message,Q);else{if(!I.inclusive)B.exclusiveMaximum=!0;o0(B,"maximum",I.value,I.message,Q)}break;case"multipleOf":o0(B,"multipleOf",I.value,I.message,Q);break}return B}function ukA(A,Q){let B=Q.target==="openAi",I={type:"object",properties:{}},E=[],$=A.shape();for(let D in $){let Y=$[D];if(Y===void 0||Y._def===void 0)continue;let X=tkQ(Y);if(X&&B){if(Y._def.typeName==="ZodOptional")Y=Y._def.innerType;if(!Y.isNullable())Y=Y.nullable();X=!1}let H=cB(Y._def,{...Q,currentPath:[...Q.currentPath,"properties",D],propertyPath:[...Q.currentPath,"properties",D]});if(H===void 0)continue;if(I.properties[D]=H,!X)E.push(D)}if(E.length)I.required=E;let G=skQ(A,Q);if(G!==void 0)I.additionalProperties=G;return I}function skQ(A,Q){if(A.catchall._def.typeName!=="ZodNever")return cB(A.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch(A.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function tkQ(A){try{return A.isOptional()}catch{return!0}}var mkA=(A,Q)=>{if(Q.currentPath.toString()===Q.propertyPath?.toString())return cB(A.innerType._def,Q);let B=cB(A.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return B?{anyOf:[{not:c1(Q)},B]}:c1(Q)};var ckA=(A,Q)=>{if(Q.pipeStrategy==="input")return cB(A.in._def,Q);else if(Q.pipeStrategy==="output")return cB(A.out._def,Q);let B=cB(A.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),I=cB(A.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",B?"1":"0"]});return{allOf:[B,I].filter((E)=>E!==void 0)}};function lkA(A,Q){return cB(A.type._def,Q)}function dkA(A,Q){let I={type:"array",uniqueItems:!0,items:cB(A.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if(A.minSize)o0(I,"minItems",A.minSize.value,A.minSize.message,Q);if(A.maxSize)o0(I,"maxItems",A.maxSize.value,A.maxSize.message,Q);return I}function pkA(A,Q){if(A.rest)return{type:"array",minItems:A.items.length,items:A.items.map((B,I)=>cB(B._def,{...Q,currentPath:[...Q.currentPath,"items",`${I}`]})).reduce((B,I)=>I===void 0?B:[...B,I],[]),additionalItems:cB(A.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:A.items.length,maxItems:A.items.length,items:A.items.map((B,I)=>cB(B._def,{...Q,currentPath:[...Q.currentPath,"items",`${I}`]})).reduce((B,I)=>I===void 0?B:[...B,I],[])}}function nkA(A){return{not:c1(A)}}function ikA(A){return c1(A)}var rkA=(A,Q)=>{return cB(A.innerType._def,Q)};var okA=(A,Q,B)=>{switch(Q){case OQ.ZodString:return Zv(A,B);case OQ.ZodNumber:return hkA(A,B);case OQ.ZodObject:return ukA(A,B);case OQ.ZodBigInt:return OkA(A,B);case OQ.ZodBoolean:return wkA();case OQ.ZodDate:return Xt(A,B);case OQ.ZodUndefined:return nkA(B);case OQ.ZodNull:return gkA(B);case OQ.ZodArray:return LkA(A,B);case OQ.ZodUnion:case OQ.ZodDiscriminatedUnion:return ykA(A,B);case OQ.ZodIntersection:return jkA(A,B);case OQ.ZodTuple:return pkA(A,B);case OQ.ZodRecord:return Mv(A,B);case OQ.ZodLiteral:return PkA(A,B);case OQ.ZodEnum:return SkA(A);case OQ.ZodNativeEnum:return vkA(A);case OQ.ZodNullable:return fkA(A,B);case OQ.ZodOptional:return mkA(A,B);case OQ.ZodMap:return kkA(A,B);case OQ.ZodSet:return dkA(A,B);case OQ.ZodLazy:return()=>A.getter()._def;case OQ.ZodPromise:return lkA(A,B);case OQ.ZodNaN:case OQ.ZodNever:return xkA(B);case OQ.ZodEffects:return TkA(A,B);case OQ.ZodAny:return c1(B);case OQ.ZodUnknown:return ikA(B);case OQ.ZodDefault:return VkA(A,B);case OQ.ZodBranded:return qv(A,B);case OQ.ZodReadonly:return rkA(A,B);case OQ.ZodCatch:return RkA(A,B);case OQ.ZodPipeline:return ckA(A,B);case OQ.ZodFunction:case OQ.ZodVoid:case OQ.ZodSymbol:return;default:return((I)=>{return})(Q)}};function cB(A,Q,B=!1){let I=Q.seen.get(A);if(Q.override){let D=Q.override?.(A,Q,I,B);if(D!==MkA)return D}if(I&&!B){let D=ekQ(I,Q);if(D!==void 0)return D}let E={def:A,path:Q.currentPath,jsonSchema:void 0};Q.seen.set(A,E);let $=okA(A,A.typeName,Q),G=typeof $==="function"?cB($(),Q):$;if(G)AvQ(A,Q,G);if(Q.postProcess){let D=Q.postProcess(G,A,Q);return E.jsonSchema=G,D}return E.jsonSchema=G,G}var ekQ=(A,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:A.path.join("/")};case"relative":return{$ref:Kv(Q.currentPath,A.path)};case"none":case"seen":{if(A.path.length<Q.currentPath.length&&A.path.every((B,I)=>Q.currentPath[I]===B))return console.warn(`Recursive reference detected at ${Q.currentPath.join("/")}! Defaulting to any`),c1(Q);return Q.$refStrategy==="seen"?c1(Q):void 0}}},AvQ=(A,Q,B)=>{if(A.description){if(B.description=A.description,Q.markdownDescription)B.markdownDescription=A.description}return B};var Ct=(A,Q)=>{let B=zkA(Q),I=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce((Y,[X,H])=>({...Y,[X]:cB(H._def,{...B,currentPath:[...B.basePath,B.definitionPath,X]},!0)??c1(B)}),{}):void 0,E=typeof Q==="string"?Q:Q?.nameStrategy==="title"?void 0:Q?.name,$=cB(A._def,E===void 0?B:{...B,currentPath:[...B.basePath,B.definitionPath,E]},!1)??c1(B),G=typeof Q==="object"&&Q.name!==void 0&&Q.nameStrategy==="title"?Q.name:void 0;if(G!==void 0)$.title=G;if(B.flags.hasReferencedOpenAiAnyType){if(!I)I={};if(!I[B.openAiAnyTypeName])I[B.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:B.$refStrategy==="relative"?"1":[...B.basePath,B.definitionPath,B.openAiAnyTypeName].join("/")}}}let D=E===void 0?I?{...$,[B.definitionPath]:I}:$:{$ref:[...B.$refStrategy==="relative"?[]:B.basePath,B.definitionPath,E].join("/"),[B.definitionPath]:{...I,[E]:$}};if(B.target==="jsonSchema7")D.$schema="http://json-schema.org/draft-07/schema#";else if(B.target==="jsonSchema2019-09"||B.target==="openAi")D.$schema="https://json-schema.org/draft/2019-09/schema#";if(B.target==="openAi"&&(("anyOf"in D)||("oneOf"in D)||("allOf"in D)||("type"in D)&&Array.isArray(D.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return D};function QvQ(A){if(!A)return"draft-7";if(A==="jsonSchema7"||A==="draft-7")return"draft-7";if(A==="jsonSchema2019-09"||A==="draft-2020-12")return"draft-2020-12";return"draft-7"}function Wt(A,Q){if(FG(A))return vX(A,{target:QvQ(Q?.target),io:Q?.pipeStrategy??"input"});return Ct(A,{strictUnions:Q?.strictUnions??!0,pipeStrategy:Q?.pipeStrategy??"input"})}function Kt(A){let B=t5(A)?.method;if(!B)throw Error("Schema is missing a method literal");let I=rk(B);if(typeof I!=="string")throw Error("Schema method literal must be a string");return I}function qt(A,Q){let B=s5(A,Q);if(!B.success)throw B.error;return B.data}var BvQ=60000;class Zt{constructor(A){if(this._options=A,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ek,(Q)=>{this._oncancel(Q)}),this.setNotificationHandler(Qv,(Q)=>{this._onprogress(Q)}),this.setRequestHandler(Av,(Q)=>({})),this._taskStore=A?.taskStore,this._taskMessageQueue=A?.taskMessageQueue,this._taskStore)this.setRequestHandler(Bv,async(Q,B)=>{let I=await this._taskStore.getTask(Q.params.taskId,B.sessionId);if(!I)throw new KB(TB.InvalidParams,"Failed to retrieve task: Task not found");return{...I}}),this.setRequestHandler(Ev,async(Q,B)=>{let I=async()=>{let E=Q.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue(E,B.sessionId)){if(G.type==="response"||G.type==="error"){let D=G.message,Y=D.id,X=this._requestResolvers.get(Y);if(X)if(this._requestResolvers.delete(Y),G.type==="response")X(D);else{let H=D,F=new KB(H.error.code,H.error.message,H.error.data);X(F)}else{let H=G.type==="response"?"Response":"Error";this._onerror(Error(`${H} handler missing for request ${Y}`))}continue}await this._transport?.send(G.message,{relatedRequestId:B.requestId})}}let $=await this._taskStore.getTask(E,B.sessionId);if(!$)throw new KB(TB.InvalidParams,`Task not found: ${E}`);if(!AU($.status))return await this._waitForTaskUpdate(E,B.signal),await I();if(AU($.status)){let G=await this._taskStore.getTaskResult(E,B.sessionId);return this._clearTaskQueue(E),{...G,_meta:{...G._meta,[e5]:{taskId:E}}}}return await I()};return await I()}),this.setRequestHandler($v,async(Q,B)=>{try{let{tasks:I,nextCursor:E}=await this._taskStore.listTasks(Q.params?.cursor,B.sessionId);return{tasks:I,nextCursor:E,_meta:{}}}catch(I){throw new KB(TB.InvalidParams,`Failed to list tasks: ${I instanceof Error?I.message:String(I)}`)}}),this.setRequestHandler(Dv,async(Q,B)=>{try{let I=await this._taskStore.getTask(Q.params.taskId,B.sessionId);if(!I)throw new KB(TB.InvalidParams,`Task not found: ${Q.params.taskId}`);if(AU(I.status))throw new KB(TB.InvalidParams,`Cannot cancel task in terminal status: ${I.status}`);await this._taskStore.updateTaskStatus(Q.params.taskId,"cancelled","Client cancelled task execution.",B.sessionId),this._clearTaskQueue(Q.params.taskId);let E=await this._taskStore.getTask(Q.params.taskId,B.sessionId);if(!E)throw new KB(TB.InvalidParams,`Task not found after cancellation: ${Q.params.taskId}`);return{_meta:{},...E}}catch(I){if(I instanceof KB)throw I;throw new KB(TB.InvalidRequest,`Failed to cancel task: ${I instanceof Error?I.message:String(I)}`)}})}async _oncancel(A){if(!A.params.requestId)return;this._requestHandlerAbortControllers.get(A.params.requestId)?.abort(A.params.reason)}_setupTimeout(A,Q,B,I,E=!1){this._timeoutInfo.set(A,{timeoutId:setTimeout(I,Q),startTime:Date.now(),timeout:Q,maxTotalTimeout:B,resetTimeoutOnProgress:E,onTimeout:I})}_resetTimeout(A){let Q=this._timeoutInfo.get(A);if(!Q)return!1;let B=Date.now()-Q.startTime;if(Q.maxTotalTimeout&&B>=Q.maxTotalTimeout)throw this._timeoutInfo.delete(A),KB.fromError(TB.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:Q.maxTotalTimeout,totalElapsed:B});return clearTimeout(Q.timeoutId),Q.timeoutId=setTimeout(Q.onTimeout,Q.timeout),!0}_cleanupTimeout(A){let Q=this._timeoutInfo.get(A);if(Q)clearTimeout(Q.timeoutId),this._timeoutInfo.delete(A)}async connect(A){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=A;let Q=this.transport?.onclose;this._transport.onclose=()=>{Q?.(),this._onclose()};let B=this.transport?.onerror;this._transport.onerror=(E)=>{B?.(E),this._onerror(E)};let I=this._transport?.onmessage;this._transport.onmessage=(E,$)=>{if(I?.(E,$),C2(E)||GkA(E))this._onresponse(E);else if(as(E))this._onrequest(E,$);else if($kA(E))this._onnotification(E);else this._onerror(Error(`Unknown message type: ${JSON.stringify(E)}`))},await this._transport.start()}_onclose(){let A=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let B of this._timeoutInfo.values())clearTimeout(B.timeoutId);this._timeoutInfo.clear();for(let B of this._requestHandlerAbortControllers.values())B.abort();this._requestHandlerAbortControllers.clear();let Q=KB.fromError(TB.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let B of A.values())B(Q)}_onerror(A){this.onerror?.(A)}_onnotification(A){let Q=this._notificationHandlers.get(A.method)??this.fallbackNotificationHandler;if(Q===void 0)return;Promise.resolve().then(()=>Q(A)).catch((B)=>this._onerror(Error(`Uncaught error in notification handler: ${B}`)))}_onrequest(A,Q){let B=this._requestHandlers.get(A.method)??this.fallbackRequestHandler,I=this._transport,E=A.params?._meta?.[e5]?.taskId;if(B===void 0){let X={jsonrpc:"2.0",id:A.id,error:{code:TB.MethodNotFound,message:"Method not found"}};if(E&&this._taskMessageQueue)this._enqueueTaskMessage(E,{type:"error",message:X,timestamp:Date.now()},I?.sessionId).catch((H)=>this._onerror(Error(`Failed to enqueue error response: ${H}`)));else I?.send(X).catch((H)=>this._onerror(Error(`Failed to send an error response: ${H}`)));return}let $=new AbortController;this._requestHandlerAbortControllers.set(A.id,$);let G=BkA(A.params)?A.params.task:void 0,D=this._taskStore?this.requestTaskStore(A,I?.sessionId):void 0,Y={signal:$.signal,sessionId:I?.sessionId,_meta:A.params?._meta,sendNotification:async(X)=>{if($.signal.aborted)return;let H={relatedRequestId:A.id};if(E)H.relatedTask={taskId:E};await this.notification(X,H)},sendRequest:async(X,H,F)=>{if($.signal.aborted)throw new KB(TB.ConnectionClosed,"Request was cancelled");let W={...F,relatedRequestId:A.id};if(E&&!W.relatedTask)W.relatedTask={taskId:E};let K=W.relatedTask?.taskId??E;if(K&&D)await D.updateTaskStatus(K,"input_required");return await this.request(X,H,W)},authInfo:Q?.authInfo,requestId:A.id,requestInfo:Q?.requestInfo,taskId:E,taskStore:D,taskRequestedTtl:G?.ttl,closeSSEStream:Q?.closeSSEStream,closeStandaloneSSEStream:Q?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(A.method)}).then(()=>B(A,Y)).then(async(X)=>{if($.signal.aborted)return;let H={result:X,jsonrpc:"2.0",id:A.id};if(E&&this._taskMessageQueue)await this._enqueueTaskMessage(E,{type:"response",message:H,timestamp:Date.now()},I?.sessionId);else await I?.send(H)},async(X)=>{if($.signal.aborted)return;let H={jsonrpc:"2.0",id:A.id,error:{code:Number.isSafeInteger(X.code)?X.code:TB.InternalError,message:X.message??"Internal error",...X.data!==void 0&&{data:X.data}}};if(E&&this._taskMessageQueue)await this._enqueueTaskMessage(E,{type:"error",message:H,timestamp:Date.now()},I?.sessionId);else await I?.send(H)}).catch((X)=>this._onerror(Error(`Failed to send response: ${X}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(A.id)===$)this._requestHandlerAbortControllers.delete(A.id)})}_onprogress(A){let{progressToken:Q,...B}=A.params,I=Number(Q),E=this._progressHandlers.get(I);if(!E){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(A)}`));return}let $=this._responseHandlers.get(I),G=this._timeoutInfo.get(I);if(G&&$&&G.resetTimeoutOnProgress)try{this._resetTimeout(I)}catch(D){this._responseHandlers.delete(I),this._progressHandlers.delete(I),this._cleanupTimeout(I),$(D);return}E(B)}_onresponse(A){let Q=Number(A.id),B=this._requestResolvers.get(Q);if(B){if(this._requestResolvers.delete(Q),C2(A))B(A);else{let $=new KB(A.error.code,A.error.message,A.error.data);B($)}return}let I=this._responseHandlers.get(Q);if(I===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(A)}`));return}this._responseHandlers.delete(Q),this._cleanupTimeout(Q);let E=!1;if(C2(A)&&A.result&&typeof A.result==="object"){let $=A.result;if($.task&&typeof $.task==="object"){let G=$.task;if(typeof G.taskId==="string")E=!0,this._taskProgressTokens.set(G.taskId,Q)}}if(!E)this._progressHandlers.delete(Q);if(C2(A))I(A);else{let $=KB.fromError(A.error.code,A.error.message,A.error.data);I($)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(A,Q,B){let{task:I}=B??{};if(!I){try{yield{type:"result",result:await this.request(A,Q,B)}}catch($){yield{type:"error",error:$ instanceof KB?$:new KB(TB.InternalError,String($))}}return}let E;try{let $=await this.request(A,dW,B);if($.task)E=$.task.taskId,yield{type:"taskCreated",task:$.task};else throw new KB(TB.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:E},B);if(yield{type:"taskStatus",task:G},AU(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:E},Q,B)};else if(G.status==="failed")yield{type:"error",error:new KB(TB.InternalError,`Task ${E} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new KB(TB.InternalError,`Task ${E} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:E},Q,B)};return}let D=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((Y)=>setTimeout(Y,D)),B?.signal?.throwIfAborted()}}catch($){yield{type:"error",error:$ instanceof KB?$:new KB(TB.InternalError,String($))}}}request(A,Q,B){let{relatedRequestId:I,resumptionToken:E,onresumptiontoken:$,task:G,relatedTask:D}=B??{};return new Promise((Y,X)=>{let H=(w)=>{X(w)};if(!this._transport){H(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(A.method),G)this.assertTaskCapability(A.method)}catch(w){H(w);return}B?.signal?.throwIfAborted();let F=this._requestMessageId++,W={...A,jsonrpc:"2.0",id:F};if(B?.onprogress)this._progressHandlers.set(F,B.onprogress),W.params={...A.params,_meta:{...A.params?._meta||{},progressToken:F}};if(G)W.params={...W.params,task:G};if(D)W.params={...W.params,_meta:{...W.params?._meta||{},[e5]:D}};let K=(w)=>{this._responseHandlers.delete(F),this._progressHandlers.delete(F),this._cleanupTimeout(F),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:F,reason:String(w)}},{relatedRequestId:I,resumptionToken:E,onresumptiontoken:$}).catch((R)=>this._onerror(Error(`Failed to send cancellation: ${R}`)));let T=w instanceof KB?w:new KB(TB.RequestTimeout,String(w));X(T)};this._responseHandlers.set(F,(w)=>{if(B?.signal?.aborted)return;if(w instanceof Error)return X(w);try{let T=s5(Q,w.result);if(!T.success)X(T.error);else Y(T.data)}catch(T){X(T)}}),B?.signal?.addEventListener("abort",()=>{K(B?.signal?.reason)});let Z=B?.timeout??BvQ,M=()=>K(KB.fromError(TB.RequestTimeout,"Request timed out",{timeout:Z}));this._setupTimeout(F,Z,B?.maxTotalTimeout,M,B?.resetTimeoutOnProgress??!1);let O=D?.taskId;if(O){let w=(T)=>{let R=this._responseHandlers.get(F);if(R)R(T);else this._onerror(Error(`Response handler missing for side-channeled request ${F}`))};this._requestResolvers.set(F,w),this._enqueueTaskMessage(O,{type:"request",message:W,timestamp:Date.now()}).catch((T)=>{this._cleanupTimeout(F),X(T)})}else this._transport.send(W,{relatedRequestId:I,resumptionToken:E,onresumptiontoken:$}).catch((w)=>{this._cleanupTimeout(F),X(w)})})}async getTask(A,Q){return this.request({method:"tasks/get",params:A},Iv,Q)}async getTaskResult(A,Q,B){return this.request({method:"tasks/result",params:A},Q,B)}async listTasks(A,Q){return this.request({method:"tasks/list",params:A},Gv,Q)}async cancelTask(A,Q){return this.request({method:"tasks/cancel",params:A},YkA,Q)}async notification(A,Q){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(A.method);let B=Q?.relatedTask?.taskId;if(B){let G={...A,jsonrpc:"2.0",params:{...A.params,_meta:{...A.params?._meta||{},[e5]:Q.relatedTask}}};await this._enqueueTaskMessage(B,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(A.method)&&!A.params&&!Q?.relatedRequestId&&!Q?.relatedTask){if(this._pendingDebouncedNotifications.has(A.method))return;this._pendingDebouncedNotifications.add(A.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(A.method),!this._transport)return;let G={...A,jsonrpc:"2.0"};if(Q?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[e5]:Q.relatedTask}}};this._transport?.send(G,Q).catch((D)=>this._onerror(D))});return}let $={...A,jsonrpc:"2.0"};if(Q?.relatedTask)$={...$,params:{...$.params,_meta:{...$.params?._meta||{},[e5]:Q.relatedTask}}};await this._transport.send($,Q)}setRequestHandler(A,Q){let B=Kt(A);this.assertRequestHandlerCapability(B),this._requestHandlers.set(B,(I,E)=>{let $=qt(A,I);return Promise.resolve(Q($,E))})}removeRequestHandler(A){this._requestHandlers.delete(A)}assertCanSetRequestHandler(A){if(this._requestHandlers.has(A))throw Error(`A request handler for ${A} already exists, which would be overridden`)}setNotificationHandler(A,Q){let B=Kt(A);this._notificationHandlers.set(B,(I)=>{let E=qt(A,I);return Promise.resolve(Q(E))})}removeNotificationHandler(A){this._notificationHandlers.delete(A)}_cleanupTaskProgressHandler(A){let Q=this._taskProgressTokens.get(A);if(Q!==void 0)this._progressHandlers.delete(Q),this._taskProgressTokens.delete(A)}async _enqueueTaskMessage(A,Q,B){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let I=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(A,Q,B,I)}async _clearTaskQueue(A,Q){if(this._taskMessageQueue){let B=await this._taskMessageQueue.dequeueAll(A,Q);for(let I of B)if(I.type==="request"&&as(I.message)){let E=I.message.id,$=this._requestResolvers.get(E);if($)$(new KB(TB.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(E);else this._onerror(Error(`Resolver missing for request ${E} during task ${A} cleanup`))}}}async _waitForTaskUpdate(A,Q){let B=this._options?.defaultTaskPollInterval??1000;try{let I=await this._taskStore?.getTask(A);if(I?.pollInterval)B=I.pollInterval}catch{}return new Promise((I,E)=>{if(Q.aborted){E(new KB(TB.InvalidRequest,"Request cancelled"));return}let $=setTimeout(I,B);Q.addEventListener("abort",()=>{clearTimeout($),E(new KB(TB.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(A,Q){let B=this._taskStore;if(!B)throw Error("No task store configured");return{createTask:async(I)=>{if(!A)throw Error("No request provided");return await B.createTask(I,A.id,{method:A.method,params:A.params},Q)},getTask:async(I)=>{let E=await B.getTask(I,Q);if(!E)throw new KB(TB.InvalidParams,"Failed to retrieve task: Task not found");return E},storeTaskResult:async(I,E,$)=>{await B.storeTaskResult(I,E,$,Q);let G=await B.getTask(I,Q);if(G){let D=M2.parse({method:"notifications/tasks/status",params:G});if(await this.notification(D),AU(G.status))this._cleanupTaskProgressHandler(I)}},getTaskResult:(I)=>{return B.getTaskResult(I,Q)},updateTaskStatus:async(I,E,$)=>{let G=await B.getTask(I,Q);if(!G)throw new KB(TB.InvalidParams,`Task "${I}" not found - it may have been cleaned up`);if(AU(G.status))throw new KB(TB.InvalidParams,`Cannot update task "${I}" from terminal status "${G.status}" to "${E}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await B.updateTaskStatus(I,E,$,Q);let D=await B.getTask(I,Q);if(D){let Y=M2.parse({method:"notifications/tasks/status",params:D});if(await this.notification(Y),AU(D.status))this._cleanupTaskProgressHandler(I)}},listTasks:(I)=>{return B.listTasks(I,Q)}}}}function akA(A){return A!==null&&typeof A==="object"&&!Array.isArray(A)}function skA(A,Q){let B={...A};for(let I in Q){let E=I,$=Q[E];if($===void 0)continue;let G=B[E];if(akA(G)&&akA($))B[E]={...G,...$};else B[E]=$}return B}var vyA=kA(Fe(),1),xyA=kA(kyA(),1);function wmQ(){let A=new vyA.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return xyA.default(A),A}class Oe{constructor(A){this._ajv=A??wmQ()}getValidator(A){let Q="$id"in A&&typeof A.$id==="string"?this._ajv.getSchema(A.$id)??this._ajv.compile(A):this._ajv.compile(A);return(B)=>{if(Q(B))return{valid:!0,data:B,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(Q.errors)}}}}class we{constructor(A){this._server=A}requestStream(A,Q,B){return this._server.requestStream(A,Q,B)}createMessageStream(A,Q){let B=this._server.getClientCapabilities();if((A.tools||A.toolChoice)&&!B?.sampling?.tools)throw Error("Client does not support sampling tools capability.");if(A.messages.length>0){let I=A.messages[A.messages.length-1],E=Array.isArray(I.content)?I.content:[I.content],$=E.some((X)=>X.type==="tool_result"),G=A.messages.length>1?A.messages[A.messages.length-2]:void 0,D=G?Array.isArray(G.content)?G.content:[G.content]:[],Y=D.some((X)=>X.type==="tool_use");if($){if(E.some((X)=>X.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!Y)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(Y){let X=new Set(D.filter((F)=>F.type==="tool_use").map((F)=>F.id)),H=new Set(E.filter((F)=>F.type==="tool_result").map((F)=>F.toolUseId));if(X.size!==H.size||![...X].every((F)=>H.has(F)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:A},L2,Q)}elicitInputStream(A,Q){let B=this._server.getClientCapabilities(),I=A.mode??"form";switch(I){case"url":{if(!B?.elicitation?.url)throw Error("Client does not support url elicitation.");break}case"form":{if(!B?.elicitation?.form)throw Error("Client does not support form elicitation.");break}}let E=I==="form"&&A.mode===void 0?{...A,mode:"form"}:A;return this.requestStream({method:"elicitation/create",params:E},iW,Q)}async getTask(A,Q){return this._server.getTask({taskId:A},Q)}async getTaskResult(A,Q,B){return this._server.getTaskResult({taskId:A},Q,B)}async listTasks(A,Q){return this._server.listTasks(A?{cursor:A}:void 0,Q)}async cancelTask(A,Q){return this._server.cancelTask({taskId:A},Q)}}function gyA(A,Q,B){if(!A)throw Error(`${B} does not support task creation (required for ${Q})`);switch(Q){case"tools/call":if(!A.tools?.call)throw Error(`${B} does not support task creation for tools/call (required for ${Q})`);break;default:break}}function byA(A,Q,B){if(!A)throw Error(`${B} does not support task creation (required for ${Q})`);switch(Q){case"sampling/createMessage":if(!A.sampling?.createMessage)throw Error(`${B} does not support task creation for sampling/createMessage (required for ${Q})`);break;case"elicitation/create":if(!A.elicitation?.create)throw Error(`${B} does not support task creation for elicitation/create (required for ${Q})`);break;default:break}}class Re extends Zt{constructor(A,Q){super(Q);if(this._serverInfo=A,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(z2.options.map((B,I)=>[B,I])),this.isMessageIgnored=(B,I)=>{let E=this._loggingLevels.get(I);return E?this.LOG_LEVEL_SEVERITY.get(B)<this.LOG_LEVEL_SEVERITY.get(E):!1},this._capabilities=Q?.capabilities??{},this._instructions=Q?.instructions,this._jsonSchemaValidator=Q?.jsonSchemaValidator??new Oe,this.setRequestHandler(es,(B)=>this._oninitialize(B)),this.setNotificationHandler(At,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(Dt,async(B,I)=>{let E=I.sessionId||I.requestInfo?.headers["mcp-session-id"]||void 0,{level:$}=B.params,G=z2.safeParse($);if(G.success)this._loggingLevels.set(E,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new we(this)};return this._experimental}registerCapabilities(A){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=skA(this._capabilities,A)}setRequestHandler(A,Q){let I=t5(A)?.method;if(!I)throw Error("Schema is missing a method literal");let E;if(FG(I)){let G=I;E=G._zod?.def?.value??G.value}else{let G=I;E=G._def?.value??G.value}if(typeof E!=="string")throw Error("Schema method literal must be a string");if(E==="tools/call"){let G=async(D,Y)=>{let X=s5(nW,D);if(!X.success){let K=X.error instanceof Error?X.error.message:String(X.error);throw new KB(TB.InvalidParams,`Invalid tools/call request: ${K}`)}let{params:H}=X.data,F=await Promise.resolve(Q(D,Y));if(H.task){let K=s5(dW,F);if(!K.success){let Z=K.error instanceof Error?K.error.message:String(K.error);throw new KB(TB.InvalidParams,`Invalid task creation result: ${Z}`)}return K.data}let W=s5(Cv,F);if(!W.success){let K=W.error instanceof Error?W.error.message:String(W.error);throw new KB(TB.InvalidParams,`Invalid tools/call result: ${K}`)}return W.data};return super.setRequestHandler(A,G)}return super.setRequestHandler(A,Q)}assertCapabilityForMethod(A){switch(A){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${A})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${A})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${A})`);break;case"ping":break}}assertNotificationCapability(A){switch(A){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${A})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${A})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${A})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${A})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(A){if(!this._capabilities)return;switch(A){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${A})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${A})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${A})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${A})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${A})`);break;case"ping":case"initialize":break}}assertTaskCapability(A){byA(this._clientCapabilities?.tasks?.requests,A,"Client")}assertTaskHandlerCapability(A){if(!this._capabilities)return;gyA(this._capabilities.tasks?.requests,A,"Server")}async _oninitialize(A){let Q=A.params.protocolVersion;return this._clientCapabilities=A.params.capabilities,this._clientVersion=A.params.clientInfo,{protocolVersion:e_A.includes(Q)?Q:rs,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},tk)}async createMessage(A,Q){if(A.tools||A.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(A.messages.length>0){let B=A.messages[A.messages.length-1],I=Array.isArray(B.content)?B.content:[B.content],E=I.some((Y)=>Y.type==="tool_result"),$=A.messages.length>1?A.messages[A.messages.length-2]:void 0,G=$?Array.isArray($.content)?$.content:[$.content]:[],D=G.some((Y)=>Y.type==="tool_use");if(E){if(I.some((Y)=>Y.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!D)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(D){let Y=new Set(G.filter((H)=>H.type==="tool_use").map((H)=>H.id)),X=new Set(I.filter((H)=>H.type==="tool_result").map((H)=>H.toolUseId));if(Y.size!==X.size||![...Y].every((H)=>X.has(H)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(A.tools)return this.request({method:"sampling/createMessage",params:A},Jt,Q);return this.request({method:"sampling/createMessage",params:A},L2,Q)}async elicitInput(A,Q){switch(A.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let I=A;return this.request({method:"elicitation/create",params:I},iW,Q)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let I=A.mode==="form"?A:{...A,mode:"form"},E=await this.request({method:"elicitation/create",params:I},iW,Q);if(E.action==="accept"&&E.content&&I.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(I.requestedSchema)(E.content);if(!G.valid)throw new KB(TB.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch($){if($ instanceof KB)throw $;throw new KB(TB.InternalError,`Error validating elicitation response: ${$ instanceof Error?$.message:String($)}`)}return E}}}createElicitationCompletionNotifier(A,Q){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:A}},Q)}async listRoots(A,Q){return this.request({method:"roots/list",params:A},Yt,Q)}async sendLoggingMessage(A,Q){if(this._capabilities.logging){if(!this.isMessageIgnored(A.level,Q))return this.notification({method:"notifications/message",params:A})}}async sendResourceUpdated(A){return this.notification({method:"notifications/resources/updated",params:A})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var fyA=Symbol.for("mcp.completable");function Ve(A){return!!A&&typeof A==="object"&&fyA in A}function hyA(A){return A[fyA]?.complete}var yyA;(function(A){A.Completable="McpCompletable"})(yyA||(yyA={}));var RmQ=/^[A-Za-z0-9._-]{1,128}$/;function VmQ(A){let Q=[];if(A.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(A.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${A.length})`]};if(A.includes(" "))Q.push("Tool name contains spaces, which may cause parsing issues");if(A.includes(","))Q.push("Tool name contains commas, which may cause parsing issues");if(A.startsWith("-")||A.endsWith("-"))Q.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(A.startsWith(".")||A.endsWith("."))Q.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!RmQ.test(A)){let B=A.split("").filter((I)=>!/[A-Za-z0-9._-]/.test(I)).filter((I,E,$)=>$.indexOf(I)===E);return Q.push(`Tool name contains invalid characters: ${B.map((I)=>`"${I}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:Q}}return{isValid:!0,warnings:Q}}function TmQ(A,Q){if(Q.length>0){console.warn(`Tool name validation warning for "${A}":`);for(let B of Q)console.warn(` - ${B}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function Te(A){let Q=VmQ(A);return TmQ(A,Q.warnings),Q.isValid}class Se{constructor(A){this._mcpServer=A}registerToolTask(A,Q,B){let I={taskSupport:"required",...Q.execution};if(I.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${A}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(A,Q.title,Q.description,Q.inputSchema,Q.outputSchema,Q.annotations,I,Q._meta,B)}}gX();class Pe{constructor(A,Q){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Re(A,Q)}get experimental(){if(!this._experimental)this._experimental={tasks:new Se(this)};return this._experimental}async connect(A){return await this.server.connect(A)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(JU(Fv)),this.server.assertCanSetRequestHandler(JU(nW)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Fv,()=>({tools:Object.entries(this._registeredTools).filter(([,A])=>A.enabled).map(([A,Q])=>{let B={name:A,title:Q.title,description:Q.description,inputSchema:(()=>{let I=cW(Q.inputSchema);return I?Wt(I,{strictUnions:!0,pipeStrategy:"input"}):SmQ})(),annotations:Q.annotations,execution:Q.execution,_meta:Q._meta};if(Q.outputSchema){let I=cW(Q.outputSchema);if(I)B.outputSchema=Wt(I,{strictUnions:!0,pipeStrategy:"output"})}return B})})),this.server.setRequestHandler(nW,async(A,Q)=>{try{let B=this._registeredTools[A.params.name];if(!B)throw new KB(TB.InvalidParams,`Tool ${A.params.name} not found`);if(!B.enabled)throw new KB(TB.InvalidParams,`Tool ${A.params.name} disabled`);let I=!!A.params.task,E=B.execution?.taskSupport,$="createTask"in B.handler;if((E==="required"||E==="optional")&&!$)throw new KB(TB.InternalError,`Tool ${A.params.name} has taskSupport '${E}' but was not registered with registerToolTask`);if(E==="required"&&!I)throw new KB(TB.MethodNotFound,`Tool ${A.params.name} requires task augmentation (taskSupport: 'required')`);if(E==="optional"&&!I&&$)return await this.handleAutomaticTaskPolling(B,A,Q);let G=await this.validateToolInput(B,A.params.arguments,A.params.name),D=await this.executeToolHandler(B,G,Q);if(I)return D;return await this.validateToolOutput(B,D,A.params.name),D}catch(B){if(B instanceof KB){if(B.code===TB.UrlElicitationRequired)throw B}return this.createToolError(B instanceof Error?B.message:String(B))}}),this._toolHandlersInitialized=!0}createToolError(A){return{content:[{type:"text",text:A}],isError:!0}}async validateToolInput(A,Q,B){if(!A.inputSchema)return;let E=cW(A.inputSchema)??A.inputSchema,$=await nk(E,Q);if(!$.success){let G="error"in $?$.error:"Unknown error",D=ik(G);throw new KB(TB.InvalidParams,`Input validation error: Invalid arguments for tool ${B}: ${D}`)}return $.data}async validateToolOutput(A,Q,B){if(!A.outputSchema)return;if(!("content"in Q))return;if(Q.isError)return;if(!Q.structuredContent)throw new KB(TB.InvalidParams,`Output validation error: Tool ${B} has an output schema but no structured content was provided`);let I=cW(A.outputSchema),E=await nk(I,Q.structuredContent);if(!E.success){let $="error"in E?E.error:"Unknown error",G=ik($);throw new KB(TB.InvalidParams,`Output validation error: Invalid structured content for tool ${B}: ${G}`)}}async executeToolHandler(A,Q,B){let I=A.handler;if("createTask"in I){if(!B.taskStore)throw Error("No task store provided.");let $={...B,taskStore:B.taskStore};if(A.inputSchema)return await Promise.resolve(I.createTask(Q,$));else return await Promise.resolve(I.createTask($))}if(A.inputSchema)return await Promise.resolve(I(Q,B));else return await Promise.resolve(I(B))}async handleAutomaticTaskPolling(A,Q,B){if(!B.taskStore)throw Error("No task store provided for task-capable tool.");let I=await this.validateToolInput(A,Q.params.arguments,Q.params.name),E=A.handler,$={...B,taskStore:B.taskStore},G=I?await Promise.resolve(E.createTask(I,$)):await Promise.resolve(E.createTask($)),D=G.task.taskId,Y=G.task,X=Y.pollInterval??5000;while(Y.status!=="completed"&&Y.status!=="failed"&&Y.status!=="cancelled"){await new Promise((F)=>setTimeout(F,X));let H=await B.taskStore.getTask(D);if(!H)throw new KB(TB.InternalError,`Task ${D} not found during polling`);Y=H}return await B.taskStore.getTaskResult(D)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(JU(Wv)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Wv,async(A)=>{switch(A.params.ref.type){case"ref/prompt":return WkA(A),this.handlePromptCompletion(A,A.params.ref);case"ref/resource":return KkA(A),this.handleResourceCompletion(A,A.params.ref);default:throw new KB(TB.InvalidParams,`Invalid completion reference: ${A.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(A,Q){let B=this._registeredPrompts[Q.name];if(!B)throw new KB(TB.InvalidParams,`Prompt ${Q.name} not found`);if(!B.enabled)throw new KB(TB.InvalidParams,`Prompt ${Q.name} disabled`);if(!B.argsSchema)return i2;let E=t5(B.argsSchema)?.[A.params.argument.name];if(!Ve(E))return i2;let $=hyA(E);if(!$)return i2;let G=await $(A.params.argument.value,A.params.context);return myA(G)}async handleResourceCompletion(A,Q){let B=Object.values(this._registeredResourceTemplates).find(($)=>$.resourceTemplate.uriTemplate.toString()===Q.uri);if(!B){if(this._registeredResources[Q.uri])return i2;throw new KB(TB.InvalidParams,`Resource template ${A.params.ref.uri} not found`)}let I=B.resourceTemplate.completeCallback(A.params.argument.name);if(!I)return i2;let E=await I(A.params.argument.value,A.params.context);return myA(E)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(JU(Jv)),this.server.assertCanSetRequestHandler(JU(Yv)),this.server.assertCanSetRequestHandler(JU(Uv)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Jv,async(A,Q)=>{let B=Object.entries(this._registeredResources).filter(([E,$])=>$.enabled).map(([E,$])=>({uri:E,name:$.name,...$.metadata})),I=[];for(let E of Object.values(this._registeredResourceTemplates)){if(!E.resourceTemplate.listCallback)continue;let $=await E.resourceTemplate.listCallback(Q);for(let G of $.resources)I.push({...E.metadata,...G})}return{resources:[...B,...I]}}),this.server.setRequestHandler(Yv,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([Q,B])=>({name:Q,uriTemplate:B.resourceTemplate.uriTemplate.toString(),...B.metadata}))}}),this.server.setRequestHandler(Uv,async(A,Q)=>{let B=new URL(A.params.uri),I=this._registeredResources[B.toString()];if(I){if(!I.enabled)throw new KB(TB.InvalidParams,`Resource ${B} disabled`);return I.readCallback(B,Q)}for(let E of Object.values(this._registeredResourceTemplates)){let $=E.resourceTemplate.uriTemplate.match(B.toString());if($)return E.readCallback(B,$,Q)}throw new KB(TB.InvalidParams,`Resource ${B} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(JU(Xv)),this.server.assertCanSetRequestHandler(JU(Hv)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Xv,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,A])=>A.enabled).map(([A,Q])=>{return{name:A,title:Q.title,description:Q.description,arguments:Q.argsSchema?jmQ(Q.argsSchema):void 0}})})),this.server.setRequestHandler(Hv,async(A,Q)=>{let B=this._registeredPrompts[A.params.name];if(!B)throw new KB(TB.InvalidParams,`Prompt ${A.params.name} not found`);if(!B.enabled)throw new KB(TB.InvalidParams,`Prompt ${A.params.name} disabled`);if(B.argsSchema){let I=cW(B.argsSchema),E=await nk(I,A.params.arguments);if(!E.success){let D="error"in E?E.error:"Unknown error",Y=ik(D);throw new KB(TB.InvalidParams,`Invalid arguments for prompt ${A.params.name}: ${Y}`)}let $=E.data,G=B.callback;return await Promise.resolve(G($,Q))}else{let I=B.callback;return await Promise.resolve(I(Q))}}),this._promptHandlersInitialized=!0}resource(A,Q,...B){let I;if(typeof B[0]==="object")I=B.shift();let E=B[0];if(typeof Q==="string"){if(this._registeredResources[Q])throw Error(`Resource ${Q} is already registered`);let $=this._createRegisteredResource(A,void 0,Q,I,E);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[A])throw Error(`Resource template ${A} is already registered`);let $=this._createRegisteredResourceTemplate(A,void 0,Q,I,E);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}registerResource(A,Q,B,I){if(typeof Q==="string"){if(this._registeredResources[Q])throw Error(`Resource ${Q} is already registered`);let E=this._createRegisteredResource(A,B.title,Q,B,I);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),E}else{if(this._registeredResourceTemplates[A])throw Error(`Resource template ${A} is already registered`);let E=this._createRegisteredResourceTemplate(A,B.title,Q,B,I);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),E}}_createRegisteredResource(A,Q,B,I,E){let $={name:A,title:Q,metadata:I,readCallback:E,enabled:!0,disable:()=>$.update({enabled:!1}),enable:()=>$.update({enabled:!0}),remove:()=>$.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==B){if(delete this._registeredResources[B],G.uri)this._registeredResources[G.uri]=$}if(typeof G.name<"u")$.name=G.name;if(typeof G.title<"u")$.title=G.title;if(typeof G.metadata<"u")$.metadata=G.metadata;if(typeof G.callback<"u")$.readCallback=G.callback;if(typeof G.enabled<"u")$.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[B]=$,$}_createRegisteredResourceTemplate(A,Q,B,I,E){let $={resourceTemplate:B,title:Q,metadata:I,readCallback:E,enabled:!0,disable:()=>$.update({enabled:!1}),enable:()=>$.update({enabled:!0}),remove:()=>$.update({name:null}),update:(Y)=>{if(typeof Y.name<"u"&&Y.name!==A){if(delete this._registeredResourceTemplates[A],Y.name)this._registeredResourceTemplates[Y.name]=$}if(typeof Y.title<"u")$.title=Y.title;if(typeof Y.template<"u")$.resourceTemplate=Y.template;if(typeof Y.metadata<"u")$.metadata=Y.metadata;if(typeof Y.callback<"u")$.readCallback=Y.callback;if(typeof Y.enabled<"u")$.enabled=Y.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[A]=$;let G=B.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((Y)=>!!B.completeCallback(Y)))this.setCompletionRequestHandler();return $}_createRegisteredPrompt(A,Q,B,I,E){let $={title:Q,description:B,argsSchema:I===void 0?void 0:d7(I),callback:E,enabled:!0,disable:()=>$.update({enabled:!1}),enable:()=>$.update({enabled:!0}),remove:()=>$.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==A){if(delete this._registeredPrompts[A],G.name)this._registeredPrompts[G.name]=$}if(typeof G.title<"u")$.title=G.title;if(typeof G.description<"u")$.description=G.description;if(typeof G.argsSchema<"u")$.argsSchema=d7(G.argsSchema);if(typeof G.callback<"u")$.callback=G.callback;if(typeof G.enabled<"u")$.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[A]=$,I){if(Object.values(I).some((D)=>{let Y=D instanceof LF?D._def?.innerType:D;return Ve(Y)}))this.setCompletionRequestHandler()}return $}_createRegisteredTool(A,Q,B,I,E,$,G,D,Y){Te(A);let X={title:Q,description:B,inputSchema:uyA(I),outputSchema:uyA(E),annotations:$,execution:G,_meta:D,handler:Y,enabled:!0,disable:()=>X.update({enabled:!1}),enable:()=>X.update({enabled:!0}),remove:()=>X.update({name:null}),update:(H)=>{if(typeof H.name<"u"&&H.name!==A){if(typeof H.name==="string")Te(H.name);if(delete this._registeredTools[A],H.name)this._registeredTools[H.name]=X}if(typeof H.title<"u")X.title=H.title;if(typeof H.description<"u")X.description=H.description;if(typeof H.paramsSchema<"u")X.inputSchema=d7(H.paramsSchema);if(typeof H.outputSchema<"u")X.outputSchema=d7(H.outputSchema);if(typeof H.callback<"u")X.handler=H.callback;if(typeof H.annotations<"u")X.annotations=H.annotations;if(typeof H._meta<"u")X._meta=H._meta;if(typeof H.enabled<"u")X.enabled=H.enabled;this.sendToolListChanged()}};return this._registeredTools[A]=X,this.setToolRequestHandlers(),this.sendToolListChanged(),X}tool(A,...Q){if(this._registeredTools[A])throw Error(`Tool ${A} is already registered`);let B,I,E,$;if(typeof Q[0]==="string")B=Q.shift();if(Q.length>1){let D=Q[0];if(je(D)){if(I=Q.shift(),Q.length>1&&typeof Q[0]==="object"&&Q[0]!==null&&!je(Q[0]))$=Q.shift()}else if(typeof D==="object"&&D!==null){if(Object.values(D).some((Y)=>typeof Y==="object"&&Y!==null))throw Error(`Tool ${A} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);$=Q.shift()}}let G=Q[0];return this._createRegisteredTool(A,void 0,B,I,E,$,{taskSupport:"forbidden"},void 0,G)}registerTool(A,Q,B){if(this._registeredTools[A])throw Error(`Tool ${A} is already registered`);let{title:I,description:E,inputSchema:$,outputSchema:G,annotations:D,_meta:Y}=Q;return this._createRegisteredTool(A,I,E,$,G,D,{taskSupport:"forbidden"},Y,B)}prompt(A,...Q){if(this._registeredPrompts[A])throw Error(`Prompt ${A} is already registered`);let B;if(typeof Q[0]==="string")B=Q.shift();let I;if(Q.length>1)I=Q.shift();let E=Q[0],$=this._createRegisteredPrompt(A,void 0,B,I,E);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),$}registerPrompt(A,Q,B){if(this._registeredPrompts[A])throw Error(`Prompt ${A} is already registered`);let{title:I,description:E,argsSchema:$}=Q,G=this._createRegisteredPrompt(A,I,E,$,B);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(A,Q){return this.server.sendLoggingMessage(A,Q)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var SmQ={type:"object",properties:{}};function cyA(A){return A!==null&&typeof A==="object"&&"parse"in A&&typeof A.parse==="function"&&"safeParse"in A&&typeof A.safeParse==="function"}function lyA(A){return"_def"in A||"_zod"in A||cyA(A)}function je(A){if(typeof A!=="object"||A===null)return!1;if(lyA(A))return!1;if(Object.keys(A).length===0)return!0;return Object.values(A).some(cyA)}function uyA(A){if(!A)return;if(je(A))return d7(A);if(!lyA(A))throw Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return A}function jmQ(A){let Q=t5(A);if(!Q)return[];return Object.entries(Q).map(([B,I])=>{let E=s_A(I),$=t_A(I);return{name:B,description:E,required:!$}})}function JU(A){let B=t5(A)?.method;if(!B)throw Error("Schema is missing a method literal");let I=rk(B);if(typeof I==="string")return I;throw Error("Schema method literal must be a string")}function myA(A){return{completion:{values:A.slice(0,100),total:A.length,hasMore:A.length>100}}}var i2={completion:{values:[],hasMore:!1}};import pyA from"node:process";class _e{append(A){this._buffer=this._buffer?Buffer.concat([this._buffer,A]):A}readMessage(){if(!this._buffer)return null;let A=this._buffer.indexOf(`
955
955
  `);if(A===-1)return null;let Q=this._buffer.toString("utf8",0,A).replace(/\r$/,"");return this._buffer=this._buffer.subarray(A+1),PmQ(Q)}clear(){this._buffer=void 0}}function PmQ(A){return DkA.parse(JSON.parse(A))}function dyA(A){return JSON.stringify(A)+`
956
- `}class ke{constructor(A=pyA.stdin,Q=pyA.stdout){this._stdin=A,this._stdout=Q,this._readBuffer=new _e,this._started=!1,this._ondata=(B)=>{this._readBuffer.append(B),this.processReadBuffer()},this._onerror=(B)=>{this.onerror?.(B)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let A=this._readBuffer.readMessage();if(A===null)break;this.onmessage?.(A)}catch(A){this.onerror?.(A)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(A){return new Promise((Q)=>{let B=dyA(A);if(this._stdout.write(B))Q();else this._stdout.once("drain",Q)})}}gX();$9();rI();gX();gX();gX();var ve=d.object({apikey:d.string(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var Bx=d.object({BUILD_CERTIFICATE_BASE64:d.string().optional(),BUILD_PROVISION_PROFILE_BASE64:d.string().optional(),P12_PASSWORD:d.string().optional(),APPLE_KEY_ID:d.string().optional(),APPLE_ISSUER_ID:d.string().optional(),APPLE_KEY_CONTENT:d.string().optional(),APP_STORE_CONNECT_TEAM_ID:d.string().optional(),CAPGO_IOS_PROVISIONING_MAP:d.string().optional(),ANDROID_KEYSTORE_FILE:d.string().optional(),KEYSTORE_KEY_ALIAS:d.string().optional(),KEYSTORE_KEY_PASSWORD:d.string().optional(),KEYSTORE_STORE_PASSWORD:d.string().optional(),PLAY_CONFIG_JSON:d.string().optional(),PLAY_STORE_IN_APP_UPDATE_PRIORITY:d.string().optional()}).catchall(d.string().optional()),PxB=ve.extend({path:d.string().optional(),nodeModules:d.string().optional(),platform:d.enum(["ios","android"]).optional(),buildMode:d.enum(["debug","release"]).optional(),userId:d.string().optional(),buildCertificateBase64:d.string().optional(),p12Password:d.string().optional(),appleKeyId:d.string().optional(),appleIssuerId:d.string().optional(),appleKeyContent:d.string().optional(),appStoreConnectTeamId:d.string().optional(),iosScheme:d.string().optional(),iosTarget:d.string().optional(),iosDistribution:d.enum(["app_store","ad_hoc"]).optional(),iosProvisioningProfile:d.array(d.string()).optional(),iosProvisioningMap:d.string().optional(),androidKeystoreFile:d.string().optional(),keystoreKeyAlias:d.string().optional(),keystoreKeyPassword:d.string().optional(),keystoreStorePassword:d.string().optional(),playConfigJson:d.string().optional(),androidFlavor:d.string().trim().min(1).optional(),inAppUpdatePriority:d.coerce.number().int().min(0).max(5).optional(),outputUpload:d.boolean().optional(),outputRetention:d.string().optional(),outputRecord:d.string().optional(),skipBuildNumberBump:d.boolean().optional(),playstoreUpload:d.boolean().optional(),verbose:d.boolean().optional(),aiAnalytics:d.boolean().optional(),aiAnalysisMode:d.enum(["auto-prompt","caller-handled","skip"]).optional()}),_xB=ve.extend({channel:d.string().optional(),packageJson:d.string().optional(),nodeModules:d.string().optional(),verbose:d.boolean().optional()}),kxB=d.object({success:d.boolean(),jobId:d.string().optional(),uploadUrl:d.string().optional(),status:d.string().optional(),error:d.string().optional(),aiAnalysis:d.object({jobId:d.string(),capturedLogPath:d.string(),ready:d.boolean()}).optional()}),vxB=d.object({platform:d.enum(["ios","android"]),buildMode:d.enum(["debug","release"]),cliVersion:d.string(),iosScheme:d.string().optional(),iosTarget:d.string().optional(),iosDistribution:d.enum(["app_store","ad_hoc"]).optional(),iosSourceDir:d.string().optional(),iosAppDir:d.string().optional(),iosProjectDir:d.string().optional(),androidSourceDir:d.string().optional(),androidAppDir:d.string().optional(),androidProjectDir:d.string().optional(),androidFlavor:d.string().trim().min(1).optional(),outputUploadEnabled:d.boolean(),outputRetentionSeconds:d.number(),skipBuildNumberBump:d.boolean()}),xxB=d.object({BUILD_CERTIFICATE_FILE:d.string().optional(),APPLE_KEY_FILE:d.string().optional(),ANDROID_KEYSTORE_PATH:d.string().optional(),PLAY_CONFIG_JSON_PATH:d.string().optional()}),_mQ=d.object({ios:Bx.partial().optional(),android:Bx.partial().optional()}),gxB=d.record(d.string(),_mQ);var nyA=d.object({appId:d.string(),name:d.string().optional(),icon:d.string().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),iyA=d.object({appId:d.string(),name:d.string().optional(),icon:d.string().optional(),retention:d.number().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),hxB=d.object({appId:d.string(),name:d.string(),iconUrl:d.string().optional(),createdAt:d.date()}),ryA=d.object({repository:d.string().optional()}),oyA=d.object({repositories:d.array(d.string().min(1)).optional(),minDelayMs:d.number().int().min(0).optional(),maxDelayMs:d.number().int().min(0).optional(),maxConcurrency:d.number().int().min(1).max(16).optional()}),ayA=d.object({appId:d.string(),path:d.string(),bundle:d.string().optional(),channel:d.string().optional(),apikey:d.string().optional(),external:d.string().optional(),encrypt:d.boolean().optional(),encryptionKey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional(),timeout:d.number().optional(),useTus:d.boolean().optional(),comment:d.string().optional(),minUpdateVersion:d.string().optional(),autoMinUpdateVersion:d.boolean().optional(),selfAssign:d.boolean().optional(),packageJsonPaths:d.string().optional(),ignoreCompatibilityCheck:d.boolean().optional(),disableCodeCheck:d.boolean().optional(),useZip:d.boolean().optional()}),uxB=d.object({success:d.boolean(),bundleId:d.string().optional(),bundleUrl:d.string().optional(),checksum:d.string().nullable().optional(),encryptionMethod:d.enum(["none","v1","v2"]).optional(),sessionKey:d.string().optional(),ivSessionKey:d.string().nullable().optional(),storageProvider:d.string().optional(),skipped:d.boolean().optional(),reason:d.string().optional(),error:d.string().optional(),warnings:d.array(d.string()).optional()}),mxB=d.object({id:d.string(),version:d.string(),channel:d.string().optional(),uploadedAt:d.date(),size:d.number(),encrypted:d.boolean()}),syA=d.object({appId:d.string(),keep:d.number().optional(),bundle:d.string().optional(),force:d.boolean().optional(),ignoreChannel:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),cxB=d.object({force:d.boolean().optional(),setupChannel:d.boolean().optional()}),lxB=d.object({keyPath:d.string().optional(),keyData:d.string().optional(),setupChannel:d.boolean().optional()}),dxB=d.object({force:d.boolean().optional(),setupChannel:d.boolean().optional()}),pxB=d.object({channelId:d.string(),appId:d.string(),default:d.boolean().optional(),selfAssign:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),tyA=d.object({channelId:d.string(),appId:d.string(),bundle:d.string().optional(),state:d.string().optional(),downgrade:d.boolean().optional(),ios:d.boolean().optional(),android:d.boolean().optional(),selfAssign:d.boolean().optional(),disableAutoUpdate:d.string().optional(),dev:d.boolean().optional(),emulator:d.boolean().optional(),device:d.boolean().optional(),prod:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),xe=d.object({apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var nxB=xe.extend({name:d.string(),email:d.string()}),ixB=xe.extend({orgId:d.string(),name:d.string().optional(),email:d.string().optional()}),rxB=d.object({id:d.string(),name:d.string(),role:d.string().optional(),appCount:d.number().optional(),email:d.string().optional(),createdAt:d.date().optional()}),oxB=xe.extend({autoConfirm:d.boolean().optional()}),axB=d.object({apikey:d.string(),local:d.boolean().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),sxB=d.object({packageJson:d.string().optional()}),txB=d.object({appId:d.string(),channel:d.string(),packageJson:d.string().optional(),nodeModules:d.string().optional(),textOutput:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),exB=d.object({zipPath:d.string(),checksum:d.string(),keyPath:d.string().optional(),keyData:d.string().optional(),json:d.boolean().optional(),packageJson:d.string().optional()}),AgB=d.object({zipPath:d.string(),ivSessionKey:d.string(),keyPath:d.string().optional(),keyData:d.string().optional(),checksum:d.string().optional(),packageJson:d.string().optional()}),QgB=d.object({appId:d.string(),path:d.string(),bundle:d.string().optional(),name:d.string().optional(),codeCheck:d.boolean().optional(),json:d.boolean().optional(),keyV2:d.boolean().optional(),packageJson:d.string().optional()}),eyA=d.object({appId:d.string(),path:d.string().optional(),nodeModules:d.string().optional(),platform:d.enum(["ios","android"]),credentials:Bx.optional(),userId:d.string().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var BgB=d.object({apikey:d.string().optional(),bool:d.string().optional(),string:d.string().optional()}),kmQ=d.object({key:d.string(),sortable:d.enum(["asc","desc"]).optional()}),AfA=d.object({appId:d.string(),deviceIds:d.array(d.string()).optional(),search:d.string().optional(),order:d.array(kmQ).optional(),rangeStart:d.string().optional(),rangeEnd:d.string().optional(),limit:d.number().optional(),after:d.string().nullable().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),IgB=d.object({appId:d.string(),deviceId:d.string(),action:d.string(),versionId:d.number(),version:d.number().optional(),createdAt:d.string()}),EgB=d.object({platform:d.enum(["ios","android"])});yB();Z8();zB();async function ge(A,Q=!1){if(!Q)JB("Adding organization");await t0();let B={...A,apikey:A.apikey||lQ()};if(!B.apikey){if(!Q)L.error("Missing API key, you need to provide an API key to add an organization");throw Error("Missing API key")}let I=await UB(B.apikey,B.supaHost,B.supaAnon),E=await e0(I,B.apikey),{name:$,email:G}=B;if(!Q&&!$){let X=await TY({message:"Organization name:",placeholder:"My Organization"});if(U0(X))throw L.error("Canceled adding organization"),Error("Organization creation cancelled");$=X}if(!Q&&!G){let X=await TY({message:"Management email:",placeholder:"admin@example.com"});if(U0(X))throw L.error("Canceled adding organization"),Error("Organization creation cancelled");G=X}if(!$||!G){if(!Q)L.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!Q)L.info(`Adding organization "${$}" to Capgo`);let{data:D,error:Y}=await I.from("orgs").insert({name:$,management_email:G,created_by:E}).select().single();if(Y){if(!Q)L.error(`Could not add organization ${jA(Y)}`);throw Error(`Could not add organization: ${jA(Y)}`)}if(await NB(B.apikey,{channel:"organization",event:"Organization Created",icon:"\uD83C\uDFE2",org_id:D.id,tracking_version:2,tags:{"org-name":$},notify:!1}).catch(()=>{}),!Q)L.success(`Organization "${$}" added to Capgo`),YB("Done ✅");return D}async function Ix(A){await ge(A,!1)}yB();Z8();zB();async function be(A,Q,B=!1){if(!B)JB("Deleting organization");await t0();let I={...Q,apikey:Q.apikey||lQ()};if(!I.apikey){if(!B)L.error("Missing API key, you need to provide an API key to delete an organization");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let E=await UB(I.apikey,I.supaHost,I.supaAnon);await gF(E,I.apikey,"org.delete",A,`Insufficient permissions to delete organization ${A}`,B),await PF(E,A,B);let{data:$,error:G}=await E.from("orgs").select("created_by, name").eq("id",A).single();if(G||!$){if(!B)L.error(`Cannot get organization details ${jA(G)}`);throw Error(`Cannot get organization details: ${jA(G)}`)}if(!B&&!I.autoConfirm){let Y=await I1({message:`Are you sure you want to delete organization "${$.name}"? This action cannot be undone.`});if(U0(Y)||!Y)throw L.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!B)L.info(`Deleting organization "${$.name}"`);let{error:D}=await E.from("orgs").delete().eq("id",A);if(D){if(!B)L.error(`Could not delete organization ${jA(D)}`);throw Error(`Could not delete organization: ${jA(D)}`)}if(await NB(I.apikey,{channel:"organization",event:"Organization Deleted",icon:"\uD83D\uDDD1️",org_id:A,tracking_version:2,tags:{"org-name":$.name},notify:!1}).catch(()=>{}),!B)L.success(`Organization "${$.name}" deleted from Capgo`),YB("Done ✅");return!0}async function Ex(A,Q){await be(A,Q,!1)}yB();HX();rI();Z8();zB();function vmQ(A,Q){if(Q)return;if(!A.length){L.error("No organizations found");return}let B=new l8;B.headers=["Name","ID","Role","Apps","2FA Required","2FA Access"],B.rows=[];for(let E of A.toReversed()){let $=E.enforcing_2fa?"✓ Yes":"✗ No",G=E["2fa_has_access"]?"✓ Yes":"✗ No";B.rows.push([E.name??"Unknown",E.gid,E.role,E.app_count?.toString()||"0",$,G])}L.success("Organizations"),L.success(B.toString());let I=A.filter((E)=>E.enforcing_2fa&&!E["2fa_has_access"]);if(I.length>0){L.warn(`
956
+ `}class ke{constructor(A=pyA.stdin,Q=pyA.stdout){this._stdin=A,this._stdout=Q,this._readBuffer=new _e,this._started=!1,this._ondata=(B)=>{this._readBuffer.append(B),this.processReadBuffer()},this._onerror=(B)=>{this.onerror?.(B)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let A=this._readBuffer.readMessage();if(A===null)break;this.onmessage?.(A)}catch(A){this.onerror?.(A)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(A){return new Promise((Q)=>{let B=dyA(A);if(this._stdout.write(B))Q();else this._stdout.once("drain",Q)})}}gX();$9();rI();gX();gX();gX();var ve=d.object({apikey:d.string(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var Bx=d.object({BUILD_CERTIFICATE_BASE64:d.string().optional(),BUILD_PROVISION_PROFILE_BASE64:d.string().optional(),P12_PASSWORD:d.string().optional(),APPLE_KEY_ID:d.string().optional(),APPLE_ISSUER_ID:d.string().optional(),APPLE_KEY_CONTENT:d.string().optional(),APP_STORE_CONNECT_TEAM_ID:d.string().optional(),CAPGO_IOS_PROVISIONING_MAP:d.string().optional(),ANDROID_KEYSTORE_FILE:d.string().optional(),KEYSTORE_KEY_ALIAS:d.string().optional(),KEYSTORE_KEY_PASSWORD:d.string().optional(),KEYSTORE_STORE_PASSWORD:d.string().optional(),PLAY_CONFIG_JSON:d.string().optional(),PLAY_STORE_IN_APP_UPDATE_PRIORITY:d.string().optional()}).catchall(d.string().optional()),PxB=ve.extend({path:d.string().optional(),nodeModules:d.string().optional(),platform:d.enum(["ios","android"]).optional(),buildMode:d.enum(["debug","release"]).optional(),userId:d.string().optional(),buildCertificateBase64:d.string().optional(),p12Password:d.string().optional(),appleKeyId:d.string().optional(),appleIssuerId:d.string().optional(),appleKeyContent:d.string().optional(),appStoreConnectTeamId:d.string().optional(),iosScheme:d.string().optional(),iosTarget:d.string().optional(),iosDistribution:d.enum(["app_store","ad_hoc"]).optional(),iosProvisioningProfile:d.array(d.string()).optional(),iosProvisioningMap:d.string().optional(),androidKeystoreFile:d.string().optional(),keystoreKeyAlias:d.string().optional(),keystoreKeyPassword:d.string().optional(),keystoreStorePassword:d.string().optional(),playConfigJson:d.string().optional(),androidFlavor:d.string().trim().min(1).optional(),inAppUpdatePriority:d.coerce.number().int().min(0).max(5).optional(),outputUpload:d.boolean().optional(),outputRetention:d.string().optional(),outputRecord:d.string().optional(),skipBuildNumberBump:d.boolean().optional(),playstoreUpload:d.boolean().optional(),verbose:d.boolean().optional(),aiAnalytics:d.boolean().optional(),aiAnalysisMode:d.enum(["auto-prompt","caller-handled","skip"]).optional()}),_xB=ve.extend({channel:d.string().optional(),packageJson:d.string().optional(),nodeModules:d.string().optional(),verbose:d.boolean().optional()}),kxB=d.object({success:d.boolean(),jobId:d.string().optional(),uploadUrl:d.string().optional(),status:d.string().optional(),error:d.string().optional(),aiAnalysis:d.object({jobId:d.string(),capturedLogPath:d.string(),ready:d.boolean()}).optional()}),vxB=d.object({platform:d.enum(["ios","android"]),buildMode:d.enum(["debug","release"]),cliVersion:d.string(),iosScheme:d.string().optional(),iosTarget:d.string().optional(),iosDistribution:d.enum(["app_store","ad_hoc"]).optional(),iosSourceDir:d.string().optional(),iosAppDir:d.string().optional(),iosProjectDir:d.string().optional(),androidSourceDir:d.string().optional(),androidAppDir:d.string().optional(),androidProjectDir:d.string().optional(),androidFlavor:d.string().trim().min(1).optional(),outputUploadEnabled:d.boolean(),outputRetentionSeconds:d.number(),skipBuildNumberBump:d.boolean()}),xxB=d.object({BUILD_CERTIFICATE_FILE:d.string().optional(),APPLE_KEY_FILE:d.string().optional(),ANDROID_KEYSTORE_PATH:d.string().optional(),PLAY_CONFIG_JSON_PATH:d.string().optional()}),_mQ=d.object({ios:Bx.partial().optional(),android:Bx.partial().optional()}),gxB=d.record(d.string(),_mQ);var nyA=d.object({appId:d.string(),name:d.string().optional(),icon:d.string().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),iyA=d.object({appId:d.string(),name:d.string().optional(),icon:d.string().optional(),retention:d.number().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),hxB=d.object({appId:d.string(),name:d.string(),iconUrl:d.string().optional(),createdAt:d.date()}),ryA=d.object({repository:d.string().optional()}),oyA=d.object({repositories:d.array(d.string().min(1)).optional(),minDelayMs:d.number().int().min(0).optional(),maxDelayMs:d.number().int().min(0).optional(),maxConcurrency:d.number().int().min(1).max(16).optional()}),ayA=d.object({appId:d.string(),path:d.string(),bundle:d.string().optional(),channel:d.string().optional(),apikey:d.string().optional(),external:d.string().optional(),encrypt:d.boolean().optional(),encryptionKey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional(),timeout:d.number().optional(),useTus:d.boolean().optional(),comment:d.string().optional(),minUpdateVersion:d.string().optional(),autoMinUpdateVersion:d.boolean().optional(),selfAssign:d.boolean().optional(),packageJsonPaths:d.string().optional(),ignoreCompatibilityCheck:d.boolean().optional(),disableCodeCheck:d.boolean().optional(),useZip:d.boolean().optional()}),uxB=d.object({success:d.boolean(),bundleId:d.string().optional(),bundleUrl:d.string().optional(),checksum:d.string().nullable().optional(),encryptionMethod:d.enum(["none","v1","v2"]).optional(),sessionKey:d.string().optional(),ivSessionKey:d.string().nullable().optional(),storageProvider:d.string().optional(),skipped:d.boolean().optional(),reason:d.string().optional(),error:d.string().optional(),warnings:d.array(d.string()).optional()}),mxB=d.object({id:d.string(),version:d.string(),channel:d.string().optional(),uploadedAt:d.date(),size:d.number(),encrypted:d.boolean()}),syA=d.object({appId:d.string(),keep:d.number().optional(),bundle:d.string().optional(),force:d.boolean().optional(),ignoreChannel:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),cxB=d.object({force:d.boolean().optional(),setupChannel:d.boolean().optional()}),lxB=d.object({keyPath:d.string().optional(),keyData:d.string().optional(),setupChannel:d.boolean().optional()}),dxB=d.object({force:d.boolean().optional(),setupChannel:d.boolean().optional()}),pxB=d.object({channelId:d.string().describe("Channel name"),appId:d.string(),default:d.boolean().optional(),selfAssign:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),tyA=d.object({channelId:d.string().describe("Channel name"),appId:d.string(),bundle:d.string().optional(),state:d.string().optional(),downgrade:d.boolean().optional(),ios:d.boolean().optional(),android:d.boolean().optional(),selfAssign:d.boolean().optional(),disableAutoUpdate:d.string().optional(),dev:d.boolean().optional(),emulator:d.boolean().optional(),device:d.boolean().optional(),prod:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),xe=d.object({apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var nxB=xe.extend({name:d.string(),email:d.string()}),ixB=xe.extend({orgId:d.string(),name:d.string().optional(),email:d.string().optional()}),rxB=d.object({id:d.string(),name:d.string(),role:d.string().optional(),appCount:d.number().optional(),email:d.string().optional(),createdAt:d.date().optional()}),oxB=xe.extend({autoConfirm:d.boolean().optional()}),axB=d.object({apikey:d.string(),local:d.boolean().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),sxB=d.object({packageJson:d.string().optional()}),txB=d.object({appId:d.string(),channel:d.string(),packageJson:d.string().optional(),nodeModules:d.string().optional(),textOutput:d.boolean().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),exB=d.object({zipPath:d.string(),checksum:d.string(),keyPath:d.string().optional(),keyData:d.string().optional(),json:d.boolean().optional(),packageJson:d.string().optional()}),AgB=d.object({zipPath:d.string(),ivSessionKey:d.string(),keyPath:d.string().optional(),keyData:d.string().optional(),checksum:d.string().optional(),packageJson:d.string().optional()}),QgB=d.object({appId:d.string(),path:d.string(),bundle:d.string().optional(),name:d.string().optional(),codeCheck:d.boolean().optional(),json:d.boolean().optional(),keyV2:d.boolean().optional(),packageJson:d.string().optional()}),eyA=d.object({appId:d.string(),path:d.string().optional(),nodeModules:d.string().optional(),platform:d.enum(["ios","android"]),credentials:Bx.optional(),userId:d.string().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()});var BgB=d.object({apikey:d.string().optional(),bool:d.string().optional(),string:d.string().optional()}),kmQ=d.object({key:d.string(),sortable:d.enum(["asc","desc"]).optional()}),AfA=d.object({appId:d.string(),deviceIds:d.array(d.string()).optional(),search:d.string().optional(),order:d.array(kmQ).optional(),rangeStart:d.string().optional(),rangeEnd:d.string().optional(),limit:d.number().optional(),after:d.string().nullable().optional(),apikey:d.string().optional(),supaHost:d.string().optional(),supaAnon:d.string().optional()}),IgB=d.object({appId:d.string(),deviceId:d.string(),action:d.string(),versionId:d.number(),version:d.number().optional(),createdAt:d.string()}),EgB=d.object({platform:d.enum(["ios","android"])});yB();Z8();zB();async function ge(A,Q=!1){if(!Q)JB("Adding organization");await t0();let B={...A,apikey:A.apikey||lQ()};if(!B.apikey){if(!Q)L.error("Missing API key, you need to provide an API key to add an organization");throw Error("Missing API key")}let I=await UB(B.apikey,B.supaHost,B.supaAnon),E=await e0(I,B.apikey),{name:$,email:G}=B;if(!Q&&!$){let X=await TY({message:"Organization name:",placeholder:"My Organization"});if(U0(X))throw L.error("Canceled adding organization"),Error("Organization creation cancelled");$=X}if(!Q&&!G){let X=await TY({message:"Management email:",placeholder:"admin@example.com"});if(U0(X))throw L.error("Canceled adding organization"),Error("Organization creation cancelled");G=X}if(!$||!G){if(!Q)L.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!Q)L.info(`Adding organization "${$}" to Capgo`);let{data:D,error:Y}=await I.from("orgs").insert({name:$,management_email:G,created_by:E}).select().single();if(Y){if(!Q)L.error(`Could not add organization ${jA(Y)}`);throw Error(`Could not add organization: ${jA(Y)}`)}if(await NB(B.apikey,{channel:"organization",event:"Organization Created",icon:"\uD83C\uDFE2",org_id:D.id,tracking_version:2,tags:{"org-name":$},notify:!1}).catch(()=>{}),!Q)L.success(`Organization "${$}" added to Capgo`),YB("Done ✅");return D}async function Ix(A){await ge(A,!1)}yB();Z8();zB();async function be(A,Q,B=!1){if(!B)JB("Deleting organization");await t0();let I={...Q,apikey:Q.apikey||lQ()};if(!I.apikey){if(!B)L.error("Missing API key, you need to provide an API key to delete an organization");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let E=await UB(I.apikey,I.supaHost,I.supaAnon);await gF(E,I.apikey,"org.delete",A,`Insufficient permissions to delete organization ${A}`,B),await PF(E,A,B);let{data:$,error:G}=await E.from("orgs").select("created_by, name").eq("id",A).single();if(G||!$){if(!B)L.error(`Cannot get organization details ${jA(G)}`);throw Error(`Cannot get organization details: ${jA(G)}`)}if(!B&&!I.autoConfirm){let Y=await I1({message:`Are you sure you want to delete organization "${$.name}"? This action cannot be undone.`});if(U0(Y)||!Y)throw L.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!B)L.info(`Deleting organization "${$.name}"`);let{error:D}=await E.from("orgs").delete().eq("id",A);if(D){if(!B)L.error(`Could not delete organization ${jA(D)}`);throw Error(`Could not delete organization: ${jA(D)}`)}if(await NB(I.apikey,{channel:"organization",event:"Organization Deleted",icon:"\uD83D\uDDD1️",org_id:A,tracking_version:2,tags:{"org-name":$.name},notify:!1}).catch(()=>{}),!B)L.success(`Organization "${$.name}" deleted from Capgo`),YB("Done ✅");return!0}async function Ex(A,Q){await be(A,Q,!1)}yB();HX();rI();Z8();zB();function vmQ(A,Q){if(Q)return;if(!A.length){L.error("No organizations found");return}let B=new l8;B.headers=["Name","ID","Role","Apps","2FA Required","2FA Access"],B.rows=[];for(let E of A.toReversed()){let $=E.enforcing_2fa?"✓ Yes":"✗ No",G=E["2fa_has_access"]?"✓ Yes":"✗ No";B.rows.push([E.name??"Unknown",E.gid,E.role,E.app_count?.toString()||"0",$,G])}L.success("Organizations"),L.success(B.toString());let I=A.filter((E)=>E.enforcing_2fa&&!E["2fa_has_access"]);if(I.length>0){L.warn(`
957
957
  ⚠️ You don't have access to ${I.length} organization(s) due to 2FA enforcement:`);for(let E of I)L.warn(` - ${E.name} (${E.gid})`);L.warn(`
958
958
  To regain access, enable 2FA on your account at https://web.capgo.app/settings/account`)}}async function ye(A,Q=!1){if(!Q)JB("List organizations");await t0();let B={...A,apikey:A.apikey||lQ()};if(!B.apikey){if(!Q)L.error("Missing API key, you need to provide an API key to list organizations");throw Error("Missing API key")}let I=await UB(B.apikey,B.supaHost,B.supaAnon);if(await e0(I,B.apikey),!Q)L.info("Getting organizations from Capgo");let{error:E,data:$}=await I.rpc("get_orgs_v7");if(E){if(!Q)L.error(`Cannot get organizations ${jA(E)}`);throw Error(`Cannot get organizations: ${jA(E)}`)}let G=$||[];if($B({channel:"organization",event:"Orgs Listed",icon:"\uD83D\uDCCB",tags:{org_count:G.length}}),!Q)L.info(`Organizations found: ${G.length}`),vmQ(G,Q),YB("Done ✅");return G}async function $x(A){await ye(A,!1)}yB();Z8();zB();async function fe(A,Q,B=!1){if(!B)JB("Updating organization");await t0();let I={...Q,apikey:Q.apikey||lQ()};if(!I.apikey){if(!B)L.error("Missing API key, you need to provide an API key to update an organization");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let E=await UB(I.apikey,I.supaHost,I.supaAnon);await gF(E,I.apikey,"org.update_settings",A,`Insufficient permissions to update organization ${A}`,B),await PF(E,A,B);let{data:$,error:G}=await E.from("orgs").select("name, management_email, created_by, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",A).single();if(G||!$){if(!B)L.error(`Cannot get organization details ${jA(G)}`);throw Error(`Cannot get organization details: ${jA(G)}`)}let{name:D,email:Y,enforce2fa:X}=I,{passwordPolicy:H,minLength:F,requireUppercase:W,requireNumber:K,requireSpecial:Z}=I,{requireApikeyExpiration:M,maxApikeyExpirationDays:O,enforceHashedApiKeys:w}=I;if(X!==void 0){if(!B){if(X&&!$.enforcing_2fa){L.info("Checking organization members 2FA status...");let{data:g,error:n}=await E.rpc("check_org_members_2fa_enabled",{org_id:A});if(n)throw L.error(`Cannot check members 2FA status: ${jA(n)}`),Error("Cannot check members 2FA status");let{data:e,error:m}=await E.rpc("has_2fa_enabled");if(m)throw L.error(`Cannot check your 2FA status: ${jA(m)}`),Error("Cannot check your 2FA status");let{data:QA,error:i}=await E.rpc("get_identity_apikey_only",{keymode:["read","upload","write","all"]});if(i||!QA)throw L.error(`Cannot get current user identity: ${i?jA(i):"No user ID returned"}`),Error("Cannot get current user identity");let UA=g?.filter((qA)=>!qA["2fa_enabled"]&&qA.user_id!==QA)||[];if(UA.length>0||!e){if(L.warn("⚠️ Warning: Enabling 2FA enforcement will affect access"),L.message("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),!e)L.warn("\uD83D\uDD10 YOU do not have 2FA enabled! By enabling 2FA enforcement, you will LOSE ACCESS to this organization until you enable 2FA on your account.");if(UA.length>0){let{data:PA,error:o}=await E.rpc("get_org_members",{guild_id:A});if(o)throw L.error(`Cannot get organization members: ${jA(o)}`),Error("Cannot get organization members");let P=new Map(PA?.map((r)=>[r.uid,r])||[]),v=UA.map((r)=>{return P.get(r.user_id)?.email||r.user_id}),b=UA.length===1?"member does":"members do",s=UA.length===1?"This member will":"These members will";L.warn(`${UA.length} ${b} not have 2FA enabled: ${v.join(", ")}`),L.warn(`${s} lose access until they enable 2FA.`)}let qA=await I1({message:"Are you sure you want to enable 2FA enforcement?"});if(U0(qA)||!qA)throw L.error("Canceled enabling 2FA enforcement"),Error("2FA enforcement cancelled")}L.info("Enabling 2FA enforcement for organization...")}else if(!X&&$.enforcing_2fa)L.info("Disabling 2FA enforcement for organization...")}let{error:S}=await E.from("orgs").update({enforcing_2fa:X}).eq("id",A);if(S){if(!B)L.error(`Could not update 2FA enforcement: ${jA(S)}`);throw Error(`Could not update 2FA enforcement: ${jA(S)}`)}if(!B)if(X)L.success("✓ 2FA enforcement enabled for this organization");else L.success("✓ 2FA enforcement disabled for this organization");if(D===void 0&&Y===void 0&&!(H!==void 0||M!==void 0||O!==void 0||w!==void 0)){if(await NB(I.apikey,{channel:"organization",event:X?"Organization 2FA Enabled":"Organization 2FA Disabled",icon:"\uD83D\uDD10",org_id:A,tracking_version:2,tags:{"org-name":$.name,"enforce-2fa":X.toString()},notify:!1}).catch(()=>{}),!B)YB("Done ✅");return{orgId:A,name:$.name,email:$.management_email,enforce2fa:X}}}if(H!==void 0){if(!B)if(H){L.info("Configuring password policy for organization...");let{data:g,error:n}=await E.rpc("check_org_members_password_policy",{org_id:A});if(n){if(!n.message?.includes("NO_RIGHTS"))L.warn(`Cannot check members password policy status: ${jA(n)}`)}else if(g){let e=g.filter((m)=>!m.password_policy_compliant);if(e.length>0){L.warn(`⚠️ Warning: ${e.length} member(s) do not meet the password policy requirements`),L.warn("These members will need to update their passwords to regain access.");let m=await I1({message:"Are you sure you want to enable the password policy?"});if(U0(m)||!m)throw L.error("Canceled enabling password policy"),Error("Password policy configuration cancelled")}}}else L.info("Disabling password policy for organization...");let S={enabled:H,min_length:F??10,require_uppercase:W??!0,require_number:K??!0,require_special:Z??!0},{error:j}=await E.from("orgs").update({password_policy_config:S}).eq("id",A);if(j){if(!B)L.error(`Could not update password policy: ${jA(j)}`);throw Error(`Could not update password policy: ${jA(j)}`)}if(!B)if(H)L.success("✓ Password policy enabled for this organization"),L.info(` - Minimum length: ${S.min_length} characters`),L.info(` - Require uppercase: ${S.require_uppercase?"Yes":"No"}`),L.info(` - Require number: ${S.require_number?"Yes":"No"}`),L.info(` - Require special character: ${S.require_special?"Yes":"No"}`);else L.success("✓ Password policy disabled for this organization");if(D===void 0&&Y===void 0&&X===void 0&&M===void 0&&O===void 0&&w===void 0){if(await NB(I.apikey,{channel:"organization",event:H?"Password Policy Enabled":"Password Policy Disabled",icon:"\uD83D\uDD11",org_id:A,tracking_version:2,tags:{"org-name":$.name},notify:!1}).catch(()=>{}),!B)YB("Done ✅");return{orgId:A,name:$.name,email:$.management_email,passwordPolicy:H}}}if(M!==void 0||O!==void 0||w!==void 0){if(!B)L.info("Updating API key security settings...");if(O!==void 0&&O!==null){if(O<1||O>365){if(!B)L.error("Maximum API key expiration days must be between 1 and 365");throw Error("Maximum API key expiration days must be between 1 and 365")}}let S={};if(M!==void 0)S.require_apikey_expiration=M;if(O!==void 0)S.max_apikey_expiration_days=O;if(w!==void 0)S.enforce_hashed_api_keys=w;let{error:j}=await E.from("orgs").update(S).eq("id",A);if(j){if(!B)L.error(`Could not update API key settings: ${jA(j)}`);throw Error(`Could not update API key settings: ${jA(j)}`)}if(!B){if(M!==void 0)L.success(`✓ API key expiration requirement: ${M?"Enabled":"Disabled"}`);if(O!==void 0)if(O===null)L.success("✓ Maximum API key expiration days: No limit");else L.success(`✓ Maximum API key expiration days: ${O}`);if(w!==void 0)L.success(`✓ Hashed API keys enforcement: ${w?"Enabled":"Disabled"}`)}if(D===void 0&&Y===void 0&&X===void 0&&H===void 0){if(await NB(I.apikey,{channel:"organization",event:"API Key Settings Updated",icon:"\uD83D\uDD10",org_id:A,tracking_version:2,tags:{"org-name":$.name},notify:!1}).catch(()=>{}),!B)YB("Done ✅");return{orgId:A,name:$.name,email:$.management_email}}}if(!B&&!D){let S=await TY({message:"New organization name:",placeholder:$.name||"My Organization"});if(U0(S))throw L.error("Canceled updating organization"),Error("Organization update cancelled");D=S}if(!B&&!Y){let S=await TY({message:"Management email:",placeholder:$.management_email||"admin@example.com"});if(U0(S))throw L.error("Canceled updating organization"),Error("Organization update cancelled");Y=S}if(!D||!Y){if(!B)L.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!B)L.info(`Updating organization "${A}"`);let{error:R}=await E.from("orgs").update({name:D,management_email:Y}).eq("id",A);if(R){if(!B)L.error(`Could not update organization ${jA(R)}`);throw Error(`Could not update organization: ${jA(R)}`)}if(await NB(I.apikey,{channel:"organization",event:"Organization Updated",icon:"✏️",org_id:A,tracking_version:2,tags:{"org-name":D},notify:!1}).catch(()=>{}),!B)L.success("Organization updated"),YB("Done ✅");return{orgId:A,name:D,email:Y,enforce2fa:X??$.enforcing_2fa}}async function Gx(A,Q){await fe(A,Q,!1)}yB();rI();zB();async function he(A,Q=!1){if(!Q)JB("Getting user id");let B={...A,apikey:A.apikey||lQ()};if(!B.apikey){if(!Q)L.error("Missing API key, you need to provide an API key to fetch the user id");throw Error("Missing API key")}try{let I=await UB(B.apikey,B.supaHost,B.supaAnon),E=await e0(I,B.apikey);if($B({channel:"account",event:"Account Id Viewed",icon:"\uD83E\uDEAA",tags:{}}),!Q)YB(`Done ✅: ${E}`);return E}catch(I){if(!Q)L.error(`Error getting user id ${jA(I)}`);throw I instanceof Error?I:Error(String(I))}}async function QfA(A){await he(A,!1)}zB();ES();zB();ES();function XI(A){let Q=A instanceof Error?A.message:String(A),B=OF(A);return{success:!1,error:Q,isSecurityPolicyError:B.isSecurityPolicyError,securityPolicyMessage:B.isSecurityPolicyError?B.message:void 0}}class le{apikey;supaHost;supaAnon;constructor(A){this.apikey=A?.apikey,this.supaHost=A?.supaHost,this.supaAnon=A?.supaAnon}async login(A){try{return await uz(A.apikey,{local:A.local??!1,supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon},!0),{success:!0}}catch(Q){return XI(Q)}}async doctor(A){try{return{success:!0,data:await uX({packageJson:A?.packageJson},!0)}}catch(Q){return XI(Q)}}async addApp(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,name:A.name,icon:A.icon};return await gM(A.appId,Q,void 0,!0),{success:!0}}catch(Q){return XI(Q)}}async updateApp(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,name:A.name,icon:A.icon,retention:A.retention};return await od(A.appId,Q,!0),{success:!0}}catch(Q){return XI(Q)}}async deleteApp(A,Q=!1){try{let B={apikey:this.apikey||lQ(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await bM(A,B,!1,Q),{success:!0}}catch(B){return XI(B)}}async listApps(){try{let A={apikey:this.apikey||lQ(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await rd(A,!1)).map((I)=>({appId:I.app_id,name:I.name||"Unknown",iconUrl:I.icon_url||void 0,createdAt:new Date(I.created_at||"")}))}}catch(A){return XI(A)}}async getAccountId(A){try{let Q={apikey:A?.apikey||this.apikey||lQ(!0),supaHost:A?.supaHost||this.supaHost,supaAnon:A?.supaAnon||this.supaAnon};return{success:!0,data:await he(Q,!0)}}catch(Q){return XI(Q)}}async starRepo(A){try{let{repository:Q,alreadyStarred:B}=g9(A?.repository);return{success:!0,data:{repository:Q,alreadyStarred:B}}}catch(Q){return XI(Q)}}async starAllRepositories(A){try{return{success:!0,data:await wW(A)}}catch(Q){return XI(Q)}}async checkBundleCompatibility(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),channel:A.channel,text:A.textOutput??!1,packageJson:A.packageJson,nodeModules:A.nodeModules,supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon};return{success:!0,data:(await wz(A.appId,Q,!0)).finalCompatibility}}catch(Q){return XI(Q)}}async encryptBundle(A){try{return{success:!0,data:await Za(A.zipPath,A.checksum,{key:A.keyPath,keyData:A.keyData,json:A.json,packageJson:A.packageJson},!0)}}catch(Q){return XI(Q)}}async decryptBundle(A){try{return{success:!0,data:await Wa(A.zipPath,A.ivSessionKey,{key:A.keyPath,keyData:A.keyData,checksum:A.checksum,packageJson:A.packageJson},!0)}}catch(Q){return XI(Q)}}async zipBundle(A){try{return{success:!0,data:await Bs(A.appId,{apikey:this.apikey||lQ(!0),path:A.path,bundle:A.bundle,name:A.name,codeCheck:A.codeCheck,json:A.json,keyV2:A.keyV2,packageJson:A.packageJson},!0)}}catch(Q){return XI(Q)}}async uploadBundle(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,path:A.path,bundle:A.bundle,channel:A.channel,external:A.external,key:A.encrypt!==!1,keyV2:A.encryptionKey,timeout:A.timeout,tus:A.useTus,comment:A.comment,minUpdateVersion:A.minUpdateVersion,autoMinUpdateVersion:A.autoMinUpdateVersion,selfAssign:A.selfAssign,packageJson:A.packageJsonPaths,ignoreMetadataCheck:A.ignoreCompatibilityCheck,codeCheck:!A.disableCodeCheck,zip:A.useZip},B=await TW(A.appId,Q,!0);return{success:B.success,bundleId:B.bundle,checksum:B.checksum??null,encryptionMethod:B.encryptionMethod,sessionKey:B.sessionKey,ivSessionKey:B.ivSessionKey,storageProvider:B.storageProvider,skipped:B.skipped,reason:B.reason}}catch(Q){return XI(Q)}}async listBundles(A){try{let Q=this.apikey||lQ(!0),B=await UB(Q,this.supaHost,this.supaAnon);return{success:!0,data:(await qW(B,A)).map(($)=>({id:$.id.toString(),version:$.name,uploadedAt:new Date($.created_at||""),size:0,encrypted:$.session_key!==null}))}}catch(Q){return XI(Q)}}async deleteBundle(A,Q){try{let B={apikey:this.apikey||lQ(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:Q};return await Ka(Q,A,B,!0),{success:!0}}catch(B){return XI(B)}}async cleanupBundles(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,bundle:A.bundle||"",version:"",keep:A.keep||4,force:A.force||!1,ignoreChannel:A.ignoreChannel||!1};return{success:!0,data:await Xa(A.appId,Q,!0)}}catch(Q){return XI(Q)}}async requestBuild(A){try{let Q=A.credentials,B={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,path:A.path,nodeModules:A.nodeModules,platform:A.platform,userId:A.userId,buildCertificateBase64:Q?.BUILD_CERTIFICATE_BASE64,p12Password:Q?.P12_PASSWORD,appleKeyId:Q?.APPLE_KEY_ID,appleIssuerId:Q?.APPLE_ISSUER_ID,appleKeyContent:Q?.APPLE_KEY_CONTENT,appStoreConnectTeamId:Q?.APP_STORE_CONNECT_TEAM_ID,iosScheme:Q?.CAPGO_IOS_SCHEME,iosTarget:Q?.CAPGO_IOS_TARGET,iosDistribution:Q?.CAPGO_IOS_DISTRIBUTION,iosProvisioningMap:Q?.CAPGO_IOS_PROVISIONING_MAP,androidKeystoreFile:Q?.ANDROID_KEYSTORE_FILE,keystoreKeyAlias:Q?.KEYSTORE_KEY_ALIAS,keystoreKeyPassword:Q?.KEYSTORE_KEY_PASSWORD,keystoreStorePassword:Q?.KEYSTORE_STORE_PASSWORD,playConfigJson:Q?.PLAY_CONFIG_JSON},I=await Z7(A.appId,B,!0);if(I.success&&I.jobId)return{success:!0,data:{jobId:I.jobId,uploadUrl:I.uploadUrl||"",status:I.status||"unknown"}};return{success:!1,error:I.error||"Unknown error during build request"}}catch(Q){return XI(Q)}}async getCurrentBundle(A,Q,B){try{let I={apikey:B?.apikey||this.apikey||lQ(!0),quiet:!0,supaHost:B?.supaHost||this.supaHost,supaAnon:B?.supaAnon||this.supaAnon};return{success:!0,data:await Is(Q,A,I,!0)}}catch(I){return XI(I)}}async addChannel(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,default:A.default,selfAssign:A.selfAssign};return await fz(A.channelId,A.appId,Q,!0),{success:!0}}catch(Q){return XI(Q)}}async updateChannel(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,bundle:A.bundle??void 0,state:A.state,downgrade:A.downgrade,ios:A.ios,android:A.android,selfAssign:A.selfAssign,disableAutoUpdate:A.disableAutoUpdate??void 0,dev:A.dev,emulator:A.emulator,device:A.device,prod:A.prod,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await Gs(A.channelId,A.appId,Q,!0),{success:!0}}catch(Q){return XI(Q)}}async deleteChannel(A,Q,B=!1){try{let I={apikey:this.apikey||lQ(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:B,successIfNotFound:!1};return await Es(A,Q,I,!0),{success:!0}}catch(I){return XI(I)}}async listChannels(A){try{let Q={apikey:this.apikey||lQ(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await $s(A,Q,!0)}}catch(Q){return XI(Q)}}async generateEncryptionKeys(A){try{return await hz({force:A?.force,setupChannel:A?.setupChannel},!0),{success:!0}}catch(Q){return XI(Q)}}async saveEncryptionKey(A){try{return await Ws({key:A?.keyPath,keyData:A?.keyData,setupChannel:A?.setupChannel},!0),{success:!0}}catch(Q){return XI(Q)}}async deleteLegacyEncryptionKey(A){try{return{success:!0,data:{deleted:await Ks({force:A?.force,setupChannel:A?.setupChannel},!0)}}}catch(Q){return XI(Q)}}async listOrganizations(A){try{let Q={apikey:A?.apikey||this.apikey||lQ(!0),supaHost:A?.supaHost||this.supaHost,supaAnon:A?.supaAnon||this.supaAnon};return{success:!0,data:(await ye(Q,!0)).map((E)=>({id:String(E.id??E.gid??""),name:E.name??"Unknown",role:E.role??void 0,appCount:typeof E.app_count==="number"?E.app_count:void 0,email:E.management_email??void 0,createdAt:E.created_at?new Date(E.created_at):void 0}))}}catch(Q){return XI(Q)}}async addOrganization(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,name:A.name,email:A.email},B=await ge(Q,!0);return{success:!0,data:{id:String(B.id??B.gid??""),name:B.name??A.name,role:"owner",appCount:0,email:B.management_email??A.email,createdAt:B.created_at?new Date(B.created_at):void 0}}}catch(Q){return XI(Q)}}async updateOrganization(A){try{let Q={apikey:A.apikey||this.apikey||lQ(!0),supaHost:A.supaHost||this.supaHost,supaAnon:A.supaAnon||this.supaAnon,name:A.name,email:A.email},B=await fe(A.orgId,Q,!0);return{success:!0,data:{id:B.orgId,name:B.name,email:B.email}}}catch(Q){return XI(Q)}}async deleteOrganization(A,Q){try{let B={apikey:Q?.apikey||this.apikey||lQ(!0),supaHost:Q?.supaHost||this.supaHost,supaAnon:Q?.supaAnon||this.supaAnon,autoConfirm:Q?.autoConfirm??!0};return{success:!0,data:{deleted:await be(A,B,!0)}}}catch(B){return XI(B)}}async getStats(A){try{let Q=A.apikey||this.apikey||lQ(!0),B=await V$(),I={appId:A.appId,devicesId:A.deviceIds,search:A.search,order:A.order,rangeStart:A.after||A.rangeStart,rangeEnd:A.rangeEnd,limit:A.limit},E=await fetch(`${B.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:Q},body:JSON.stringify(I)});if(!E.ok)throw Error(`HTTP error! status: ${E.status}`);return{success:!0,data:(await E.json()).map((D)=>({appId:D.app_id,deviceId:D.device_id,action:D.action,versionId:D.version_id,version:D.version,createdAt:D.created_at}))}}catch(Q){return XI(Q)}}async setAppSetting(A,Q){try{return await ad(A,{apikey:Q.apikey||this.apikey||lQ(!0),bool:Q.bool,string:Q.string},!0),{success:!0}}catch(B){return XI(B)}}async probe(A){try{let{probeInternal:Q}=await Promise.resolve().then(() => (ce(),HfA)),B=await Q({platform:A.platform});if(B.error)return{success:!1,error:B.error};return{success:!0,data:B}}catch(Q){return XI(Q)}}}zB();function l1(A){let Q=A.error||"Unknown error";if(A.isSecurityPolicyError&&A.securityPolicyMessage)Q=`Security Policy Error:
959
959
 
960
- ${A.securityPolicyMessage}`;return{content:[{type:"text",text:Q}],isError:!0}}async function FfA(){let A=new Pe({name:"capgo",version:$E.version});hHA("mcp"),Jq();let Q=A.tool.bind(A);A.tool=(...$)=>{let G=$.length-1;if(typeof $[G]==="function")$[G]=iHA(String($[0]),$[G]);return Q(...$)};let B;try{B=lQ(!0)}catch{B=void 0}let I=new le({apikey:B});A.tool("capgo_list_apps","List all apps registered in your Capgo Cloud account",{},async()=>{let $=await I.listApps();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify($.data,null,2)}]}}),A.tool("capgo_add_app","Register a new app in Capgo Cloud",nyA.pick({appId:!0,name:!0,icon:!0}).shape,async({appId:$,name:G,icon:D})=>{let Y=await I.addApp({appId:$,name:G,icon:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:`Successfully added app: ${$}`}]}}),A.tool("capgo_update_app","Update settings for an existing app in Capgo Cloud",iyA.pick({appId:!0,name:!0,icon:!0,retention:!0}).shape,async({appId:$,name:G,icon:D,retention:Y})=>{let X=await I.updateApp({appId:$,name:G,icon:D,retention:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:`Successfully updated app: ${$}`}]}}),A.tool("capgo_delete_app","Delete an app from Capgo Cloud",{appId:d.string().describe("App ID to delete")},async({appId:$})=>{let G=await I.deleteApp($,!0);if(!G.success)return l1(G);return{content:[{type:"text",text:`Successfully deleted app: ${$}`}]}}),A.tool("capgo_upload_bundle","Upload a new app bundle to Capgo Cloud for distribution",ayA.pick({appId:!0,path:!0,bundle:!0,channel:!0,comment:!0,minUpdateVersion:!0,autoMinUpdateVersion:!0,encrypt:!0}).shape,async({appId:$,path:G,bundle:D,channel:Y,comment:X,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:W})=>{let K=await I.uploadBundle({appId:$,path:G,bundle:D,channel:Y,comment:X,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:W});if(!K.success)return l1(K);return{content:[{type:"text",text:JSON.stringify({message:"Bundle uploaded successfully",bundleId:K.bundleId,checksum:K.checksum,skipped:K.skipped,reason:K.reason},null,2)}]}}),A.tool("capgo_star_repository","Star a GitHub repository to support Capgo",ryA.shape,async({repository:$})=>{let G=await I.starRepo({repository:$});if(!G.success)return l1(G);let D=G.data?.alreadyStarred?"already starred":"starred successfully";return{content:[{type:"text",text:`Repository ${G.data?.repository} is ${D}.`}]}}),A.tool("capgo_star_all_repositories","Star the default Capgo repositories on GitHub with a random delay between requests",oyA.shape,async({repositories:$,minDelayMs:G,maxDelayMs:D})=>{let Y=await I.starAllRepositories({repositories:$,minDelayMs:G,maxDelayMs:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:JSON.stringify(Y.data,null,2)}]}}),A.tool("capgo_list_bundles","List all bundles uploaded for an app",{appId:d.string().describe("App ID to list bundles for")},async({appId:$})=>{let G=await I.listBundles($);if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_delete_bundle","Delete a specific bundle from Capgo Cloud",{appId:d.string().describe("App ID"),bundleId:d.string().describe("Bundle version to delete")},async({appId:$,bundleId:G})=>{let D=await I.deleteBundle($,G);if(!D.success)return l1(D);return{content:[{type:"text",text:`Successfully deleted bundle: ${G}`}]}}),A.tool("capgo_cleanup_bundles","Delete old bundles, keeping only recent versions",syA.pick({appId:!0,keep:!0,bundle:!0,force:!0,ignoreChannel:!0}).shape,async({appId:$,keep:G,bundle:D,force:Y,ignoreChannel:X})=>{let H=await I.cleanupBundles({appId:$,keep:G,bundle:D,force:Y??!0,ignoreChannel:X});if(!H.success)return l1(H);return{content:[{type:"text",text:JSON.stringify({message:"Cleanup completed",removed:H.data?.removed,kept:H.data?.kept},null,2)}]}}),A.tool("capgo_check_compatibility","Check bundle compatibility with a specific channel",{appId:d.string().describe("App ID to check"),channel:d.string().describe("Channel to check compatibility with"),packageJson:d.string().optional().describe("Path to package.json for monorepos")},async({appId:$,channel:G,packageJson:D})=>{let Y=await I.checkBundleCompatibility({appId:$,channel:G,packageJson:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:JSON.stringify(Y.data,null,2)}]}}),A.tool("capgo_list_channels","List all channels for an app",{appId:d.string().describe("App ID to list channels for")},async({appId:$})=>{let G=await I.listChannels($);if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_add_channel","Create a new distribution channel for an app",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name/ID to create"),default:d.boolean().optional().describe("Set as default channel"),selfAssign:d.boolean().optional().describe("Allow devices to self-assign to this channel")},async({appId:$,channelId:G,default:D,selfAssign:Y})=>{let X=await I.addChannel({appId:$,channelId:G,default:D,selfAssign:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:`Successfully created channel: ${G}`}]}}),A.tool("capgo_update_channel","Update channel settings including linked bundle and targeting options",tyA.pick({appId:!0,channelId:!0,bundle:!0,state:!0,downgrade:!0,ios:!0,android:!0,selfAssign:!0,disableAutoUpdate:!0,dev:!0,emulator:!0,device:!0,prod:!0}).shape,async({appId:$,channelId:G,bundle:D,state:Y,downgrade:X,ios:H,android:F,selfAssign:W,disableAutoUpdate:K,dev:Z,emulator:M,device:O,prod:w})=>{let T=await I.updateChannel({appId:$,channelId:G,bundle:D,state:Y,downgrade:X,ios:H,android:F,selfAssign:W,disableAutoUpdate:K,dev:Z,emulator:M,device:O,prod:w});if(!T.success)return l1(T);return{content:[{type:"text",text:`Successfully updated channel: ${G}`}]}}),A.tool("capgo_delete_channel","Delete a channel from an app",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name/ID to delete"),deleteBundle:d.boolean().optional().describe("Also delete the bundle linked to this channel")},async({appId:$,channelId:G,deleteBundle:D})=>{let Y=await I.deleteChannel(G,$,D);if(!Y.success)return l1(Y);return{content:[{type:"text",text:`Successfully deleted channel: ${G}`}]}}),A.tool("capgo_get_current_bundle","Get the current bundle linked to a specific channel",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name/ID")},async({appId:$,channelId:G})=>{let D=await I.getCurrentBundle($,G);if(!D.success)return l1(D);return{content:[{type:"text",text:JSON.stringify({channel:G,currentBundle:D.data},null,2)}]}}),A.tool("capgo_list_organizations","List all organizations you have access to",{},async()=>{let $=await I.listOrganizations();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify($.data,null,2)}]}}),A.tool("capgo_add_organization","Create a new organization for team collaboration",{name:d.string().describe("Organization name"),email:d.string().describe("Management email for the organization")},async({name:$,email:G})=>{let D=await I.addOrganization({name:$,email:G});if(!D.success)return l1(D);return{content:[{type:"text",text:JSON.stringify({message:"Organization created successfully",...D.data},null,2)}]}}),A.tool("capgo_get_account_id","Get the account ID associated with the current API key",{},async()=>{let $=await I.getAccountId();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify({accountId:$.data},null,2)}]}}),A.tool("capgo_doctor","Run diagnostics on the Capgo installation and get system information",{packageJson:d.string().optional().describe("Path to package.json for monorepos")},async({packageJson:$})=>{let G=await I.doctor({packageJson:$});if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_get_stats","Get device statistics and logs from Capgo backend for debugging",AfA.pick({appId:!0,deviceIds:!0,limit:!0,rangeStart:!0,rangeEnd:!0}).shape,async({appId:$,deviceIds:G,limit:D,rangeStart:Y,rangeEnd:X})=>{let H=await I.getStats({appId:$,deviceIds:G,limit:D,rangeStart:Y,rangeEnd:X});if(!H.success)return l1(H);return{content:[{type:"text",text:JSON.stringify(H.data,null,2)}]}}),A.tool("capgo_request_build","Request a native iOS/Android build from Capgo Cloud",eyA.pick({appId:!0,platform:!0,path:!0,nodeModules:!0}).shape,async({appId:$,platform:G,path:D,nodeModules:Y})=>{let X=await I.requestBuild({appId:$,platform:G,path:D,nodeModules:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:JSON.stringify({message:"Build requested successfully",...X.data},null,2)}]}}),A.tool("capgo_generate_encryption_keys","Generate RSA key pair for end-to-end encryption of bundles",{force:d.boolean().optional().describe("Overwrite existing keys if they exist")},async({force:$})=>{let G=await I.generateEncryptionKeys({force:$});if(!G.success)return l1(G);return{content:[{type:"text",text:"Encryption keys generated successfully. Private key saved to .capgo_key_v2, public key to .capgo_key_v2.pub"}]}}),A.tool("capgo_probe","Probe the Capgo updates endpoint for a local project. Returns whether an OTA update would be delivered and diagnostic details if not. Does not require an API key.",{platform:d.enum(["ios","android"]).describe("Target platform to probe")},async({platform:$})=>{let G=await I.probe({platform:$});if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}});let E=new ke;await A.connect(E),rHA(Boolean(B))}yB();HX();rI();Z8();zB();function imQ(A,Q,B){if(B)return;if(!A.length){L.error("No members found");return}let I=new l8;I.headers=Q.hasPasswordPolicy?["Email","Role","Status","2FA Enabled","Password Policy"]:["Email","Role","Status","2FA Enabled"],I.rows=[];for(let E of A){let $=E.is_tmp?"Invited":"Active",G=E.has_2fa?"✓ Yes":"✗ No",D=E.password_policy_compliant?"✓ Compliant":"✗ Non-compliant",Y=[E.email,E.role,$,G];if(Q.hasPasswordPolicy)Y.push(D);I.rows.push(Y)}L.success(`Members of "${Q.orgName}"`),L.success(I.toString())}async function rmQ(A,Q,B=!1){if(!B)JB("List organization members");await t0();let I={...Q,apikey:Q.apikey||lQ()};if(!I.apikey){if(!B)L.error("Missing API key, you need to provide an API key to list members");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let E=await UB(I.apikey,I.supaHost,I.supaAnon);await gF(E,I.apikey,"org.read_members",A,`Insufficient permissions to list members of organization ${A}`,B),await PF(E,A,B);let{data:$,error:G}=await E.from("orgs").select("name, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",A).single();if(G||!$){if(!B)L.error(`Cannot get organization details: ${jA(G)}`);throw Error(`Cannot get organization details: ${jA(G)}`)}let D=$.password_policy_config,Y=D?.enabled??!1;if(!B)L.info(`Getting members of "${$.name}" from Capgo`);let{data:X,error:H}=await E.rpc("get_org_members",{guild_id:A});if(H){if(!B)L.error(`Cannot get organization members: ${jA(H)}`);throw Error(`Cannot get organization members: ${jA(H)}`)}let{data:F,error:W}=await E.rpc("check_org_members_2fa_enabled",{org_id:A});if(W){if(!B)if(W.message?.includes("NO_RIGHTS"))L.warn("You need super_admin rights to view 2FA status of members");else L.error(`Cannot get 2FA status: ${jA(W)}`)}let K=null;if(Y){let{data:M,error:O}=await E.rpc("check_org_members_password_policy",{org_id:A});if(O){if(!B)if(O.message?.includes("NO_RIGHTS"))L.warn("You need super_admin rights to view password policy compliance status");else L.warn(`Cannot get password policy status: ${jA(O)}`)}else K=M}let Z=(X||[]).map((M)=>{let O=F?.find((T)=>T.user_id===M.uid),w=K?.find((T)=>T.user_id===M.uid);return{uid:M.uid,email:M.email,role:M.role,is_tmp:M.is_tmp,has_2fa:O?.["2fa_enabled"]??!1,password_policy_compliant:w?.password_policy_compliant??!1}});if($B({channel:"organization",event:"Org Members Listed",icon:"\uD83D\uDC65",tags:{member_count:Z.length,with_2fa_count:Z.filter((M)=>M.has_2fa).length}}),!B){if(L.info(`Members found: ${Z.length}`),L.info(""),L.info("Security Settings:"),$.enforcing_2fa)L.info(" \uD83D\uDD10 2FA enforcement: ENABLED");else L.info(" 2FA enforcement: Disabled");if(Y)L.info(" \uD83D\uDD11 Password policy: ENABLED"),L.info(` - Minimum length: ${D.min_length} characters`),L.info(` - Require uppercase: ${D.require_uppercase?"Yes":"No"}`),L.info(` - Require number: ${D.require_number?"Yes":"No"}`),L.info(` - Require special: ${D.require_special?"Yes":"No"}`);else L.info(" Password policy: Disabled");if($.require_apikey_expiration){if(L.info(" ⏰ API key expiration required: ENABLED"),$.max_apikey_expiration_days)L.info(` - Maximum expiration: ${$.max_apikey_expiration_days} days`)}else L.info(" API key expiration required: Disabled");if($.enforce_hashed_api_keys)L.info(" \uD83D\uDD12 Hashed API keys: ENABLED");else L.info(" Hashed API keys: Disabled");L.info("");let M=Z.filter((w)=>!w.is_tmp),O=M.filter((w)=>!w.has_2fa);if(L.info("Member Summary:"),L.info(` Total active members: ${M.length}`),L.info(` Members with 2FA: ${M.length-O.length}`),L.info(` Members without 2FA: ${O.length}`),Y){let w=M.filter((T)=>!T.password_policy_compliant);L.info(` Password policy compliant: ${M.length-w.length}`),L.info(` Password policy non-compliant: ${w.length}`)}L.info(""),imQ(Z,{orgName:$.name,hasPasswordPolicy:Y},B),YB("Done ✅")}return Z}async function de(A,Q){await rmQ(A,Q,!1)}Ay();ce();yB();rI();import{exit as r2,stdin as omQ,stdout as amQ}from"node:process";zB();var CfA={fail(A){t4(A),r2(1)},finish(A){oI(A)}},WfA={fail(A){L.error(A),r2(1)},finish(A){L.info(A)}};async function smQ(){oI("Run device test canceled."),r2(1)}function tmQ(){return!!omQ.isTTY&&!!amQ.isTTY}function emQ(A){L.info("Non-interactive mode: iOS device selection needs an interactive terminal."),L.info(`List devices with: ${KI(A.runner,["cap","run","ios","--list"])}`),L.info(`Run a specific device with: ${KI(A.runner,["cap","run","ios","--target","<id>"])}`),L.error("Run device test failed."),r2(1)}function AcQ(A,Q){let B=["cap","run",Q];return{args:B,command:KI(A.runner,B)}}async function QcQ(A,Q){if(A)return d_A(A);if(!Q)throw Error('No platform provided. Run in an interactive terminal to choose iOS or Android, or pass "ios" or "android".');let B=await eE({message:"You did not provide a platform. Which platform do you want to start on?",options:[{value:"ios",label:"iOS"},{value:"android",label:"Android"}]});if(U0(B))xIA("Run device test canceled."),r2(1);return B}function BcQ(A){R9({headerTitle:"\uD83D\uDCF1 Capgo Run Device",title:"Run Device",introLines:[`${A==="ios"?"iOS":"Android"} selected.`,A==="ios"?"Pick a physical device or simulator.":"Pick a device or emulator."],phaseLabel:"Device",statusLine:"Reload the list if your target is not visible yet.",tone:"blue"})}function IcQ(A,Q){let B=aI();B.start(`Running: ${Q.command}`);let I=sz(A.runner,Q.args,{stdio:"inherit"});if(I.error||I.status!==0){if(B.stop("App failed to start ❌"),I.error)p.error(jA(I.error));p.info(`You can run the command manually with: ${Q.command}`),CfA.fail("Run device test failed.")}B.stop("App started ✅")}function EcQ(A,Q){L.info(`Running: ${Q.command}`);let B=sz(A.runner,Q.args,{stdio:"inherit"});if(B.error||B.status!==0){if(B.error)L.error(jA(B.error));L.info(`You can run the command manually with: ${Q.command}`),WfA.fail("Run device test failed.")}L.info("App started")}async function KfA(A,Q={}){let B=tmQ(),I=B?CfA:WfA;try{let E=kI(),$=await QcQ(A,B);if($B({channel:"cli-usage",event:"Run On Device",icon:"\uD83D\uDCF1",tags:{platform:$}}),!B){let D=AcQ(E,$);if(Q.launch===!1){I.finish(`Resolved run command: ${D.command}`);return}if($==="ios")emQ(E);EcQ(E,D),I.finish(`Run device test finished. Manual command: ${D.command}`);return}BcQ($);let G=await hs(smQ,E,$);if(!G.args){I.finish(`Skipped device launch. Manual command: ${G.command}`);return}if(Q.launch===!1){I.finish(`Resolved run command: ${G.command}`);return}IcQ(E,G),I.finish(`Run device test finished. Manual command: ${G.command}`)}catch(E){I.fail(`Run device test failed: ${jA(E)}`)}}zB();var FQ={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output with detailed logging"};function ne(A,Q){return Q.concat([A])}$1.name($E.name).description("\uD83D\uDCE6 Manage packages and bundle versions in Capgo Cloud").version($E.version,"-v, --version","output the current version");Jq();var JK="unknown";$1.hook("preAction",(A,Q)=>{JK=tb(Q),dHA(JK,lHA(Q))});$1.hook("postAction",(A,Q)=>{pHA(tb(Q))});$1.command("init [apikey] [appId]").alias("i").description(`\uD83D\uDE80 Initialize a new app in Capgo Cloud with step-by-step guidance.
960
+ ${A.securityPolicyMessage}`;return{content:[{type:"text",text:Q}],isError:!0}}async function FfA(){let A=new Pe({name:"capgo",version:$E.version});hHA("mcp"),Jq();let Q=A.tool.bind(A);A.tool=(...$)=>{let G=$.length-1;if(typeof $[G]==="function")$[G]=iHA(String($[0]),$[G]);return Q(...$)};let B;try{B=lQ(!0)}catch{B=void 0}let I=new le({apikey:B});A.tool("capgo_list_apps","List all apps registered in your Capgo Cloud account",{},async()=>{let $=await I.listApps();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify($.data,null,2)}]}}),A.tool("capgo_add_app","Register a new app in Capgo Cloud",nyA.pick({appId:!0,name:!0,icon:!0}).shape,async({appId:$,name:G,icon:D})=>{let Y=await I.addApp({appId:$,name:G,icon:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:`Successfully added app: ${$}`}]}}),A.tool("capgo_update_app","Update settings for an existing app in Capgo Cloud",iyA.pick({appId:!0,name:!0,icon:!0,retention:!0}).shape,async({appId:$,name:G,icon:D,retention:Y})=>{let X=await I.updateApp({appId:$,name:G,icon:D,retention:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:`Successfully updated app: ${$}`}]}}),A.tool("capgo_delete_app","Delete an app from Capgo Cloud",{appId:d.string().describe("App ID to delete")},async({appId:$})=>{let G=await I.deleteApp($,!0);if(!G.success)return l1(G);return{content:[{type:"text",text:`Successfully deleted app: ${$}`}]}}),A.tool("capgo_upload_bundle","Upload a new app bundle to Capgo Cloud for distribution",ayA.pick({appId:!0,path:!0,bundle:!0,channel:!0,comment:!0,minUpdateVersion:!0,autoMinUpdateVersion:!0,encrypt:!0}).shape,async({appId:$,path:G,bundle:D,channel:Y,comment:X,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:W})=>{let K=await I.uploadBundle({appId:$,path:G,bundle:D,channel:Y,comment:X,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:W});if(!K.success)return l1(K);return{content:[{type:"text",text:JSON.stringify({message:"Bundle uploaded successfully",bundleId:K.bundleId,checksum:K.checksum,skipped:K.skipped,reason:K.reason},null,2)}]}}),A.tool("capgo_star_repository","Star a GitHub repository to support Capgo",ryA.shape,async({repository:$})=>{let G=await I.starRepo({repository:$});if(!G.success)return l1(G);let D=G.data?.alreadyStarred?"already starred":"starred successfully";return{content:[{type:"text",text:`Repository ${G.data?.repository} is ${D}.`}]}}),A.tool("capgo_star_all_repositories","Star the default Capgo repositories on GitHub with a random delay between requests",oyA.shape,async({repositories:$,minDelayMs:G,maxDelayMs:D})=>{let Y=await I.starAllRepositories({repositories:$,minDelayMs:G,maxDelayMs:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:JSON.stringify(Y.data,null,2)}]}}),A.tool("capgo_list_bundles","List all bundles uploaded for an app",{appId:d.string().describe("App ID to list bundles for")},async({appId:$})=>{let G=await I.listBundles($);if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_delete_bundle","Delete a specific bundle from Capgo Cloud",{appId:d.string().describe("App ID"),bundleId:d.string().describe("Bundle version to delete")},async({appId:$,bundleId:G})=>{let D=await I.deleteBundle($,G);if(!D.success)return l1(D);return{content:[{type:"text",text:`Successfully deleted bundle: ${G}`}]}}),A.tool("capgo_cleanup_bundles","Delete old bundles, keeping only recent versions",syA.pick({appId:!0,keep:!0,bundle:!0,force:!0,ignoreChannel:!0}).shape,async({appId:$,keep:G,bundle:D,force:Y,ignoreChannel:X})=>{let H=await I.cleanupBundles({appId:$,keep:G,bundle:D,force:Y??!0,ignoreChannel:X});if(!H.success)return l1(H);return{content:[{type:"text",text:JSON.stringify({message:"Cleanup completed",removed:H.data?.removed,kept:H.data?.kept},null,2)}]}}),A.tool("capgo_check_compatibility","Check bundle compatibility with a specific channel",{appId:d.string().describe("App ID to check"),channel:d.string().describe("Channel to check compatibility with"),packageJson:d.string().optional().describe("Path to package.json for monorepos")},async({appId:$,channel:G,packageJson:D})=>{let Y=await I.checkBundleCompatibility({appId:$,channel:G,packageJson:D});if(!Y.success)return l1(Y);return{content:[{type:"text",text:JSON.stringify(Y.data,null,2)}]}}),A.tool("capgo_list_channels","List all channels for an app",{appId:d.string().describe("App ID to list channels for")},async({appId:$})=>{let G=await I.listChannels($);if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_add_channel","Create a new distribution channel for an app",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name to create"),default:d.boolean().optional().describe("Set as default channel"),selfAssign:d.boolean().optional().describe("Allow devices to self-assign to this channel")},async({appId:$,channelId:G,default:D,selfAssign:Y})=>{let X=await I.addChannel({appId:$,channelId:G,default:D,selfAssign:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:`Successfully created channel: ${G}`}]}}),A.tool("capgo_update_channel","Update channel settings including linked bundle and targeting options",tyA.pick({appId:!0,channelId:!0,bundle:!0,state:!0,downgrade:!0,ios:!0,android:!0,selfAssign:!0,disableAutoUpdate:!0,dev:!0,emulator:!0,device:!0,prod:!0}).shape,async({appId:$,channelId:G,bundle:D,state:Y,downgrade:X,ios:H,android:F,selfAssign:W,disableAutoUpdate:K,dev:Z,emulator:M,device:O,prod:w})=>{let T=await I.updateChannel({appId:$,channelId:G,bundle:D,state:Y,downgrade:X,ios:H,android:F,selfAssign:W,disableAutoUpdate:K,dev:Z,emulator:M,device:O,prod:w});if(!T.success)return l1(T);return{content:[{type:"text",text:`Successfully updated channel: ${G}`}]}}),A.tool("capgo_delete_channel","Delete a channel from an app",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name to delete"),deleteBundle:d.boolean().optional().describe("Also delete the bundle linked to this channel")},async({appId:$,channelId:G,deleteBundle:D})=>{let Y=await I.deleteChannel(G,$,D);if(!Y.success)return l1(Y);return{content:[{type:"text",text:`Successfully deleted channel: ${G}`}]}}),A.tool("capgo_get_current_bundle","Get the current bundle linked to a specific channel",{appId:d.string().describe("App ID"),channelId:d.string().describe("Channel name")},async({appId:$,channelId:G})=>{let D=await I.getCurrentBundle($,G);if(!D.success)return l1(D);return{content:[{type:"text",text:JSON.stringify({channel:G,currentBundle:D.data},null,2)}]}}),A.tool("capgo_list_organizations","List all organizations you have access to",{},async()=>{let $=await I.listOrganizations();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify($.data,null,2)}]}}),A.tool("capgo_add_organization","Create a new organization for team collaboration",{name:d.string().describe("Organization name"),email:d.string().describe("Management email for the organization")},async({name:$,email:G})=>{let D=await I.addOrganization({name:$,email:G});if(!D.success)return l1(D);return{content:[{type:"text",text:JSON.stringify({message:"Organization created successfully",...D.data},null,2)}]}}),A.tool("capgo_get_account_id","Get the account ID associated with the current API key",{},async()=>{let $=await I.getAccountId();if(!$.success)return l1($);return{content:[{type:"text",text:JSON.stringify({accountId:$.data},null,2)}]}}),A.tool("capgo_doctor","Run diagnostics on the Capgo installation and get system information",{packageJson:d.string().optional().describe("Path to package.json for monorepos")},async({packageJson:$})=>{let G=await I.doctor({packageJson:$});if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),A.tool("capgo_get_stats","Get device statistics and logs from Capgo backend for debugging",AfA.pick({appId:!0,deviceIds:!0,limit:!0,rangeStart:!0,rangeEnd:!0}).shape,async({appId:$,deviceIds:G,limit:D,rangeStart:Y,rangeEnd:X})=>{let H=await I.getStats({appId:$,deviceIds:G,limit:D,rangeStart:Y,rangeEnd:X});if(!H.success)return l1(H);return{content:[{type:"text",text:JSON.stringify(H.data,null,2)}]}}),A.tool("capgo_request_build","Request a native iOS/Android build from Capgo Cloud",eyA.pick({appId:!0,platform:!0,path:!0,nodeModules:!0}).shape,async({appId:$,platform:G,path:D,nodeModules:Y})=>{let X=await I.requestBuild({appId:$,platform:G,path:D,nodeModules:Y});if(!X.success)return l1(X);return{content:[{type:"text",text:JSON.stringify({message:"Build requested successfully",...X.data},null,2)}]}}),A.tool("capgo_generate_encryption_keys","Generate RSA key pair for end-to-end encryption of bundles",{force:d.boolean().optional().describe("Overwrite existing keys if they exist")},async({force:$})=>{let G=await I.generateEncryptionKeys({force:$});if(!G.success)return l1(G);return{content:[{type:"text",text:"Encryption keys generated successfully. Private key saved to .capgo_key_v2, public key to .capgo_key_v2.pub"}]}}),A.tool("capgo_probe","Probe the Capgo updates endpoint for a local project. Returns whether an OTA update would be delivered and diagnostic details if not. Does not require an API key.",{platform:d.enum(["ios","android"]).describe("Target platform to probe")},async({platform:$})=>{let G=await I.probe({platform:$});if(!G.success)return l1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}});let E=new ke;await A.connect(E),rHA(Boolean(B))}yB();HX();rI();Z8();zB();function imQ(A,Q,B){if(B)return;if(!A.length){L.error("No members found");return}let I=new l8;I.headers=Q.hasPasswordPolicy?["Email","Role","Status","2FA Enabled","Password Policy"]:["Email","Role","Status","2FA Enabled"],I.rows=[];for(let E of A){let $=E.is_tmp?"Invited":"Active",G=E.has_2fa?"✓ Yes":"✗ No",D=E.password_policy_compliant?"✓ Compliant":"✗ Non-compliant",Y=[E.email,E.role,$,G];if(Q.hasPasswordPolicy)Y.push(D);I.rows.push(Y)}L.success(`Members of "${Q.orgName}"`),L.success(I.toString())}async function rmQ(A,Q,B=!1){if(!B)JB("List organization members");await t0();let I={...Q,apikey:Q.apikey||lQ()};if(!I.apikey){if(!B)L.error("Missing API key, you need to provide an API key to list members");throw Error("Missing API key")}if(!A){if(!B)L.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let E=await UB(I.apikey,I.supaHost,I.supaAnon);await gF(E,I.apikey,"org.read_members",A,`Insufficient permissions to list members of organization ${A}`,B),await PF(E,A,B);let{data:$,error:G}=await E.from("orgs").select("name, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",A).single();if(G||!$){if(!B)L.error(`Cannot get organization details: ${jA(G)}`);throw Error(`Cannot get organization details: ${jA(G)}`)}let D=$.password_policy_config,Y=D?.enabled??!1;if(!B)L.info(`Getting members of "${$.name}" from Capgo`);let{data:X,error:H}=await E.rpc("get_org_members",{guild_id:A});if(H){if(!B)L.error(`Cannot get organization members: ${jA(H)}`);throw Error(`Cannot get organization members: ${jA(H)}`)}let{data:F,error:W}=await E.rpc("check_org_members_2fa_enabled",{org_id:A});if(W){if(!B)if(W.message?.includes("NO_RIGHTS"))L.warn("You need super_admin rights to view 2FA status of members");else L.error(`Cannot get 2FA status: ${jA(W)}`)}let K=null;if(Y){let{data:M,error:O}=await E.rpc("check_org_members_password_policy",{org_id:A});if(O){if(!B)if(O.message?.includes("NO_RIGHTS"))L.warn("You need super_admin rights to view password policy compliance status");else L.warn(`Cannot get password policy status: ${jA(O)}`)}else K=M}let Z=(X||[]).map((M)=>{let O=F?.find((T)=>T.user_id===M.uid),w=K?.find((T)=>T.user_id===M.uid);return{uid:M.uid,email:M.email,role:M.role,is_tmp:M.is_tmp,has_2fa:O?.["2fa_enabled"]??!1,password_policy_compliant:w?.password_policy_compliant??!1}});if($B({channel:"organization",event:"Org Members Listed",icon:"\uD83D\uDC65",tags:{member_count:Z.length,with_2fa_count:Z.filter((M)=>M.has_2fa).length}}),!B){if(L.info(`Members found: ${Z.length}`),L.info(""),L.info("Security Settings:"),$.enforcing_2fa)L.info(" \uD83D\uDD10 2FA enforcement: ENABLED");else L.info(" 2FA enforcement: Disabled");if(Y)L.info(" \uD83D\uDD11 Password policy: ENABLED"),L.info(` - Minimum length: ${D.min_length} characters`),L.info(` - Require uppercase: ${D.require_uppercase?"Yes":"No"}`),L.info(` - Require number: ${D.require_number?"Yes":"No"}`),L.info(` - Require special: ${D.require_special?"Yes":"No"}`);else L.info(" Password policy: Disabled");if($.require_apikey_expiration){if(L.info(" ⏰ API key expiration required: ENABLED"),$.max_apikey_expiration_days)L.info(` - Maximum expiration: ${$.max_apikey_expiration_days} days`)}else L.info(" API key expiration required: Disabled");if($.enforce_hashed_api_keys)L.info(" \uD83D\uDD12 Hashed API keys: ENABLED");else L.info(" Hashed API keys: Disabled");L.info("");let M=Z.filter((w)=>!w.is_tmp),O=M.filter((w)=>!w.has_2fa);if(L.info("Member Summary:"),L.info(` Total active members: ${M.length}`),L.info(` Members with 2FA: ${M.length-O.length}`),L.info(` Members without 2FA: ${O.length}`),Y){let w=M.filter((T)=>!T.password_policy_compliant);L.info(` Password policy compliant: ${M.length-w.length}`),L.info(` Password policy non-compliant: ${w.length}`)}L.info(""),imQ(Z,{orgName:$.name,hasPasswordPolicy:Y},B),YB("Done ✅")}return Z}async function de(A,Q){await rmQ(A,Q,!1)}Ay();ce();yB();rI();import{exit as r2,stdin as omQ,stdout as amQ}from"node:process";zB();var CfA={fail(A){t4(A),r2(1)},finish(A){oI(A)}},WfA={fail(A){L.error(A),r2(1)},finish(A){L.info(A)}};async function smQ(){oI("Run device test canceled."),r2(1)}function tmQ(){return!!omQ.isTTY&&!!amQ.isTTY}function emQ(A){L.info("Non-interactive mode: iOS device selection needs an interactive terminal."),L.info(`List devices with: ${KI(A.runner,["cap","run","ios","--list"])}`),L.info(`Run a specific device with: ${KI(A.runner,["cap","run","ios","--target","<id>"])}`),L.error("Run device test failed."),r2(1)}function AcQ(A,Q){let B=["cap","run",Q];return{args:B,command:KI(A.runner,B)}}async function QcQ(A,Q){if(A)return d_A(A);if(!Q)throw Error('No platform provided. Run in an interactive terminal to choose iOS or Android, or pass "ios" or "android".');let B=await eE({message:"You did not provide a platform. Which platform do you want to start on?",options:[{value:"ios",label:"iOS"},{value:"android",label:"Android"}]});if(U0(B))xIA("Run device test canceled."),r2(1);return B}function BcQ(A){R9({headerTitle:"\uD83D\uDCF1 Capgo Run Device",title:"Run Device",introLines:[`${A==="ios"?"iOS":"Android"} selected.`,A==="ios"?"Pick a physical device or simulator.":"Pick a device or emulator."],phaseLabel:"Device",statusLine:"Reload the list if your target is not visible yet.",tone:"blue"})}function IcQ(A,Q){let B=aI();B.start(`Running: ${Q.command}`);let I=sz(A.runner,Q.args,{stdio:"inherit"});if(I.error||I.status!==0){if(B.stop("App failed to start ❌"),I.error)p.error(jA(I.error));p.info(`You can run the command manually with: ${Q.command}`),CfA.fail("Run device test failed.")}B.stop("App started ✅")}function EcQ(A,Q){L.info(`Running: ${Q.command}`);let B=sz(A.runner,Q.args,{stdio:"inherit"});if(B.error||B.status!==0){if(B.error)L.error(jA(B.error));L.info(`You can run the command manually with: ${Q.command}`),WfA.fail("Run device test failed.")}L.info("App started")}async function KfA(A,Q={}){let B=tmQ(),I=B?CfA:WfA;try{let E=kI(),$=await QcQ(A,B);if($B({channel:"cli-usage",event:"Run On Device",icon:"\uD83D\uDCF1",tags:{platform:$}}),!B){let D=AcQ(E,$);if(Q.launch===!1){I.finish(`Resolved run command: ${D.command}`);return}if($==="ios")emQ(E);EcQ(E,D),I.finish(`Run device test finished. Manual command: ${D.command}`);return}BcQ($);let G=await hs(smQ,E,$);if(!G.args){I.finish(`Skipped device launch. Manual command: ${G.command}`);return}if(Q.launch===!1){I.finish(`Resolved run command: ${G.command}`);return}IcQ(E,G),I.finish(`Run device test finished. Manual command: ${G.command}`)}catch(E){I.fail(`Run device test failed: ${jA(E)}`)}}zB();var FQ={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output with detailed logging"};function ne(A,Q){return Q.concat([A])}$1.name($E.name).description("\uD83D\uDCE6 Manage packages and bundle versions in Capgo Cloud").version($E.version,"-v, --version","output the current version");Jq();var JK="unknown";$1.hook("preAction",(A,Q)=>{JK=tb(Q),dHA(JK,lHA(Q))});$1.hook("postAction",(A,Q)=>{pHA(tb(Q))});$1.command("init [apikey] [appId]").alias("i").description(`\uD83D\uDE80 Initialize a new app in Capgo Cloud with step-by-step guidance.
961
961
 
962
962
  This includes adding code for updates, building, uploading your app, and verifying update functionality.
963
963
  Capgo bundles are web assets and can be fetched by anyone who knows the URL. Use encryption for banking, regulated, or other high-security apps.
@@ -1031,15 +1031,15 @@ Example: npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChann
1031
1031
 
1032
1032
  Retention of 0 means infinite storage.
1033
1033
 
1034
- Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(async(A,Q)=>{await Y3A(A,Q)}).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>",FQ.apikey).option("-r, --retention <retention>","Days to keep old bundles (0 = infinite, default: 0)").option("--expose-metadata <exposeMetadata>","Expose bundle metadata (link and comment) to the plugin (true/false, default: false)").option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);var o2=$1.command("channel").description("\uD83D\uDCE2 Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.");o2.command("add [channelId] [appId]").alias("a").description(`➕ Create a new channel for app distribution in Capgo Cloud to manage update delivery.
1034
+ Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(async(A,Q)=>{await Y3A(A,Q)}).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>",FQ.apikey).option("-r, --retention <retention>","Days to keep old bundles (0 = infinite, default: 0)").option("--expose-metadata <exposeMetadata>","Expose bundle metadata (link and comment) to the plugin (true/false, default: false)").option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);var o2=$1.command("channel").description("\uD83D\uDCE2 Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.");o2.command("add [channelName] [appId]").alias("a").description(`➕ Create a new channel for app distribution in Capgo Cloud to manage update delivery.
1035
1035
 
1036
- Example: npx @capgo/cli@latest channel add production com.example.app --default`).action(FPA).option("-d, --default","Set the channel as default").option("--self-assign","Allow device to self-assign to this channel").option("-a, --apikey <apikey>",FQ.apikey).option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("delete [channelId] [appId]").alias("d").description(`\uD83D\uDDD1️ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
1036
+ Example: npx @capgo/cli@latest channel add production com.example.app --default`).action(FPA).option("-d, --default","Set the channel as default").option("--self-assign","Allow device to self-assign to this channel").option("-a, --apikey <apikey>",FQ.apikey).option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("delete [channelName] [appId]").alias("d").description(`\uD83D\uDDD1️ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
1037
1037
 
1038
1038
  Example: npx @capgo/cli@latest channel delete production com.example.app`).action(async(A,Q,B)=>{await WPA(A,Q,B)}).option("-a, --apikey <apikey>",FQ.apikey).option("--delete-bundle","Delete the bundle associated with the channel").option("--success-if-not-found","Success if the channel is not found").option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("list [appId]").alias("l").description(`\uD83D\uDCCB List all channels configured for an app in Capgo Cloud to review distribution settings.
1039
1039
 
1040
1040
  Example: npx @capgo/cli@latest channel list com.example.app`).action(async(A,Q)=>{await KPA(A,Q)}).option("-a, --apikey <apikey>",FQ.apikey).option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("currentBundle [channel] [appId]").description(`\uD83D\uDCE6 Get the current bundle linked to a specific channel in Capgo Cloud for update tracking.
1041
1041
 
1042
- Example: npx @capgo/cli@latest channel currentBundle production com.example.app`).action(async(A,Q,B)=>{await CPA(A,Q,B)}).option("-c, --channel <channel>","Channel to get the current bundle from").option("-a, --apikey <apikey>",FQ.apikey).option("--quiet","Only print the bundle version").option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("set [channelId] [appId]").alias("s").description(`⚙️ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, prod, emulator, device).
1042
+ Example: npx @capgo/cli@latest channel currentBundle production com.example.app`).action(async(A,Q,B)=>{await CPA(A,Q,B)}).option("-c, --channel <channel>","Channel to get the current bundle from").option("-a, --apikey <apikey>",FQ.apikey).option("--quiet","Only print the bundle version").option("--supa-host <supaHost>",FQ.supaHost).option("--supa-anon <supaAnon>",FQ.supaAnon);o2.command("set [channelName] [appId]").alias("s").description(`⚙️ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, prod, emulator, device).
1043
1043
 
1044
1044
  One channel must be default.
1045
1045
 
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "7.124.6",
4
+ "version": "7.124.8",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
package/dist/src/sdk.js CHANGED
@@ -124,7 +124,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
124
124
  `)}),$.__defineSetter__("stack",function(X){return[X].concat($.stack).join(`
125
125
 
126
126
  `)}),$}});var uv=E((ws0,Pv)=>{var N4=l("constants"),yq0=process.cwd,SY=null,bq0=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!SY)SY=yq0.call(process);return SY};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(PY=process.chdir,process.chdir=function(D){SY=null,PY.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,PY)}var PY;Pv.exports=hq0;function hq0(D){if(N4.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))$(D);if(!D.lutimes)X(D);if(D.chown=Y(D.chown),D.fchown=Y(D.fchown),D.lchown=Y(D.lchown),D.chmod=J(D.chmod),D.fchmod=J(D.fchmod),D.lchmod=J(D.lchmod),D.chownSync=Q(D.chownSync),D.fchownSync=Q(D.fchownSync),D.lchownSync=Q(D.lchownSync),D.chmodSync=F(D.chmodSync),D.fchmodSync=F(D.fchmodSync),D.lchmodSync=F(D.lchmodSync),D.stat=U(D.stat),D.fstat=U(D.fstat),D.lstat=U(D.lstat),D.statSync=Z(D.statSync),D.fstatSync=Z(D.fstatSync),D.lstatSync=Z(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(G,w,q){if(q)process.nextTick(q)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(G,w,q,W){if(W)process.nextTick(W)},D.lchownSync=function(){};if(bq0==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(G){function w(q,W,K){var H=Date.now(),L=0;G(q,W,function M(I){if(I&&(I.code==="EACCES"||I.code==="EPERM"||I.code==="EBUSY")&&Date.now()-H<60000){if(setTimeout(function(){D.stat(W,function(B,N){if(B&&B.code==="ENOENT")G(q,W,M);else K(I)})},L),L<100)L+=10;return}if(K)K(I)})}if(Object.setPrototypeOf)Object.setPrototypeOf(w,G);return w}(D.rename);D.read=typeof D.read!=="function"?D.read:function(G){function w(q,W,K,H,L,M){var I;if(M&&typeof M==="function"){var B=0;I=function(N,z,R){if(N&&N.code==="EAGAIN"&&B<10)return B++,G.call(D,q,W,K,H,L,I);M.apply(this,arguments)}}return G.call(D,q,W,K,H,L,I)}if(Object.setPrototypeOf)Object.setPrototypeOf(w,G);return w}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(G){return function(w,q,W,K,H){var L=0;while(!0)try{return G.call(D,w,q,W,K,H)}catch(M){if(M.code==="EAGAIN"&&L<10){L++;continue}throw M}}}(D.readSync);function $(G){G.lchmod=function(w,q,W){G.open(w,N4.O_WRONLY|N4.O_SYMLINK,q,function(K,H){if(K){if(W)W(K);return}G.fchmod(H,q,function(L){G.close(H,function(M){if(W)W(L||M)})})})},G.lchmodSync=function(w,q){var W=G.openSync(w,N4.O_WRONLY|N4.O_SYMLINK,q),K=!0,H;try{H=G.fchmodSync(W,q),K=!1}finally{if(K)try{G.closeSync(W)}catch(L){}else G.closeSync(W)}return H}}function X(G){if(N4.hasOwnProperty("O_SYMLINK")&&G.futimes)G.lutimes=function(w,q,W,K){G.open(w,N4.O_SYMLINK,function(H,L){if(H){if(K)K(H);return}G.futimes(L,q,W,function(M){G.close(L,function(I){if(K)K(M||I)})})})},G.lutimesSync=function(w,q,W){var K=G.openSync(w,N4.O_SYMLINK),H,L=!0;try{H=G.futimesSync(K,q,W),L=!1}finally{if(L)try{G.closeSync(K)}catch(M){}else G.closeSync(K)}return H};else if(G.futimes)G.lutimes=function(w,q,W,K){if(K)process.nextTick(K)},G.lutimesSync=function(){}}function J(G){if(!G)return G;return function(w,q,W){return G.call(D,w,q,function(K){if(O(K))K=null;if(W)W.apply(this,arguments)})}}function F(G){if(!G)return G;return function(w,q){try{return G.call(D,w,q)}catch(W){if(!O(W))throw W}}}function Y(G){if(!G)return G;return function(w,q,W,K){return G.call(D,w,q,W,function(H){if(O(H))H=null;if(K)K.apply(this,arguments)})}}function Q(G){if(!G)return G;return function(w,q,W){try{return G.call(D,w,q,W)}catch(K){if(!O(K))throw K}}}function U(G){if(!G)return G;return function(w,q,W){if(typeof q==="function")W=q,q=null;function K(H,L){if(L){if(L.uid<0)L.uid+=4294967296;if(L.gid<0)L.gid+=4294967296}if(W)W.apply(this,arguments)}return q?G.call(D,w,q,K):G.call(D,w,K)}}function Z(G){if(!G)return G;return function(w,q){var W=q?G.call(D,w,q):G.call(D,w);if(W){if(W.uid<0)W.uid+=4294967296;if(W.gid<0)W.gid+=4294967296}return W}}function O(G){if(!G)return!0;if(G.code==="ENOSYS")return!0;var w=!process.getuid||process.getuid()!==0;if(w){if(G.code==="EINVAL"||G.code==="EPERM")return!0}return!1}}});var _v=E((qs0,vv)=>{var xv=l("stream").Stream;vv.exports=gq0;function gq0(D){return{ReadStream:$,WriteStream:X};function $(J,F){if(!(this instanceof $))return new $(J,F);xv.call(this);var Y=this;this.path=J,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,F=F||{};var Q=Object.keys(F);for(var U=0,Z=Q.length;U<Z;U++){var O=Q[U];this[O]=F[O]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){Y._read()});return}D.open(this.path,this.flags,this.mode,function(G,w){if(G){Y.emit("error",G),Y.readable=!1;return}Y.fd=w,Y.emit("open",w),Y._read()})}function X(J,F){if(!(this instanceof X))return new X(J,F);xv.call(this),this.path=J,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,F=F||{};var Y=Object.keys(F);for(var Q=0,U=Y.length;Q<U;Q++){var Z=Y[Q];this[Z]=F[Z]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var kv=E((Ws0,fv)=>{fv.exports=cq0;var mq0=Object.getPrototypeOf||function(D){return D.__proto__};function cq0(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var $={__proto__:mq0(D)};else var $=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(X){Object.defineProperty($,X,Object.getOwnPropertyDescriptor(D,X))}),$}});var bD=E((Ks0,JW)=>{var uD=l("fs"),dq0=uv(),nq0=_v(),lq0=kv(),uY=l("util"),Q1,vY;if(typeof Symbol==="function"&&typeof Symbol.for==="function")Q1=Symbol.for("graceful-fs.queue"),vY=Symbol.for("graceful-fs.previous");else Q1="___graceful-fs.queue",vY="___graceful-fs.previous";function iq0(){}function bv(D,$){Object.defineProperty(D,Q1,{get:function(){return $}})}var b8=iq0;if(uY.debuglog)b8=uY.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))b8=function(){var D=uY.format.apply(uY,arguments);D="GFS4: "+D.split(/\n/).join(`
127
- GFS4: `),console.error(D)};if(!uD[Q1]){if(DW=global[Q1]||[],bv(uD,DW),uD.close=function(D){function $(X,J){return D.call(uD,X,function(F){if(!F)yv();if(typeof J==="function")J.apply(this,arguments)})}return Object.defineProperty($,vY,{value:D}),$}(uD.close),uD.closeSync=function(D){function $(X){D.apply(uD,arguments),yv()}return Object.defineProperty($,vY,{value:D}),$}(uD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){b8(uD[Q1]),l("assert").equal(uD[Q1].length,0)})}var DW;if(!global[Q1])bv(global,uD[Q1]);JW.exports=$W(lq0(uD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!uD.__patched)JW.exports=$W(uD),uD.__patched=!0;function $W(D){dq0(D),D.gracefulify=$W,D.createReadStream=z,D.createWriteStream=R;var $=D.readFile;D.readFile=X;function X(A,u,S){if(typeof u==="function")S=u,u=null;return m(A,u,S);function m(g,r,k,T){return $(g,r,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))S5([m,[g,r,k],P,T||Date.now(),Date.now()]);else if(typeof k==="function")k.apply(this,arguments)})}}var J=D.writeFile;D.writeFile=F;function F(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return J(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var Y=D.appendFile;if(Y)D.appendFile=Q;function Q(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return Y(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var U=D.copyFile;if(U)D.copyFile=Z;function Z(A,u,S,m){if(typeof S==="function")m=S,S=0;return g(A,u,S,m);function g(r,k,T,P,x){return U(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var O=D.readdir;D.readdir=w;var G=/^v[0-5]\./;function w(A,u,S){if(typeof u==="function")S=u,u=null;var m=G.test(process.version)?function(k,T,P,x){return O(k,g(k,T,P,x))}:function(k,T,P,x){return O(k,T,g(k,T,P,x))};return m(A,u,S);function g(r,k,T,P){return function(x,f){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))S5([m,[r,k,T],x,P||Date.now(),Date.now()]);else{if(f&&f.sort)f.sort();if(typeof T==="function")T.call(this,x,f)}}}}if(process.version.substr(0,4)==="v0.8"){var q=nq0(D);M=q.ReadStream,B=q.WriteStream}var W=D.ReadStream;if(W)M.prototype=Object.create(W.prototype),M.prototype.open=I;var K=D.WriteStream;if(K)B.prototype=Object.create(K.prototype),B.prototype.open=N;Object.defineProperty(D,"ReadStream",{get:function(){return M},set:function(A){M=A},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return B},set:function(A){B=A},enumerable:!0,configurable:!0});var H=M;Object.defineProperty(D,"FileReadStream",{get:function(){return H},set:function(A){H=A},enumerable:!0,configurable:!0});var L=B;Object.defineProperty(D,"FileWriteStream",{get:function(){return L},set:function(A){L=A},enumerable:!0,configurable:!0});function M(A,u){if(this instanceof M)return W.apply(this,arguments),this;else return M.apply(Object.create(M.prototype),arguments)}function I(){var A=this;_(A.path,A.flags,A.mode,function(u,S){if(u){if(A.autoClose)A.destroy();A.emit("error",u)}else A.fd=S,A.emit("open",S),A.read()})}function B(A,u){if(this instanceof B)return K.apply(this,arguments),this;else return B.apply(Object.create(B.prototype),arguments)}function N(){var A=this;_(A.path,A.flags,A.mode,function(u,S){if(u)A.destroy(),A.emit("error",u);else A.fd=S,A.emit("open",S)})}function z(A,u){return new D.ReadStream(A,u)}function R(A,u){return new D.WriteStream(A,u)}var v=D.open;D.open=_;function _(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return v(r,k,T,function(f,h){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}return D}function S5(D){b8("ENQUEUE",D[0].name,D[1]),uD[Q1].push(D),XW()}var xY;function yv(){var D=Date.now();for(var $=0;$<uD[Q1].length;++$)if(uD[Q1][$].length>2)uD[Q1][$][3]=D,uD[Q1][$][4]=D;XW()}function XW(){if(clearTimeout(xY),xY=void 0,uD[Q1].length===0)return;var D=uD[Q1].shift(),$=D[0],X=D[1],J=D[2],F=D[3],Y=D[4];if(F===void 0)b8("RETRY",$.name,X),$.apply(null,X);else if(Date.now()-F>=60000){b8("TIMEOUT",$.name,X);var Q=X.pop();if(typeof Q==="function")Q.call(null,J)}else{var U=Date.now()-Y,Z=Math.max(Y-F,1),O=Math.min(Z*1.2,100);if(U>=O)b8("RETRY",$.name,X),$.apply(null,X.concat([F]));else uD[Q1].push(D)}if(xY===void 0)xY=setTimeout(XW,0)}});var gv=E((Hs0,hv)=>{function L$(D,$){if(typeof $==="boolean")$={forever:$};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=$||{},this._maxRetryTime=$&&$.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}hv.exports=L$;L$.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};L$.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};L$.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var $=new Date().getTime();if(D&&$-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var J=this,F=setTimeout(function(){if(J._attempts++,J._operationTimeoutCb){if(J._timeout=setTimeout(function(){J._operationTimeoutCb(J._attempts)},J._operationTimeout),J._options.unref)J._timeout.unref()}J._fn(J._attempts)},X);if(this._options.unref)F.unref();return!0};L$.prototype.attempt=function(D,$){if(this._fn=D,$){if($.timeout)this._operationTimeout=$.timeout;if($.cb)this._operationTimeoutCb=$.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};L$.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};L$.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};L$.prototype.start=L$.prototype.try;L$.prototype.errors=function(){return this._errors};L$.prototype.attempts=function(){return this._attempts};L$.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},$=null,X=0;for(var J=0;J<this._errors.length;J++){var F=this._errors[J],Y=F.message,Q=(D[Y]||0)+1;if(D[Y]=Q,Q>=X)$=F,X=Q}return $}});var cv=E((rq0)=>{var pq0=gv();rq0.operation=function(D){var $=rq0.timeouts(D);return new pq0($,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};rq0.timeouts=function(D){if(D instanceof Array)return[].concat(D);var $={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)$[X]=D[X];if($.minTimeout>$.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var J=[];for(var F=0;F<$.retries;F++)J.push(this.createTimeout(F,$));if(D&&D.forever&&!J.length)J.push(this.createTimeout(F,$));return J.sort(function(Y,Q){return Y-Q}),J};rq0.createTimeout=function(D,$){var X=$.randomize?Math.random()+1:1,J=Math.round(X*$.minTimeout*Math.pow($.factor,D));return J=Math.min(J,$.maxTimeout),J};rq0.wrap=function(D,$,X){if($ instanceof Array)X=$,$=null;if(!X){X=[];for(var J in D)if(typeof D[J]==="function")X.push(J)}for(var F=0;F<X.length;F++){var Y=X[F],Q=D[Y];D[Y]=function(Z){var O=rq0.operation($),G=Array.prototype.slice.call(arguments,1),w=G.pop();G.push(function(q){if(O.retry(q))return;if(q)arguments[0]=O.mainError();w.apply(this,arguments)}),O.attempt(function(){Z.apply(D,G)})}.bind(D,Q),D[Y].options=$}}});var dv=E((Ns0,_Y)=>{_Y.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")_Y.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")_Y.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var yY=E((zs0,u5)=>{var RD=global.process,h8=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!h8(RD))u5.exports=function(){return function(){}};else{if(FW=l("assert"),g8=dv(),YW=/^win/i.test(RD.platform),P5=l("events"),typeof P5!=="function")P5=P5.EventEmitter;if(RD.__signal_exit_emitter__)oD=RD.__signal_exit_emitter__;else oD=RD.__signal_exit_emitter__=new P5,oD.count=0,oD.emitted={};if(!oD.infinite)oD.setMaxListeners(1/0),oD.infinite=!0;u5.exports=function(D,$){if(!h8(global.process))return function(){};if(FW.equal(typeof D,"function","a callback must be provided for exit handler"),m8===!1)fY();var X="exit";if($&&$.alwaysLast)X="afterexit";var J=function(){if(oD.removeListener(X,D),oD.listeners("exit").length===0&&oD.listeners("afterexit").length===0)E2()};return oD.on(X,D),J},E2=function(){if(!m8||!h8(global.process))return;m8=!1,g8.forEach(function($){try{RD.removeListener($,R2[$])}catch(X){}}),RD.emit=j2,RD.reallyExit=kY,oD.count-=1},u5.exports.unload=E2,z4=function($,X,J){if(oD.emitted[$])return;oD.emitted[$]=!0,oD.emit($,X,J)},R2={},g8.forEach(function(D){R2[D]=function(){if(!h8(global.process))return;var X=RD.listeners(D);if(X.length===oD.count){if(E2(),z4("exit",null,D),z4("afterexit",null,D),YW&&D==="SIGHUP")D="SIGINT";RD.kill(RD.pid,D)}}}),u5.exports.signals=function(){return g8},m8=!1,fY=function(){if(m8||!h8(global.process))return;m8=!0,oD.count+=1,g8=g8.filter(function($){try{return RD.on($,R2[$]),!0}catch(X){return!1}}),RD.emit=UW,RD.reallyExit=QW},u5.exports.load=fY,kY=RD.reallyExit,QW=function($){if(!h8(global.process))return;RD.exitCode=$||0,z4("exit",RD.exitCode,null),z4("afterexit",RD.exitCode,null),kY.call(RD,RD.exitCode)},j2=RD.emit,UW=function($,X){if($==="exit"&&h8(global.process)){if(X!==void 0)RD.exitCode=X;var J=j2.apply(this,arguments);return z4("exit",RD.exitCode,null),z4("afterexit",RD.exitCode,null),J}else return j2.apply(this,arguments)}}var FW,g8,YW,P5,oD,E2,z4,R2,m8,fY,kY,QW,j2,UW});var lv=E((DW0,ZW)=>{var nv=Symbol();function sq0(D,$,X){let J=$[nv];if(J)return $.stat(D,(Y,Q)=>{if(Y)return X(Y);X(null,Q.mtime,J)});let F=new Date(Math.ceil(Date.now()/1000)*1000+5);$.utimes(D,F,F,(Y)=>{if(Y)return X(Y);$.stat(D,(Q,U)=>{if(Q)return X(Q);let Z=U.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty($,nv,{value:Z}),X(null,U.mtime,Z)})})}function eq0(D){let $=Date.now();if(D==="s")$=Math.ceil($/1000)*1000;return new Date($)}DW0.probe=sq0;DW0.getMtime=eq0});var ov=E((OW0,C2)=>{var JW0=l("path"),wW=bD(),FW0=cv(),YW0=yY(),iv=lv(),k6={};function T2(D,$){return $.lockfilePath||`${D}.lock`}function qW(D,$,X){if(!$.realpath)return X(null,JW0.resolve(D));$.fs.realpath(D,X)}function GW(D,$,X){let J=T2(D,$);$.fs.mkdir(J,(F)=>{if(!F)return iv.probe(J,$.fs,(Y,Q,U)=>{if(Y)return $.fs.rmdir(J,()=>{}),X(Y);X(null,Q,U)});if(F.code!=="EEXIST")return X(F);if($.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));$.fs.stat(J,(Y,Q)=>{if(Y){if(Y.code==="ENOENT")return GW(D,{...$,stale:0},X);return X(Y)}if(!pv(Q,$))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));rv(D,$,(U)=>{if(U)return X(U);GW(D,{...$,stale:0},X)})})})}function pv(D,$){return D.mtime.getTime()<Date.now()-$.stale}function rv(D,$,X){$.fs.rmdir(T2(D,$),(J)=>{if(J&&J.code!=="ENOENT")return X(J);X()})}function bY(D,$){let X=k6[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||$.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,$.fs.stat(X.lockfilePath,(J,F)=>{let Y=X.lastUpdate+$.stale<Date.now();if(J){if(J.code==="ENOENT"||Y)return OW(D,X,Object.assign(J,{code:"ECOMPROMISED"}));return X.updateDelay=1000,bY(D,$)}if(X.mtime.getTime()!==F.mtime.getTime())return OW(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let U=iv.getMtime(X.mtimePrecision);$.fs.utimes(X.lockfilePath,U,U,(Z)=>{let O=X.lastUpdate+$.stale<Date.now();if(X.released)return;if(Z){if(Z.code==="ENOENT"||O)return OW(D,X,Object.assign(Z,{code:"ECOMPROMISED"}));return X.updateDelay=1000,bY(D,$)}X.mtime=U,X.lastUpdate=Date.now(),X.updateDelay=null,bY(D,$)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function OW(D,$,X){if($.released=!0,$.updateTimeout)clearTimeout($.updateTimeout);if(k6[D]===$)delete k6[D];$.options.onCompromised(X)}function QW0(D,$,X){$={stale:1e4,update:null,realpath:!0,retries:0,fs:wW,onCompromised:(J)=>{throw J},...$},$.retries=$.retries||0,$.retries=typeof $.retries==="number"?{retries:$.retries}:$.retries,$.stale=Math.max($.stale||0,2000),$.update=$.update==null?$.stale/2:$.update||0,$.update=Math.max(Math.min($.update,$.stale/2),1000),qW(D,$,(J,F)=>{if(J)return X(J);let Y=FW0.operation($.retries);Y.attempt(()=>{GW(F,$,(Q,U,Z)=>{if(Y.retry(Q))return;if(Q)return X(Y.mainError());let O=k6[F]={lockfilePath:T2(F,$),mtime:U,mtimePrecision:Z,options:$,lastUpdate:Date.now()};bY(F,$),X(null,(G)=>{if(O.released)return G&&G(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));tv(F,{...$,realpath:!1},G)})})})})}function tv(D,$,X){$={fs:wW,realpath:!0,...$},qW(D,$,(J,F)=>{if(J)return X(J);let Y=k6[F];if(!Y)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));Y.updateTimeout&&clearTimeout(Y.updateTimeout),Y.released=!0,delete k6[F],rv(F,$,X)})}function UW0(D,$,X){$={stale:1e4,realpath:!0,fs:wW,...$},$.stale=Math.max($.stale||0,2000),qW(D,$,(J,F)=>{if(J)return X(J);$.fs.stat(T2(F,$),(Y,Q)=>{if(Y)return Y.code==="ENOENT"?X(null,!1):X(Y);return X(null,!pv(Q,$))})})}function ZW0(){return k6}YW0(()=>{for(let D in k6){let $=k6[D].options;try{$.fs.rmdirSync(T2(D,$))}catch(X){}}});OW0.lock=QW0;OW0.unlock=tv;OW0.check=UW0;OW0.getLocks=ZW0});var sv=E((Vs0,av)=>{var KW0=bD();function HW0(D){let $=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return $.forEach((J)=>{X[J]=(...F)=>{let Y=F.pop(),Q;try{Q=D[`${J}Sync`](...F)}catch(U){return Y(U)}Y(null,Q)}}),X}function BW0(D){return(...$)=>new Promise((X,J)=>{$.push((F,Y)=>{if(F)J(F);else X(Y)}),D(...$)})}function NW0(D){return(...$)=>{let X,J;if($.push((F,Y)=>{X=F,J=Y}),D(...$),X)throw X;return J}}function zW0(D){if(D={...D},D.fs=HW0(D.fs||KW0),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}av.exports={toPromise:BW0,toSync:NW0,toSyncOptions:zW0}});var D_=E((Ls0,V4)=>{var x5=ov(),{toPromise:hY,toSync:gY,toSyncOptions:WW}=sv();async function ev(D,$){let X=await hY(x5.lock)(D,$);return hY(X)}function VW0(D,$){let X=gY(x5.lock)(D,WW($));return gY(X)}function LW0(D,$){return hY(x5.unlock)(D,$)}function MW0(D,$){return gY(x5.unlock)(D,WW($))}function IW0(D,$){return hY(x5.check)(D,$)}function AW0(D,$){return gY(x5.check)(D,WW($))}V4.exports=ev;V4.exports.lock=ev;V4.exports.unlock=LW0;V4.exports.lockSync=VW0;V4.exports.unlockSync=MW0;V4.exports.check=IW0;V4.exports.checkSync=AW0});var U_=E((Y_)=>{Object.defineProperty(Y_,"__esModule",{value:!0});Y_.canStoreURLs=Y_.FileUrlStorage=void 0;var $_=l("fs"),EW0=jW0(Sv()),X_=RW0(D_());function F_(D){if(typeof WeakMap!="function")return null;var $=new WeakMap,X=new WeakMap;return(F_=function(J){return J?X:$})(D)}function RW0(D,$){if(!$&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=F_($);if(X&&X.has(D))return X.get(D);var J={__proto__:null},F=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in D)if(Y!=="default"&&{}.hasOwnProperty.call(D,Y)){var Q=F?Object.getOwnPropertyDescriptor(D,Y):null;Q&&(Q.get||Q.set)?Object.defineProperty(J,Y,Q):J[Y]=D[Y]}return J.default=D,X&&X.set(D,J),J}function jW0(D){return D&&D.__esModule?D:{default:D}}function S2(D){return S2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},S2(D)}function TW0(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function J_(D,$){for(var X=0;X<$.length;X++){var J=$[X];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(D,SW0(J.key),J)}}function CW0(D,$,X){if($)J_(D.prototype,$);if(X)J_(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function SW0(D){var $=PW0(D,"string");return S2($)=="symbol"?$:$+""}function PW0(D,$){if(S2(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var J=X.call(D,$||"default");if(S2(J)!="object")return J;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var Ms0=Y_.canStoreURLs=!0,Is0=Y_.FileUrlStorage=function(){function D($){TW0(this,D),this.path=$}return CW0(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(J,F){X._getItems("tus::",function(Y,Q){if(Y)F(Y);else J(Q)})})}},{key:"findUploadsByFingerprint",value:function(X){var J=this;return new Promise(function(F,Y){J._getItems("tus::".concat(X),function(Q,U){if(Q)Y(Q);else F(U)})})}},{key:"removeUpload",value:function(X){var J=this;return new Promise(function(F,Y){J._removeItem(X,function(Q){if(Q)Y(Q);else F()})})}},{key:"addUpload",value:function(X,J){var F=this,Y=Math.round(Math.random()*1000000000000),Q="tus::".concat(X,"::").concat(Y);return new Promise(function(U,Z){F._setItem(Q,J,function(O){if(O)Z(O);else U(Q)})})}},{key:"_setItem",value:function(X,J,F){var Y=this;X_.lock(this.path,this._lockfileOptions()).then(function(Q){F=Y._releaseAndCb(Q,F),Y._getData(function(U,Z){if(U){F(U);return}Z[X]=J,Y._writeData(Z,function(O){return F(O)})})}).catch(F)}},{key:"_getItems",value:function(X,J){this._getData(function(F,Y){if(F){J(F);return}var Q=Object.keys(Y).filter(function(U){return U.startsWith(X)}).map(function(U){var Z=Y[U];return Z.urlStorageKey=U,Z});J(null,Q)})}},{key:"_removeItem",value:function(X,J){var F=this;X_.lock(this.path,this._lockfileOptions()).then(function(Y){J=F._releaseAndCb(Y,J),F._getData(function(Q,U){if(Q){J(Q);return}delete U[X],F._writeData(U,function(Z){return J(Z)})})}).catch(J)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,J){return function(F){if(F){X().then(function(){return J(F)}).catch(function(Y){return J((0,EW0.default)([F,Y]))});return}X().then(J).catch(J)}}},{key:"_writeData",value:function(X,J){var F={encoding:"utf8",mode:432,flag:"w"};(0,$_.writeFile)(this.path,JSON.stringify(X),F,function(Y){return J(Y)})}},{key:"_getData",value:function(X){(0,$_.readFile)(this.path,"utf8",function(J,F){if(J){if(J.code==="ENOENT")X(null,{});else X(J);return}try{F=!F.trim().length?{}:JSON.parse(F)}catch(Y){X(Y);return}X(null,F)})}}])}()});var cY=E((L4)=>{Object.defineProperty(L4,"__esModule",{value:!0});Object.defineProperty(L4,"DefaultHttpStack",{enumerable:!0,get:function(){return w_.default}});Object.defineProperty(L4,"DetailedError",{enumerable:!0,get:function(){return xW0.default}});Object.defineProperty(L4,"FileUrlStorage",{enumerable:!0,get:function(){return q_.FileUrlStorage}});Object.defineProperty(L4,"StreamSource",{enumerable:!0,get:function(){return yW0.default}});L4.Upload=void 0;Object.defineProperty(L4,"canStoreURLs",{enumerable:!0,get:function(){return q_.canStoreURLs}});L4.defaultOptions=void 0;Object.defineProperty(L4,"enableDebugLog",{enumerable:!0,get:function(){return vW0.enableDebugLog}});L4.isSupported=void 0;var xW0=c8(Wq()),vW0=Kq(),_W0=c8(Du()),KW=c8(vu()),fW0=c8(eu()),kW0=c8(Fx()),w_=c8(Lx()),yW0=c8(Rq()),q_=U_();function c8(D){return D&&D.__esModule?D:{default:D}}function _5(D){return _5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},_5(D)}function bW0(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function Z_(D,$){for(var X=0;X<$.length;X++){var J=$[X];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(D,K_(J.key),J)}}function hW0(D,$,X){if($)Z_(D.prototype,$);if(X)Z_(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function gW0(D,$,X){return $=mY($),mW0(D,W_()?Reflect.construct($,X||[],mY(D).constructor):$.apply(D,X))}function mW0(D,$){if($&&(_5($)==="object"||typeof $==="function"))return $;else if($!==void 0)throw TypeError("Derived constructors may only return object or undefined");return cW0(D)}function cW0(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function W_(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch($){}return(W_=function(){return!!D})()}function mY(D){return mY=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},mY(D)}function dW0(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create($&&$.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),$)HW(D,$)}function HW(D,$){return HW=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(J,F){return J.__proto__=F,J},HW(D,$)}function O_(D,$){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(D);$&&(J=J.filter(function(F){return Object.getOwnPropertyDescriptor(D,F).enumerable})),X.push.apply(X,J)}return X}function v5(D){for(var $=1;$<arguments.length;$++){var X=arguments[$]!=null?arguments[$]:{};$%2?O_(Object(X),!0).forEach(function(J){nW0(D,J,X[J])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):O_(Object(X)).forEach(function(J){Object.defineProperty(D,J,Object.getOwnPropertyDescriptor(X,J))})}return D}function nW0(D,$,X){if($=K_($),$ in D)Object.defineProperty(D,$,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[$]=X;return D}function K_(D){var $=lW0(D,"string");return _5($)=="symbol"?$:$+""}function lW0(D,$){if(_5(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var J=X.call(D,$||"default");if(_5(J)!="object")return J;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var G_=L4.defaultOptions=v5(v5({},KW.default.defaultOptions),{},{httpStack:new w_.default,fileReader:new fW0.default,urlStorage:new _W0.default,fingerprint:kW0.default}),Es0=L4.Upload=function(D){function $(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return bW0(this,$),J=v5(v5({},G_),J),gW0(this,$,[X,J])}return dW0($,D),hW0($,null,[{key:"terminate",value:function(J){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return F=v5(v5({},G_),F),KW.default.terminate(J,F)}}])}(KW.default),Rs0=L4.isSupported=!0});var i1;var d8=p(()=>{i1={name:"@capgo/cli",type:"module",version:"7.124.6",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:fail-on-incompatible":"bun test/test-fail-on-incompatible.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:v2-event-migration":"bun test/test-v2-event-migration.mjs","test:analytics":"bun test/test-analytics.mjs","test:analytics-error-category":"bun test/test-analytics-error-category.mjs","test:analytics-org-resolver":"bun test/test-analytics-org-resolver.mjs","test:supabase-perf":"bun test/test-supabase-perf.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.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:bundle-id-detector":"bun test/test-bundle-id-detector.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:fail-on-incompatible && 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:v2-event-migration && bun run test:analytics && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:mcp-analytics && bun run test:app-created-source && bun run test:doctor-analytics && 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:bundle-id-detector && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit","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","test:ai-onboarding-mode":"bun test/test-ai-onboarding-mode.mjs","test:ai-fit":"bun test/test-ai-fit.mjs","test:platform-layout":"bun test/test-platform-layout.mjs","test:frame-fit":"bun test/run-frame-fit.mjs","test:onboarding-min-size":"bun test/test-onboarding-min-size.mjs","test:min-size-gate":"bun test/test-min-size-gate.mjs","test:shell-size-gate":"bun test/test-shell-size-gate.mjs","test:build-log-sanitize":"bun test/test-build-log-sanitize.mjs","test:build-output-viewport":"bun test/test-build-output-viewport.mjs","test:diff-viewer-viewport":"bun test/test-diff-viewer-viewport.mjs","test:build-complete-exit":"bun test/test-build-complete-exit.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","string-width":"^8.2.1"},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","@xterm/headless":"^6.0.0","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"}}});async function dY(D){try{let X=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,J=await fetch(X,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!J.ok)return null;return(await J.json())["dist-tags"]?.latest||null}catch{return null}}async function pW0(){let D=await dY("@capgo/cli")??"",$=D?.split(".")[0]??"";return{currentVersion:i1.version,latestVersion:D,isOutdated:!!D&&D!==i1.version,majorVersion:$}}async function WD(){let{isOutdated:D,currentVersion:$,latestVersion:X,majorVersion:J}=await pW0();if(D)V.warning(`\uD83D\uDEA8 You are using @capgo/cli@${$} it's not the latest version.
127
+ GFS4: `),console.error(D)};if(!uD[Q1]){if(DW=global[Q1]||[],bv(uD,DW),uD.close=function(D){function $(X,J){return D.call(uD,X,function(F){if(!F)yv();if(typeof J==="function")J.apply(this,arguments)})}return Object.defineProperty($,vY,{value:D}),$}(uD.close),uD.closeSync=function(D){function $(X){D.apply(uD,arguments),yv()}return Object.defineProperty($,vY,{value:D}),$}(uD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){b8(uD[Q1]),l("assert").equal(uD[Q1].length,0)})}var DW;if(!global[Q1])bv(global,uD[Q1]);JW.exports=$W(lq0(uD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!uD.__patched)JW.exports=$W(uD),uD.__patched=!0;function $W(D){dq0(D),D.gracefulify=$W,D.createReadStream=z,D.createWriteStream=R;var $=D.readFile;D.readFile=X;function X(A,u,S){if(typeof u==="function")S=u,u=null;return m(A,u,S);function m(g,r,k,T){return $(g,r,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))S5([m,[g,r,k],P,T||Date.now(),Date.now()]);else if(typeof k==="function")k.apply(this,arguments)})}}var J=D.writeFile;D.writeFile=F;function F(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return J(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var Y=D.appendFile;if(Y)D.appendFile=Q;function Q(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return Y(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var U=D.copyFile;if(U)D.copyFile=Z;function Z(A,u,S,m){if(typeof S==="function")m=S,S=0;return g(A,u,S,m);function g(r,k,T,P,x){return U(r,k,T,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}var O=D.readdir;D.readdir=w;var G=/^v[0-5]\./;function w(A,u,S){if(typeof u==="function")S=u,u=null;var m=G.test(process.version)?function(k,T,P,x){return O(k,g(k,T,P,x))}:function(k,T,P,x){return O(k,T,g(k,T,P,x))};return m(A,u,S);function g(r,k,T,P){return function(x,f){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))S5([m,[r,k,T],x,P||Date.now(),Date.now()]);else{if(f&&f.sort)f.sort();if(typeof T==="function")T.call(this,x,f)}}}}if(process.version.substr(0,4)==="v0.8"){var q=nq0(D);M=q.ReadStream,B=q.WriteStream}var W=D.ReadStream;if(W)M.prototype=Object.create(W.prototype),M.prototype.open=I;var K=D.WriteStream;if(K)B.prototype=Object.create(K.prototype),B.prototype.open=N;Object.defineProperty(D,"ReadStream",{get:function(){return M},set:function(A){M=A},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return B},set:function(A){B=A},enumerable:!0,configurable:!0});var H=M;Object.defineProperty(D,"FileReadStream",{get:function(){return H},set:function(A){H=A},enumerable:!0,configurable:!0});var L=B;Object.defineProperty(D,"FileWriteStream",{get:function(){return L},set:function(A){L=A},enumerable:!0,configurable:!0});function M(A,u){if(this instanceof M)return W.apply(this,arguments),this;else return M.apply(Object.create(M.prototype),arguments)}function I(){var A=this;_(A.path,A.flags,A.mode,function(u,S){if(u){if(A.autoClose)A.destroy();A.emit("error",u)}else A.fd=S,A.emit("open",S),A.read()})}function B(A,u){if(this instanceof B)return K.apply(this,arguments),this;else return B.apply(Object.create(B.prototype),arguments)}function N(){var A=this;_(A.path,A.flags,A.mode,function(u,S){if(u)A.destroy(),A.emit("error",u);else A.fd=S,A.emit("open",S)})}function z(A,u){return new D.ReadStream(A,u)}function R(A,u){return new D.WriteStream(A,u)}var v=D.open;D.open=_;function _(A,u,S,m){if(typeof S==="function")m=S,S=null;return g(A,u,S,m);function g(r,k,T,P,x){return v(r,k,T,function(f,h){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))S5([g,[r,k,T,P],f,x||Date.now(),Date.now()]);else if(typeof P==="function")P.apply(this,arguments)})}}return D}function S5(D){b8("ENQUEUE",D[0].name,D[1]),uD[Q1].push(D),XW()}var xY;function yv(){var D=Date.now();for(var $=0;$<uD[Q1].length;++$)if(uD[Q1][$].length>2)uD[Q1][$][3]=D,uD[Q1][$][4]=D;XW()}function XW(){if(clearTimeout(xY),xY=void 0,uD[Q1].length===0)return;var D=uD[Q1].shift(),$=D[0],X=D[1],J=D[2],F=D[3],Y=D[4];if(F===void 0)b8("RETRY",$.name,X),$.apply(null,X);else if(Date.now()-F>=60000){b8("TIMEOUT",$.name,X);var Q=X.pop();if(typeof Q==="function")Q.call(null,J)}else{var U=Date.now()-Y,Z=Math.max(Y-F,1),O=Math.min(Z*1.2,100);if(U>=O)b8("RETRY",$.name,X),$.apply(null,X.concat([F]));else uD[Q1].push(D)}if(xY===void 0)xY=setTimeout(XW,0)}});var gv=E((Hs0,hv)=>{function L$(D,$){if(typeof $==="boolean")$={forever:$};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=$||{},this._maxRetryTime=$&&$.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}hv.exports=L$;L$.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};L$.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};L$.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var $=new Date().getTime();if(D&&$-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var J=this,F=setTimeout(function(){if(J._attempts++,J._operationTimeoutCb){if(J._timeout=setTimeout(function(){J._operationTimeoutCb(J._attempts)},J._operationTimeout),J._options.unref)J._timeout.unref()}J._fn(J._attempts)},X);if(this._options.unref)F.unref();return!0};L$.prototype.attempt=function(D,$){if(this._fn=D,$){if($.timeout)this._operationTimeout=$.timeout;if($.cb)this._operationTimeoutCb=$.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};L$.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};L$.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};L$.prototype.start=L$.prototype.try;L$.prototype.errors=function(){return this._errors};L$.prototype.attempts=function(){return this._attempts};L$.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},$=null,X=0;for(var J=0;J<this._errors.length;J++){var F=this._errors[J],Y=F.message,Q=(D[Y]||0)+1;if(D[Y]=Q,Q>=X)$=F,X=Q}return $}});var cv=E((rq0)=>{var pq0=gv();rq0.operation=function(D){var $=rq0.timeouts(D);return new pq0($,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};rq0.timeouts=function(D){if(D instanceof Array)return[].concat(D);var $={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)$[X]=D[X];if($.minTimeout>$.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var J=[];for(var F=0;F<$.retries;F++)J.push(this.createTimeout(F,$));if(D&&D.forever&&!J.length)J.push(this.createTimeout(F,$));return J.sort(function(Y,Q){return Y-Q}),J};rq0.createTimeout=function(D,$){var X=$.randomize?Math.random()+1:1,J=Math.round(X*$.minTimeout*Math.pow($.factor,D));return J=Math.min(J,$.maxTimeout),J};rq0.wrap=function(D,$,X){if($ instanceof Array)X=$,$=null;if(!X){X=[];for(var J in D)if(typeof D[J]==="function")X.push(J)}for(var F=0;F<X.length;F++){var Y=X[F],Q=D[Y];D[Y]=function(Z){var O=rq0.operation($),G=Array.prototype.slice.call(arguments,1),w=G.pop();G.push(function(q){if(O.retry(q))return;if(q)arguments[0]=O.mainError();w.apply(this,arguments)}),O.attempt(function(){Z.apply(D,G)})}.bind(D,Q),D[Y].options=$}}});var dv=E((Ns0,_Y)=>{_Y.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")_Y.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")_Y.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var yY=E((zs0,u5)=>{var RD=global.process,h8=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!h8(RD))u5.exports=function(){return function(){}};else{if(FW=l("assert"),g8=dv(),YW=/^win/i.test(RD.platform),P5=l("events"),typeof P5!=="function")P5=P5.EventEmitter;if(RD.__signal_exit_emitter__)oD=RD.__signal_exit_emitter__;else oD=RD.__signal_exit_emitter__=new P5,oD.count=0,oD.emitted={};if(!oD.infinite)oD.setMaxListeners(1/0),oD.infinite=!0;u5.exports=function(D,$){if(!h8(global.process))return function(){};if(FW.equal(typeof D,"function","a callback must be provided for exit handler"),m8===!1)fY();var X="exit";if($&&$.alwaysLast)X="afterexit";var J=function(){if(oD.removeListener(X,D),oD.listeners("exit").length===0&&oD.listeners("afterexit").length===0)E2()};return oD.on(X,D),J},E2=function(){if(!m8||!h8(global.process))return;m8=!1,g8.forEach(function($){try{RD.removeListener($,R2[$])}catch(X){}}),RD.emit=j2,RD.reallyExit=kY,oD.count-=1},u5.exports.unload=E2,z4=function($,X,J){if(oD.emitted[$])return;oD.emitted[$]=!0,oD.emit($,X,J)},R2={},g8.forEach(function(D){R2[D]=function(){if(!h8(global.process))return;var X=RD.listeners(D);if(X.length===oD.count){if(E2(),z4("exit",null,D),z4("afterexit",null,D),YW&&D==="SIGHUP")D="SIGINT";RD.kill(RD.pid,D)}}}),u5.exports.signals=function(){return g8},m8=!1,fY=function(){if(m8||!h8(global.process))return;m8=!0,oD.count+=1,g8=g8.filter(function($){try{return RD.on($,R2[$]),!0}catch(X){return!1}}),RD.emit=UW,RD.reallyExit=QW},u5.exports.load=fY,kY=RD.reallyExit,QW=function($){if(!h8(global.process))return;RD.exitCode=$||0,z4("exit",RD.exitCode,null),z4("afterexit",RD.exitCode,null),kY.call(RD,RD.exitCode)},j2=RD.emit,UW=function($,X){if($==="exit"&&h8(global.process)){if(X!==void 0)RD.exitCode=X;var J=j2.apply(this,arguments);return z4("exit",RD.exitCode,null),z4("afterexit",RD.exitCode,null),J}else return j2.apply(this,arguments)}}var FW,g8,YW,P5,oD,E2,z4,R2,m8,fY,kY,QW,j2,UW});var lv=E((DW0,ZW)=>{var nv=Symbol();function sq0(D,$,X){let J=$[nv];if(J)return $.stat(D,(Y,Q)=>{if(Y)return X(Y);X(null,Q.mtime,J)});let F=new Date(Math.ceil(Date.now()/1000)*1000+5);$.utimes(D,F,F,(Y)=>{if(Y)return X(Y);$.stat(D,(Q,U)=>{if(Q)return X(Q);let Z=U.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty($,nv,{value:Z}),X(null,U.mtime,Z)})})}function eq0(D){let $=Date.now();if(D==="s")$=Math.ceil($/1000)*1000;return new Date($)}DW0.probe=sq0;DW0.getMtime=eq0});var ov=E((OW0,C2)=>{var JW0=l("path"),wW=bD(),FW0=cv(),YW0=yY(),iv=lv(),k6={};function T2(D,$){return $.lockfilePath||`${D}.lock`}function qW(D,$,X){if(!$.realpath)return X(null,JW0.resolve(D));$.fs.realpath(D,X)}function GW(D,$,X){let J=T2(D,$);$.fs.mkdir(J,(F)=>{if(!F)return iv.probe(J,$.fs,(Y,Q,U)=>{if(Y)return $.fs.rmdir(J,()=>{}),X(Y);X(null,Q,U)});if(F.code!=="EEXIST")return X(F);if($.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));$.fs.stat(J,(Y,Q)=>{if(Y){if(Y.code==="ENOENT")return GW(D,{...$,stale:0},X);return X(Y)}if(!pv(Q,$))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));rv(D,$,(U)=>{if(U)return X(U);GW(D,{...$,stale:0},X)})})})}function pv(D,$){return D.mtime.getTime()<Date.now()-$.stale}function rv(D,$,X){$.fs.rmdir(T2(D,$),(J)=>{if(J&&J.code!=="ENOENT")return X(J);X()})}function bY(D,$){let X=k6[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||$.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,$.fs.stat(X.lockfilePath,(J,F)=>{let Y=X.lastUpdate+$.stale<Date.now();if(J){if(J.code==="ENOENT"||Y)return OW(D,X,Object.assign(J,{code:"ECOMPROMISED"}));return X.updateDelay=1000,bY(D,$)}if(X.mtime.getTime()!==F.mtime.getTime())return OW(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let U=iv.getMtime(X.mtimePrecision);$.fs.utimes(X.lockfilePath,U,U,(Z)=>{let O=X.lastUpdate+$.stale<Date.now();if(X.released)return;if(Z){if(Z.code==="ENOENT"||O)return OW(D,X,Object.assign(Z,{code:"ECOMPROMISED"}));return X.updateDelay=1000,bY(D,$)}X.mtime=U,X.lastUpdate=Date.now(),X.updateDelay=null,bY(D,$)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function OW(D,$,X){if($.released=!0,$.updateTimeout)clearTimeout($.updateTimeout);if(k6[D]===$)delete k6[D];$.options.onCompromised(X)}function QW0(D,$,X){$={stale:1e4,update:null,realpath:!0,retries:0,fs:wW,onCompromised:(J)=>{throw J},...$},$.retries=$.retries||0,$.retries=typeof $.retries==="number"?{retries:$.retries}:$.retries,$.stale=Math.max($.stale||0,2000),$.update=$.update==null?$.stale/2:$.update||0,$.update=Math.max(Math.min($.update,$.stale/2),1000),qW(D,$,(J,F)=>{if(J)return X(J);let Y=FW0.operation($.retries);Y.attempt(()=>{GW(F,$,(Q,U,Z)=>{if(Y.retry(Q))return;if(Q)return X(Y.mainError());let O=k6[F]={lockfilePath:T2(F,$),mtime:U,mtimePrecision:Z,options:$,lastUpdate:Date.now()};bY(F,$),X(null,(G)=>{if(O.released)return G&&G(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));tv(F,{...$,realpath:!1},G)})})})})}function tv(D,$,X){$={fs:wW,realpath:!0,...$},qW(D,$,(J,F)=>{if(J)return X(J);let Y=k6[F];if(!Y)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));Y.updateTimeout&&clearTimeout(Y.updateTimeout),Y.released=!0,delete k6[F],rv(F,$,X)})}function UW0(D,$,X){$={stale:1e4,realpath:!0,fs:wW,...$},$.stale=Math.max($.stale||0,2000),qW(D,$,(J,F)=>{if(J)return X(J);$.fs.stat(T2(F,$),(Y,Q)=>{if(Y)return Y.code==="ENOENT"?X(null,!1):X(Y);return X(null,!pv(Q,$))})})}function ZW0(){return k6}YW0(()=>{for(let D in k6){let $=k6[D].options;try{$.fs.rmdirSync(T2(D,$))}catch(X){}}});OW0.lock=QW0;OW0.unlock=tv;OW0.check=UW0;OW0.getLocks=ZW0});var sv=E((Vs0,av)=>{var KW0=bD();function HW0(D){let $=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return $.forEach((J)=>{X[J]=(...F)=>{let Y=F.pop(),Q;try{Q=D[`${J}Sync`](...F)}catch(U){return Y(U)}Y(null,Q)}}),X}function BW0(D){return(...$)=>new Promise((X,J)=>{$.push((F,Y)=>{if(F)J(F);else X(Y)}),D(...$)})}function NW0(D){return(...$)=>{let X,J;if($.push((F,Y)=>{X=F,J=Y}),D(...$),X)throw X;return J}}function zW0(D){if(D={...D},D.fs=HW0(D.fs||KW0),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}av.exports={toPromise:BW0,toSync:NW0,toSyncOptions:zW0}});var D_=E((Ls0,V4)=>{var x5=ov(),{toPromise:hY,toSync:gY,toSyncOptions:WW}=sv();async function ev(D,$){let X=await hY(x5.lock)(D,$);return hY(X)}function VW0(D,$){let X=gY(x5.lock)(D,WW($));return gY(X)}function LW0(D,$){return hY(x5.unlock)(D,$)}function MW0(D,$){return gY(x5.unlock)(D,WW($))}function IW0(D,$){return hY(x5.check)(D,$)}function AW0(D,$){return gY(x5.check)(D,WW($))}V4.exports=ev;V4.exports.lock=ev;V4.exports.unlock=LW0;V4.exports.lockSync=VW0;V4.exports.unlockSync=MW0;V4.exports.check=IW0;V4.exports.checkSync=AW0});var U_=E((Y_)=>{Object.defineProperty(Y_,"__esModule",{value:!0});Y_.canStoreURLs=Y_.FileUrlStorage=void 0;var $_=l("fs"),EW0=jW0(Sv()),X_=RW0(D_());function F_(D){if(typeof WeakMap!="function")return null;var $=new WeakMap,X=new WeakMap;return(F_=function(J){return J?X:$})(D)}function RW0(D,$){if(!$&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=F_($);if(X&&X.has(D))return X.get(D);var J={__proto__:null},F=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in D)if(Y!=="default"&&{}.hasOwnProperty.call(D,Y)){var Q=F?Object.getOwnPropertyDescriptor(D,Y):null;Q&&(Q.get||Q.set)?Object.defineProperty(J,Y,Q):J[Y]=D[Y]}return J.default=D,X&&X.set(D,J),J}function jW0(D){return D&&D.__esModule?D:{default:D}}function S2(D){return S2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},S2(D)}function TW0(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function J_(D,$){for(var X=0;X<$.length;X++){var J=$[X];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(D,SW0(J.key),J)}}function CW0(D,$,X){if($)J_(D.prototype,$);if(X)J_(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function SW0(D){var $=PW0(D,"string");return S2($)=="symbol"?$:$+""}function PW0(D,$){if(S2(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var J=X.call(D,$||"default");if(S2(J)!="object")return J;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var Ms0=Y_.canStoreURLs=!0,Is0=Y_.FileUrlStorage=function(){function D($){TW0(this,D),this.path=$}return CW0(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(J,F){X._getItems("tus::",function(Y,Q){if(Y)F(Y);else J(Q)})})}},{key:"findUploadsByFingerprint",value:function(X){var J=this;return new Promise(function(F,Y){J._getItems("tus::".concat(X),function(Q,U){if(Q)Y(Q);else F(U)})})}},{key:"removeUpload",value:function(X){var J=this;return new Promise(function(F,Y){J._removeItem(X,function(Q){if(Q)Y(Q);else F()})})}},{key:"addUpload",value:function(X,J){var F=this,Y=Math.round(Math.random()*1000000000000),Q="tus::".concat(X,"::").concat(Y);return new Promise(function(U,Z){F._setItem(Q,J,function(O){if(O)Z(O);else U(Q)})})}},{key:"_setItem",value:function(X,J,F){var Y=this;X_.lock(this.path,this._lockfileOptions()).then(function(Q){F=Y._releaseAndCb(Q,F),Y._getData(function(U,Z){if(U){F(U);return}Z[X]=J,Y._writeData(Z,function(O){return F(O)})})}).catch(F)}},{key:"_getItems",value:function(X,J){this._getData(function(F,Y){if(F){J(F);return}var Q=Object.keys(Y).filter(function(U){return U.startsWith(X)}).map(function(U){var Z=Y[U];return Z.urlStorageKey=U,Z});J(null,Q)})}},{key:"_removeItem",value:function(X,J){var F=this;X_.lock(this.path,this._lockfileOptions()).then(function(Y){J=F._releaseAndCb(Y,J),F._getData(function(Q,U){if(Q){J(Q);return}delete U[X],F._writeData(U,function(Z){return J(Z)})})}).catch(J)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,J){return function(F){if(F){X().then(function(){return J(F)}).catch(function(Y){return J((0,EW0.default)([F,Y]))});return}X().then(J).catch(J)}}},{key:"_writeData",value:function(X,J){var F={encoding:"utf8",mode:432,flag:"w"};(0,$_.writeFile)(this.path,JSON.stringify(X),F,function(Y){return J(Y)})}},{key:"_getData",value:function(X){(0,$_.readFile)(this.path,"utf8",function(J,F){if(J){if(J.code==="ENOENT")X(null,{});else X(J);return}try{F=!F.trim().length?{}:JSON.parse(F)}catch(Y){X(Y);return}X(null,F)})}}])}()});var cY=E((L4)=>{Object.defineProperty(L4,"__esModule",{value:!0});Object.defineProperty(L4,"DefaultHttpStack",{enumerable:!0,get:function(){return w_.default}});Object.defineProperty(L4,"DetailedError",{enumerable:!0,get:function(){return xW0.default}});Object.defineProperty(L4,"FileUrlStorage",{enumerable:!0,get:function(){return q_.FileUrlStorage}});Object.defineProperty(L4,"StreamSource",{enumerable:!0,get:function(){return yW0.default}});L4.Upload=void 0;Object.defineProperty(L4,"canStoreURLs",{enumerable:!0,get:function(){return q_.canStoreURLs}});L4.defaultOptions=void 0;Object.defineProperty(L4,"enableDebugLog",{enumerable:!0,get:function(){return vW0.enableDebugLog}});L4.isSupported=void 0;var xW0=c8(Wq()),vW0=Kq(),_W0=c8(Du()),KW=c8(vu()),fW0=c8(eu()),kW0=c8(Fx()),w_=c8(Lx()),yW0=c8(Rq()),q_=U_();function c8(D){return D&&D.__esModule?D:{default:D}}function _5(D){return _5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},_5(D)}function bW0(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function Z_(D,$){for(var X=0;X<$.length;X++){var J=$[X];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(D,K_(J.key),J)}}function hW0(D,$,X){if($)Z_(D.prototype,$);if(X)Z_(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function gW0(D,$,X){return $=mY($),mW0(D,W_()?Reflect.construct($,X||[],mY(D).constructor):$.apply(D,X))}function mW0(D,$){if($&&(_5($)==="object"||typeof $==="function"))return $;else if($!==void 0)throw TypeError("Derived constructors may only return object or undefined");return cW0(D)}function cW0(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function W_(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch($){}return(W_=function(){return!!D})()}function mY(D){return mY=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},mY(D)}function dW0(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create($&&$.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),$)HW(D,$)}function HW(D,$){return HW=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(J,F){return J.__proto__=F,J},HW(D,$)}function O_(D,$){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(D);$&&(J=J.filter(function(F){return Object.getOwnPropertyDescriptor(D,F).enumerable})),X.push.apply(X,J)}return X}function v5(D){for(var $=1;$<arguments.length;$++){var X=arguments[$]!=null?arguments[$]:{};$%2?O_(Object(X),!0).forEach(function(J){nW0(D,J,X[J])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):O_(Object(X)).forEach(function(J){Object.defineProperty(D,J,Object.getOwnPropertyDescriptor(X,J))})}return D}function nW0(D,$,X){if($=K_($),$ in D)Object.defineProperty(D,$,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[$]=X;return D}function K_(D){var $=lW0(D,"string");return _5($)=="symbol"?$:$+""}function lW0(D,$){if(_5(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var J=X.call(D,$||"default");if(_5(J)!="object")return J;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var G_=L4.defaultOptions=v5(v5({},KW.default.defaultOptions),{},{httpStack:new w_.default,fileReader:new fW0.default,urlStorage:new _W0.default,fingerprint:kW0.default}),Es0=L4.Upload=function(D){function $(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return bW0(this,$),J=v5(v5({},G_),J),gW0(this,$,[X,J])}return dW0($,D),hW0($,null,[{key:"terminate",value:function(J){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return F=v5(v5({},G_),F),KW.default.terminate(J,F)}}])}(KW.default),Rs0=L4.isSupported=!0});var i1;var d8=p(()=>{i1={name:"@capgo/cli",type:"module",version:"7.124.8",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:fail-on-incompatible":"bun test/test-fail-on-incompatible.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:v2-event-migration":"bun test/test-v2-event-migration.mjs","test:analytics":"bun test/test-analytics.mjs","test:analytics-error-category":"bun test/test-analytics-error-category.mjs","test:analytics-org-resolver":"bun test/test-analytics-org-resolver.mjs","test:supabase-perf":"bun test/test-supabase-perf.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.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:bundle-id-detector":"bun test/test-bundle-id-detector.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:fail-on-incompatible && 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:v2-event-migration && bun run test:analytics && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:mcp-analytics && bun run test:app-created-source && bun run test:doctor-analytics && 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:bundle-id-detector && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-render-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit","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","test:ai-onboarding-mode":"bun test/test-ai-onboarding-mode.mjs","test:ai-fit":"bun test/test-ai-fit.mjs","test:platform-layout":"bun test/test-platform-layout.mjs","test:frame-fit":"bun test/run-frame-fit.mjs","test:onboarding-min-size":"bun test/test-onboarding-min-size.mjs","test:min-size-gate":"bun test/test-min-size-gate.mjs","test:shell-size-gate":"bun test/test-shell-size-gate.mjs","test:build-log-sanitize":"bun test/test-build-log-sanitize.mjs","test:build-output-viewport":"bun test/test-build-output-viewport.mjs","test:diff-viewer-viewport":"bun test/test-diff-viewer-viewport.mjs","test:build-complete-exit":"bun test/test-build-complete-exit.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","string-width":"^8.2.1"},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","@xterm/headless":"^6.0.0","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"}}});async function dY(D){try{let X=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,J=await fetch(X,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!J.ok)return null;return(await J.json())["dist-tags"]?.latest||null}catch{return null}}async function pW0(){let D=await dY("@capgo/cli")??"",$=D?.split(".")[0]??"";return{currentVersion:i1.version,latestVersion:D,isOutdated:!!D&&D!==i1.version,majorVersion:$}}async function WD(){let{isOutdated:D,currentVersion:$,latestVersion:X,majorVersion:J}=await pW0();if(D)V.warning(`\uD83D\uDEA8 You are using @capgo/cli@${$} it's not the latest version.
128
128
  Please use @capgo/cli@${X}" or @capgo/cli@${J} to keep up to date with the latest features and bug fixes.`)}var T1=p(()=>{f0();d8()});async function z_(D,$,X,J,F,Y="✅"){await M0(X,{channel:D,event:J,icon:Y,org_id:$,tracking_version:2,...F?{tags:{"app-id":F}}:{},notify:!1})}var V_=p(()=>{f0();c9();T1();x0()});var M_=E((bs0,L_)=>{var f5=1000,k5=f5*60,y5=k5*60,n8=y5*24,rW0=n8*7,tW0=n8*365.25;L_.exports=function(D,$){$=$||{};var X=typeof D;if(X==="string"&&D.length>0)return oW0(D);else if(X==="number"&&isFinite(D))return $.long?sW0(D):aW0(D);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(D))};function oW0(D){if(D=String(D),D.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(D);if(!$)return;var X=parseFloat($[1]),J=($[2]||"ms").toLowerCase();switch(J){case"years":case"year":case"yrs":case"yr":case"y":return X*tW0;case"weeks":case"week":case"w":return X*rW0;case"days":case"day":case"d":return X*n8;case"hours":case"hour":case"hrs":case"hr":case"h":return X*y5;case"minutes":case"minute":case"mins":case"min":case"m":return X*k5;case"seconds":case"second":case"secs":case"sec":case"s":return X*f5;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return X;default:return}}function aW0(D){var $=Math.abs(D);if($>=n8)return Math.round(D/n8)+"d";if($>=y5)return Math.round(D/y5)+"h";if($>=k5)return Math.round(D/k5)+"m";if($>=f5)return Math.round(D/f5)+"s";return D+"ms"}function sW0(D){var $=Math.abs(D);if($>=n8)return nY(D,$,n8,"day");if($>=y5)return nY(D,$,y5,"hour");if($>=k5)return nY(D,$,k5,"minute");if($>=f5)return nY(D,$,f5,"second");return D+" ms"}function nY(D,$,X,J){var F=$>=X*1.5;return Math.round(D/X)+" "+J+(F?"s":"")}});var BW=E((hs0,I_)=>{function eW0(D){X.debug=X,X.default=X,X.coerce=Z,X.disable=Q,X.enable=F,X.enabled=U,X.humanize=M_(),X.destroy=O,Object.keys(D).forEach((G)=>{X[G]=D[G]}),X.names=[],X.skips=[],X.formatters={};function $(G){let w=0;for(let q=0;q<G.length;q++)w=(w<<5)-w+G.charCodeAt(q),w|=0;return X.colors[Math.abs(w)%X.colors.length]}X.selectColor=$;function X(G){let w,q=null,W,K;function H(...L){if(!H.enabled)return;let M=H,I=Number(new Date),B=I-(w||I);if(M.diff=B,M.prev=w,M.curr=I,w=I,L[0]=X.coerce(L[0]),typeof L[0]!=="string")L.unshift("%O");let N=0;L[0]=L[0].replace(/%([a-zA-Z%])/g,(R,v)=>{if(R==="%%")return"%";N++;let _=X.formatters[v];if(typeof _==="function"){let A=L[N];R=_.call(M,A),L.splice(N,1),N--}return R}),X.formatArgs.call(M,L),(M.log||X.log).apply(M,L)}if(H.namespace=G,H.useColors=X.useColors(),H.color=X.selectColor(G),H.extend=J,H.destroy=X.destroy,Object.defineProperty(H,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(q!==null)return q;if(W!==X.namespaces)W=X.namespaces,K=X.enabled(G);return K},set:(L)=>{q=L}}),typeof X.init==="function")X.init(H);return H}function J(G,w){let q=X(this.namespace+(typeof w>"u"?":":w)+G);return q.log=this.log,q}function F(G){X.save(G),X.namespaces=G,X.names=[],X.skips=[];let w=(typeof G==="string"?G:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let q of w)if(q[0]==="-")X.skips.push(q.slice(1));else X.names.push(q)}function Y(G,w){let q=0,W=0,K=-1,H=0;while(q<G.length)if(W<w.length&&(w[W]===G[q]||w[W]==="*"))if(w[W]==="*")K=W,H=q,W++;else q++,W++;else if(K!==-1)W=K+1,H++,q=H;else return!1;while(W<w.length&&w[W]==="*")W++;return W===w.length}function Q(){let G=[...X.names,...X.skips.map((w)=>"-"+w)].join(",");return X.enable(""),G}function U(G){for(let w of X.skips)if(Y(G,w))return!1;for(let w of X.names)if(Y(G,w))return!0;return!1}function Z(G){if(G instanceof Error)return G.stack||G.message;return G}function O(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return X.enable(X.load()),X}I_.exports=eW0});var E_=E((A_,lY)=>{A_.formatArgs=$K0;A_.save=XK0;A_.load=JK0;A_.useColors=DK0;A_.storage=FK0();A_.destroy=(()=>{let D=!1;return()=>{if(!D)D=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();A_.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function DK0(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let D;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(D=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(D[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function $K0(D){if(D[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+D[0]+(this.useColors?"%c ":" ")+"+"+lY.exports.humanize(this.diff),!this.useColors)return;let $="color: "+this.color;D.splice(1,0,$,"color: inherit");let X=0,J=0;D[0].replace(/%[a-zA-Z%]/g,(F)=>{if(F==="%%")return;if(X++,F==="%c")J=X}),D.splice(J,0,$)}A_.log=console.debug||console.log||(()=>{});function XK0(D){try{if(D)A_.storage.setItem("debug",D);else A_.storage.removeItem("debug")}catch($){}}function JK0(){let D;try{D=A_.storage.getItem("debug")||A_.storage.getItem("DEBUG")}catch($){}if(!D&&typeof process<"u"&&"env"in process)D=process.env.DEBUG;return D}function FK0(){try{return localStorage}catch(D){}}lY.exports=BW()(A_);var{formatters:YK0}=lY.exports;YK0.j=function(D){try{return JSON.stringify(D)}catch($){return"[UnexpectedJSONParseError]: "+$.message}}});var j_=E((ms0,R_)=>{R_.exports=(D,$=process.argv)=>{let X=D.startsWith("-")?"":D.length===1?"-":"--",J=$.indexOf(X+D),F=$.indexOf("--");return J!==-1&&(F===-1||J<F)}});var S_=E((cs0,C_)=>{var WK0=l("os"),T_=l("tty"),M$=j_(),{env:$1}=process,M4;if(M$("no-color")||M$("no-colors")||M$("color=false")||M$("color=never"))M4=0;else if(M$("color")||M$("colors")||M$("color=true")||M$("color=always"))M4=1;if("FORCE_COLOR"in $1)if($1.FORCE_COLOR==="true")M4=1;else if($1.FORCE_COLOR==="false")M4=0;else M4=$1.FORCE_COLOR.length===0?1:Math.min(parseInt($1.FORCE_COLOR,10),3);function NW(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function zW(D,$){if(M4===0)return 0;if(M$("color=16m")||M$("color=full")||M$("color=truecolor"))return 3;if(M$("color=256"))return 2;if(D&&!$&&M4===void 0)return 0;let X=M4||0;if($1.TERM==="dumb")return X;if(process.platform==="win32"){let J=WK0.release().split(".");if(Number(J[0])>=10&&Number(J[2])>=10586)return Number(J[2])>=14931?3:2;return 1}if("CI"in $1){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((J)=>(J in $1))||$1.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in $1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test($1.TEAMCITY_VERSION)?1:0;if($1.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in $1){let J=parseInt(($1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch($1.TERM_PROGRAM){case"iTerm.app":return J>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test($1.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test($1.TERM))return 1;if("COLORTERM"in $1)return 1;return X}function KK0(D){let $=zW(D,D&&D.isTTY);return NW($)}C_.exports={supportsColor:KK0,stdout:NW(zW(!0,T_.isatty(1))),stderr:NW(zW(!0,T_.isatty(2)))}});var v_=E((u_,pY)=>{var HK0=l("tty"),iY=l("util");u_.init=IK0;u_.log=VK0;u_.formatArgs=NK0;u_.save=LK0;u_.load=MK0;u_.useColors=BK0;u_.destroy=iY.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");u_.colors=[6,2,3,4,5,1];try{let D=S_();if(D&&(D.stderr||D).level>=2)u_.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(D){}u_.inspectOpts=Object.keys(process.env).filter((D)=>{return/^debug_/i.test(D)}).reduce((D,$)=>{let X=$.substring(6).toLowerCase().replace(/_([a-z])/g,(F,Y)=>{return Y.toUpperCase()}),J=process.env[$];if(/^(yes|on|true|enabled)$/i.test(J))J=!0;else if(/^(no|off|false|disabled)$/i.test(J))J=!1;else if(J==="null")J=null;else J=Number(J);return D[X]=J,D},{});function BK0(){return"colors"in u_.inspectOpts?Boolean(u_.inspectOpts.colors):HK0.isatty(process.stderr.fd)}function NK0(D){let{namespace:$,useColors:X}=this;if(X){let J=this.color,F="\x1B[3"+(J<8?J:"8;5;"+J),Y=` ${F};1m${$} \x1B[0m`;D[0]=Y+D[0].split(`
129
129
  `).join(`
130
130
  `+Y),D.push(F+"m+"+pY.exports.humanize(this.diff)+"\x1B[0m")}else D[0]=zK0()+$+" "+D[0]}function zK0(){if(u_.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function VK0(...D){return process.stderr.write(iY.formatWithOptions(u_.inspectOpts,...D)+`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "7.124.6",
4
+ "version": "7.124.8",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",