@capgo/cli 8.53.1 → 8.53.2

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.
@@ -1,4 +1,4 @@
1
- import{createRequire as _g}from"node:module";var Tg=Object.create;var{getPrototypeOf:Pg,defineProperty:Z2,getOwnPropertyNames:cK,getOwnPropertyDescriptor:Cg}=Object,nK=Object.prototype.hasOwnProperty;function iK(D){return this[D]}var vg,bg,j0=(D,$,U)=>{var X=D!=null&&typeof D==="object";if(X){var F=$?vg??=new WeakMap:bg??=new WeakMap,Q=F.get(D);if(Q)return Q}U=D!=null?Tg(Pg(D)):{};let Y=$||!D||!D.__esModule?Z2(U,"default",{value:D,enumerable:!0}):U;for(let J of cK(D))if(!nK.call(Y,J))Z2(Y,J,{get:iK.bind(D,J),enumerable:!0});if(X)F.set(D,Y);return Y},s$=(D)=>{var $=(lK??=new WeakMap).get(D),U;if($)return $;if($=Z2({},"__esModule",{value:!0}),D&&typeof D==="object"||typeof D==="function"){for(var X of cK(D))if(!nK.call($,X))Z2($,X,{get:iK.bind(D,X),enumerable:!(U=Cg(D,X))||U.enumerable})}return lK.set(D,$),$},lK,S=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var ug=(D)=>D;function xg(D,$){this[D]=ug.bind(null,$)}var I0=(D,$)=>{for(var U in $)Z2(D,U,{get:$[U],enumerable:!0,configurable:!0,set:xg.bind($,U)})};var g=(D,$)=>()=>(D&&($=D(D=0)),$);var e=_g(import.meta.url);var D$;var D4=g(()=>{D$={name:"@capgo/cli",type:"module",version:"8.53.1",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:"https://github.com/Cap-go/capgo.app",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:notify-app-ready-background":"bun test ./test/test-notify-app-ready-background.mjs","test:bundle":"bun test/test-bundle.mjs","test:bundle-validation":"bun test test/bundle/","test:prescan":"bun test test/prescan/","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:native-dependencies":"bun test/test-native-dependencies.mjs && bun test/test-get-remote-dependencies.mjs","test:package-json-guard":"bun test/test-package-json-guard.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-export":"bun test/test-credentials-export.mjs","test:asc-key-protocol":"bun test/test-asc-key-protocol.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:cli-help":"bun test/test-cli-help.mjs","test:build-cache-payload":"bun test/test-build-cache-payload.mjs","test:build-cancellation":"bun test/test-build-cancellation.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:cli-headers":"bun test/test-cli-headers.mjs","test:min-cli-version":"bun test/test-min-cli-version.mjs","test:authenticated-command-invocation":"bun test/test-authenticated-command-invocation.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:preview-qr":"bun test/test-preview-qr.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:mcp-instructions":"bun test/test-mcp-instructions.mjs","test:mcp-stdout-guard":"bun test/test-mcp-stdout-guard.mjs","test:mcp-platform-select":"bun test/test-mcp-platform-select.mjs","test:mcp-explain-scopes":"bun test/test-mcp-explain-scopes.mjs","test:mcp-oauth-reopen":"bun test/test-mcp-oauth-reopen.mjs","test:mcp-broker-oauth":"bun test/test-mcp-broker-oauth.mjs","test:mcp-broker-session":"bun test/test-mcp-broker-session.mjs","test:mcp-credentials-manage":"bun test/test-mcp-credentials-manage.mjs","test:mcp-resume-prompt":"bun test/test-mcp-resume-prompt.mjs","test:mcp-build-job":"bun test/test-mcp-build-job.mjs","test:mcp-build-tools":"bun test/test-mcp-build-tools.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:app-add-exists":"bun test/test-app-add-exists.mjs","test:app-list-output-text":"bun test/test-app-list-output-text.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.mjs","test:posthog-exception":"bun test/test-posthog-exception.mjs","test:cli-recovery":"bun test/test-cli-recovery.mjs","test:create-supabase-client":"bun test/test-create-supabase-client.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:channel-add-exists":"bun test/test-channel-add-exists.mjs","test:wait-log":"bun test/test-wait-log.mjs","test:init-guardrails":"bun test/test-init-guardrails.mjs","test:init-upload-recovery":"bun test/test-init-upload-error-gate.mjs && bun test/test-init-upload-monorepo-recovery.mjs","test:init-replay":"bun test/test-init-replay.mjs","test:init-telemetry":"bun test/test-init-telemetry.mjs","test:capacitor-config-target":"bun test/test-capacitor-config-target.mjs","test:capacitor-config-typescript7":"bun test/test-capacitor-config-typescript7.mjs","test:capacitor-config-native-import":"bun test/test-capacitor-config-native-import.mjs","test:cli-user-error-config":"bun test/test-cli-user-error-config.mjs","test:init-monorepo-targeting":"bun run test:capacitor-config-target && bun run test:capacitor-config-typescript7 && bun run test:capacitor-config-native-import && bun run test:cli-user-error-config && bun test/test-init-monorepo-targeting.mjs","test:prompt-preferences":"bun test/test-prompt-preferences.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:auth-session":"bun test/test-auth-session.mjs","test:mcp":"node test/test-mcp.mjs","test:mcp-no-key-handshake":"node test/test-mcp-no-key-handshake.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:project-type-detection":"bun test/test-project-type-detection.mjs","test:payload-split":"bun test/test-payload-split.mjs","test:macos-signing":"bun test/test-macos-signing.mjs","test:helper-dce":"bash scripts/check-helper-dce.sh","test:apple-api-import-helpers":"bun test/test-apple-api-import-helpers.mjs","test:apple-api-verify-key":"bun test/test-apple-api-verify-key.mjs","test:bundle-id-detector":"bun test/test-bundle-id-detector.mjs","test:apple-api-app-list":"bun test/test-apple-api-app-list.mjs","test:apple-api-cert-create":"bun test/test-apple-api-cert-create.mjs","test:app-verification":"bun test/test-app-verification.mjs","test:pbxproj-parser":"bun test/test-pbxproj-parser.mjs","test:manifest-path-encoding":"bun test/test-manifest-path-encoding.mjs","test:self-update":"bun test/test-self-update.mjs","test:update-prompt":"bun test/test-update-prompt.mjs","test:android-tail-engine":"bun test/test-android-tail-engine.mjs","test:android-tail-render":"bun test/test-android-tail-render.mjs","test:android-tail-routing":"bun test/test-android-tail-routing.mjs","test:dev-gate-stripped":"bun test/test-dev-gate-stripped.mjs","test:frame-fit-ios-shared":"bun test/test-frame-fit-ios-shared.mjs","test:ios-confirm-app-id":"bun test/test-ios-confirm-app-id.mjs","test:ios-create-new":"bun test/test-ios-create-new.mjs","test:ios-e2e":"bun test/test-ios-e2e.mjs","test:ios-flow-contract":"bun test/test-ios-flow-contract.mjs","test:ios-import-discovery":"bun test/test-ios-import-discovery.mjs","test:ios-import-export":"bun test/test-ios-import-export.mjs","test:ios-import-pickers":"bun test/test-ios-import-pickers.mjs","test:ios-import-recovery":"bun test/test-ios-import-recovery.mjs","test:ios-recovery":"bun test/test-ios-recovery.mjs","test:ios-resume":"bun test/test-ios-resume.mjs","test:ios-tail-handoff":"bun test/test-ios-tail-handoff.mjs","test:ios-tui-render":"bun test/test-ios-tui-render.mjs","test:p8-error":"bun test/test-p8-error.mjs","test:ios-tui-routing":"bun test/test-ios-tui-routing.mjs","test:ios-updater-sync-validation":"bun test/test-ios-updater-sync-validation.mjs","test:ios-verify-app":"bun test/test-ios-verify-app.mjs","test:ios-marketing-version":"bun test/test-ios-marketing-version.mjs","test:android-version":"bun test/test-android-version.mjs","test:platform-flow-contract":"bun test/test-platform-flow-contract.mjs","test:tail-engine-shared":"bun test/test-tail-engine-shared.mjs",test:"bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:notify-app-ready-background && bun run test:bundle-validation && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && bun run test:credentials && bun run test:credentials-export && bun run test:ios-provisioning-map && bun run test:ios-provisioning-command && 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:cli-help && bun run test:build-cache-payload && bun run test:build-cancellation && 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:cli-headers && bun run test:min-cli-version && bun run test:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && bun run test:app-created-source && bun run test:app-add-exists && bun run test:app-list-output-text && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:cli-recovery && bun run test:create-supabase-client && bun run test:build-platform-selection && bun run test:builder-project-discovery && 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-monorepo-targeting && bun run test:init-app-conflict && bun run test:channel-list && bun run test:channel-add-exists && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-upload-recovery && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && bun run test:bundle-id-detector && bun run test:apple-api-app-list && bun run test:app-verification && bun run test:pbxproj-parser && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:cicd-failure-help && bun run test:ai-sse-parser && bun run test:ai-render-markdown && bun run test:ai-stream-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 && bun run test:ai-analyze-stream && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:android-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-gcp && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:2fa-compliance-network && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation","test:build-platform-selection":"bun test/test-build-platform-selection.mjs","test:builder-project-discovery":"bun test/test-builder-project-discovery.mjs","test:ai-log-capture":"bun test/test-ai-log-capture.mjs","test:ai-analyze-flow":"bun test/test-ai-analyze-flow.mjs","test:cicd-failure-help":"bun test/test-cicd-failure-help.mjs","test:ai-analyze-stream":"bun test/test-ai-analyze-stream.mjs","test:ai-sse-parser":"bun test/test-ai-sse-parser.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","test:ai-stream-markdown":"bun test/test-ai-stream-markdown.mjs","test:support-mailto":"bun test/test-support-mailto.mjs","test:support-redact":"bun test/test-support-redact.mjs","test:support-internal-log":"bun test/test-support-internal-log.mjs","test:support-help-menu":"bun test/test-support-help-menu.mjs","test:support-contact":"bun test/test-support-contact.mjs","test:support-upload-prompt":"bun test/test-support-upload-prompt.mjs","test:support-bundle-files":"bun test/test-support-bundle-files.mjs","test:mcp-live-update-onboarding":"bun test/test-mcp-live-update-onboarding.mjs","test:app-set-options":"bun test/test-app-set-options.mjs && bun test/test-app-list-options.mjs","test:android-reporting-api":"bun test/test-android-reporting-api.mjs","test:android-gcp":"bun test/test-android-gcp.mjs","test:android-app-verification":"bun test/test-android-app-verification.mjs","test:android-rename":"bun test/test-android-rename.mjs","test:appflow-auth":"bun test/test-appflow-auth.mjs","test:appflow-api-map":"bun test/test-appflow-api-map.mjs","test:appflow-validate":"bun test/test-appflow-validate.mjs","test:appflow-flow":"bun test/test-appflow-flow.mjs","test:appflow-gapfill":"bun test/test-appflow-gapfill.mjs","test:appflow-engine":"bun test/test-appflow-engine.mjs","test:appflow-tail":"bun test/test-appflow-tail.mjs","test:appflow-fetch":"bun test/test-appflow-fetch.mjs","test:appflow-sa-decode":"bun test/test-appflow-sa-decode.mjs","test:app-permission-helper":"bun test/test-app-permission-helper.mjs","test:2fa-compliance-network":"bun test/test-2fa-compliance-network.mjs","test:organization-set-api-host":"bun test/test-organization-set-api-host.mjs","test:trial-warning":"bun test/test-trial-warning.mjs","test:plan-validation":"bun test/test-plan-validation.mjs","test:auto-bump-version":"bun test/test-auto-bump-version.mjs","test:auto-bump-ai-diff":"bun test/test-auto-bump-ai-diff.mjs","test:ios-provisioning-map":"bun test/test-ios-provisioning-map.mjs","test:ios-provisioning-command":"bun test/test-ios-provisioning-command.mjs","test:channel-list":"bun test/test-channel-list.mjs"},dependencies:{"@inkjs/ui":"^2.0.0","@manypkg/tools":"^2.1.2","@rrweb/types":"^2.1.1","@standard-schema/spec":"^1.1.0","@xmldom/xmldom":"^0.9.10","@xterm/addon-serialize":"^0.14.0","@xterm/headless":"^6.0.0","agent-cli-detector":"^0.1.6","happy-dom":"^20.11.0",ink:"^7.1.1","ink-spinner":"^5.0.0",jsonwebtoken:"^9.0.3","node-forge":"^1.4.0",qrcode:"^1.5.4",react:"^19.2.8","rrweb-snapshot":"^2.1.1","string-width":"^8.2.2",typescript:"6.0.3",zod:"^4.4.3"},optionalDependencies:{"@capgo/cli-helper-darwin-arm64":"^1.1.1","@capgo/cli-helper-darwin-x64":"^1.1.1","node-pty":"^1.1.0"},devDependencies:{"@antfu/eslint-config":"^9.2.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6","@capacitor/cli":"^8.4.2","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.7.0","@modelcontextprotocol/client":"^2.0.0-beta.5","@modelcontextprotocol/server":"^2.0.0-beta.5","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.8","@supabase/supabase-js":"^2.110.8","@tanstack/intent":"^0.3.6","@types/adm-zip":"^0.5.8","@types/jsonwebtoken":"^9.0.10","@types/node":"^26.1.1","@types/node-forge":"^1.3.14","@types/prettyjson":"^0.0.33","@types/qrcode":"^1.5.6","@types/react":"^19.2.17","@types/tmp":"^0.2.6","@types/ws":"^8.18.1","@typescript/native-preview":"7.0.0-dev.20260707.2","@vercel/ncc":"^0.44.1","@vue/compiler-dom":"3.5.40","@xterm/headless":"^6.0.0","adm-zip":"^0.6.0","ci-info":"^4.4.0",commander:"^15.0.0",eslint:"^10.7.0","git-format-staged":"4.0.2",husky:"^9.1.7","is-wsl":"^3.1.1",micromatch:"^4.0.8",open:"^11.0.0",oxlint:"^1.75.0",partysocket:"^1.3.0",prettyjson:"^1.2.5",tmp:"^0.2.7","tus-js-client":"^4.3.1",ws:"^8.21.1"}}});var ND;var c6=g(()=>{ND=class ND extends Error{context;constructor(D,$){super(D);this.name="CliUserError",this.context=$}}});import{platform as gg}from"node:os";import{version as fg}from"node:process";function aK(D){rK=D}function mg(D){for(let $=0;$<D.length;$++)if(D.charCodeAt($)>255)return!1;return!0}function pK(D){if(D.toLowerCase()==="x-capgo-log-token")return"Build log token is missing. Re-run the build command or pass a valid log token.";return"Capgo API key is missing. Run `npx -y @capgo/cli@latest login` or pass `--apikey`."}function hg(D){if(D.toLowerCase()==="x-capgo-log-token")return"Build log token contains invalid characters (only ASCII is allowed). Re-run the build command to get a fresh token.";if(D.toLowerCase()==="authorization")return"Authorization header contains invalid characters (only ASCII is allowed). Check your Capgo API key or Supabase anon key configuration.";return"Capgo API key contains invalid characters (only ASCII is allowed). Copy the key from the Capgo dashboard."}function sX(D,$){if($===void 0||$===null){if(tX.has(D.toLowerCase()))throw new ND(pK(D));throw new ND(`HTTP header "${D}" is missing or invalid.`)}if(typeof $!=="string"){if(tX.has(D.toLowerCase()))throw new ND(pK(D));throw new ND(`HTTP header "${D}" is missing or invalid.`)}if(!mg($)){if(tX.has(D.toLowerCase()))throw new ND(hg(D));throw new ND(`HTTP header "${D}" contains invalid characters (only ASCII is allowed).`)}return $}function V$(D){let $={capgo_api:yg,"x-cli-version":D$.version,"x-cli-command":rK,"x-cli-node":fg,"x-cli-os":gg()};if(D)for(let[U,X]of Object.entries(D))$[U]=sX(U,X);return $}var yg="2025-10-01",rK="",tX;var U5=g(()=>{D4();c6();tX=new Set(["authorization","capgkey","x-capgo-log-token"])});var V2=S((OzD,qw)=>{var Jw={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)",SEP:"/"},hf={...Jw,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},df={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qw.exports={DEFAULT_MAX_EXTGLOB_RECURSION:0,MAX_LENGTH:65536,POSIX_REGEX_SOURCE:df,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?hf:Jw}}});var B2=S((rf)=>{var{REGEX_BACKSLASH:lf,REGEX_REMOVE_BACKSLASH:cf,REGEX_SPECIAL_CHARS:nf,REGEX_SPECIAL_CHARS_GLOBAL:pf}=V2();rf.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);rf.hasRegexChars=(D)=>nf.test(D);rf.isRegexChar=(D)=>D.length===1&&rf.hasRegexChars(D);rf.escapeRegex=(D)=>D.replace(pf,"\\$1");rf.toPosixSlashes=(D)=>D.replace(lf,"/");rf.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let D=navigator.platform.toLowerCase();return D==="win32"||D==="windows"}if(typeof process<"u"&&process.platform)return process.platform==="win32";return!1};rf.removeBackslashes=(D)=>{return D.replace(cf,($)=>{return $==="\\"?"":$})};rf.escapeLast=(D,$,U)=>{let X=D.lastIndexOf($,U);if(X===-1)return D;if(D[X-1]==="\\")return rf.escapeLast(D,$,X-1);return`${D.slice(0,X)}\\${D.slice(X)}`};rf.removePrefix=(D,$={})=>{let U=D;if(U.startsWith("./"))U=U.slice(2),$.prefix="./";return U};rf.wrapOutput=(D,$={},U={})=>{let X=U.contains?"":"^",F=U.contains?"":"$",Q=`${X}(?:${D})${F}`;if($.negated===!0)Q=`(?:^(?!${Q}).*$)`;return Q};rf.basename=(D,{windows:$}={})=>{let U=D.split($?/[\\/]/:"/"),X=U[U.length-1];if(X==="")return U[U.length-2];return X}});var Hw=S((MzD,ww)=>{var Ww=B2(),{CHAR_ASTERISK:$Q,CHAR_AT:Xy,CHAR_BACKWARD_SLASH:K2,CHAR_COMMA:Qy,CHAR_DOT:UQ,CHAR_EXCLAMATION_MARK:FQ,CHAR_FORWARD_SLASH:Kw,CHAR_LEFT_CURLY_BRACE:XQ,CHAR_LEFT_PARENTHESES:QQ,CHAR_LEFT_SQUARE_BRACKET:Yy,CHAR_PLUS:Jy,CHAR_QUESTION_MARK:Gw,CHAR_RIGHT_CURLY_BRACE:qy,CHAR_RIGHT_PARENTHESES:Zw,CHAR_RIGHT_SQUARE_BRACKET:Iy}=V2(),Vw=(D)=>{return D===Kw||D===K2},Bw=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},zy=(D,$)=>{let U=$||{},X=D.length-1,F=U.parts===!0||U.scanToEnd===!0,Q=[],Y=[],J=[],q=D,I=-1,z=0,W=0,G=!1,V=!1,Z=!1,K=!1,B=!1,L=!1,O=!1,w=!1,N=!1,R=!1,j=0,C,T,u={value:"",depth:0,isGlob:!1},E=()=>I>=X,P=()=>q.charCodeAt(I+1),h=()=>{return C=T,q.charCodeAt(++I)};while(I<X){T=h();let H;if(T===K2){if(O=u.backslashes=!0,T=h(),T===XQ)L=!0;continue}if(L===!0||T===XQ){j++;while(E()!==!0&&(T=h())){if(T===K2){O=u.backslashes=!0,h();continue}if(T===XQ){j++;continue}if(L!==!0&&T===UQ&&(T=h())===UQ){if(G=u.isBrace=!0,Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(L!==!0&&T===Qy){if(G=u.isBrace=!0,Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===qy){if(j--,j===0){L=!1,G=u.isBrace=!0,R=!0;break}}}if(F===!0)continue;break}if(T===Kw){if(Q.push(I),Y.push(u),u={value:"",depth:0,isGlob:!1},R===!0)continue;if(C===UQ&&I===z+1){z+=2;continue}W=I+1;continue}if(U.noext!==!0){if((T===Jy||T===Xy||T===$Q||T===Gw||T===FQ)===!0&&P()===QQ){if(Z=u.isGlob=!0,K=u.isExtglob=!0,R=!0,T===FQ&&I===z)N=!0;if(F===!0){while(E()!==!0&&(T=h())){if(T===K2){O=u.backslashes=!0,T=h();continue}if(T===Zw){Z=u.isGlob=!0,R=!0;break}}continue}break}}if(T===$Q){if(C===$Q)B=u.isGlobstar=!0;if(Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===Gw){if(Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===Yy){while(E()!==!0&&(H=h())){if(H===K2){O=u.backslashes=!0,h();continue}if(H===Iy){V=u.isBracket=!0,Z=u.isGlob=!0,R=!0;break}}if(F===!0)continue;break}if(U.nonegate!==!0&&T===FQ&&I===z){w=u.negated=!0,z++;continue}if(U.noparen!==!0&&T===QQ){if(Z=u.isGlob=!0,F===!0){while(E()!==!0&&(T=h())){if(T===QQ){O=u.backslashes=!0,T=h();continue}if(T===Zw){R=!0;break}}continue}break}if(Z===!0){if(R=!0,F===!0)continue;break}}if(U.noext===!0)K=!1,Z=!1;let d=q,v="",x="";if(z>0)v=q.slice(0,z),q=q.slice(z),W-=z;if(d&&Z===!0&&W>0)d=q.slice(0,W),x=q.slice(W);else if(Z===!0)d="",x=q;else d=q;if(d&&d!==""&&d!=="/"&&d!==q){if(Vw(d.charCodeAt(d.length-1)))d=d.slice(0,-1)}if(U.unescape===!0){if(x)x=Ww.removeBackslashes(x);if(d&&O===!0)d=Ww.removeBackslashes(d)}let A={prefix:v,input:D,start:z,base:d,glob:x,isBrace:G,isBracket:V,isGlob:Z,isExtglob:K,isGlobstar:B,negated:w,negatedExtglob:N};if(U.tokens===!0){if(A.maxDepth=0,!Vw(T))Y.push(u);A.tokens=Y}if(U.parts===!0||U.tokens===!0){let H;for(let M=0;M<Q.length;M++){let b=H?H+1:z,m=Q[M],f=D.slice(b,m);if(U.tokens){if(M===0&&z!==0)Y[M].isPrefix=!0,Y[M].value=v;else Y[M].value=f;Bw(Y[M]),A.maxDepth+=Y[M].depth}if(M!==0||f!=="")J.push(f);H=m}if(H&&H+1<D.length){let M=D.slice(H+1);if(J.push(M),U.tokens)Y[Y.length-1].value=M,Bw(Y[Y.length-1]),A.maxDepth+=Y[Y.length-1].depth}A.slashes=Q,A.parts=J}return A};ww.exports=zy});var Ew=S((EzD,Mw)=>{var w2=V2(),k0=B2(),{MAX_LENGTH:X5,POSIX_REGEX_SOURCE:Wy,REGEX_NON_SPECIAL_CHARS:Gy,REGEX_SPECIAL_CHARS_BACKREF:Zy,REPLACEMENTS:Lw}=w2,Vy=(D,$)=>{if(typeof $.expandRange==="function")return $.expandRange(...D,$);D.sort();let U=`[${D.join("-")}]`;try{new RegExp(U)}catch(X){return D.map((F)=>k0.escapeRegex(F)).join("..")}return U},$4=(D,$)=>{return`Missing ${D}: "${$}" - use "\\\\${$}" to match literal characters`},Ow=(D)=>{let $=[],U=0,X=0,F=0,Q="",Y=!1;for(let J of D){if(Y===!0){Q+=J,Y=!1;continue}if(J==="\\"){Q+=J,Y=!0;continue}if(J==='"'){F=F===1?0:1,Q+=J;continue}if(F===0){if(J==="[")U++;else if(J==="]"&&U>0)U--;else if(U===0){if(J==="(")X++;else if(J===")"&&X>0)X--;else if(J==="|"&&X===0){$.push(Q),Q="";continue}}}Q+=J}return $.push(Q),$},By=(D)=>{let $=!1;for(let U of D){if($===!0){$=!1;continue}if(U==="\\"){$=!0;continue}if(/[?*+@!()[\]{}]/.test(U))return!1}return!0},Nw=(D)=>{let $=D.trim(),U=!0;while(U===!0)if(U=!1,/^@\([^\\()[\]{}|]+\)$/.test($))$=$.slice(2,-1),U=!0;if(!By($))return;return $.replace(/\\(.)/g,"$1")},Ky=(D)=>{let $=D.map(Nw).filter(Boolean);for(let U=0;U<$.length;U++)for(let X=U+1;X<$.length;X++){let F=$[U],Q=$[X],Y=F[0];if(!Y||F!==Y.repeat(F.length)||Q!==Y.repeat(Q.length))continue;if(F===Q||F.startsWith(Q)||Q.startsWith(F))return!0}return!1},YQ=(D,$=!0)=>{if(D[0]!=="+"&&D[0]!=="*"||D[1]!=="(")return;let U=0,X=0,F=0,Q=!1;for(let Y=1;Y<D.length;Y++){let J=D[Y];if(Q===!0){Q=!1;continue}if(J==="\\"){Q=!0;continue}if(J==='"'){F=F===1?0:1;continue}if(F===1)continue;if(J==="["){U++;continue}if(J==="]"&&U>0){U--;continue}if(U>0)continue;if(J==="("){X++;continue}if(J===")"){if(X--,X===0){if($===!0&&Y!==D.length-1)return;return{type:D[0],body:D.slice(2,Y),end:Y}}}}},wy=(D)=>{let $=0,U=[];while($<D.length){let F=YQ(D.slice($),!1);if(!F||F.type!=="*")return;let Q=Ow(F.body).map((J)=>J.trim());if(Q.length!==1)return;let Y=Nw(Q[0]);if(!Y||Y.length!==1)return;U.push(Y),$+=F.end+1}if(U.length<1)return;return`${U.length===1?k0.escapeRegex(U[0]):`[${U.map((F)=>k0.escapeRegex(F)).join("")}]`}*`},Hy=(D)=>{let $=0,U=D.trim(),X=YQ(U);while(X)$++,U=X.body.trim(),X=YQ(U);return $},Ly=(D,$)=>{if($.maxExtglobRecursion===!1)return{risky:!1};let U=typeof $.maxExtglobRecursion==="number"?$.maxExtglobRecursion:w2.DEFAULT_MAX_EXTGLOB_RECURSION,X=Ow(D).map((F)=>F.trim());if(X.length>1){if(X.some((F)=>F==="")||X.some((F)=>/^[*?]+$/.test(F))||Ky(X))return{risky:!0}}for(let F of X){let Q=wy(F);if(Q)return{risky:!0,safeOutput:Q};if(Hy(F)>U)return{risky:!0}}return{risky:!1}},JQ=(D,$)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=Lw[D]||D;let U={...$},X=typeof U.maxLength==="number"?Math.min(X5,U.maxLength):X5,F=D.length;if(F>X)throw SyntaxError(`Input length: ${F}, exceeds maximum allowed length: ${X}`);let Q={type:"bos",value:"",output:U.prepend||""},Y=[Q],J=U.capture?"":"?:",q=w2.globChars(U.windows),I=w2.extglobChars(q),{DOT_LITERAL:z,PLUS_LITERAL:W,SLASH_LITERAL:G,ONE_CHAR:V,DOTS_SLASH:Z,NO_DOT:K,NO_DOT_SLASH:B,NO_DOTS_SLASH:L,QMARK:O,QMARK_NO_DOT:w,STAR:N,START_ANCHOR:R}=q,j=(o)=>{return`(${J}(?:(?!${R}${o.dot?Z:z}).)*?)`},C=U.dot?"":K,T=U.dot?O:w,u=U.bash===!0?j(U):N;if(U.capture)u=`(${u})`;if(typeof U.noext==="boolean")U.noextglob=U.noext;let E={input:D,index:-1,start:0,dot:U.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:Y};D=k0.removePrefix(D,E),F=D.length;let P=[],h=[],d=[],v=Q,x,A=()=>E.index===F-1,H=E.peek=(o=1)=>D[E.index+o],M=E.advance=()=>D[++E.index]||"",b=()=>D.slice(E.index+1),m=(o="",jD=0)=>{E.consumed+=o,E.index+=jD},f=(o)=>{E.output+=o.output!=null?o.output:o.value,m(o.value)},UD=()=>{let o=1;while(H()==="!"&&(H(2)!=="("||H(3)==="?"))M(),E.start++,o++;if(o%2===0)return!1;return E.negated=!0,E.start++,!0},k=(o)=>{E[o]++,d.push(o)},l=(o)=>{E[o]--,d.pop()},s=(o)=>{if(v.type==="globstar"){let jD=E.braces>0&&(o.type==="comma"||o.type==="brace"),t=o.extglob===!0||P.length&&(o.type==="pipe"||o.type==="paren");if(o.type!=="slash"&&o.type!=="paren"&&!jD&&!t)E.output=E.output.slice(0,-v.output.length),v.type="star",v.value="*",v.output=u,E.output+=v.output}if(P.length&&o.type!=="paren")P[P.length-1].inner+=o.value;if(o.value||o.output)f(o);if(v&&v.type==="text"&&o.type==="text"){v.output=(v.output||v.value)+o.value,v.value+=o.value;return}o.prev=v,Y.push(o),v=o},qD=(o,jD)=>{let t={...I[jD],conditions:1,inner:""};t.prev=v,t.parens=E.parens,t.output=E.output,t.startIndex=E.index,t.tokensIndex=Y.length;let VD=(U.capture?"(":"")+t.open;k("parens"),s({type:o,value:jD,output:E.output?"":V}),s({type:"paren",extglob:!0,value:M(),output:VD}),P.push(t)},KD=(o)=>{let jD=D.slice(o.startIndex,E.index+1),t=D.slice(o.startIndex+2,E.index),VD=Ly(t,U);if((o.type==="plus"||o.type==="star")&&VD.risky){let vD=VD.safeOutput?(o.output?"":V)+(U.capture?`(${VD.safeOutput})`:VD.safeOutput):void 0,G$=Y[o.tokensIndex];G$.type="text",G$.value=jD,G$.output=vD||k0.escapeRegex(jD);for(let Z$=o.tokensIndex+1;Z$<Y.length;Z$++)Y[Z$].value="",Y[Z$].output="",delete Y[Z$].suffix;E.output=o.output+G$.output,E.backtrack=!0,s({type:"paren",extglob:!0,value:x,output:""}),l("parens");return}let _D=o.close+(U.capture?")":""),tD;if(o.type==="negate"){let vD=u;if(o.inner&&o.inner.length>1&&o.inner.includes("/"))vD=j(U);if(vD!==u||A()||/^\)+$/.test(b()))_D=o.close=`)$))${vD}`;if(o.inner.includes("*")&&(tD=b())&&/^\.[^\\/.]+$/.test(tD)){let G$=JQ(tD,{...$,fastpaths:!1}).output;_D=o.close=`)${G$})${vD})`}if(o.prev.type==="bos")E.negatedExtglob=!0}s({type:"paren",extglob:!0,value:x,output:_D}),l("parens")};if(U.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let o=!1,jD=D.replace(Zy,(t,VD,_D,tD,vD,G$)=>{if(tD==="\\")return o=!0,t;if(tD==="?"){if(VD)return VD+tD+(vD?O.repeat(vD.length):"");if(G$===0)return T+(vD?O.repeat(vD.length):"");return O.repeat(_D.length)}if(tD===".")return z.repeat(_D.length);if(tD==="*"){if(VD)return VD+tD+(vD?u:"");return u}return VD?t:`\\${t}`});if(o===!0)if(U.unescape===!0)jD=jD.replace(/\\/g,"");else jD=jD.replace(/\\+/g,(t)=>{return t.length%2===0?"\\\\":t?"\\":""});if(jD===D&&U.contains===!0)return E.output=D,E;return E.output=k0.wrapOutput(jD,E,$),E}while(!A()){if(x=M(),x==="\x00")continue;if(x==="\\"){let t=H();if(t==="/"&&U.bash!==!0)continue;if(t==="."||t===";")continue;if(!t){x+="\\",s({type:"text",value:x});continue}let VD=/^\\+/.exec(b()),_D=0;if(VD&&VD[0].length>2){if(_D=VD[0].length,E.index+=_D,_D%2!==0)x+="\\"}if(U.unescape===!0)x=M();else x+=M();if(E.brackets===0){s({type:"text",value:x});continue}}if(E.brackets>0&&(x!=="]"||v.value==="["||v.value==="[^")){if(U.posix!==!1&&x===":"){let t=v.value.slice(1);if(t.includes("[")){if(v.posix=!0,t.includes(":")){let VD=v.value.lastIndexOf("["),_D=v.value.slice(0,VD),tD=v.value.slice(VD+2),vD=Wy[tD];if(vD){if(v.value=_D+vD,E.backtrack=!0,M(),!Q.output&&Y.indexOf(v)===1)Q.output=V;continue}}}}if(x==="["&&H()!==":"||x==="-"&&H()==="]")x=`\\${x}`;if(x==="]"&&(v.value==="["||v.value==="[^"))x=`\\${x}`;if(U.posix===!0&&x==="!"&&v.value==="[")x="^";v.value+=x,f({value:x});continue}if(E.quotes===1&&x!=='"'){x=k0.escapeRegex(x),v.value+=x,f({value:x});continue}if(x==='"'){if(E.quotes=E.quotes===1?0:1,U.keepQuotes===!0)s({type:"text",value:x});continue}if(x==="("){k("parens"),s({type:"paren",value:x});continue}if(x===")"){if(E.parens===0&&U.strictBrackets===!0)throw SyntaxError($4("opening","("));let t=P[P.length-1];if(t&&E.parens===t.parens+1){KD(P.pop());continue}s({type:"paren",value:x,output:E.parens?")":"\\)"}),l("parens");continue}if(x==="["){if(U.nobracket===!0||!b().includes("]")){if(U.nobracket!==!0&&U.strictBrackets===!0)throw SyntaxError($4("closing","]"));x=`\\${x}`}else k("brackets");s({type:"bracket",value:x});continue}if(x==="]"){if(U.nobracket===!0||v&&v.type==="bracket"&&v.value.length===1){s({type:"text",value:x,output:`\\${x}`});continue}if(E.brackets===0){if(U.strictBrackets===!0)throw SyntaxError($4("opening","["));s({type:"text",value:x,output:`\\${x}`});continue}l("brackets");let t=v.value.slice(1);if(v.posix!==!0&&t[0]==="^"&&!t.includes("/"))x=`/${x}`;if(v.value+=x,f({value:x}),U.literalBrackets===!1||k0.hasRegexChars(t))continue;let VD=k0.escapeRegex(v.value);if(E.output=E.output.slice(0,-v.value.length),U.literalBrackets===!0){E.output+=VD,v.value=VD;continue}v.value=`(${J}${VD}|${v.value})`,E.output+=v.value;continue}if(x==="{"&&U.nobrace!==!0){k("braces");let t={type:"brace",value:x,output:"(",outputIndex:E.output.length,tokensIndex:E.tokens.length};h.push(t),s(t);continue}if(x==="}"){let t=h[h.length-1];if(U.nobrace===!0||!t){s({type:"text",value:x,output:x});continue}let VD=")";if(t.dots===!0){let _D=Y.slice(),tD=[];for(let vD=_D.length-1;vD>=0;vD--){if(Y.pop(),_D[vD].type==="brace")break;if(_D[vD].type!=="dots")tD.unshift(_D[vD].value)}VD=Vy(tD,U),E.backtrack=!0}if(t.comma!==!0&&t.dots!==!0){let _D=E.output.slice(0,t.outputIndex),tD=E.tokens.slice(t.tokensIndex);t.value=t.output="\\{",x=VD="\\}",E.output=_D;for(let vD of tD)E.output+=vD.output||vD.value}s({type:"brace",value:x,output:VD}),l("braces"),h.pop();continue}if(x==="|"){if(P.length>0)P[P.length-1].conditions++;s({type:"text",value:x});continue}if(x===","){let t=x,VD=h[h.length-1];if(VD&&d[d.length-1]==="braces")VD.comma=!0,t="|";s({type:"comma",value:x,output:t});continue}if(x==="/"){if(v.type==="dot"&&E.index===E.start+1){E.start=E.index+1,E.consumed="",E.output="",Y.pop(),v=Q;continue}s({type:"slash",value:x,output:G});continue}if(x==="."){if(E.braces>0&&v.type==="dot"){if(v.value===".")v.output=z;let t=h[h.length-1];v.type="dots",v.output+=x,v.value+=x,t.dots=!0;continue}if(E.braces+E.parens===0&&v.type!=="bos"&&v.type!=="slash"){s({type:"text",value:x,output:z});continue}s({type:"dot",value:x,output:z});continue}if(x==="?"){if(!(v&&v.value==="(")&&U.noextglob!==!0&&H()==="("&&H(2)!=="?"){qD("qmark",x);continue}if(v&&v.type==="paren"){let VD=H(),_D=x;if(v.value==="("&&!/[!=<:]/.test(VD)||VD==="<"&&!/<([!=]|\w+>)/.test(b()))_D=`\\${x}`;s({type:"text",value:x,output:_D});continue}if(U.dot!==!0&&(v.type==="slash"||v.type==="bos")){s({type:"qmark",value:x,output:w});continue}s({type:"qmark",value:x,output:O});continue}if(x==="!"){if(U.noextglob!==!0&&H()==="("){if(H(2)!=="?"||!/[!=<:]/.test(H(3))){qD("negate",x);continue}}if(U.nonegate!==!0&&E.index===0){UD();continue}}if(x==="+"){if(U.noextglob!==!0&&H()==="("&&H(2)!=="?"){qD("plus",x);continue}if(v&&v.value==="("||U.regex===!1){s({type:"plus",value:x,output:W});continue}if(v&&(v.type==="bracket"||v.type==="paren"||v.type==="brace")||E.parens>0){s({type:"plus",value:x});continue}s({type:"plus",value:W});continue}if(x==="@"){if(U.noextglob!==!0&&H()==="("&&H(2)!=="?"){s({type:"at",extglob:!0,value:x,output:""});continue}s({type:"text",value:x});continue}if(x!=="*"){if(x==="$"||x==="^")x=`\\${x}`;let t=Gy.exec(b());if(t)x+=t[0],E.index+=t[0].length;s({type:"text",value:x});continue}if(v&&(v.type==="globstar"||v.star===!0)){v.type="star",v.star=!0,v.value+=x,v.output=u,E.backtrack=!0,E.globstar=!0,m(x);continue}let o=b();if(U.noextglob!==!0&&/^\([^?]/.test(o)){qD("star",x);continue}if(v.type==="star"){if(U.noglobstar===!0){m(x);continue}let t=v.prev,VD=t.prev,_D=t.type==="slash"||t.type==="bos",tD=VD&&(VD.type==="star"||VD.type==="globstar");if(U.bash===!0&&(!_D||o[0]&&o[0]!=="/")){s({type:"star",value:x,output:""});continue}let vD=E.braces>0&&(t.type==="comma"||t.type==="brace"),G$=P.length&&(t.type==="pipe"||t.type==="paren");if(!_D&&t.type!=="paren"&&!vD&&!G$){s({type:"star",value:x,output:""});continue}while(o.slice(0,3)==="/**"){let Z$=D[E.index+4];if(Z$&&Z$!=="/")break;o=o.slice(3),m("/**",3)}if(t.type==="bos"&&A()){v.type="globstar",v.value+=x,v.output=j(U),E.output=v.output,E.globstar=!0,m(x);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&!tD&&A()){E.output=E.output.slice(0,-(t.output+v.output).length),t.output=`(?:${t.output}`,v.type="globstar",v.output=j(U)+(U.strictSlashes?")":"|$)"),v.value+=x,E.globstar=!0,E.output+=t.output+v.output,m(x);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&o[0]==="/"){let Z$=o[1]!==void 0?"|$":"";E.output=E.output.slice(0,-(t.output+v.output).length),t.output=`(?:${t.output}`,v.type="globstar",v.output=`${j(U)}${G}|${G}${Z$})`,v.value+=x,E.output+=t.output+v.output,E.globstar=!0,m(x+M()),s({type:"slash",value:"/",output:""});continue}if(t.type==="bos"&&o[0]==="/"){v.type="globstar",v.value+=x,v.output=`(?:^|${G}|${j(U)}${G})`,E.output=v.output,E.globstar=!0,m(x+M()),s({type:"slash",value:"/",output:""});continue}E.output=E.output.slice(0,-v.output.length),v.type="globstar",v.output=j(U),v.value+=x,E.output+=v.output,E.globstar=!0,m(x);continue}let jD={type:"star",value:x,output:u};if(U.bash===!0){if(jD.output=".*?",v.type==="bos"||v.type==="slash")jD.output=C+jD.output;s(jD);continue}if(v&&(v.type==="bracket"||v.type==="paren")&&U.regex===!0){jD.output=x,s(jD);continue}if(E.index===E.start||v.type==="slash"||v.type==="dot"){if(v.type==="dot")E.output+=B,v.output+=B;else if(U.dot===!0)E.output+=L,v.output+=L;else E.output+=C,v.output+=C;if(H()!=="*")E.output+=V,v.output+=V}s(jD)}while(E.brackets>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing","]"));E.output=k0.escapeLast(E.output,"["),l("brackets")}while(E.parens>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing",")"));E.output=k0.escapeLast(E.output,"("),l("parens")}while(E.braces>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing","}"));E.output=k0.escapeLast(E.output,"{"),l("braces")}if(U.strictSlashes!==!0&&(v.type==="star"||v.type==="bracket"))s({type:"maybe_slash",value:"",output:`${G}?`});if(E.backtrack===!0){E.output="";for(let o of E.tokens)if(E.output+=o.output!=null?o.output:o.value,o.suffix)E.output+=o.suffix}return E};JQ.fastpaths=(D,$)=>{let U={...$},X=typeof U.maxLength==="number"?Math.min(X5,U.maxLength):X5,F=D.length;if(F>X)throw SyntaxError(`Input length: ${F}, exceeds maximum allowed length: ${X}`);D=Lw[D]||D;let{DOT_LITERAL:Q,SLASH_LITERAL:Y,ONE_CHAR:J,DOTS_SLASH:q,NO_DOT:I,NO_DOTS:z,NO_DOTS_SLASH:W,STAR:G,START_ANCHOR:V}=w2.globChars(U.windows),Z=U.dot?z:I,K=U.dot?W:I,B=U.capture?"":"?:",L={negated:!1,prefix:""},O=U.bash===!0?".*?":G;if(U.capture)O=`(${O})`;let w=(C)=>{if(C.noglobstar===!0)return O;return`(${B}(?:(?!${V}${C.dot?q:Q}).)*?)`},N=(C)=>{switch(C){case"*":return`${Z}${J}${O}`;case".*":return`${Q}${J}${O}`;case"*.*":return`${Z}${O}${Q}${J}${O}`;case"*/*":return`${Z}${O}${Y}${J}${K}${O}`;case"**":return Z+w(U);case"**/*":return`(?:${Z}${w(U)}${Y})?${K}${J}${O}`;case"**/*.*":return`(?:${Z}${w(U)}${Y})?${K}${O}${Q}${J}${O}`;case"**/.*":return`(?:${Z}${w(U)}${Y})?${Q}${J}${O}`;default:{let T=/^(.*?)\.(\w+)$/.exec(C);if(!T)return;let u=N(T[1]);if(!u)return;return u+Q+T[2]}}},R=k0.removePrefix(D,L),j=N(R);if(j&&U.strictSlashes!==!0)j+=`${Y}?`;return j};Mw.exports=JQ});var jw=S((AzD,Rw)=>{var Oy=Hw(),qQ=Ew(),Aw=B2(),Ny=V2(),My=(D)=>D&&typeof D==="object"&&!Array.isArray(D),iD=(D,$,U=!1)=>{if(Array.isArray(D)){let z=D.map((G)=>iD(G,$,U));return(G)=>{for(let V of z){let Z=V(G);if(Z)return Z}return!1}}let X=My(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!X)throw TypeError("Expected pattern to be a non-empty string");let F=$||{},Q=F.windows,Y=X?iD.compileRe(D,$):iD.makeRe(D,$,!1,!0),J=Y.state;delete Y.state;let q=()=>!1;if(F.ignore){let z={...$,ignore:null,onMatch:null,onResult:null};q=iD(F.ignore,z,U)}let I=(z,W=!1)=>{let{isMatch:G,match:V,output:Z}=iD.test(z,Y,$,{glob:D,posix:Q}),K={glob:D,state:J,regex:Y,posix:Q,input:z,output:Z,match:V,isMatch:G};if(typeof F.onResult==="function")F.onResult(K);if(G===!1)return K.isMatch=!1,W?K:!1;if(q(z)){if(typeof F.onIgnore==="function")F.onIgnore(K);return K.isMatch=!1,W?K:!1}if(typeof F.onMatch==="function")F.onMatch(K);return W?K:!0};if(U)I.state=J;return I};iD.test=(D,$,U,{glob:X,posix:F}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let Q=U||{},Y=Q.format||(F?Aw.toPosixSlashes:null),J=D===X,q=J&&Y?Y(D):D;if(J===!1)q=Y?Y(D):D,J=q===X;if(J===!1||Q.capture===!0)if(Q.matchBase===!0||Q.basename===!0)J=iD.matchBase(D,$,U,F);else J=$.exec(q);return{isMatch:Boolean(J),match:J,output:q}};iD.matchBase=(D,$,U)=>{return($ instanceof RegExp?$:iD.makeRe($,U)).test(Aw.basename(D))};iD.isMatch=(D,$,U)=>iD($,U)(D);iD.parse=(D,$)=>{if(Array.isArray(D))return D.map((U)=>iD.parse(U,$));return qQ(D,{...$,fastpaths:!1})};iD.scan=(D,$)=>Oy(D,$);iD.compileRe=(D,$,U=!1,X=!1)=>{if(U===!0)return D.output;let F=$||{},Q=F.contains?"":"^",Y=F.contains?"":"$",J=`${Q}(?:${D.output})${Y}`;if(D&&D.negated===!0)J=`^(?!${J}).*$`;let q=iD.toRegex(J,$);if(X===!0)q.state=D;return q};iD.makeRe=(D,$={},U=!1,X=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let F={negated:!1,fastpaths:!0};if($.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))F.output=qQ.fastpaths(D,$);if(!F.output)F=qQ(D,$);return iD.compileRe(F,$,U,X)};iD.toRegex=(D,$)=>{try{let U=$||{};return new RegExp(D,U.flags||(U.nocase?"i":""))}catch(U){if($&&$.debug===!0)throw U;return/$^/}};iD.constants=Ny;Rw.exports=iD});var Cw=S((RzD,Pw)=>{var Sw=jw(),Ey=B2();function Tw(D,$,U=!1){if($&&($.windows===null||$.windows===void 0))$={...$,windows:Ey.isWindows()};return Sw(D,$,U)}Object.assign(Tw,Sw);Pw.exports=Tw});var HD=S((Qm)=>{var zQ=Symbol.for("yaml.alias"),dw=Symbol.for("yaml.document"),Q5=Symbol.for("yaml.map"),lw=Symbol.for("yaml.pair"),WQ=Symbol.for("yaml.scalar"),Y5=Symbol.for("yaml.seq"),b$=Symbol.for("yaml.node.type"),sy=(D)=>!!D&&typeof D==="object"&&D[b$]===zQ,ey=(D)=>!!D&&typeof D==="object"&&D[b$]===dw,Dm=(D)=>!!D&&typeof D==="object"&&D[b$]===Q5,$m=(D)=>!!D&&typeof D==="object"&&D[b$]===lw,cw=(D)=>!!D&&typeof D==="object"&&D[b$]===WQ,Um=(D)=>!!D&&typeof D==="object"&&D[b$]===Y5;function nw(D){if(D&&typeof D==="object")switch(D[b$]){case Q5:case Y5:return!0}return!1}function Fm(D){if(D&&typeof D==="object")switch(D[b$]){case zQ:case Q5:case WQ:case Y5:return!0}return!1}var Xm=(D)=>(cw(D)||nw(D))&&!!D.anchor;Qm.ALIAS=zQ;Qm.DOC=dw;Qm.MAP=Q5;Qm.NODE_TYPE=b$;Qm.PAIR=lw;Qm.SCALAR=WQ;Qm.SEQ=Y5;Qm.hasAnchor=Xm;Qm.isAlias=sy;Qm.isCollection=nw;Qm.isDocument=ey;Qm.isMap=Dm;Qm.isNode=Fm;Qm.isPair=$m;Qm.isScalar=cw;Qm.isSeq=Um});var L2=S((Mm)=>{var sD=HD(),S0=Symbol("break visit"),iw=Symbol("skip children"),B$=Symbol("remove node");function J5(D,$){let U=pw($);if(sD.isDocument(D)){if(F4(null,D.contents,U,Object.freeze([D]))===B$)D.contents=null}else F4(null,D,U,Object.freeze([]))}J5.BREAK=S0;J5.SKIP=iw;J5.REMOVE=B$;function F4(D,$,U,X){let F=rw(D,$,U,X);if(sD.isNode(F)||sD.isPair(F))return aw(D,X,F),F4(D,F,U,X);if(typeof F!=="symbol"){if(sD.isCollection($)){X=Object.freeze(X.concat($));for(let Q=0;Q<$.items.length;++Q){let Y=F4(Q,$.items[Q],U,X);if(typeof Y==="number")Q=Y-1;else if(Y===S0)return S0;else if(Y===B$)$.items.splice(Q,1),Q-=1}}else if(sD.isPair($)){X=Object.freeze(X.concat($));let Q=F4("key",$.key,U,X);if(Q===S0)return S0;else if(Q===B$)$.key=null;let Y=F4("value",$.value,U,X);if(Y===S0)return S0;else if(Y===B$)$.value=null}}return F}async function q5(D,$){let U=pw($);if(sD.isDocument(D)){if(await X4(null,D.contents,U,Object.freeze([D]))===B$)D.contents=null}else await X4(null,D,U,Object.freeze([]))}q5.BREAK=S0;q5.SKIP=iw;q5.REMOVE=B$;async function X4(D,$,U,X){let F=await rw(D,$,U,X);if(sD.isNode(F)||sD.isPair(F))return aw(D,X,F),X4(D,F,U,X);if(typeof F!=="symbol"){if(sD.isCollection($)){X=Object.freeze(X.concat($));for(let Q=0;Q<$.items.length;++Q){let Y=await X4(Q,$.items[Q],U,X);if(typeof Y==="number")Q=Y-1;else if(Y===S0)return S0;else if(Y===B$)$.items.splice(Q,1),Q-=1}}else if(sD.isPair($)){X=Object.freeze(X.concat($));let Q=await X4("key",$.key,U,X);if(Q===S0)return S0;else if(Q===B$)$.key=null;let Y=await X4("value",$.value,U,X);if(Y===S0)return S0;else if(Y===B$)$.value=null}}return F}function pw(D){if(typeof D==="object"&&(D.Collection||D.Node||D.Value))return Object.assign({Alias:D.Node,Map:D.Node,Scalar:D.Node,Seq:D.Node},D.Value&&{Map:D.Value,Scalar:D.Value,Seq:D.Value},D.Collection&&{Map:D.Collection,Seq:D.Collection},D);return D}function rw(D,$,U,X){if(typeof U==="function")return U(D,$,X);if(sD.isMap($))return U.Map?.(D,$,X);if(sD.isSeq($))return U.Seq?.(D,$,X);if(sD.isPair($))return U.Pair?.(D,$,X);if(sD.isScalar($))return U.Scalar?.(D,$,X);if(sD.isAlias($))return U.Alias?.(D,$,X);return}function aw(D,$,U){let X=$[$.length-1];if(sD.isCollection(X))X.items[D]=U;else if(sD.isPair(X))if(D==="key")X.key=U;else X.value=U;else if(sD.isDocument(X))X.contents=U;else{let F=sD.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${F} parent`)}}Mm.visit=J5;Mm.visitAsync=q5});var GQ=S((Tm)=>{var ow=HD(),Rm=L2(),jm={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Sm=(D)=>D.replace(/[!,[\]{}]/g,($)=>jm[$]);class n0{constructor(D,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},n0.defaultYaml,D),this.tags=Object.assign({},n0.defaultTags,$)}clone(){let D=new n0(this.yaml,this.tags);return D.docStart=this.docStart,D}atDocument(){let D=new n0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:n0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},n0.defaultTags);break}return D}add(D,$){if(this.atNextDocument)this.yaml={explicit:n0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},n0.defaultTags),this.atNextDocument=!1;let U=D.trim().split(/[ \t]+/),X=U.shift();switch(X){case"%TAG":{if(U.length!==2){if($(0,"%TAG directive should contain exactly two parts"),U.length<2)return!1}let[F,Q]=U;return this.tags[F]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,U.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[F]=U;if(F==="1.1"||F==="1.2")return this.yaml.version=F,!0;else{let Q=/^\d+\.\d+$/.test(F);return $(6,`Unsupported YAML version ${F}`,Q),!1}}default:return $(0,`Unknown directive ${X}`,!0),!1}}tagName(D,$){if(D==="!")return"!";if(D[0]!=="!")return $(`Not a valid tag: ${D}`),null;if(D[1]==="<"){let Q=D.slice(2,-1);if(Q==="!"||Q==="!!")return $(`Verbatim tags aren't resolved, so ${D} is invalid.`),null;if(D[D.length-1]!==">")$("Verbatim tags must end with a >");return Q}let[,U,X]=D.match(/^(.*!)([^!]*)$/s);if(!X)$(`The ${D} tag has no suffix`);let F=this.tags[U];if(F)try{return F+decodeURIComponent(X)}catch(Q){return $(String(Q)),null}if(U==="!")return D;return $(`Could not resolve tag: ${D}`),null}tagString(D){for(let[$,U]of Object.entries(this.tags))if(D.startsWith(U))return $+Sm(D.substring(U.length));return D[0]==="!"?D:`!<${D}>`}toString(D){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],U=Object.entries(this.tags),X;if(D&&U.length>0&&ow.isNode(D.contents)){let F={};Rm.visit(D.contents,(Q,Y)=>{if(ow.isNode(Y)&&Y.tag)F[Y.tag]=!0}),X=Object.keys(F)}else X=[];for(let[F,Q]of U){if(F==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!D||X.some((Y)=>Y.startsWith(Q)))$.push(`%TAG ${F} ${Q}`)}return $.join(`
1
+ import{createRequire as _g}from"node:module";var Tg=Object.create;var{getPrototypeOf:Pg,defineProperty:Z2,getOwnPropertyNames:cK,getOwnPropertyDescriptor:Cg}=Object,nK=Object.prototype.hasOwnProperty;function iK(D){return this[D]}var vg,bg,j0=(D,$,U)=>{var X=D!=null&&typeof D==="object";if(X){var F=$?vg??=new WeakMap:bg??=new WeakMap,Q=F.get(D);if(Q)return Q}U=D!=null?Tg(Pg(D)):{};let Y=$||!D||!D.__esModule?Z2(U,"default",{value:D,enumerable:!0}):U;for(let J of cK(D))if(!nK.call(Y,J))Z2(Y,J,{get:iK.bind(D,J),enumerable:!0});if(X)F.set(D,Y);return Y},s$=(D)=>{var $=(lK??=new WeakMap).get(D),U;if($)return $;if($=Z2({},"__esModule",{value:!0}),D&&typeof D==="object"||typeof D==="function"){for(var X of cK(D))if(!nK.call($,X))Z2($,X,{get:iK.bind(D,X),enumerable:!(U=Cg(D,X))||U.enumerable})}return lK.set(D,$),$},lK,S=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var ug=(D)=>D;function xg(D,$){this[D]=ug.bind(null,$)}var I0=(D,$)=>{for(var U in $)Z2(D,U,{get:$[U],enumerable:!0,configurable:!0,set:xg.bind($,U)})};var g=(D,$)=>()=>(D&&($=D(D=0)),$);var e=_g(import.meta.url);var D$;var D4=g(()=>{D$={name:"@capgo/cli",type:"module",version:"8.53.2",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:"https://github.com/Cap-go/capgo.app",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:notify-app-ready-background":"bun test ./test/test-notify-app-ready-background.mjs ./test/test-background-check-shutdown.mjs","test:bundle":"bun test/test-bundle.mjs","test:bundle-validation":"bun test test/bundle/","test:prescan":"bun test test/prescan/","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:native-dependencies":"bun test/test-native-dependencies.mjs && bun test/test-get-remote-dependencies.mjs","test:package-json-guard":"bun test/test-package-json-guard.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-export":"bun test/test-credentials-export.mjs","test:asc-key-protocol":"bun test/test-asc-key-protocol.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:cli-help":"bun test/test-cli-help.mjs","test:build-cache-payload":"bun test/test-build-cache-payload.mjs","test:build-cancellation":"bun test/test-build-cancellation.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:cli-headers":"bun test/test-cli-headers.mjs","test:min-cli-version":"bun test/test-min-cli-version.mjs","test:authenticated-command-invocation":"bun test/test-authenticated-command-invocation.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:preview-qr":"bun test/test-preview-qr.mjs","test:mcp-analytics":"bun test/test-mcp-analytics.mjs","test:mcp-instructions":"bun test/test-mcp-instructions.mjs","test:mcp-stdout-guard":"bun test/test-mcp-stdout-guard.mjs","test:mcp-platform-select":"bun test/test-mcp-platform-select.mjs","test:mcp-explain-scopes":"bun test/test-mcp-explain-scopes.mjs","test:mcp-oauth-reopen":"bun test/test-mcp-oauth-reopen.mjs","test:mcp-broker-oauth":"bun test/test-mcp-broker-oauth.mjs","test:mcp-broker-session":"bun test/test-mcp-broker-session.mjs","test:mcp-credentials-manage":"bun test/test-mcp-credentials-manage.mjs","test:mcp-resume-prompt":"bun test/test-mcp-resume-prompt.mjs","test:mcp-build-job":"bun test/test-mcp-build-job.mjs","test:mcp-build-tools":"bun test/test-mcp-build-tools.mjs","test:app-created-source":"bun test/test-app-created-source.mjs","test:app-add-exists":"bun test/test-app-add-exists.mjs","test:app-list-output-text":"bun test/test-app-list-output-text.mjs","test:doctor-analytics":"bun test/test-doctor-analytics.mjs","test:posthog-exception":"bun test/test-posthog-exception.mjs","test:cli-recovery":"bun test/test-cli-recovery.mjs","test:create-supabase-client":"bun test/test-create-supabase-client.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:channel-add-exists":"bun test/test-channel-add-exists.mjs","test:wait-log":"bun test/test-wait-log.mjs","test:init-guardrails":"bun test/test-init-guardrails.mjs","test:init-upload-recovery":"bun test/test-init-upload-error-gate.mjs && bun test/test-init-upload-monorepo-recovery.mjs","test:init-replay":"bun test/test-init-replay.mjs","test:init-telemetry":"bun test/test-init-telemetry.mjs","test:capacitor-config-target":"bun test/test-capacitor-config-target.mjs","test:capacitor-config-typescript7":"bun test/test-capacitor-config-typescript7.mjs","test:capacitor-config-native-import":"bun test/test-capacitor-config-native-import.mjs","test:cli-user-error-config":"bun test/test-cli-user-error-config.mjs","test:init-monorepo-targeting":"bun run test:capacitor-config-target && bun run test:capacitor-config-typescript7 && bun run test:capacitor-config-native-import && bun run test:cli-user-error-config && bun test/test-init-monorepo-targeting.mjs","test:prompt-preferences":"bun test/test-prompt-preferences.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:auth-session":"bun test/test-auth-session.mjs","test:mcp":"node test/test-mcp.mjs","test:mcp-no-key-handshake":"node test/test-mcp-no-key-handshake.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:project-type-detection":"bun test/test-project-type-detection.mjs","test:payload-split":"bun test/test-payload-split.mjs","test:macos-signing":"bun test/test-macos-signing.mjs","test:helper-dce":"bash scripts/check-helper-dce.sh","test:apple-api-import-helpers":"bun test/test-apple-api-import-helpers.mjs","test:apple-api-verify-key":"bun test/test-apple-api-verify-key.mjs","test:bundle-id-detector":"bun test/test-bundle-id-detector.mjs","test:apple-api-app-list":"bun test/test-apple-api-app-list.mjs","test:apple-api-cert-create":"bun test/test-apple-api-cert-create.mjs","test:app-verification":"bun test/test-app-verification.mjs","test:pbxproj-parser":"bun test/test-pbxproj-parser.mjs","test:manifest-path-encoding":"bun test/test-manifest-path-encoding.mjs","test:self-update":"bun test/test-self-update.mjs","test:update-prompt":"bun test/test-update-prompt.mjs","test:android-tail-engine":"bun test/test-android-tail-engine.mjs","test:android-tail-render":"bun test/test-android-tail-render.mjs","test:android-tail-routing":"bun test/test-android-tail-routing.mjs","test:dev-gate-stripped":"bun test/test-dev-gate-stripped.mjs","test:frame-fit-ios-shared":"bun test/test-frame-fit-ios-shared.mjs","test:ios-confirm-app-id":"bun test/test-ios-confirm-app-id.mjs","test:ios-create-new":"bun test/test-ios-create-new.mjs","test:ios-e2e":"bun test/test-ios-e2e.mjs","test:ios-flow-contract":"bun test/test-ios-flow-contract.mjs","test:ios-import-discovery":"bun test/test-ios-import-discovery.mjs","test:ios-import-export":"bun test/test-ios-import-export.mjs","test:ios-import-pickers":"bun test/test-ios-import-pickers.mjs","test:ios-import-recovery":"bun test/test-ios-import-recovery.mjs","test:ios-recovery":"bun test/test-ios-recovery.mjs","test:ios-resume":"bun test/test-ios-resume.mjs","test:ios-tail-handoff":"bun test/test-ios-tail-handoff.mjs","test:ios-tui-render":"bun test/test-ios-tui-render.mjs","test:p8-error":"bun test/test-p8-error.mjs","test:ios-tui-routing":"bun test/test-ios-tui-routing.mjs","test:ios-updater-sync-validation":"bun test/test-ios-updater-sync-validation.mjs","test:ios-verify-app":"bun test/test-ios-verify-app.mjs","test:ios-marketing-version":"bun test/test-ios-marketing-version.mjs","test:android-version":"bun test/test-android-version.mjs","test:platform-flow-contract":"bun test/test-platform-flow-contract.mjs","test:tail-engine-shared":"bun test/test-tail-engine-shared.mjs",test:"bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:notify-app-ready-background && bun run test:bundle-validation && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && bun run test:credentials && bun run test:credentials-export && bun run test:ios-provisioning-map && bun run test:ios-provisioning-command && 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:cli-help && bun run test:build-cache-payload && bun run test:build-cancellation && 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:cli-headers && bun run test:min-cli-version && bun run test:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && bun run test:app-created-source && bun run test:app-add-exists && bun run test:app-list-output-text && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:cli-recovery && bun run test:create-supabase-client && bun run test:build-platform-selection && bun run test:builder-project-discovery && 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-monorepo-targeting && bun run test:init-app-conflict && bun run test:channel-list && bun run test:channel-add-exists && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-upload-recovery && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && bun run test:bundle-id-detector && bun run test:apple-api-app-list && bun run test:app-verification && bun run test:pbxproj-parser && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:cicd-failure-help && bun run test:ai-sse-parser && bun run test:ai-render-markdown && bun run test:ai-stream-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 && bun run test:ai-analyze-stream && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:android-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-gcp && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:2fa-compliance-network && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation","test:build-platform-selection":"bun test/test-build-platform-selection.mjs","test:builder-project-discovery":"bun test/test-builder-project-discovery.mjs","test:ai-log-capture":"bun test/test-ai-log-capture.mjs","test:ai-analyze-flow":"bun test/test-ai-analyze-flow.mjs","test:cicd-failure-help":"bun test/test-cicd-failure-help.mjs","test:ai-analyze-stream":"bun test/test-ai-analyze-stream.mjs","test:ai-sse-parser":"bun test/test-ai-sse-parser.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","test:ai-stream-markdown":"bun test/test-ai-stream-markdown.mjs","test:support-mailto":"bun test/test-support-mailto.mjs","test:support-redact":"bun test/test-support-redact.mjs","test:support-internal-log":"bun test/test-support-internal-log.mjs","test:support-help-menu":"bun test/test-support-help-menu.mjs","test:support-contact":"bun test/test-support-contact.mjs","test:support-upload-prompt":"bun test/test-support-upload-prompt.mjs","test:support-bundle-files":"bun test/test-support-bundle-files.mjs","test:mcp-live-update-onboarding":"bun test/test-mcp-live-update-onboarding.mjs","test:app-set-options":"bun test/test-app-set-options.mjs && bun test/test-app-list-options.mjs","test:android-reporting-api":"bun test/test-android-reporting-api.mjs","test:android-gcp":"bun test/test-android-gcp.mjs","test:android-app-verification":"bun test/test-android-app-verification.mjs","test:android-rename":"bun test/test-android-rename.mjs","test:appflow-auth":"bun test/test-appflow-auth.mjs","test:appflow-api-map":"bun test/test-appflow-api-map.mjs","test:appflow-validate":"bun test/test-appflow-validate.mjs","test:appflow-flow":"bun test/test-appflow-flow.mjs","test:appflow-gapfill":"bun test/test-appflow-gapfill.mjs","test:appflow-engine":"bun test/test-appflow-engine.mjs","test:appflow-tail":"bun test/test-appflow-tail.mjs","test:appflow-fetch":"bun test/test-appflow-fetch.mjs","test:appflow-sa-decode":"bun test/test-appflow-sa-decode.mjs","test:app-permission-helper":"bun test/test-app-permission-helper.mjs","test:2fa-compliance-network":"bun test/test-2fa-compliance-network.mjs","test:organization-set-api-host":"bun test/test-organization-set-api-host.mjs","test:trial-warning":"bun test/test-trial-warning.mjs","test:plan-validation":"bun test/test-plan-validation.mjs","test:auto-bump-version":"bun test/test-auto-bump-version.mjs","test:auto-bump-ai-diff":"bun test/test-auto-bump-ai-diff.mjs","test:ios-provisioning-map":"bun test/test-ios-provisioning-map.mjs","test:ios-provisioning-command":"bun test/test-ios-provisioning-command.mjs","test:channel-list":"bun test/test-channel-list.mjs"},dependencies:{"@inkjs/ui":"^2.0.0","@manypkg/tools":"^2.1.2","@rrweb/types":"^2.1.1","@standard-schema/spec":"^1.1.0","@xmldom/xmldom":"^0.9.10","@xterm/addon-serialize":"^0.14.0","@xterm/headless":"^6.0.0","agent-cli-detector":"^0.1.6","happy-dom":"^20.11.0",ink:"^7.1.1","ink-spinner":"^5.0.0",jsonwebtoken:"^9.0.3","node-forge":"^1.4.0",qrcode:"^1.5.4",react:"^19.2.8","rrweb-snapshot":"^2.1.1","string-width":"^8.2.2",typescript:"6.0.3",zod:"^4.4.3"},optionalDependencies:{"@capgo/cli-helper-darwin-arm64":"^1.1.1","@capgo/cli-helper-darwin-x64":"^1.1.1","node-pty":"^1.1.0"},devDependencies:{"@antfu/eslint-config":"^9.2.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6","@capacitor/cli":"^8.4.2","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.7.0","@modelcontextprotocol/client":"^2.0.0-beta.5","@modelcontextprotocol/server":"^2.0.0-beta.5","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.8","@supabase/supabase-js":"^2.110.8","@tanstack/intent":"^0.3.6","@types/adm-zip":"^0.5.8","@types/jsonwebtoken":"^9.0.10","@types/node":"^26.1.1","@types/node-forge":"^1.3.14","@types/prettyjson":"^0.0.33","@types/qrcode":"^1.5.6","@types/react":"^19.2.17","@types/tmp":"^0.2.6","@types/ws":"^8.18.1","@typescript/native-preview":"7.0.0-dev.20260707.2","@vercel/ncc":"^0.44.1","@vue/compiler-dom":"3.5.40","@xterm/headless":"^6.0.0","adm-zip":"^0.6.0","ci-info":"^4.4.0",commander:"^15.0.0",eslint:"^10.7.0","git-format-staged":"4.0.2",husky:"^9.1.7","is-wsl":"^3.1.1",micromatch:"^4.0.8",open:"^11.0.0",oxlint:"^1.75.0",partysocket:"^1.3.0",prettyjson:"^1.2.5",tmp:"^0.2.7","tus-js-client":"^4.3.1",ws:"^8.21.1"}}});var ND;var c6=g(()=>{ND=class ND extends Error{context;constructor(D,$){super(D);this.name="CliUserError",this.context=$}}});import{platform as gg}from"node:os";import{version as fg}from"node:process";function aK(D){rK=D}function mg(D){for(let $=0;$<D.length;$++)if(D.charCodeAt($)>255)return!1;return!0}function pK(D){if(D.toLowerCase()==="x-capgo-log-token")return"Build log token is missing. Re-run the build command or pass a valid log token.";return"Capgo API key is missing. Run `npx -y @capgo/cli@latest login` or pass `--apikey`."}function hg(D){if(D.toLowerCase()==="x-capgo-log-token")return"Build log token contains invalid characters (only ASCII is allowed). Re-run the build command to get a fresh token.";if(D.toLowerCase()==="authorization")return"Authorization header contains invalid characters (only ASCII is allowed). Check your Capgo API key or Supabase anon key configuration.";return"Capgo API key contains invalid characters (only ASCII is allowed). Copy the key from the Capgo dashboard."}function sX(D,$){if($===void 0||$===null){if(tX.has(D.toLowerCase()))throw new ND(pK(D));throw new ND(`HTTP header "${D}" is missing or invalid.`)}if(typeof $!=="string"){if(tX.has(D.toLowerCase()))throw new ND(pK(D));throw new ND(`HTTP header "${D}" is missing or invalid.`)}if(!mg($)){if(tX.has(D.toLowerCase()))throw new ND(hg(D));throw new ND(`HTTP header "${D}" contains invalid characters (only ASCII is allowed).`)}return $}function V$(D){let $={capgo_api:yg,"x-cli-version":D$.version,"x-cli-command":rK,"x-cli-node":fg,"x-cli-os":gg()};if(D)for(let[U,X]of Object.entries(D))$[U]=sX(U,X);return $}var yg="2025-10-01",rK="",tX;var U5=g(()=>{D4();c6();tX=new Set(["authorization","capgkey","x-capgo-log-token"])});var V2=S((OzD,qw)=>{var Jw={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)",SEP:"/"},hf={...Jw,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},df={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qw.exports={DEFAULT_MAX_EXTGLOB_RECURSION:0,MAX_LENGTH:65536,POSIX_REGEX_SOURCE:df,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?hf:Jw}}});var B2=S((rf)=>{var{REGEX_BACKSLASH:lf,REGEX_REMOVE_BACKSLASH:cf,REGEX_SPECIAL_CHARS:nf,REGEX_SPECIAL_CHARS_GLOBAL:pf}=V2();rf.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);rf.hasRegexChars=(D)=>nf.test(D);rf.isRegexChar=(D)=>D.length===1&&rf.hasRegexChars(D);rf.escapeRegex=(D)=>D.replace(pf,"\\$1");rf.toPosixSlashes=(D)=>D.replace(lf,"/");rf.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let D=navigator.platform.toLowerCase();return D==="win32"||D==="windows"}if(typeof process<"u"&&process.platform)return process.platform==="win32";return!1};rf.removeBackslashes=(D)=>{return D.replace(cf,($)=>{return $==="\\"?"":$})};rf.escapeLast=(D,$,U)=>{let X=D.lastIndexOf($,U);if(X===-1)return D;if(D[X-1]==="\\")return rf.escapeLast(D,$,X-1);return`${D.slice(0,X)}\\${D.slice(X)}`};rf.removePrefix=(D,$={})=>{let U=D;if(U.startsWith("./"))U=U.slice(2),$.prefix="./";return U};rf.wrapOutput=(D,$={},U={})=>{let X=U.contains?"":"^",F=U.contains?"":"$",Q=`${X}(?:${D})${F}`;if($.negated===!0)Q=`(?:^(?!${Q}).*$)`;return Q};rf.basename=(D,{windows:$}={})=>{let U=D.split($?/[\\/]/:"/"),X=U[U.length-1];if(X==="")return U[U.length-2];return X}});var Hw=S((MzD,ww)=>{var Ww=B2(),{CHAR_ASTERISK:$Q,CHAR_AT:Xy,CHAR_BACKWARD_SLASH:K2,CHAR_COMMA:Qy,CHAR_DOT:UQ,CHAR_EXCLAMATION_MARK:FQ,CHAR_FORWARD_SLASH:Kw,CHAR_LEFT_CURLY_BRACE:XQ,CHAR_LEFT_PARENTHESES:QQ,CHAR_LEFT_SQUARE_BRACKET:Yy,CHAR_PLUS:Jy,CHAR_QUESTION_MARK:Gw,CHAR_RIGHT_CURLY_BRACE:qy,CHAR_RIGHT_PARENTHESES:Zw,CHAR_RIGHT_SQUARE_BRACKET:Iy}=V2(),Vw=(D)=>{return D===Kw||D===K2},Bw=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},zy=(D,$)=>{let U=$||{},X=D.length-1,F=U.parts===!0||U.scanToEnd===!0,Q=[],Y=[],J=[],q=D,I=-1,z=0,W=0,G=!1,V=!1,Z=!1,K=!1,B=!1,L=!1,O=!1,w=!1,N=!1,R=!1,j=0,C,T,u={value:"",depth:0,isGlob:!1},E=()=>I>=X,P=()=>q.charCodeAt(I+1),h=()=>{return C=T,q.charCodeAt(++I)};while(I<X){T=h();let H;if(T===K2){if(O=u.backslashes=!0,T=h(),T===XQ)L=!0;continue}if(L===!0||T===XQ){j++;while(E()!==!0&&(T=h())){if(T===K2){O=u.backslashes=!0,h();continue}if(T===XQ){j++;continue}if(L!==!0&&T===UQ&&(T=h())===UQ){if(G=u.isBrace=!0,Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(L!==!0&&T===Qy){if(G=u.isBrace=!0,Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===qy){if(j--,j===0){L=!1,G=u.isBrace=!0,R=!0;break}}}if(F===!0)continue;break}if(T===Kw){if(Q.push(I),Y.push(u),u={value:"",depth:0,isGlob:!1},R===!0)continue;if(C===UQ&&I===z+1){z+=2;continue}W=I+1;continue}if(U.noext!==!0){if((T===Jy||T===Xy||T===$Q||T===Gw||T===FQ)===!0&&P()===QQ){if(Z=u.isGlob=!0,K=u.isExtglob=!0,R=!0,T===FQ&&I===z)N=!0;if(F===!0){while(E()!==!0&&(T=h())){if(T===K2){O=u.backslashes=!0,T=h();continue}if(T===Zw){Z=u.isGlob=!0,R=!0;break}}continue}break}}if(T===$Q){if(C===$Q)B=u.isGlobstar=!0;if(Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===Gw){if(Z=u.isGlob=!0,R=!0,F===!0)continue;break}if(T===Yy){while(E()!==!0&&(H=h())){if(H===K2){O=u.backslashes=!0,h();continue}if(H===Iy){V=u.isBracket=!0,Z=u.isGlob=!0,R=!0;break}}if(F===!0)continue;break}if(U.nonegate!==!0&&T===FQ&&I===z){w=u.negated=!0,z++;continue}if(U.noparen!==!0&&T===QQ){if(Z=u.isGlob=!0,F===!0){while(E()!==!0&&(T=h())){if(T===QQ){O=u.backslashes=!0,T=h();continue}if(T===Zw){R=!0;break}}continue}break}if(Z===!0){if(R=!0,F===!0)continue;break}}if(U.noext===!0)K=!1,Z=!1;let d=q,v="",x="";if(z>0)v=q.slice(0,z),q=q.slice(z),W-=z;if(d&&Z===!0&&W>0)d=q.slice(0,W),x=q.slice(W);else if(Z===!0)d="",x=q;else d=q;if(d&&d!==""&&d!=="/"&&d!==q){if(Vw(d.charCodeAt(d.length-1)))d=d.slice(0,-1)}if(U.unescape===!0){if(x)x=Ww.removeBackslashes(x);if(d&&O===!0)d=Ww.removeBackslashes(d)}let A={prefix:v,input:D,start:z,base:d,glob:x,isBrace:G,isBracket:V,isGlob:Z,isExtglob:K,isGlobstar:B,negated:w,negatedExtglob:N};if(U.tokens===!0){if(A.maxDepth=0,!Vw(T))Y.push(u);A.tokens=Y}if(U.parts===!0||U.tokens===!0){let H;for(let M=0;M<Q.length;M++){let b=H?H+1:z,m=Q[M],f=D.slice(b,m);if(U.tokens){if(M===0&&z!==0)Y[M].isPrefix=!0,Y[M].value=v;else Y[M].value=f;Bw(Y[M]),A.maxDepth+=Y[M].depth}if(M!==0||f!=="")J.push(f);H=m}if(H&&H+1<D.length){let M=D.slice(H+1);if(J.push(M),U.tokens)Y[Y.length-1].value=M,Bw(Y[Y.length-1]),A.maxDepth+=Y[Y.length-1].depth}A.slashes=Q,A.parts=J}return A};ww.exports=zy});var Ew=S((EzD,Mw)=>{var w2=V2(),k0=B2(),{MAX_LENGTH:X5,POSIX_REGEX_SOURCE:Wy,REGEX_NON_SPECIAL_CHARS:Gy,REGEX_SPECIAL_CHARS_BACKREF:Zy,REPLACEMENTS:Lw}=w2,Vy=(D,$)=>{if(typeof $.expandRange==="function")return $.expandRange(...D,$);D.sort();let U=`[${D.join("-")}]`;try{new RegExp(U)}catch(X){return D.map((F)=>k0.escapeRegex(F)).join("..")}return U},$4=(D,$)=>{return`Missing ${D}: "${$}" - use "\\\\${$}" to match literal characters`},Ow=(D)=>{let $=[],U=0,X=0,F=0,Q="",Y=!1;for(let J of D){if(Y===!0){Q+=J,Y=!1;continue}if(J==="\\"){Q+=J,Y=!0;continue}if(J==='"'){F=F===1?0:1,Q+=J;continue}if(F===0){if(J==="[")U++;else if(J==="]"&&U>0)U--;else if(U===0){if(J==="(")X++;else if(J===")"&&X>0)X--;else if(J==="|"&&X===0){$.push(Q),Q="";continue}}}Q+=J}return $.push(Q),$},By=(D)=>{let $=!1;for(let U of D){if($===!0){$=!1;continue}if(U==="\\"){$=!0;continue}if(/[?*+@!()[\]{}]/.test(U))return!1}return!0},Nw=(D)=>{let $=D.trim(),U=!0;while(U===!0)if(U=!1,/^@\([^\\()[\]{}|]+\)$/.test($))$=$.slice(2,-1),U=!0;if(!By($))return;return $.replace(/\\(.)/g,"$1")},Ky=(D)=>{let $=D.map(Nw).filter(Boolean);for(let U=0;U<$.length;U++)for(let X=U+1;X<$.length;X++){let F=$[U],Q=$[X],Y=F[0];if(!Y||F!==Y.repeat(F.length)||Q!==Y.repeat(Q.length))continue;if(F===Q||F.startsWith(Q)||Q.startsWith(F))return!0}return!1},YQ=(D,$=!0)=>{if(D[0]!=="+"&&D[0]!=="*"||D[1]!=="(")return;let U=0,X=0,F=0,Q=!1;for(let Y=1;Y<D.length;Y++){let J=D[Y];if(Q===!0){Q=!1;continue}if(J==="\\"){Q=!0;continue}if(J==='"'){F=F===1?0:1;continue}if(F===1)continue;if(J==="["){U++;continue}if(J==="]"&&U>0){U--;continue}if(U>0)continue;if(J==="("){X++;continue}if(J===")"){if(X--,X===0){if($===!0&&Y!==D.length-1)return;return{type:D[0],body:D.slice(2,Y),end:Y}}}}},wy=(D)=>{let $=0,U=[];while($<D.length){let F=YQ(D.slice($),!1);if(!F||F.type!=="*")return;let Q=Ow(F.body).map((J)=>J.trim());if(Q.length!==1)return;let Y=Nw(Q[0]);if(!Y||Y.length!==1)return;U.push(Y),$+=F.end+1}if(U.length<1)return;return`${U.length===1?k0.escapeRegex(U[0]):`[${U.map((F)=>k0.escapeRegex(F)).join("")}]`}*`},Hy=(D)=>{let $=0,U=D.trim(),X=YQ(U);while(X)$++,U=X.body.trim(),X=YQ(U);return $},Ly=(D,$)=>{if($.maxExtglobRecursion===!1)return{risky:!1};let U=typeof $.maxExtglobRecursion==="number"?$.maxExtglobRecursion:w2.DEFAULT_MAX_EXTGLOB_RECURSION,X=Ow(D).map((F)=>F.trim());if(X.length>1){if(X.some((F)=>F==="")||X.some((F)=>/^[*?]+$/.test(F))||Ky(X))return{risky:!0}}for(let F of X){let Q=wy(F);if(Q)return{risky:!0,safeOutput:Q};if(Hy(F)>U)return{risky:!0}}return{risky:!1}},JQ=(D,$)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=Lw[D]||D;let U={...$},X=typeof U.maxLength==="number"?Math.min(X5,U.maxLength):X5,F=D.length;if(F>X)throw SyntaxError(`Input length: ${F}, exceeds maximum allowed length: ${X}`);let Q={type:"bos",value:"",output:U.prepend||""},Y=[Q],J=U.capture?"":"?:",q=w2.globChars(U.windows),I=w2.extglobChars(q),{DOT_LITERAL:z,PLUS_LITERAL:W,SLASH_LITERAL:G,ONE_CHAR:V,DOTS_SLASH:Z,NO_DOT:K,NO_DOT_SLASH:B,NO_DOTS_SLASH:L,QMARK:O,QMARK_NO_DOT:w,STAR:N,START_ANCHOR:R}=q,j=(o)=>{return`(${J}(?:(?!${R}${o.dot?Z:z}).)*?)`},C=U.dot?"":K,T=U.dot?O:w,u=U.bash===!0?j(U):N;if(U.capture)u=`(${u})`;if(typeof U.noext==="boolean")U.noextglob=U.noext;let E={input:D,index:-1,start:0,dot:U.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:Y};D=k0.removePrefix(D,E),F=D.length;let P=[],h=[],d=[],v=Q,x,A=()=>E.index===F-1,H=E.peek=(o=1)=>D[E.index+o],M=E.advance=()=>D[++E.index]||"",b=()=>D.slice(E.index+1),m=(o="",jD=0)=>{E.consumed+=o,E.index+=jD},f=(o)=>{E.output+=o.output!=null?o.output:o.value,m(o.value)},UD=()=>{let o=1;while(H()==="!"&&(H(2)!=="("||H(3)==="?"))M(),E.start++,o++;if(o%2===0)return!1;return E.negated=!0,E.start++,!0},k=(o)=>{E[o]++,d.push(o)},l=(o)=>{E[o]--,d.pop()},s=(o)=>{if(v.type==="globstar"){let jD=E.braces>0&&(o.type==="comma"||o.type==="brace"),t=o.extglob===!0||P.length&&(o.type==="pipe"||o.type==="paren");if(o.type!=="slash"&&o.type!=="paren"&&!jD&&!t)E.output=E.output.slice(0,-v.output.length),v.type="star",v.value="*",v.output=u,E.output+=v.output}if(P.length&&o.type!=="paren")P[P.length-1].inner+=o.value;if(o.value||o.output)f(o);if(v&&v.type==="text"&&o.type==="text"){v.output=(v.output||v.value)+o.value,v.value+=o.value;return}o.prev=v,Y.push(o),v=o},qD=(o,jD)=>{let t={...I[jD],conditions:1,inner:""};t.prev=v,t.parens=E.parens,t.output=E.output,t.startIndex=E.index,t.tokensIndex=Y.length;let VD=(U.capture?"(":"")+t.open;k("parens"),s({type:o,value:jD,output:E.output?"":V}),s({type:"paren",extglob:!0,value:M(),output:VD}),P.push(t)},KD=(o)=>{let jD=D.slice(o.startIndex,E.index+1),t=D.slice(o.startIndex+2,E.index),VD=Ly(t,U);if((o.type==="plus"||o.type==="star")&&VD.risky){let vD=VD.safeOutput?(o.output?"":V)+(U.capture?`(${VD.safeOutput})`:VD.safeOutput):void 0,G$=Y[o.tokensIndex];G$.type="text",G$.value=jD,G$.output=vD||k0.escapeRegex(jD);for(let Z$=o.tokensIndex+1;Z$<Y.length;Z$++)Y[Z$].value="",Y[Z$].output="",delete Y[Z$].suffix;E.output=o.output+G$.output,E.backtrack=!0,s({type:"paren",extglob:!0,value:x,output:""}),l("parens");return}let _D=o.close+(U.capture?")":""),tD;if(o.type==="negate"){let vD=u;if(o.inner&&o.inner.length>1&&o.inner.includes("/"))vD=j(U);if(vD!==u||A()||/^\)+$/.test(b()))_D=o.close=`)$))${vD}`;if(o.inner.includes("*")&&(tD=b())&&/^\.[^\\/.]+$/.test(tD)){let G$=JQ(tD,{...$,fastpaths:!1}).output;_D=o.close=`)${G$})${vD})`}if(o.prev.type==="bos")E.negatedExtglob=!0}s({type:"paren",extglob:!0,value:x,output:_D}),l("parens")};if(U.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let o=!1,jD=D.replace(Zy,(t,VD,_D,tD,vD,G$)=>{if(tD==="\\")return o=!0,t;if(tD==="?"){if(VD)return VD+tD+(vD?O.repeat(vD.length):"");if(G$===0)return T+(vD?O.repeat(vD.length):"");return O.repeat(_D.length)}if(tD===".")return z.repeat(_D.length);if(tD==="*"){if(VD)return VD+tD+(vD?u:"");return u}return VD?t:`\\${t}`});if(o===!0)if(U.unescape===!0)jD=jD.replace(/\\/g,"");else jD=jD.replace(/\\+/g,(t)=>{return t.length%2===0?"\\\\":t?"\\":""});if(jD===D&&U.contains===!0)return E.output=D,E;return E.output=k0.wrapOutput(jD,E,$),E}while(!A()){if(x=M(),x==="\x00")continue;if(x==="\\"){let t=H();if(t==="/"&&U.bash!==!0)continue;if(t==="."||t===";")continue;if(!t){x+="\\",s({type:"text",value:x});continue}let VD=/^\\+/.exec(b()),_D=0;if(VD&&VD[0].length>2){if(_D=VD[0].length,E.index+=_D,_D%2!==0)x+="\\"}if(U.unescape===!0)x=M();else x+=M();if(E.brackets===0){s({type:"text",value:x});continue}}if(E.brackets>0&&(x!=="]"||v.value==="["||v.value==="[^")){if(U.posix!==!1&&x===":"){let t=v.value.slice(1);if(t.includes("[")){if(v.posix=!0,t.includes(":")){let VD=v.value.lastIndexOf("["),_D=v.value.slice(0,VD),tD=v.value.slice(VD+2),vD=Wy[tD];if(vD){if(v.value=_D+vD,E.backtrack=!0,M(),!Q.output&&Y.indexOf(v)===1)Q.output=V;continue}}}}if(x==="["&&H()!==":"||x==="-"&&H()==="]")x=`\\${x}`;if(x==="]"&&(v.value==="["||v.value==="[^"))x=`\\${x}`;if(U.posix===!0&&x==="!"&&v.value==="[")x="^";v.value+=x,f({value:x});continue}if(E.quotes===1&&x!=='"'){x=k0.escapeRegex(x),v.value+=x,f({value:x});continue}if(x==='"'){if(E.quotes=E.quotes===1?0:1,U.keepQuotes===!0)s({type:"text",value:x});continue}if(x==="("){k("parens"),s({type:"paren",value:x});continue}if(x===")"){if(E.parens===0&&U.strictBrackets===!0)throw SyntaxError($4("opening","("));let t=P[P.length-1];if(t&&E.parens===t.parens+1){KD(P.pop());continue}s({type:"paren",value:x,output:E.parens?")":"\\)"}),l("parens");continue}if(x==="["){if(U.nobracket===!0||!b().includes("]")){if(U.nobracket!==!0&&U.strictBrackets===!0)throw SyntaxError($4("closing","]"));x=`\\${x}`}else k("brackets");s({type:"bracket",value:x});continue}if(x==="]"){if(U.nobracket===!0||v&&v.type==="bracket"&&v.value.length===1){s({type:"text",value:x,output:`\\${x}`});continue}if(E.brackets===0){if(U.strictBrackets===!0)throw SyntaxError($4("opening","["));s({type:"text",value:x,output:`\\${x}`});continue}l("brackets");let t=v.value.slice(1);if(v.posix!==!0&&t[0]==="^"&&!t.includes("/"))x=`/${x}`;if(v.value+=x,f({value:x}),U.literalBrackets===!1||k0.hasRegexChars(t))continue;let VD=k0.escapeRegex(v.value);if(E.output=E.output.slice(0,-v.value.length),U.literalBrackets===!0){E.output+=VD,v.value=VD;continue}v.value=`(${J}${VD}|${v.value})`,E.output+=v.value;continue}if(x==="{"&&U.nobrace!==!0){k("braces");let t={type:"brace",value:x,output:"(",outputIndex:E.output.length,tokensIndex:E.tokens.length};h.push(t),s(t);continue}if(x==="}"){let t=h[h.length-1];if(U.nobrace===!0||!t){s({type:"text",value:x,output:x});continue}let VD=")";if(t.dots===!0){let _D=Y.slice(),tD=[];for(let vD=_D.length-1;vD>=0;vD--){if(Y.pop(),_D[vD].type==="brace")break;if(_D[vD].type!=="dots")tD.unshift(_D[vD].value)}VD=Vy(tD,U),E.backtrack=!0}if(t.comma!==!0&&t.dots!==!0){let _D=E.output.slice(0,t.outputIndex),tD=E.tokens.slice(t.tokensIndex);t.value=t.output="\\{",x=VD="\\}",E.output=_D;for(let vD of tD)E.output+=vD.output||vD.value}s({type:"brace",value:x,output:VD}),l("braces"),h.pop();continue}if(x==="|"){if(P.length>0)P[P.length-1].conditions++;s({type:"text",value:x});continue}if(x===","){let t=x,VD=h[h.length-1];if(VD&&d[d.length-1]==="braces")VD.comma=!0,t="|";s({type:"comma",value:x,output:t});continue}if(x==="/"){if(v.type==="dot"&&E.index===E.start+1){E.start=E.index+1,E.consumed="",E.output="",Y.pop(),v=Q;continue}s({type:"slash",value:x,output:G});continue}if(x==="."){if(E.braces>0&&v.type==="dot"){if(v.value===".")v.output=z;let t=h[h.length-1];v.type="dots",v.output+=x,v.value+=x,t.dots=!0;continue}if(E.braces+E.parens===0&&v.type!=="bos"&&v.type!=="slash"){s({type:"text",value:x,output:z});continue}s({type:"dot",value:x,output:z});continue}if(x==="?"){if(!(v&&v.value==="(")&&U.noextglob!==!0&&H()==="("&&H(2)!=="?"){qD("qmark",x);continue}if(v&&v.type==="paren"){let VD=H(),_D=x;if(v.value==="("&&!/[!=<:]/.test(VD)||VD==="<"&&!/<([!=]|\w+>)/.test(b()))_D=`\\${x}`;s({type:"text",value:x,output:_D});continue}if(U.dot!==!0&&(v.type==="slash"||v.type==="bos")){s({type:"qmark",value:x,output:w});continue}s({type:"qmark",value:x,output:O});continue}if(x==="!"){if(U.noextglob!==!0&&H()==="("){if(H(2)!=="?"||!/[!=<:]/.test(H(3))){qD("negate",x);continue}}if(U.nonegate!==!0&&E.index===0){UD();continue}}if(x==="+"){if(U.noextglob!==!0&&H()==="("&&H(2)!=="?"){qD("plus",x);continue}if(v&&v.value==="("||U.regex===!1){s({type:"plus",value:x,output:W});continue}if(v&&(v.type==="bracket"||v.type==="paren"||v.type==="brace")||E.parens>0){s({type:"plus",value:x});continue}s({type:"plus",value:W});continue}if(x==="@"){if(U.noextglob!==!0&&H()==="("&&H(2)!=="?"){s({type:"at",extglob:!0,value:x,output:""});continue}s({type:"text",value:x});continue}if(x!=="*"){if(x==="$"||x==="^")x=`\\${x}`;let t=Gy.exec(b());if(t)x+=t[0],E.index+=t[0].length;s({type:"text",value:x});continue}if(v&&(v.type==="globstar"||v.star===!0)){v.type="star",v.star=!0,v.value+=x,v.output=u,E.backtrack=!0,E.globstar=!0,m(x);continue}let o=b();if(U.noextglob!==!0&&/^\([^?]/.test(o)){qD("star",x);continue}if(v.type==="star"){if(U.noglobstar===!0){m(x);continue}let t=v.prev,VD=t.prev,_D=t.type==="slash"||t.type==="bos",tD=VD&&(VD.type==="star"||VD.type==="globstar");if(U.bash===!0&&(!_D||o[0]&&o[0]!=="/")){s({type:"star",value:x,output:""});continue}let vD=E.braces>0&&(t.type==="comma"||t.type==="brace"),G$=P.length&&(t.type==="pipe"||t.type==="paren");if(!_D&&t.type!=="paren"&&!vD&&!G$){s({type:"star",value:x,output:""});continue}while(o.slice(0,3)==="/**"){let Z$=D[E.index+4];if(Z$&&Z$!=="/")break;o=o.slice(3),m("/**",3)}if(t.type==="bos"&&A()){v.type="globstar",v.value+=x,v.output=j(U),E.output=v.output,E.globstar=!0,m(x);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&!tD&&A()){E.output=E.output.slice(0,-(t.output+v.output).length),t.output=`(?:${t.output}`,v.type="globstar",v.output=j(U)+(U.strictSlashes?")":"|$)"),v.value+=x,E.globstar=!0,E.output+=t.output+v.output,m(x);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&o[0]==="/"){let Z$=o[1]!==void 0?"|$":"";E.output=E.output.slice(0,-(t.output+v.output).length),t.output=`(?:${t.output}`,v.type="globstar",v.output=`${j(U)}${G}|${G}${Z$})`,v.value+=x,E.output+=t.output+v.output,E.globstar=!0,m(x+M()),s({type:"slash",value:"/",output:""});continue}if(t.type==="bos"&&o[0]==="/"){v.type="globstar",v.value+=x,v.output=`(?:^|${G}|${j(U)}${G})`,E.output=v.output,E.globstar=!0,m(x+M()),s({type:"slash",value:"/",output:""});continue}E.output=E.output.slice(0,-v.output.length),v.type="globstar",v.output=j(U),v.value+=x,E.output+=v.output,E.globstar=!0,m(x);continue}let jD={type:"star",value:x,output:u};if(U.bash===!0){if(jD.output=".*?",v.type==="bos"||v.type==="slash")jD.output=C+jD.output;s(jD);continue}if(v&&(v.type==="bracket"||v.type==="paren")&&U.regex===!0){jD.output=x,s(jD);continue}if(E.index===E.start||v.type==="slash"||v.type==="dot"){if(v.type==="dot")E.output+=B,v.output+=B;else if(U.dot===!0)E.output+=L,v.output+=L;else E.output+=C,v.output+=C;if(H()!=="*")E.output+=V,v.output+=V}s(jD)}while(E.brackets>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing","]"));E.output=k0.escapeLast(E.output,"["),l("brackets")}while(E.parens>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing",")"));E.output=k0.escapeLast(E.output,"("),l("parens")}while(E.braces>0){if(U.strictBrackets===!0)throw SyntaxError($4("closing","}"));E.output=k0.escapeLast(E.output,"{"),l("braces")}if(U.strictSlashes!==!0&&(v.type==="star"||v.type==="bracket"))s({type:"maybe_slash",value:"",output:`${G}?`});if(E.backtrack===!0){E.output="";for(let o of E.tokens)if(E.output+=o.output!=null?o.output:o.value,o.suffix)E.output+=o.suffix}return E};JQ.fastpaths=(D,$)=>{let U={...$},X=typeof U.maxLength==="number"?Math.min(X5,U.maxLength):X5,F=D.length;if(F>X)throw SyntaxError(`Input length: ${F}, exceeds maximum allowed length: ${X}`);D=Lw[D]||D;let{DOT_LITERAL:Q,SLASH_LITERAL:Y,ONE_CHAR:J,DOTS_SLASH:q,NO_DOT:I,NO_DOTS:z,NO_DOTS_SLASH:W,STAR:G,START_ANCHOR:V}=w2.globChars(U.windows),Z=U.dot?z:I,K=U.dot?W:I,B=U.capture?"":"?:",L={negated:!1,prefix:""},O=U.bash===!0?".*?":G;if(U.capture)O=`(${O})`;let w=(C)=>{if(C.noglobstar===!0)return O;return`(${B}(?:(?!${V}${C.dot?q:Q}).)*?)`},N=(C)=>{switch(C){case"*":return`${Z}${J}${O}`;case".*":return`${Q}${J}${O}`;case"*.*":return`${Z}${O}${Q}${J}${O}`;case"*/*":return`${Z}${O}${Y}${J}${K}${O}`;case"**":return Z+w(U);case"**/*":return`(?:${Z}${w(U)}${Y})?${K}${J}${O}`;case"**/*.*":return`(?:${Z}${w(U)}${Y})?${K}${O}${Q}${J}${O}`;case"**/.*":return`(?:${Z}${w(U)}${Y})?${Q}${J}${O}`;default:{let T=/^(.*?)\.(\w+)$/.exec(C);if(!T)return;let u=N(T[1]);if(!u)return;return u+Q+T[2]}}},R=k0.removePrefix(D,L),j=N(R);if(j&&U.strictSlashes!==!0)j+=`${Y}?`;return j};Mw.exports=JQ});var jw=S((AzD,Rw)=>{var Oy=Hw(),qQ=Ew(),Aw=B2(),Ny=V2(),My=(D)=>D&&typeof D==="object"&&!Array.isArray(D),iD=(D,$,U=!1)=>{if(Array.isArray(D)){let z=D.map((G)=>iD(G,$,U));return(G)=>{for(let V of z){let Z=V(G);if(Z)return Z}return!1}}let X=My(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!X)throw TypeError("Expected pattern to be a non-empty string");let F=$||{},Q=F.windows,Y=X?iD.compileRe(D,$):iD.makeRe(D,$,!1,!0),J=Y.state;delete Y.state;let q=()=>!1;if(F.ignore){let z={...$,ignore:null,onMatch:null,onResult:null};q=iD(F.ignore,z,U)}let I=(z,W=!1)=>{let{isMatch:G,match:V,output:Z}=iD.test(z,Y,$,{glob:D,posix:Q}),K={glob:D,state:J,regex:Y,posix:Q,input:z,output:Z,match:V,isMatch:G};if(typeof F.onResult==="function")F.onResult(K);if(G===!1)return K.isMatch=!1,W?K:!1;if(q(z)){if(typeof F.onIgnore==="function")F.onIgnore(K);return K.isMatch=!1,W?K:!1}if(typeof F.onMatch==="function")F.onMatch(K);return W?K:!0};if(U)I.state=J;return I};iD.test=(D,$,U,{glob:X,posix:F}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let Q=U||{},Y=Q.format||(F?Aw.toPosixSlashes:null),J=D===X,q=J&&Y?Y(D):D;if(J===!1)q=Y?Y(D):D,J=q===X;if(J===!1||Q.capture===!0)if(Q.matchBase===!0||Q.basename===!0)J=iD.matchBase(D,$,U,F);else J=$.exec(q);return{isMatch:Boolean(J),match:J,output:q}};iD.matchBase=(D,$,U)=>{return($ instanceof RegExp?$:iD.makeRe($,U)).test(Aw.basename(D))};iD.isMatch=(D,$,U)=>iD($,U)(D);iD.parse=(D,$)=>{if(Array.isArray(D))return D.map((U)=>iD.parse(U,$));return qQ(D,{...$,fastpaths:!1})};iD.scan=(D,$)=>Oy(D,$);iD.compileRe=(D,$,U=!1,X=!1)=>{if(U===!0)return D.output;let F=$||{},Q=F.contains?"":"^",Y=F.contains?"":"$",J=`${Q}(?:${D.output})${Y}`;if(D&&D.negated===!0)J=`^(?!${J}).*$`;let q=iD.toRegex(J,$);if(X===!0)q.state=D;return q};iD.makeRe=(D,$={},U=!1,X=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let F={negated:!1,fastpaths:!0};if($.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))F.output=qQ.fastpaths(D,$);if(!F.output)F=qQ(D,$);return iD.compileRe(F,$,U,X)};iD.toRegex=(D,$)=>{try{let U=$||{};return new RegExp(D,U.flags||(U.nocase?"i":""))}catch(U){if($&&$.debug===!0)throw U;return/$^/}};iD.constants=Ny;Rw.exports=iD});var Cw=S((RzD,Pw)=>{var Sw=jw(),Ey=B2();function Tw(D,$,U=!1){if($&&($.windows===null||$.windows===void 0))$={...$,windows:Ey.isWindows()};return Sw(D,$,U)}Object.assign(Tw,Sw);Pw.exports=Tw});var HD=S((Qm)=>{var zQ=Symbol.for("yaml.alias"),dw=Symbol.for("yaml.document"),Q5=Symbol.for("yaml.map"),lw=Symbol.for("yaml.pair"),WQ=Symbol.for("yaml.scalar"),Y5=Symbol.for("yaml.seq"),b$=Symbol.for("yaml.node.type"),sy=(D)=>!!D&&typeof D==="object"&&D[b$]===zQ,ey=(D)=>!!D&&typeof D==="object"&&D[b$]===dw,Dm=(D)=>!!D&&typeof D==="object"&&D[b$]===Q5,$m=(D)=>!!D&&typeof D==="object"&&D[b$]===lw,cw=(D)=>!!D&&typeof D==="object"&&D[b$]===WQ,Um=(D)=>!!D&&typeof D==="object"&&D[b$]===Y5;function nw(D){if(D&&typeof D==="object")switch(D[b$]){case Q5:case Y5:return!0}return!1}function Fm(D){if(D&&typeof D==="object")switch(D[b$]){case zQ:case Q5:case WQ:case Y5:return!0}return!1}var Xm=(D)=>(cw(D)||nw(D))&&!!D.anchor;Qm.ALIAS=zQ;Qm.DOC=dw;Qm.MAP=Q5;Qm.NODE_TYPE=b$;Qm.PAIR=lw;Qm.SCALAR=WQ;Qm.SEQ=Y5;Qm.hasAnchor=Xm;Qm.isAlias=sy;Qm.isCollection=nw;Qm.isDocument=ey;Qm.isMap=Dm;Qm.isNode=Fm;Qm.isPair=$m;Qm.isScalar=cw;Qm.isSeq=Um});var L2=S((Mm)=>{var sD=HD(),S0=Symbol("break visit"),iw=Symbol("skip children"),B$=Symbol("remove node");function J5(D,$){let U=pw($);if(sD.isDocument(D)){if(F4(null,D.contents,U,Object.freeze([D]))===B$)D.contents=null}else F4(null,D,U,Object.freeze([]))}J5.BREAK=S0;J5.SKIP=iw;J5.REMOVE=B$;function F4(D,$,U,X){let F=rw(D,$,U,X);if(sD.isNode(F)||sD.isPair(F))return aw(D,X,F),F4(D,F,U,X);if(typeof F!=="symbol"){if(sD.isCollection($)){X=Object.freeze(X.concat($));for(let Q=0;Q<$.items.length;++Q){let Y=F4(Q,$.items[Q],U,X);if(typeof Y==="number")Q=Y-1;else if(Y===S0)return S0;else if(Y===B$)$.items.splice(Q,1),Q-=1}}else if(sD.isPair($)){X=Object.freeze(X.concat($));let Q=F4("key",$.key,U,X);if(Q===S0)return S0;else if(Q===B$)$.key=null;let Y=F4("value",$.value,U,X);if(Y===S0)return S0;else if(Y===B$)$.value=null}}return F}async function q5(D,$){let U=pw($);if(sD.isDocument(D)){if(await X4(null,D.contents,U,Object.freeze([D]))===B$)D.contents=null}else await X4(null,D,U,Object.freeze([]))}q5.BREAK=S0;q5.SKIP=iw;q5.REMOVE=B$;async function X4(D,$,U,X){let F=await rw(D,$,U,X);if(sD.isNode(F)||sD.isPair(F))return aw(D,X,F),X4(D,F,U,X);if(typeof F!=="symbol"){if(sD.isCollection($)){X=Object.freeze(X.concat($));for(let Q=0;Q<$.items.length;++Q){let Y=await X4(Q,$.items[Q],U,X);if(typeof Y==="number")Q=Y-1;else if(Y===S0)return S0;else if(Y===B$)$.items.splice(Q,1),Q-=1}}else if(sD.isPair($)){X=Object.freeze(X.concat($));let Q=await X4("key",$.key,U,X);if(Q===S0)return S0;else if(Q===B$)$.key=null;let Y=await X4("value",$.value,U,X);if(Y===S0)return S0;else if(Y===B$)$.value=null}}return F}function pw(D){if(typeof D==="object"&&(D.Collection||D.Node||D.Value))return Object.assign({Alias:D.Node,Map:D.Node,Scalar:D.Node,Seq:D.Node},D.Value&&{Map:D.Value,Scalar:D.Value,Seq:D.Value},D.Collection&&{Map:D.Collection,Seq:D.Collection},D);return D}function rw(D,$,U,X){if(typeof U==="function")return U(D,$,X);if(sD.isMap($))return U.Map?.(D,$,X);if(sD.isSeq($))return U.Seq?.(D,$,X);if(sD.isPair($))return U.Pair?.(D,$,X);if(sD.isScalar($))return U.Scalar?.(D,$,X);if(sD.isAlias($))return U.Alias?.(D,$,X);return}function aw(D,$,U){let X=$[$.length-1];if(sD.isCollection(X))X.items[D]=U;else if(sD.isPair(X))if(D==="key")X.key=U;else X.value=U;else if(sD.isDocument(X))X.contents=U;else{let F=sD.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${F} parent`)}}Mm.visit=J5;Mm.visitAsync=q5});var GQ=S((Tm)=>{var ow=HD(),Rm=L2(),jm={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Sm=(D)=>D.replace(/[!,[\]{}]/g,($)=>jm[$]);class n0{constructor(D,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},n0.defaultYaml,D),this.tags=Object.assign({},n0.defaultTags,$)}clone(){let D=new n0(this.yaml,this.tags);return D.docStart=this.docStart,D}atDocument(){let D=new n0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:n0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},n0.defaultTags);break}return D}add(D,$){if(this.atNextDocument)this.yaml={explicit:n0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},n0.defaultTags),this.atNextDocument=!1;let U=D.trim().split(/[ \t]+/),X=U.shift();switch(X){case"%TAG":{if(U.length!==2){if($(0,"%TAG directive should contain exactly two parts"),U.length<2)return!1}let[F,Q]=U;return this.tags[F]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,U.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[F]=U;if(F==="1.1"||F==="1.2")return this.yaml.version=F,!0;else{let Q=/^\d+\.\d+$/.test(F);return $(6,`Unsupported YAML version ${F}`,Q),!1}}default:return $(0,`Unknown directive ${X}`,!0),!1}}tagName(D,$){if(D==="!")return"!";if(D[0]!=="!")return $(`Not a valid tag: ${D}`),null;if(D[1]==="<"){let Q=D.slice(2,-1);if(Q==="!"||Q==="!!")return $(`Verbatim tags aren't resolved, so ${D} is invalid.`),null;if(D[D.length-1]!==">")$("Verbatim tags must end with a >");return Q}let[,U,X]=D.match(/^(.*!)([^!]*)$/s);if(!X)$(`The ${D} tag has no suffix`);let F=this.tags[U];if(F)try{return F+decodeURIComponent(X)}catch(Q){return $(String(Q)),null}if(U==="!")return D;return $(`Could not resolve tag: ${D}`),null}tagString(D){for(let[$,U]of Object.entries(this.tags))if(D.startsWith(U))return $+Sm(D.substring(U.length));return D[0]==="!"?D:`!<${D}>`}toString(D){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],U=Object.entries(this.tags),X;if(D&&U.length>0&&ow.isNode(D.contents)){let F={};Rm.visit(D.contents,(Q,Y)=>{if(ow.isNode(Y)&&Y.tag)F[Y.tag]=!0}),X=Object.keys(F)}else X=[];for(let[F,Q]of U){if(F==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!D||X.some((Y)=>Y.startsWith(Q)))$.push(`%TAG ${F} ${Q}`)}return $.join(`
2
2
  `)}}n0.defaultYaml={explicit:!1,version:"1.2"};n0.defaultTags={"!!":"tag:yaml.org,2002:"};Tm.Directives=n0});var I5=S((um)=>{var tw=HD(),Cm=L2();function vm(D){if(/[\x00-\x19\s,[\]{}]/.test(D)){let U=`Anchor must not contain whitespace or control characters: ${JSON.stringify(D)}`;throw Error(U)}return!0}function sw(D){let $=new Set;return Cm.visit(D,{Value(U,X){if(X.anchor)$.add(X.anchor)}}),$}function ew(D,$){for(let U=1;;++U){let X=`${D}${U}`;if(!$.has(X))return X}}function bm(D,$){let U=[],X=new Map,F=null;return{onAnchor:(Q)=>{U.push(Q),F??(F=sw(D));let Y=ew($,F);return F.add(Y),Y},setAnchors:()=>{for(let Q of U){let Y=X.get(Q);if(typeof Y==="object"&&Y.anchor&&(tw.isScalar(Y.node)||tw.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let J=Error("Failed to resolve repeated object (this should not happen)");throw J.source=Q,J}}},sourceObjects:X}}um.anchorIsValid=vm;um.anchorNames=sw;um.createNodeAnchors=bm;um.findNewAnchor=ew});var ZQ=S((fm)=>{function O2(D,$,U,X){if(X&&typeof X==="object")if(Array.isArray(X))for(let F=0,Q=X.length;F<Q;++F){let Y=X[F],J=O2(D,X,String(F),Y);if(J===void 0)delete X[F];else if(J!==Y)X[F]=J}else if(X instanceof Map)for(let F of Array.from(X.keys())){let Q=X.get(F),Y=O2(D,X,F,Q);if(Y===void 0)X.delete(F);else if(Y!==Q)X.set(F,Y)}else if(X instanceof Set)for(let F of Array.from(X)){let Q=O2(D,X,F,F);if(Q===void 0)X.delete(F);else if(Q!==F)X.delete(F),X.add(Q)}else for(let[F,Q]of Object.entries(X)){let Y=O2(D,X,F,Q);if(Y===void 0)delete X[F];else if(Y!==Q)X[F]=Y}return D.call($,U,X)}fm.applyReviver=O2});var e$=S((hm)=>{var mm=HD();function DH(D,$,U){if(Array.isArray(D))return D.map((X,F)=>DH(X,String(F),U));if(D&&typeof D.toJSON==="function"){if(!U||!mm.hasAnchor(D))return D.toJSON($,U);let X={aliasCount:0,count:1,res:void 0};U.anchors.set(D,X),U.onCreate=(Q)=>{X.res=Q,delete U.onCreate};let F=D.toJSON($,U);if(U.onCreate)U.onCreate(F);return F}if(typeof D==="bigint"&&!U?.keep)return Number(D);return D}hm.toJS=DH});var z5=S((nm)=>{var lm=ZQ(),$H=HD(),cm=e$();class UH{constructor(D){Object.defineProperty(this,$H.NODE_TYPE,{value:D})}clone(){let D=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)D.range=this.range.slice();return D}toJS(D,{mapAsMap:$,maxAliasCount:U,onAnchor:X,reviver:F}={}){if(!$H.isDocument(D))throw TypeError("A document argument is required");let Q={anchors:new Map,doc:D,keep:!0,mapAsMap:$===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},Y=cm.toJS(this,"",Q);if(typeof X==="function")for(let{count:J,res:q}of Q.anchors.values())X(q,J);return typeof F==="function"?lm.applyReviver(F,{"":Y},"",Y):Y}}nm.NodeBase=UH});var N2=S((tm)=>{var pm=I5(),rm=L2(),Q4=HD(),am=z5(),om=e$();class FH extends am.NodeBase{constructor(D){super(Q4.ALIAS);this.source=D,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(D,$){if($?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");let U;if($?.aliasResolveCache)U=$.aliasResolveCache;else if(U=[],rm.visit(D,{Node:(F,Q)=>{if(Q4.isAlias(Q)||Q4.hasAnchor(Q))U.push(Q)}}),$)$.aliasResolveCache=U;let X=void 0;for(let F of U){if(F===this)break;if(F.anchor===this.source)X=F}return X}toJSON(D,$){if(!$)return{source:this.source};let{anchors:U,doc:X,maxAliasCount:F}=$,Q=this.resolve(X,$);if(!Q){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(J)}let Y=U.get(Q);if(!Y)om.toJS(Q,null,$),Y=U.get(Q);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(F>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=W5(X,Q,U);if(Y.count*Y.aliasCount>F)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(D,$,U){let X=`*${this.source}`;if(D){if(pm.anchorIsValid(this.source),D.options.verifyAliasOrder&&!D.anchors.has(this.source)){let F=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(F)}if(D.implicitKey)return`${X} `}return X}}function W5(D,$,U){if(Q4.isAlias($)){let X=$.resolve(D),F=U&&X&&U.get(X);return F?F.count*F.aliasCount:0}else if(Q4.isCollection($)){let X=0;for(let F of $.items){let Q=W5(D,F,U);if(Q>X)X=Q}return X}else if(Q4.isPair($)){let X=W5(D,$.key,U),F=W5(D,$.value,U);return Math.max(X,F)}return 1}tm.Alias=FH});var aD=S((Fh)=>{var em=HD(),Dh=z5(),$h=e$(),Uh=(D)=>!D||typeof D!=="function"&&typeof D!=="object";class i6 extends Dh.NodeBase{constructor(D){super(em.SCALAR);this.value=D}toJSON(D,$){return $?.keep?this.value:$h.toJS(this.value,D,$)}toString(){return String(this.value)}}i6.BLOCK_FOLDED="BLOCK_FOLDED";i6.BLOCK_LITERAL="BLOCK_LITERAL";i6.PLAIN="PLAIN";i6.QUOTE_DOUBLE="QUOTE_DOUBLE";i6.QUOTE_SINGLE="QUOTE_SINGLE";Fh.Scalar=i6;Fh.isScalarValue=Uh});var M2=S((zh)=>{var Yh=N2(),p6=HD(),XH=aD(),Jh="tag:yaml.org,2002:";function qh(D,$,U){if($){let X=U.filter((Q)=>Q.tag===$),F=X.find((Q)=>!Q.format)??X[0];if(!F)throw Error(`Tag ${$} not found`);return F}return U.find((X)=>X.identify?.(D)&&!X.format)}function Ih(D,$,U){if(p6.isDocument(D))D=D.contents;if(p6.isNode(D))return D;if(p6.isPair(D)){let W=U.schema[p6.MAP].createNode?.(U.schema,null,U);return W.items.push(D),W}if(D instanceof String||D instanceof Number||D instanceof Boolean||typeof BigInt<"u"&&D instanceof BigInt)D=D.valueOf();let{aliasDuplicateObjects:X,onAnchor:F,onTagObj:Q,schema:Y,sourceObjects:J}=U,q=void 0;if(X&&D&&typeof D==="object")if(q=J.get(D),q)return q.anchor??(q.anchor=F(D)),new Yh.Alias(q.anchor);else q={anchor:null,node:null},J.set(D,q);if($?.startsWith("!!"))$=Jh+$.slice(2);let I=qh(D,$,Y.tags);if(!I){if(D&&typeof D.toJSON==="function")D=D.toJSON();if(!D||typeof D!=="object"){let W=new XH.Scalar(D);if(q)q.node=W;return W}I=D instanceof Map?Y[p6.MAP]:(Symbol.iterator in Object(D))?Y[p6.SEQ]:Y[p6.MAP]}if(Q)Q(I),delete U.onTagObj;let z=I?.createNode?I.createNode(U.schema,D,U):typeof I?.nodeClass?.from==="function"?I.nodeClass.from(U.schema,D,U):new XH.Scalar(D);if($)z.tag=$;else if(!I.default)z.tag=I.tag;if(q)q.node=z;return z}zh.createNode=Ih});var G5=S((Vh)=>{var Gh=M2(),K$=HD(),Zh=z5();function VQ(D,$,U){let X=U;for(let F=$.length-1;F>=0;--F){let Q=$[F];if(typeof Q==="number"&&Number.isInteger(Q)&&Q>=0){let Y=[];Y[Q]=X,X=Y}else X=new Map([[Q,X]])}return Gh.createNode(X,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:D,sourceObjects:new Map})}var QH=(D)=>D==null||typeof D==="object"&&!!D[Symbol.iterator]().next().done;class YH extends Zh.NodeBase{constructor(D,$){super(D);Object.defineProperty(this,"schema",{value:$,configurable:!0,enumerable:!1,writable:!0})}clone(D){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(D)$.schema=D;if($.items=$.items.map((U)=>K$.isNode(U)||K$.isPair(U)?U.clone(D):U),this.range)$.range=this.range.slice();return $}addIn(D,$){if(QH(D))this.add($);else{let[U,...X]=D,F=this.get(U,!0);if(K$.isCollection(F))F.addIn(X,$);else if(F===void 0&&this.schema)this.set(U,VQ(this.schema,X,$));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${X}`)}}deleteIn(D){let[$,...U]=D;if(U.length===0)return this.delete($);let X=this.get($,!0);if(K$.isCollection(X))return X.deleteIn(U);else throw Error(`Expected YAML collection at ${$}. Remaining path: ${U}`)}getIn(D,$){let[U,...X]=D,F=this.get(U,!0);if(X.length===0)return!$&&K$.isScalar(F)?F.value:F;else return K$.isCollection(F)?F.getIn(X,$):void 0}hasAllNullValues(D){return this.items.every(($)=>{if(!K$.isPair($))return!1;let U=$.value;return U==null||D&&K$.isScalar(U)&&U.value==null&&!U.commentBefore&&!U.comment&&!U.tag})}hasIn(D){let[$,...U]=D;if(U.length===0)return this.has($);let X=this.get($,!0);return K$.isCollection(X)?X.hasIn(U):!1}setIn(D,$){let[U,...X]=D;if(X.length===0)this.set(U,$);else{let F=this.get(U,!0);if(K$.isCollection(F))F.setIn(X,$);else if(F===void 0&&this.schema)this.set(U,VQ(this.schema,X,$));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${X}`)}}}Vh.Collection=YH;Vh.collectionFromPath=VQ;Vh.isEmptyPath=QH});var E2=S((Oh)=>{var Hh=(D)=>D.replace(/^(?!$)(?: $)?/gm,"#");function BQ(D,$){if(/^\n+$/.test(D))return D.substring(1);return $?D.replace(/^(?! *$)/gm,$):D}var Lh=(D,$,U)=>D.endsWith(`
3
3
  `)?BQ(U,$):U.includes(`
4
4
  `)?`
@@ -413,4 +413,4 @@ For more information, visit: https://capgo.app/docs/webapp/2fa-enforcement/
413
413
  `),Error("2FA required for this organization")}async function PID(D,$,U,X){return(await Promise.all(U.map(async(Q)=>{return await Zg(D,$,X,{orgId:Q.gid})?Q:null}))).filter((Q)=>Q!==null)}async function CID(D,$,U){let{error:X,data:F}=await D.rpc("get_orgs_v7");if(X)throw p.error("Cannot get the list of organizations - exiting"),p.error(Z0(X)),Error("Cannot get the list of organizations");if(F.length===0)throw p.error("Could not get organization please create an organization first"),Error("No organizations available");let Q=await PID(D,$,F,U);if(Q.length===0)throw p.error(`Could not find organization with permission: ${U}`),Error("Could not find organization with required permission");return{allOrganizations:F,allowedOrganizations:Q}}async function bRD(D,$,U){let{allOrganizations:X,allowedOrganizations:F}=await CID(D,$,U),Q=F.length>1?await tO({message:"Please pick the organization that you want to insert to",options:F.map((q)=>{let I=q.enforcing_2fa&&!q["2fa_has_access"]?" ⚠️ (2FA required)":"";return{value:q.gid,label:`${q.name}${I}`}})}):F[0].gid;if($1(Q))throw p.warn("Canceled organization selection, exiting"),new ND("Organization selection cancelled");let Y=Q,J=X.find((q)=>q.gid===Y);if(J.enforcing_2fa&&!J["2fa_has_access"])TID(J.name);return p.info(`Using the organization "${J.name}" as the app owner`),J}async function vID(D,$,U=!1){let{data:X,error:F}=await D.rpc("request_actor_user_id"),Q=(X||"").toString();if(F){if(!U)p.error(F.message);throw F}if(!Q){if(!U)p.error("Capgo authentication failed: invalid Capgo API key or insufficient Capgo permissions.");throw Error("Capgo authentication failed: invalid Capgo API key or insufficient Capgo permissions.")}return Q}async function Zg(D,$,U,X={}){let{data:F,error:Q}=await D.rpc("cli_check_permission",{apikey:$,permission_key:U,org_id:X.orgId??null,app_id:X.appId??null,channel_id:X.channelId??null});if(Q)throw p.error(`Cannot check permission ${U}`),p.error(Z0(Q)),Error(`Cannot check permission ${U}`);return!!F}async function bID(D,$,U,X={},F={}){if(await Zg(D,$,U,X))return;let Y=F.message||`Insufficient permissions for ${U}`;if(!F.silent)p.error(Y);throw new ND(`Insufficient permissions for ${U}`,{permissionKey:U,...X})}async function uRD(D,$,U,X,F,Q){await vID(D,$,Q),await bID(D,$,U,{orgId:X},{message:F,silent:Q})}async function hb(D,$,U){let{data:X,error:F}=await rX(`app/${encodeURIComponent($)}`,{apikey:D,method:"GET",body:void 0,supaHost:U?.supaHost,supaAnon:U?.supaAnon});if(!X?.owner_org||F){let Q=Z0(F);throw p.error(`Cannot get organization id for app id ${$}: ${Q}`),new ND("Cannot get organization id for app",{appId:$,cause:Q})}return X.owner_org}function xRD(D){return new Date(D||"").toLocaleString()}function xK(){if(uK)return{pm:a1,command:I2,installCommand:`${a1} ${I2}`,runner:lX};let D=t$(X0());return a1=L3(D,"npm"),I2=o7(a1),uK=!0,lX=Kj(D),{pm:a1,command:I2,installCommand:`${a1} ${I2}`,runner:lX}}function _RD(D){a1=D.pm,I2=D.command,lX=D.runner,uK=!0}function uID(D,$){return{summary:`Best fix: recreate and sync ${$==="ios"?"iOS":"Android"} with this one-line command.`,command:`rm -rf ${$} && ${D} cap add ${$} && ${D} cap sync ${$}`}}function Vg(D){return z2(D,{withFileTypes:!0}).flatMap((X)=>{let F=GD(D,X.name);if(X.isDirectory())return Vg(F);else return F.split(`node_modules${Ug}`)[1]||F})}function Bg(D){if(!ID(D))return[];try{return z2(D,{withFileTypes:!0}).flatMap((X)=>{let F=GD(D,X.name);if(X.isDirectory())return Bg(F);else return F})}catch{return[]}}function xID(D,$){let U=[];if($==="ios"){try{let Q=z2(D);for(let Y of Q)if(Y.endsWith(".podspec"))U.push(GD(D,Y))}catch{}let X=GD(D,"Package.swift"),F=GD(D,"ios","Package.swift");if(ID(X))U.push(X);if(ID(F))U.push(F)}else if($==="android"){let X=GD(D,"android"),F=GD(X,"build.gradle"),Q=GD(X,"build.gradle.kts");if(ID(F))U.push(F);if(ID(Q))U.push(Q)}return U}async function _ID(D){let $=GD(D,"ios"),U=GD(D,"android"),X=async(Y,J)=>{let q=ID(Y)?Bg(Y).filter((V)=>Ig.test(V)):[],I=xID(D,J),z=[...q,...I].sort((V,Z)=>V.localeCompare(Z));if(z.length===0)return;let{createHash:W}=await import("node:crypto"),G=W("sha256");for(let V of z)try{let Z=$g(D,V);G.update(Z);let K=rD(V);G.update(K)}catch{}return G.digest("hex")},[F,Q]=await Promise.all([X($,"ios"),X(U,"android")]);return{ios_checksum:F,android_checksum:Q}}function kID(D){let $=[],U=D,X=s1.parse(U).root;while(!0){if($.push(GD(U,"node_modules")),U===X)break;let F=o$(U);if(F===U)break;U=F}return $}async function gID(D,$){let U=$?$.split(",").map((W)=>W.trim()).filter(Boolean):[],X;try{X=await pX("",D)}catch(W){throw p.error("Invalid package.json, JSON parsing failed"),p.error(`json parse error: ${Z0(W)}`),W instanceof Error?W:Error("Invalid package.json")}let F=D?D.split(",")[0].trim():void 0,Q=!F?t$(X0()):s1.resolve(F).replace(_0,"");if(!X)throw p.error("Missing dependencies section in package.json"),Error("Missing dependencies section in package.json");for(let[W,G]of Object.entries(X))if(typeof G!=="string")throw p.error(`Invalid dependency ${W}: ${G}, expected string, got ${typeof G}`),Error(`Invalid dependency ${W}: expected string version`);let Y=U.length===0?kID(X0()):U;if(!Y.some((W)=>ID(W))){let W=L3(Q,"npm"),G=o7(W);throw p.error(`Missing node_modules folder at ${Y.join(", ")}, please run ${W} ${G}`),Error("Missing node_modules folder")}let q=!1,I=await QID(t$(X0()),D),z=await Promise.all(Array.from(X.entries()).map(async([W,G])=>{let V=!1,Z=!1,K=G,B=I.get(W)??G,L;for(let N of Y){let R=GD(N,W);if(ID(R)){V=!0,L=R;try{let j=GD(R,_0);if(ID(j)){let C=JSON.parse(rD(j,"utf-8"));if(C.version)K=C.version}}catch{}if(!zID(R))continue;try{if(Vg(R).some((C)=>Ig.test(C))){Z=!0;break}}catch(j){throw p.error(`Error reading node_modules files for ${W} package in ${N}`),p.error(Z0(j)),j instanceof Error?j:Error(`Error reading node_modules files for ${W}`)}}}if(!V){q=!0;let N=L3(Q,"npm"),R=o7(N);return p.error(`Missing dependency ${W}, please run ${N} ${R}`),{name:W,version:K,requested_version:B}}let O,w;if(Z&&L){let N=await _ID(L);O=N.ios_checksum,w=N.android_checksum}return{name:W,version:K,requested_version:B,native:Z,ios_checksum:O,android_checksum:w}}));if(q||z.some((W)=>W.native===void 0))throw p.error("Missing dependencies or invalid dependencies"),p.error("If you use monorepo, workspace or any special package manager you can use the --package-json [path,] and --node-modules [path,] options to make the command work properly"),Error("Missing dependencies or invalid dependencies");return z}async function kRD(D,$,U){let{data:X,error:F}=await D.from("channels").select("version:app_versions!channels_version_fkey(checksum)").eq("name",U).eq("app_id",$).single(),Q=X;if(F||Q===null||!Q.version||!Q.version.checksum)return null;return Q.version.checksum}function sk(D){if(!D)throw p.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),Error("Error parsing native packages");for(let U of D){let X=qK(Jk,U);if(!X.success){let F=X.error.issues.map((Q)=>`${(Q.path??[]).join(".")}: ${Q.message}`).join(", ");throw p.error(`Invalid remote native package data: ${F}`),Error(`Invalid remote native package data: ${F}`)}}return new Map(D.map((U)=>[U.name,U]))}async function Kg(D,$,U){let{data:X,error:F}=await D.from("channels").select(`version:app_versions!channels_version_fkey(
414
414
  native_packages
415
415
  )`).eq("name",U).eq("app_id",$).maybeSingle();if(F){let Y=F.code==="PGRST116"||F.message?.includes("Cannot coerce")?`Multiple channels matched for app "${$}" and channel "${U}". Contact support if this persists.`:F.message;throw p.error(`Error fetching native packages: ${Y}`),Error(`Error fetching native packages: ${Y}`)}if(!X)return sk([]);return sk(X.version?.native_packages??[])}function P8(D,$){return D||$?.plugins?.CapacitorUpdater?.appId||$?.appId}function fID(D){let $=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return $.push("new_plugin"),{compatible:!1,reasons:$,message:"New native plugin added (requires app store update)"};let U=!1;try{let W=XU(D.localVersion),G=XU(D.remoteVersion);U=uj(W,G)}catch{U=!1}if(!U)$.push("version_mismatch");if(D.localRequestedVersion&&D.remoteRequestedVersion&&D.localRequestedVersion.trim()!==D.remoteRequestedVersion.trim())$.push("requested_version_changed");let X=(W)=>typeof W==="string"&&W.trim().length>0,F=X(D.localIosChecksum)&&X(D.remoteIosChecksum)&&D.localIosChecksum!==D.remoteIosChecksum,Q=X(D.localAndroidChecksum)&&X(D.remoteAndroidChecksum)&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(F&&Q)$.push("both_platforms_changed");else if(F)$.push("ios_code_changed");else if(Q)$.push("android_code_changed");let Y=X(D.localIosChecksum)!==X(D.remoteIosChecksum),J=X(D.localAndroidChecksum)!==X(D.remoteAndroidChecksum);if(Y||J)$.push("platform_checksum_metadata_changed");let q=[],I=(W)=>W!=="requested_version_changed";for(let W of $)switch(W){case"version_mismatch":q.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"requested_version_changed":q.push(`requested version changed: ${D.remoteRequestedVersion??"unknown"} → ${D.localRequestedVersion??"unknown"}`);break;case"ios_code_changed":q.push("iOS native code changed");break;case"android_code_changed":q.push("Android native code changed");break;case"both_platforms_changed":q.push("iOS and Android native code changed");break;case"platform_checksum_metadata_changed":q.push("iOS/Android checksum metadata appeared or disappeared (may be Capgo CLI change — verify native code)");break;case"new_plugin":q.push("new plugin (requires app store update)");break;case"removed_plugin":q.push("plugin removed");break}if(!$.some(I))return{compatible:!0,reasons:$,message:q.length>0?q.join(", "):"Compatible"};return{compatible:!1,reasons:$,message:q.join(", ")}}function gRD(D){return fID(D).compatible}async function fRD(D,$,U,X,F){let Q=await gID(X,F),Y=await Kg(D,$,U),J=Q.filter((I)=>!!I.native).map((I)=>{let z=Y.get(I.name);if(z)return{name:I.name,localVersion:I.version,localRequestedVersion:I.requested_version,remoteVersion:z.version,remoteRequestedVersion:z.requested_version,localIosChecksum:I.ios_checksum,remoteIosChecksum:z.ios_checksum,localAndroidChecksum:I.android_checksum,remoteAndroidChecksum:z.android_checksum};return{name:I.name,localVersion:I.version,localRequestedVersion:I.requested_version,remoteVersion:void 0,localIosChecksum:I.ios_checksum,localAndroidChecksum:I.android_checksum}}),q=[...Y].filter(([I])=>!Q.some((z)=>z.name===I)).map(([I,z])=>({name:I,localVersion:void 0,remoteVersion:z.version,remoteRequestedVersion:z.requested_version,remoteIosChecksum:z.ios_checksum,remoteAndroidChecksum:z.android_checksum}));return J.push(...q),{finalCompatibility:J,localDependencies:Q}}async function yRD(D,$,U,X){let F=await Kg(D,$,U),Q=X.map((J)=>{let q=F.get(J.name);if(q)return{name:J.name,localVersion:J.version,localRequestedVersion:J.requested_version,remoteVersion:q.version,remoteRequestedVersion:q.requested_version,localIosChecksum:J.ios_checksum,remoteIosChecksum:q.ios_checksum,localAndroidChecksum:J.android_checksum,remoteAndroidChecksum:q.android_checksum};return{name:J.name,localVersion:J.version,localRequestedVersion:J.requested_version,remoteVersion:void 0,localIosChecksum:J.ios_checksum,localAndroidChecksum:J.android_checksum}}),Y=[...F].filter(([J])=>!X.some((q)=>q.name===J)).map(([J,q])=>({name:J,localVersion:void 0,remoteVersion:q.version,remoteRequestedVersion:q.requested_version,remoteIosChecksum:q.ios_checksum,remoteAndroidChecksum:q.android_checksum}));return Q.push(...Y),{finalCompatibility:Q,localDependencies:X}}function wg(D){if(!ID(D))return null;try{return JSON.parse(rD(D,"utf-8"))}catch{return null}}function dX(D){if(!D)return!1;return/@capgo\/capacitor-updater|CapgoCapacitorUpdater|CapacitorUpdaterPlugin/.test(D)}function yID(D){let $=wg(D);if(!$)return!1;let U=$.packageClassList;return Array.isArray(U)&&U.includes("CapacitorUpdaterPlugin")}function mID(D,$){if(!$)return GD(D,_0);return s1.isAbsolute($)?$:gD(D,$)}function hID(D=X0(),$){let U=mID(D,$),X=s1.basename(U)===_0?o$(U):U,F=[GD(X,"ios","App"),GD(D,"ios","App")].find((j)=>ID(j));if(!F)return{shouldCheck:!1,valid:!0,details:[]};let Q=wg(U),Y={...Q?.dependencies,...Q?.devDependencies,...Q?.optionalDependencies},J=Object.hasOwn(Y,"@capgo/capacitor-updater"),q=[X,D].some((j)=>ID(GD(j,"node_modules","@capgo","capacitor-updater"))),I=GD(F,"Podfile"),z=GD(F,"CapApp-SPM","Package.swift"),W=ID(I)?rD(I,"utf-8"):void 0,G=ID(z)?rD(z,"utf-8"):void 0,V=dX(W)||dX(G),Z=GD(F,"Podfile.lock"),K=GD(F,"App","capacitor.plugins.json"),B=GD(F,"App","capacitor.config.json"),L=ID(Z)?rD(Z,"utf-8"):void 0,O=ID(K)?rD(K,"utf-8"):void 0,w=dX(L)||dX(O)||yID(B);if(!(J||q||V||w))return{shouldCheck:!1,valid:!0,details:[]};let R=[];if(!V)R.push(`Missing @capgo/capacitor-updater in iOS dependency files (${I} or ${z})`);if(!w)R.push(`Missing @capgo/capacitor-updater in iOS native project outputs (${Z}, ${K}, or ${B})`);return{shouldCheck:!0,valid:V&&w,details:R}}function dID(D,$,U){if(!D.shouldCheck||D.valid)return;let X=uID($,"ios");U?.(),p.error("Capgo iOS dependency sync verification failed.");for(let F of D.details)p.error(F);throw p.error("Stop here to avoid testing on a broken native iOS project."),p.warn(X.summary),p.info(X.command),new ND(tI)}async function mRD(D,$,U,X){let F=await S4({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if($1(F)){if(D&&$&&U)await S8("onboarding-v2",$,U,"canceled");throw p.warn("Canceled Capacitor sync"),new ND("Capacitor sync cancelled")}if(F){let Q=xK(),Y=T4();Y.start("Running the command...");let J;try{await new Promise((q,I)=>{let z=pqD(Q.runner,["cap","sync"],{stdio:"pipe"});z.on("close",(W)=>{if(W===0)q();else I(Error(`Command failed with exit code ${W}`))}),z.on("error",(W)=>{I(W)})})}catch(q){J=q,p.error(`Failed to run Capacitor sync: ${q}`),p.warn(`Please run "${Q.runner} cap sync" manually to ensure encrypted updates work properly`)}if(X?.validateIosUpdater)dID(hID(X0(),X.packageJsonPath),Q.runner,()=>Y.stop("iOS sync check failed ❌"));if(J){Y.stop("Error");return}Y.stop("Capacitor sync completed ✅")}else{let Q=xK();p.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),p.info(`Remember to run "${Q.runner} cap sync" before uploading encrypted bundles`)}}var _K,kK,Qg,iX,p,aqD=".capgo_key",oqD=".capgo_key_v2",pAD,rAD,pk="https://capgo.app",rk="https://files.capgo.app",h6="https://api.capgo.app",cX="https://console.capgo.app",aAD=120000,tqD=20971520,sqD=1073741824,eqD=103809024,DID,$ID=1e4,tAD="BundleUploadTimeoutError",_0="package.json",ak="Cannot connect to server please try again later",eAD,Ig,CK=null,hX=null,MRD="5.10.0",ERD="6.25.0",ARD="7.0.30",uK=!1,a1="npm",I2="install",lX="npx";var I9=g(()=>{wj();W6();Sq();uS();U5();wb();Ab();jb();yb();cb();Jq();pb();wq();sI();Du();qk();zk();c6();IK();Kk();Lk();_K=j0(GT(),1),kK=j0(lq(),1),Qg=j0(rT(),1),iX=j0(Wb(),1);p={error:(D)=>mX("error",D),info:(D)=>mX("info",D),success:(D)=>mX("success",D),warn:(D)=>mX("warn",D)},pAD=`${aqD}.pub`,rAD=`${oqD}.pub`;DID=[0,1000,3000,5000,1e4];eAD=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i;Ig=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/});import{exit as DzD}from"node:process";import{workerData as $zD}from"node:worker_threads";U5();import{randomUUID as lID}from"node:crypto";import{env as cID}from"node:process";import{existsSync as $5,readFileSync as Og,realpathSync as l6}from"node:fs";import{dirname as W2,join as G2,resolve as e1}from"node:path";import{existsSync as Pa,readFileSync as BO,realpathSync as GO,statSync as Ca}from"node:fs";import{isAbsolute as va,join as L$,relative as KO,resolve as ba,sep as wO}from"node:path";import*as q6 from"node:path";import wD from"node:path";import*as TY from"node:fs";import E4 from"node:fs";import*as PY from"node:fs/promises";import D1 from"node:fs/promises";import{F_OK as H$}from"node:constants";import{readdir as Ay,readdirSync as Ry,realpath as jy,realpathSync as Sy,stat as Ty,statSync as Py}from"fs";import{isAbsolute as Cy,posix as n6,resolve as vy}from"path";import{fileURLToPath as by}from"url";import{createRequire as dg}from"module";import{basename as lg,dirname as DQ,normalize as cg,relative as ng,resolve as ig,sep as sK}from"path";import*as pg from"fs";var oK=dg(import.meta.url);function rg(D){let $=cg(D);if($.length>1&&$[$.length-1]===sK)$=$.substring(0,$.length-1);return $}var ag=/[\\/]/g;function eK(D,$){return D.replace(ag,$)}var og=/^[a-z]:[\\/]$/i;function tg(D){return D==="/"||og.test(D)}function eX(D,$){let{resolvePaths:U,normalizePath:X,pathSeparator:F}=$,Q=process.platform==="win32"&&D.includes("/")||D.startsWith(".");if(U)D=ig(D);if(X||Q)D=rg(D);if(D===".")return"";let Y=D[D.length-1]!==F;return eK(Y?D+F:D,F)}function Dw(D,$){return $+D}function sg(D,$){return function(U,X){if(X.startsWith(D))return X.slice(D.length)+U;else return eK(ng(D,X),$.pathSeparator)+$.pathSeparator+U}}function eg(D){return D}function Df(D,$,U){return $+D+U}function $f(D,$){let{relativePaths:U,includeBasePath:X}=$;return U&&D?sg(D,$):X?Dw:eg}function Uf(D){return function($,U){U.push($.substring(D.length)||".")}}function Ff(D){return function($,U,X){let F=$.substring(D.length)||".";if(X.every((Q)=>Q(F,!0)))U.push(F)}}var Xf=(D,$)=>{$.push(D||".")},Qf=(D,$,U)=>{let X=D||".";if(U.every((F)=>F(X,!0)))$.push(X)},Yf=()=>{};function Jf(D,$){let{includeDirs:U,filters:X,relativePaths:F}=$;if(!U)return Yf;if(F)return X&&X.length?Ff(D):Uf(D);return X&&X.length?Qf:Xf}var qf=(D,$,U,X)=>{if(X.every((F)=>F(D,!1)))U.files++},If=(D,$,U,X)=>{if(X.every((F)=>F(D,!1)))$.push(D)},zf=(D,$,U,X)=>{U.files++},Wf=(D,$)=>{$.push(D)},Gf=()=>{};function Zf(D){let{excludeFiles:$,filters:U,onlyCounts:X}=D;if($)return Gf;if(U&&U.length)return X?qf:If;else if(X)return zf;else return Wf}var Vf=(D)=>{return D},Bf=()=>{return[""].slice(0,0)};function Kf(D){return D.group?Bf:Vf}var wf=(D,$,U)=>{D.push({directory:$,files:U,dir:$})},Hf=()=>{};function Lf(D){return D.group?wf:Hf}var Of=function(D,$,U){let{queue:X,fs:F,options:{suppressErrors:Q}}=$;X.enqueue(),F.realpath(D,(Y,J)=>{if(Y)return X.dequeue(Q?null:Y,$);F.stat(J,(q,I)=>{if(q)return X.dequeue(Q?null:q,$);if(I.isDirectory()&&$w(D,J,$))return X.dequeue(null,$);U(I,J),X.dequeue(null,$)})})},Nf=function(D,$,U){let{queue:X,fs:F,options:{suppressErrors:Q}}=$;X.enqueue();try{let Y=F.realpathSync(D),J=F.statSync(Y);if(J.isDirectory()&&$w(D,Y,$))return;U(J,Y)}catch(Y){if(!Q)throw Y}};function Mf(D,$){if(!D.resolveSymlinks||D.excludeSymlinks)return null;return $?Nf:Of}function $w(D,$,U){if(U.options.useRealPaths)return Ef($,U);let X=DQ(D),F=1;while(X!==U.root&&F<2){let Q=U.symlinks.get(X);if(!!Q&&(Q===$||Q.startsWith($)||$.startsWith(Q)))F++;else X=DQ(X)}return U.symlinks.set(D,$),F>1}function Ef(D,$){return $.visited.includes(D+$.options.pathSeparator)}var Af=(D)=>{return D.counts},Rf=(D)=>{return D.groups},jf=(D)=>{return D.paths},Sf=(D)=>{return D.paths.slice(0,D.options.maxFiles)},Tf=(D,$,U)=>{return F5($,U,D.counts,D.options.suppressErrors),null},Pf=(D,$,U)=>{return F5($,U,D.paths,D.options.suppressErrors),null},Cf=(D,$,U)=>{return F5($,U,D.paths.slice(0,D.options.maxFiles),D.options.suppressErrors),null},vf=(D,$,U)=>{return F5($,U,D.groups,D.options.suppressErrors),null};function F5(D,$,U,X){if(D&&!X)$(D,U);else $(null,U)}function bf(D,$){let{onlyCounts:U,group:X,maxFiles:F}=D;if(U)return $?Af:Tf;else if(X)return $?Rf:vf;else if(F)return $?Sf:Cf;else return $?jf:Pf}var Uw={withFileTypes:!0},uf=(D,$,U,X,F)=>{if(D.queue.enqueue(),X<0)return D.queue.dequeue(null,D);let{fs:Q}=D;D.visited.push($),D.counts.directories++,Q.readdir($||".",Uw,(Y,J=[])=>{F(J,U,X),D.queue.dequeue(D.options.suppressErrors?null:Y,D)})},xf=(D,$,U,X,F)=>{let{fs:Q}=D;if(X<0)return;D.visited.push($),D.counts.directories++;let Y=[];try{Y=Q.readdirSync($||".",Uw)}catch(J){if(!D.options.suppressErrors)throw J}F(Y,U,X)};function _f(D){return D?xf:uf}var kf=class{count=0;constructor(D){this.onQueueEmpty=D}enqueue(){return this.count++,this.count}dequeue(D,$){if(this.onQueueEmpty&&(--this.count<=0||D)){if(this.onQueueEmpty(D,$),D)$.controller.abort(),this.onQueueEmpty=void 0}}},gf=class{_files=0;_directories=0;set files(D){this._files=D}get files(){return this._files}set directories(D){this._directories=D}get directories(){return this._directories}get dirs(){return this._directories}},ff=class{aborted=!1;abort(){this.aborted=!0}},Fw=class{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(D,$,U){this.isSynchronous=!U,this.callbackInvoker=bf($,this.isSynchronous),this.root=eX(D,$),this.state={root:tg(this.root)?this.root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new gf,options:$,queue:new kf((X,F)=>this.callbackInvoker(F,X,U)),symlinks:new Map,visited:[""].slice(0,0),controller:new ff,fs:$.fs||pg},this.joinPath=$f(this.root,$),this.pushDirectory=Jf(this.root,$),this.pushFile=Zf($),this.getArray=Kf($),this.groupFiles=Lf($),this.resolveSymlink=Mf($,this.isSynchronous),this.walkDirectory=_f(this.isSynchronous)}start(){return this.pushDirectory(this.root,this.state.paths,this.state.options.filters),this.walkDirectory(this.state,this.root,this.root,this.state.options.maxDepth,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}walk=(D,$,U)=>{let{paths:X,options:{filters:F,resolveSymlinks:Q,excludeSymlinks:Y,exclude:J,maxFiles:q,signal:I,useRealPaths:z,pathSeparator:W},controller:G}=this.state;if(G.aborted||I&&I.aborted||q&&X.length>q)return;let V=this.getArray(this.state.paths);for(let Z=0;Z<D.length;++Z){let K=D[Z];if(K.isFile()||K.isSymbolicLink()&&!Q&&!Y){let B=this.joinPath(K.name,$);this.pushFile(B,V,this.state.counts,F)}else if(K.isDirectory()){let B=Df(K.name,$,this.state.options.pathSeparator);if(J&&J(K.name,B))continue;this.pushDirectory(B,X,F),this.walkDirectory(this.state,B,B,U-1,this.walk)}else if(this.resolveSymlink&&K.isSymbolicLink()){let B=Dw(K.name,$);this.resolveSymlink(B,this.state,(L,O)=>{if(L.isDirectory()){if(O=eX(O,this.state.options),J&&J(K.name,z?O:B+W))return;this.walkDirectory(this.state,O,z?O:B+W,U-1,this.walk)}else{O=z?O:B;let w=lg(O),N=eX(DQ(O),this.state.options);O=this.joinPath(w,N),this.pushFile(O,V,this.state.counts,F)}})}}this.groupFiles(this.state.groups,$,V)}};function yf(D,$){return new Promise((U,X)=>{Xw(D,$,(F,Q)=>{if(F)return X(F);U(Q)})})}function Xw(D,$,U){new Fw(D,$,U).start()}function mf(D,$){return new Fw(D,$).start()}var tK=class{constructor(D,$){this.root=D,this.options=$}withPromise(){return yf(this.root,this.options)}withCallback(D){Xw(this.root,this.options,D)}sync(){return mf(this.root,this.options)}},Qw=null;try{oK.resolve("picomatch"),Qw=oK("picomatch")}catch{}var Yw=class{globCache={};options={maxDepth:1/0,suppressErrors:!0,pathSeparator:sK,filters:[]};globFunction;constructor(D){this.options={...this.options,...D},this.globFunction=this.options.globFunction}group(){return this.options.group=!0,this}withPathSeparator(D){return this.options.pathSeparator=D,this}withBasePath(){return this.options.includeBasePath=!0,this}withRelativePaths(){return this.options.relativePaths=!0,this}withDirs(){return this.options.includeDirs=!0,this}withMaxDepth(D){return this.options.maxDepth=D,this}withMaxFiles(D){return this.options.maxFiles=D,this}withFullPaths(){return this.options.resolvePaths=!0,this.options.includeBasePath=!0,this}withErrors(){return this.options.suppressErrors=!1,this}withSymlinks({resolvePaths:D=!0}={}){return this.options.resolveSymlinks=!0,this.options.useRealPaths=D,this.withFullPaths()}withAbortSignal(D){return this.options.signal=D,this}normalize(){return this.options.normalizePath=!0,this}filter(D){return this.options.filters.push(D),this}onlyDirs(){return this.options.excludeFiles=!0,this.options.includeDirs=!0,this}exclude(D){return this.options.exclude=D,this}onlyCounts(){return this.options.onlyCounts=!0,this}crawl(D){return new tK(D||".",this.options)}withGlobFunction(D){return this.globFunction=D,this}crawlWithOptions(D,$){return this.options={...this.options,...$},new tK(D||".",this.options)}glob(...D){if(this.globFunction)return this.globWithOptions(D);return this.globWithOptions(D,...[{dot:!0}])}globWithOptions(D,...$){let U=this.globFunction||Qw;if(!U)throw Error("Please specify a glob function to use glob matching.");var X=this.globCache[D.join("\x00")];if(!X)X=U(D,...$),this.globCache[D.join("\x00")]=X;return this.options.filters.push((F)=>X(F)),this}};var U4=j0(Cw(),1),uy=Array.isArray,xw=/\\/g,xy=/^[A-Za-z]:$/,_w=process.platform==="win32",_y=/^(\/?\.\.)+$/;function ky(D,$={}){let U=D.length,X=Array(U),F=Array(U),Q,Y;for(Q=0;Q<U;Q++){let J=kw(D[Q]);X[Q]=J;let q=J.length,I=Array(q);for(Y=0;Y<q;Y++)I[Y]=U4.default(J[Y],$);F[Q]=I}return(J)=>{let q=J.split("/");if(q[0]===".."&&_y.test(J))return!0;for(Q=0;Q<U;Q++){let I=X[Q],z=F[Q],W=q.length,G=Math.min(W,I.length);Y=0;while(Y<G){let V=I[Y];if(V.includes("/"))return!0;if(!z[Y](q[Y]))break;if(!$.noglobstar&&V==="**")return!0;Y++}if(Y===W)return!0}return!1}}var gy=/^[A-Z]:\/$/i,fy=_w?(D)=>gy.test(D):(D)=>D==="/";function vw(D,$,U){if(D===$||$.startsWith(`${D}/`)){if(U){let F=D.length+ +!fy(D);return(Q,Y)=>Q.slice(F,Y?-1:void 0)||"."}let X=$.slice(D.length+1);if(X)return(F,Q)=>{if(F===".")return X;let Y=`${X}/${F}`;return Q?Y.slice(0,-1):Y};return(F,Q)=>Q&&F!=="."?F.slice(0,-1):F}if(U)return(X)=>n6.relative(D,X)||".";return(X)=>n6.relative(D,`${$}/${X}`)||"."}function yy(D,$){if($.startsWith(`${D}/`)){let U=$.slice(D.length+1);return(X)=>`${U}/${X}`}return(U)=>{let X=n6.relative(D,`${$}/${U}`);return U[U.length-1]==="/"&&X!==""?`${X}/`:X||"."}}function bw(D){return D.replace(xy,($)=>`${$}/`)}var my={parts:!0};function kw(D){var $;let U=U4.default.scan(D,my);return(($=U.parts)===null||$===void 0?void 0:$.length)?U.parts:[D]}var hy=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,dy=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,ly=(D)=>D.replace(hy,"\\$&"),cy=(D)=>D.replace(dy,"\\$&"),ny=_w?cy:ly;function iy(D,$){if(($===null||$===void 0?void 0:$.caseSensitiveMatch)===!1)return!0;let U=U4.default.scan(D);return U.isGlob||U.negated}function H2(...D){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...D)}function gw(D){return typeof D==="string"?[D]:D!==null&&D!==void 0?D:[]}var py=/^(\/?\.\.)+/,ry=/\\(?=[()[\]{}!*+?@|])/g;function IQ(D,$,U,X){var F;let Q=$.cwd,Y=D;if(D[D.length-1]==="/")Y=D.slice(0,-1);if(Y[Y.length-1]!=="*"&&$.expandDirectories)Y+="/**";let J=ny(Q);Y=Cy(Y.replace(ry,""))?n6.relative(J,Y):n6.normalize(Y);let q=(F=py.exec(Y))===null||F===void 0?void 0:F[0],I=kw(Y);if(q){let W=(q.length+1)/3,G=0,V=J.split("/");while(G<W&&I[G+W]===V[V.length+G-W])Y=Y.slice(0,(W-G-1)*3)+Y.slice((W-G)*3+I[G+W].length+1)||".",G++;let Z=n6.join(Q,q.slice(G*3));if(Z[0]!=="."&&U.root.length>Z.length)U.root=bw(Z),U.depthOffset=-W+G}if(!X&&U.depthOffset>=0){var z;(z=U.commonPath)!==null&&z!==void 0||(U.commonPath=I);let W=[],G=Math.min(U.commonPath.length,I.length);for(let V=0;V<G;V++){let Z=I[V];if(Z==="**"&&!I[V+1]){W.pop();break}if(V===I.length-1||Z!==U.commonPath[V]||iy(Z))break;W.push(Z)}U.depthOffset=W.length,U.commonPath=W,U.root=bw(W.length>0?n6.join(Q,...W):Q)}return Y}function ay(D,$,U){let X=[],F=[];for(let Q of D.ignore){if(!Q)continue;if(Q[0]!=="!"||Q[1]==="(")F.push(IQ(Q,D,U,!0))}for(let Q of $){if(!Q)continue;if(Q[0]!=="!"||Q[1]==="(")X.push(IQ(Q,D,U,!1));else if(Q[1]!=="!"||Q[2]==="(")F.push(IQ(Q.slice(1),D,U,!0))}return{match:X,ignore:F}}function oy(D,$){let U=D.cwd,X={root:U,depthOffset:0},F=ay(D,$,X);if(D.debug)H2("internal processing patterns:",F);let{absolute:Q,caseSensitiveMatch:Y,debug:J,dot:q,followSymbolicLinks:I,onlyDirectories:z}=D,W=X.root.replace(xw,""),G={dot:q,nobrace:D.braceExpansion===!1,nocase:!Y,noextglob:D.extglob===!1,noglobstar:D.globstar===!1,posix:!0},V=U4.default(F.match,G),Z=U4.default(F.ignore,G),K=ky(F.match,G),B=vw(U,W,Q),L=Q?B:vw(U,W,!0),O=(R,j)=>{let C=L(j,!0);return C!=="."&&!K(C)||Z(C)},w;if(D.deep!==void 0)w=Math.round(D.deep-X.depthOffset);let N=new Yw({filters:[J?(R,j)=>{let C=B(R,j),T=V(C)&&!Z(C);if(T)H2(`matched ${C}`);return T}:(R,j)=>{let C=B(R,j);return V(C)&&!Z(C)}],exclude:J?(R,j)=>{let C=O(R,j);return H2(`${C?"skipped":"crawling"} ${j}`),C}:O,fs:D.fs,pathSeparator:"/",relativePaths:!Q,resolvePaths:Q,includeBasePath:Q,resolveSymlinks:I,excludeSymlinks:!I,excludeFiles:z,includeDirs:z||!D.onlyFiles,maxDepth:w,signal:D.signal}).crawl(W);if(D.debug)H2("internal properties:",{...X,root:W});return[N,U!==W&&!Q&&yy(U,W)]}function fw(D,$){if($)for(let U=D.length-1;U>=0;U--)D[U]=$(D[U]);return D}var uw={caseSensitiveMatch:!0,debug:!!process.env.TINYGLOBBY_DEBUG,expandDirectories:!0,followSymbolicLinks:!0,onlyFiles:!0};function ty(D){let $=Object.assign({},D);for(let U in uw)if($[U]===void 0)Object.assign($,{[U]:uw[U]});if($.cwd=($.cwd instanceof URL?by($.cwd):vy($.cwd||process.cwd())).replace(xw,"/"),$.ignore=gw($.ignore),$.fs&&($.fs={readdir:$.fs.readdir||Ay,readdirSync:$.fs.readdirSync||Ry,realpath:$.fs.realpath||jy,realpathSync:$.fs.realpathSync||Sy,stat:$.fs.stat||Ty,statSync:$.fs.statSync||Py}),$.debug)H2("globbing with options:",$);return $}function yw(D,$={}){var U;if(D&&($===null||$===void 0?void 0:$.patterns))throw Error("Cannot pass patterns as both an argument and an option");let X=uy(D)||typeof D==="string",F=gw((U=X?D:D.patterns)!==null&&U!==void 0?U:"**/*"),Q=ty(X?$:D);return F.length>0?oy(Q,F):[]}async function mw(D,$){let[U,X]=yw(D,$);return U?fw(await U.withPromise(),X):[]}function hw(D,$){let[U,X]=yw(D,$);return U?fw(U.sync(),X):[]}var zr=qY(),Wr=_2(),Gr=iQ(),OY=k2(),Zr=N2(),J6=HD(),Vr=U6(),Br=aD(),Kr=X6(),wr=Q6(),rWD=l5(),Hr=wY(),Lr=HY(),Or=LY(),p5=aL(),oL=L2();var Mr=zr.Composer,Er=Wr.Document,Ar=Gr.Schema,Rr=OY.YAMLError,jr=OY.YAMLParseError,Sr=OY.YAMLWarning,Tr=Zr.Alias,Pr=J6.isAlias,Cr=J6.isCollection,vr=J6.isDocument,br=J6.isMap,ur=J6.isNode,xr=J6.isPair,_r=J6.isScalar,kr=J6.isSeq,gr=Vr.Pair,fr=Br.Scalar,yr=Kr.YAMLMap,mr=wr.YAMLSeq;var hr=Hr.Lexer,dr=Lr.LineCounter,lr=Or.Parser,r5=p5.parse,cr=p5.parseAllDocuments,nr=p5.parseDocument,ir=p5.stringify,pr=oL.visit,rr=oL.visitAsync;var CY=j0(s5(),1);class g0 extends Error{}var X$=async(D,$)=>JSON.parse(await D1.readFile(wD.join(D,$),"utf-8")),p0=(D,$)=>JSON.parse(E4.readFileSync(wD.join(D,$),"utf-8"));async function p2(D,$){let X=(await mw(D,{cwd:$,onlyDirectories:!0,ignore:["**/node_modules"],expandDirectories:!1})).map((Q)=>wD.resolve($,Q)).sort();return(await Promise.all(X.map((Q)=>D1.readFile(wD.join(Q,"package.json"),"utf-8").catch((Y)=>{if(Y&&Y.code==="ENOENT")return;throw Y}).then((Y)=>{if(Y)return{dir:wD.resolve(Q),relativeDir:wD.relative($,Q),packageJson:JSON.parse(Y)}})))).filter((Q)=>Q)}function r2(D,$){return hw(D,{cwd:$,onlyDirectories:!0,ignore:["**/node_modules"],expandDirectories:!1}).map((Q)=>wD.resolve($,Q)).sort().map((Q)=>{try{let Y=p0(Q,"package.json");return{dir:wD.resolve(Q),relativeDir:wD.relative($,Q),packageJson:Y}}catch(Y){if(Y&&Y.code==="ENOENT")return;throw Y}}).filter((Q)=>Q)}async function Sa(D){try{return await Promise.any([PY.access(q6.join(D,"bun.lockb"),H$),PY.access(q6.join(D,"bun.lock"),H$)]),!0}catch($){return!1}}function Ta(D){try{return TY.accessSync(q6.join(D,"bun.lockb"),H$),!0}catch($){try{return TY.accessSync(q6.join(D,"bun.lock"),H$),!0}catch(U){return!1}}}var w4={type:"bun",async isMonorepoRoot(D){try{let[$,U]=await Promise.all([X$(D,"package.json"),Sa(D)]);if($.workspaces&&U){if(Array.isArray($.workspaces)||Array.isArray($.workspaces.packages))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},isMonorepoRootSync(D){try{if(!Ta(D))return!1;let U=p0(D,"package.json");if(U.workspaces){if(Array.isArray(U.workspaces)||Array.isArray(U.workspaces.packages))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},async getPackages(D){let $=q6.resolve(D);try{let U=await X$($,"package.json"),X=Array.isArray(U.workspaces)?U.workspaces:U.workspaces?.packages||[];return{tool:w4,packages:await p2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${w4.type} monorepo root`);throw U}},getPackagesSync(D){let $=q6.resolve(D);try{let U=p0($,"package.json"),X=Array.isArray(U.workspaces)?U.workspaces:U.workspaces?.packages||[];return{tool:w4,packages:r2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${w4.type} monorepo root`);throw U}}},H4={type:"lerna",async isMonorepoRoot(D){try{if((await X$(D,"lerna.json")).useWorkspaces!==!0)return!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},isMonorepoRootSync(D){try{if(p0(D,"lerna.json").useWorkspaces!==!0)return!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},async getPackages(D){let $=wD.resolve(D);try{let U=await X$($,"lerna.json"),X=await X$($,"package.json"),F=U.packages||["packages/*"];return{tool:H4,packages:await p2(F,$),rootPackage:{dir:$,relativeDir:".",packageJson:X},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${H4.type} monorepo root: missing lerna.json and/or package.json`);throw U}},getPackagesSync(D){let $=wD.resolve(D);try{let U=p0($,"lerna.json"),X=p0($,"package.json"),F=U.packages||["packages/*"];return{tool:H4,packages:r2(F,$),rootPackage:{dir:$,relativeDir:".",packageJson:X},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${H4.type} monorepo root: missing lerna.json and/or package.json`);throw U}}},L4={type:"npm",async isMonorepoRoot(D){try{let[$]=await Promise.all([X$(D,"package.json"),D1.access(wD.join(D,"package-lock.json"),H$)]);if($.workspaces){if(Array.isArray($.workspaces))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},isMonorepoRootSync(D){try{E4.accessSync(wD.join(D,"package-lock.json"),H$);let $=p0(D,"package.json");if($.workspaces){if(Array.isArray($.workspaces))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},async getPackages(D){let $=wD.resolve(D);try{let U=await X$($,"package.json"),X=U.workspaces;return{tool:L4,packages:await p2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${L4.type} monorepo root`);throw U}},getPackagesSync(D){let $=wD.resolve(D);try{let U=p0($,"package.json"),X=U.workspaces;return{tool:L4,packages:r2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${L4.type} monorepo root`);throw U}}};async function zO(D){return D1.readFile(D,"utf8").then(($)=>r5($))}function WO(D){return r5(E4.readFileSync(D,"utf8"))}var O4={type:"pnpm",async isMonorepoRoot(D){try{if((await zO(wD.join(D,"pnpm-workspace.yaml"))).packages)return!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},isMonorepoRootSync(D){try{if(WO(wD.join(D,"pnpm-workspace.yaml")).packages)return!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},async getPackages(D){let $=wD.resolve(D);try{let U=await zO(wD.join($,"pnpm-workspace.yaml")),X=await X$($,"package.json"),F=U.packages;return{tool:O4,packages:await p2(F,$),rootPackage:{dir:$,relativeDir:".",packageJson:X},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${O4.type} monorepo root: missing pnpm-workspace.yaml and/or package.json`);throw U}},getPackagesSync(D){let $=wD.resolve(D);try{let U=WO(wD.join($,"pnpm-workspace.yaml")),X=p0($,"package.json"),F=U.packages;return{tool:O4,packages:r2(F,$),rootPackage:{dir:$,relativeDir:".",packageJson:X},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${O4.type} monorepo root: missing pnpm-workspace.yaml and/or package.json`);throw U}}};var N4={type:"rush",async isMonorepoRoot(D){try{return await D1.access(wD.join(D,"rush.json"),H$),!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}},isMonorepoRootSync(D){try{return E4.accessSync(wD.join(D,"rush.json"),H$),!0}catch($){if($&&$.code==="ENOENT")return!1;throw $}},async getPackages(D){let $=wD.resolve(D);try{let U=await D1.readFile(wD.join($,"rush.json"),"utf8"),F=CY.default.parse(U).projects.map((Y)=>wD.resolve($,Y.projectFolder)),Q=await Promise.all(F.map(async(Y)=>{return{dir:Y,relativeDir:wD.relative(D,Y),packageJson:await X$(Y,"package.json")}}));return{tool:N4,packages:Q,rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${N4.type} monorepo root: missing rush.json`);throw U}},getPackagesSync(D){let $=wD.resolve(D);try{let U=E4.readFileSync(wD.join($,"rush.json"),"utf8"),Q=CY.default.parse(U).projects.map((Y)=>wD.resolve($,Y.projectFolder)).map((Y)=>{let J=p0(Y,"package.json");return{dir:Y,relativeDir:wD.relative(D,Y),packageJson:J}});return{tool:N4,packages:Q,rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${N4.type} monorepo root: missing rush.json`);throw U}}},M4={type:"yarn",async isMonorepoRoot(D){try{let[$]=await Promise.all([X$(D,"package.json"),D1.access(wD.join(D,"yarn.lock"),H$)]);if($.workspaces){if(Array.isArray($.workspaces)||Array.isArray($.workspaces.packages))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},isMonorepoRootSync(D){try{E4.accessSync(wD.join(D,"yarn.lock"),H$);let $=p0(D,"package.json");if($.workspaces){if(Array.isArray($.workspaces)||Array.isArray($.workspaces.packages))return!0}}catch($){if($&&$.code==="ENOENT")return!1;throw $}return!1},async getPackages(D){let $=wD.resolve(D);try{let U=await X$($,"package.json"),X=Array.isArray(U.workspaces)?U.workspaces:U.workspaces.packages;return{tool:M4,packages:await p2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${M4.type} monorepo root`);throw U}},getPackagesSync(D){let $=wD.resolve(D);try{let U=p0($,"package.json"),X=Array.isArray(U.workspaces)?U.workspaces:U.workspaces.packages;return{tool:M4,packages:r2(X,$),rootPackage:{dir:$,relativeDir:".",packageJson:U},rootDir:$}}catch(U){if(U&&U.code==="ENOENT")throw new g0(`Directory ${$} is not a valid ${M4.type} monorepo root`);throw U}}};var HO=["capacitor.config.ts","capacitor.config.js","capacitor.config.json"];function k$(D){try{return Ca(D).isFile()}catch{return!1}}function o2(D){return HO.some(($)=>k$(L$(D,$)))}function ua(D){return HO.map(($)=>L$(D,$)).find(k$)}function a2(D,$){let U=$;while(U<D.length){if(/\s/u.test(D[U])){U+=1;continue}if(D.startsWith("//",U))return U=D.indexOf(`
416
- `,U+2),U===-1?D.length:a2(D,U+1);if(D.startsWith("/*",U)){let X=D.indexOf("*/",U+2);return X===-1?D.length:a2(D,X+2)}break}return U}function ZO(D,$){let U=D[$];if(U!=="'"&&U!=='"')return;let X="",F=!1;for(let Q=$+1;Q<D.length;Q+=1){let Y=D[Q];if(Y==="\\"){F=!0,Q+=1;continue}if(Y===U)return{end:Q+1,value:F?void 0:X};X+=Y}return{end:D.length}}function xa(D){let $=new Set,U=0;while(U<D.length){U=a2(D,U);let X=ZO(D,U),F,Q=U;if(X)F=X.value,Q=X.end;else if(/[A-Za-z_$]/u.test(D[U]??"")){let Y=D.slice(U).match(/^[A-Za-z_$][\w$]*/u)?.[0];F=Y,Q=U+(Y?.length??1)}if(F==="appId"){let Y=a2(D,Q);if(D[Y]===":"){let J=a2(D,Y+1),I=ZO(D,J)?.value?.trim();if(I)$.add(I)}}U=Math.max(Q,U+1)}return $.size===1?[...$][0]:void 0}function _a(D){let $=ua(D);if(!$)return;try{let U=BO($,"utf8");if($.endsWith(".json")){let X=JSON.parse(U);return(typeof X.appId==="string"?X.appId.trim():"")||void 0}return xa(U)}catch{return}}async function VO(D,$,U){return{dir:$,relativeDir:fa(D,$),packageName:U,appId:_a($)}}function ka(D,$){if(k$(L$(D,"pnpm-workspace.yaml")))return O4;if(k$(L$(D,"rush.json")))return N4;let U=$.packageManager?.toLowerCase()??"",X=Array.isArray($.workspaces),F=$.workspaces!=null&&!Array.isArray($.workspaces)&&Array.isArray($.workspaces.packages);if(X||F){if(U.startsWith("bun@")||k$(L$(D,"bun.lock"))||k$(L$(D,"bun.lockb")))return w4;if(U.startsWith("yarn@")||k$(L$(D,"yarn.lock"))||F)return M4;return L4}if(k$(L$(D,"lerna.json")))return H4;return}function ga(D,$){let U=KO(D,$);return U===""||U!==".."&&!U.startsWith(`..${wO}`)&&!va(U)}function fa(D,$){let U=KO(D,$);return U?U.split(wO).join("/"):"."}function A4(D,$,U){return{searchRoot:D,candidates:[],nxDetected:$,reason:U}}async function LO(D){let $=ba(D),U;try{U=GO($)}catch{return A4($,!1,"invalid-workspace")}let X=Pa(L$(U,"nx.json"));if(o2(U))return{searchRoot:U,candidates:[await VO(U,U)],nxDetected:X};let F=L$(U,"package.json");if(!k$(F))return A4(U,X,"missing-package-json");let Q;try{Q=JSON.parse(BO(F,"utf8"))}catch{return A4(U,X,"invalid-workspace")}let Y=ka(U,Q);if(!Y)return A4(U,X,"unsupported-workspace");try{let J=await Y.getPackages(U),q=new Map;for(let z of J.packages){let W;try{W=GO(z.dir)}catch{continue}if(!ga(U,W)||!o2(W))continue;let G=typeof z.packageJson.name==="string"?z.packageJson.name:void 0;q.set(W,await VO(U,W,G))}let I=[...q.values()].sort((z,W)=>z.relativeDir.localeCompare(W.relativeDir));if(I.length===0)return A4(U,X,"no-capacitor-app");return{searchRoot:U,candidates:I,nxDetected:X}}catch{return A4(U,X,"invalid-workspace")}}wq();I9();function oX(D){let $=[];for(let U=e1(D);;U=W2(U))if($.push(U),U===W2(U))return $}function Hg(D){return oX(D).find(($)=>{if(["pnpm-workspace.yaml","nx.json","lerna.json","rush.json"].some((U)=>$5(G2($,U))))return!0;try{return!!JSON.parse(Og(G2($,"package.json"),"utf8")).workspaces}catch{return!1}})??D}async function yK(D){let $=["capacitor.config.ts","capacitor.config.js","capacitor.config.json"].map((U)=>G2(D,U)).find($5);if(!$)throw Error("No Capacitor config");return p4($)}function Lg(D,$,U){if(D.packageJson){let X=D.packageJson.split(",").map((Q)=>Q.trim()).filter(Boolean);if(X.length!==1)return;let F=l6(e1(D.cwd,X[0]));return JSON.parse(Og(F,"utf8")),W2(F)}if(D.mainFile){let X=l6(e1(D.cwd,D.mainFile));return oX(W2(X)).find((F)=>$5(G2(F,"package.json")))}if(typeof U.webDir==="string"){let X=e1($,U.webDir),F=oX(X===$?X:W2(X)).find((Q)=>$5(G2(Q,"package.json")));if(F)return F}return $5(G2($,"package.json"))?$:void 0}async function Ng(D){let $=l6(D.cwd),U=Hg($),X=oX($).find(o2),F=X,Q;if(F)Q=await yK(F);else if(D.capacitorConfig){let q=l6(e1($,D.capacitorConfig));F=W2(q),Q=await p4(q)}else{let q=await LO(U),I=D.packageJson||D.mainFile?Lg(D,U,{}):void 0;if((D.packageJson||D.mainFile)&&!I)return;let z=q.candidates.filter((W)=>I?l6(W.dir)===I:!D.appId||W.appId===D.appId);if(z.length!==1)return;F=z[0].dir;try{Q=await yK(F)}catch{return}}let Y=P8(void 0,Q);if(typeof Y!=="string"||!Y.trim()||D.appId&&D.appId!==Y||Q.webDir!==void 0&&(typeof Q.webDir!=="string"||!Q.webDir.trim()))return;if(X&&D.capacitorConfig){let q=await p4(l6(e1($,D.capacitorConfig)));if(P8(void 0,q)!==Y)return}let J=Lg(D,F,Q);if(!J)return;if(J!==F&&o2(J)&&P8(void 0,await yK(J))!==Y)return;return{dir:l6(J),workspaceRoot:Hg(l6(J)),config:Q,appId:Y,webDir:e1(F,Q.webDir??"www")}}I9();function mK(D){try{let $=new URL(D);if(!["http:","https:"].includes($.protocol)||$.username||$.password||$.search||$.hash)return;return $}catch{return}}function Mg(D,$,U){let X=mK(D);if(!X)return!1;let F=["localhost","127.0.0.1","[::1]"].includes(X.hostname);if(X.protocol!=="https:"&&!F)return!1;if(X.origin===new URL(h6).origin)return!0;if(($.supaHost&&$.supaAnon?mK($.supaHost):void 0)?.origin===X.origin)return!0;return U.some((Y)=>{let J=mK(Y.trim());return J?.pathname==="/"&&J.origin===X.origin})}I9();async function Eg(D,$){let U=cID.CAPGO_TRUSTED_API_ORIGINS?.split(",")??[],X=D.apikey??aX();if(!X)return;let F=await Ng(D);if(!F)return;let Q=F.config.plugins?.CapacitorUpdater,Y={hostApi:Q?.localApi||h6,supaHost:Q?.localSupa,supaKey:Q?.localSupaAnon},q=D.supaHost&&D.supaAnon&&!t1(D.supaHost)?`${d6(D.supaHost)}/functions/v1`:gK(Y);if(!Mg(q,D,U))return;let I=D.supaAnon??Y.supaKey;aK(D.command);let z=lID(),W=async(L,O,w={})=>{try{await T8(X,{channel:$.channel,event:L,tracking_version:2,timestamp:new Date(O),tags:{app_id:F.appId},nonPersonTags:{attempt_id:z,command_path:D.command,...w}},!1,AbortSignal.timeout(500),q,"error")}catch{}};await W("scan_started",Date.now());let G=Date.now(),V=G,Z="error",K="not_attempted",B;try{if(Z=$.scan(F),V=Date.now(),Z!=="found")return;K="failed";let L=await fetch(`${P6(q)}/app/${encodeURIComponent(F.appId)}`,{method:"PUT",headers:V$({"Content-Type":"application/json",Authorization:q.includes("/functions/v1")&&I?`Bearer ${I}`:X,capgkey:X}),body:JSON.stringify({onboarding:{steps:{[$.step]:{status:"done"}}}}),signal:AbortSignal.timeout(2000),redirect:"error"});B=L.status,K=L.ok?"success":"rejected",await L.body?.cancel()}finally{if(Z==="error")V=Date.now();await W("scan_ended",V,{result:Z,duration_ms:V-G,todo_report_status:K,...B===void 0?{}:{todo_report_http_status:B}})}}import{join as eID}from"node:path";import{existsSync as Ag,readFileSync as hK}from"node:fs";import{createRequire as nID}from"node:module";import{dirname as dK,join as iID}from"node:path";import pID from"node:process";var rID="@capgo/capacitor-updater",aID="@capacitor/splash-screen";function oID(D){if(!Ag(D))return null;try{return JSON.parse(hK(D,"utf-8"))}catch{return null}}function tID(D,$){let U=oID(D);if(!U)return{version:null,section:null};let X=["dependencies","devDependencies","optionalDependencies"];for(let F of X){let Q=U[F];if(!Q||!Object.hasOwn(Q,$))continue;let Y=Q[$];return{version:typeof Y==="string"?Y:String(Y),section:F}}return{version:null,section:null}}function sID(D,$){let X=dK(D);while(!0){let F=iID(X,"node_modules",$,"package.json");if(Ag(F))try{let Y=JSON.parse(hK(F,"utf-8"));if(typeof Y.version==="string")return Y.version}catch{return null}let Q=dK(X);if(Q===X)break;X=Q}if(!pID.versions.pnp)return null;try{let Q=nID(D).resolve(`${$}/package.json`),Y=JSON.parse(hK(Q,"utf-8"));if(typeof Y.version==="string")return Y.version}catch{return null}return null}function Rg(D,$){let U=dK(D),X=tID(D,$),F=sID(D,$),Q=[];if(!X.version)Q.push(`Missing ${$} in ${D}`);if(!F)Q.push(`Cannot resolve ${$} from ${U}/node_modules`);return{packageJsonPath:D,projectDir:U,declaredVersion:X.version,declaredIn:X.section,installedVersion:F,ready:Q.length===0,details:Q}}function jg(D){return Rg(D,rID)}function JjD(D){return Rg(D,aID)}function Sg(D){return jg(eID(D.dir,"package.json")).ready?"found":"not_found"}Eg($zD,{channel:"updater-installed",step:"add_updater",scan:Sg}).catch(()=>{}).finally(()=>DzD(0));
416
+ `,U+2),U===-1?D.length:a2(D,U+1);if(D.startsWith("/*",U)){let X=D.indexOf("*/",U+2);return X===-1?D.length:a2(D,X+2)}break}return U}function ZO(D,$){let U=D[$];if(U!=="'"&&U!=='"')return;let X="",F=!1;for(let Q=$+1;Q<D.length;Q+=1){let Y=D[Q];if(Y==="\\"){F=!0,Q+=1;continue}if(Y===U)return{end:Q+1,value:F?void 0:X};X+=Y}return{end:D.length}}function xa(D){let $=new Set,U=0;while(U<D.length){U=a2(D,U);let X=ZO(D,U),F,Q=U;if(X)F=X.value,Q=X.end;else if(/[A-Za-z_$]/u.test(D[U]??"")){let Y=D.slice(U).match(/^[A-Za-z_$][\w$]*/u)?.[0];F=Y,Q=U+(Y?.length??1)}if(F==="appId"){let Y=a2(D,Q);if(D[Y]===":"){let J=a2(D,Y+1),I=ZO(D,J)?.value?.trim();if(I)$.add(I)}}U=Math.max(Q,U+1)}return $.size===1?[...$][0]:void 0}function _a(D){let $=ua(D);if(!$)return;try{let U=BO($,"utf8");if($.endsWith(".json")){let X=JSON.parse(U);return(typeof X.appId==="string"?X.appId.trim():"")||void 0}return xa(U)}catch{return}}async function VO(D,$,U){return{dir:$,relativeDir:fa(D,$),packageName:U,appId:_a($)}}function ka(D,$){if(k$(L$(D,"pnpm-workspace.yaml")))return O4;if(k$(L$(D,"rush.json")))return N4;let U=$.packageManager?.toLowerCase()??"",X=Array.isArray($.workspaces),F=$.workspaces!=null&&!Array.isArray($.workspaces)&&Array.isArray($.workspaces.packages);if(X||F){if(U.startsWith("bun@")||k$(L$(D,"bun.lock"))||k$(L$(D,"bun.lockb")))return w4;if(U.startsWith("yarn@")||k$(L$(D,"yarn.lock"))||F)return M4;return L4}if(k$(L$(D,"lerna.json")))return H4;return}function ga(D,$){let U=KO(D,$);return U===""||U!==".."&&!U.startsWith(`..${wO}`)&&!va(U)}function fa(D,$){let U=KO(D,$);return U?U.split(wO).join("/"):"."}function A4(D,$,U){return{searchRoot:D,candidates:[],nxDetected:$,reason:U}}async function LO(D){let $=ba(D),U;try{U=GO($)}catch{return A4($,!1,"invalid-workspace")}let X=Pa(L$(U,"nx.json"));if(o2(U))return{searchRoot:U,candidates:[await VO(U,U)],nxDetected:X};let F=L$(U,"package.json");if(!k$(F))return A4(U,X,"missing-package-json");let Q;try{Q=JSON.parse(BO(F,"utf8"))}catch{return A4(U,X,"invalid-workspace")}let Y=ka(U,Q);if(!Y)return A4(U,X,"unsupported-workspace");try{let J=await Y.getPackages(U),q=new Map;for(let z of J.packages){let W;try{W=GO(z.dir)}catch{continue}if(!ga(U,W)||!o2(W))continue;let G=typeof z.packageJson.name==="string"?z.packageJson.name:void 0;q.set(W,await VO(U,W,G))}let I=[...q.values()].sort((z,W)=>z.relativeDir.localeCompare(W.relativeDir));if(I.length===0)return A4(U,X,"no-capacitor-app");return{searchRoot:U,candidates:I,nxDetected:X}}catch{return A4(U,X,"invalid-workspace")}}wq();I9();function oX(D){let $=[];for(let U=e1(D);;U=W2(U))if($.push(U),U===W2(U))return $}function Hg(D){return oX(D).find(($)=>{if(["pnpm-workspace.yaml","nx.json","lerna.json","rush.json"].some((U)=>$5(G2($,U))))return!0;try{return!!JSON.parse(Og(G2($,"package.json"),"utf8")).workspaces}catch{return!1}})??D}async function yK(D){let $=["capacitor.config.ts","capacitor.config.js","capacitor.config.json"].map((U)=>G2(D,U)).find($5);if(!$)throw Error("No Capacitor config");return p4($)}function Lg(D,$,U){if(D.packageJson){let X=D.packageJson.split(",").map((Q)=>Q.trim()).filter(Boolean);if(X.length!==1)return;let F=l6(e1(D.cwd,X[0]));return JSON.parse(Og(F,"utf8")),W2(F)}if(D.mainFile){let X=l6(e1(D.cwd,D.mainFile));return oX(W2(X)).find((F)=>$5(G2(F,"package.json")))}if(typeof U.webDir==="string"){let X=e1($,U.webDir),F=oX(X===$?X:W2(X)).find((Q)=>$5(G2(Q,"package.json")));if(F)return F}return $5(G2($,"package.json"))?$:void 0}async function Ng(D){let $=l6(D.cwd),U=Hg($),X=oX($).find(o2),F=X,Q;if(F)Q=await yK(F);else if(D.capacitorConfig){let q=l6(e1($,D.capacitorConfig));F=W2(q),Q=await p4(q)}else{let q=await LO(U),I=D.packageJson||D.mainFile?Lg(D,U,{}):void 0;if((D.packageJson||D.mainFile)&&!I)return;let z=q.candidates.filter((W)=>I?l6(W.dir)===I:!D.appId||W.appId===D.appId);if(z.length!==1)return;F=z[0].dir;try{Q=await yK(F)}catch{return}}let Y=P8(void 0,Q);if(typeof Y!=="string"||!Y.trim()||D.appId&&D.appId!==Y||Q.webDir!==void 0&&(typeof Q.webDir!=="string"||!Q.webDir.trim()))return;if(X&&D.capacitorConfig){let q=await p4(l6(e1($,D.capacitorConfig)));if(P8(void 0,q)!==Y)return}let J=Lg(D,F,Q);if(!J)return;if(J!==F&&o2(J)&&P8(void 0,await yK(J))!==Y)return;return{dir:l6(J),workspaceRoot:Hg(l6(J)),config:Q,appId:Y,webDir:e1(F,Q.webDir??"www")}}I9();function mK(D){try{let $=new URL(D);if(!["http:","https:"].includes($.protocol)||$.username||$.password||$.search||$.hash)return;return $}catch{return}}function Mg(D,$,U){let X=mK(D);if(!X)return!1;let F=["localhost","127.0.0.1","[::1]"].includes(X.hostname);if(X.protocol!=="https:"&&!F)return!1;if(X.origin===new URL(h6).origin)return!0;if(($.supaHost&&$.supaAnon?mK($.supaHost):void 0)?.origin===X.origin)return!0;return U.some((Y)=>{let J=mK(Y.trim());return J?.pathname==="/"&&J.origin===X.origin})}I9();async function Eg(D,$){let U=cID.CAPGO_TRUSTED_API_ORIGINS?.split(",")??[],X=D.apikey??aX();if(!X)return;let F=await Ng(D);if(!F)return;let Q=F.config.plugins?.CapacitorUpdater,Y={hostApi:Q?.localApi||h6,supaHost:Q?.localSupa,supaKey:Q?.localSupaAnon},q=D.supaHost&&D.supaAnon&&!t1(D.supaHost)?`${d6(D.supaHost)}/functions/v1`:gK(Y);if(!Mg(q,D,U))return;let I=D.supaAnon??Y.supaKey;aK(D.command);let z=D.attemptId??lID(),W=async(L,O,w={})=>{try{await T8(X,{channel:$.channel,event:L,tracking_version:2,timestamp:new Date(O),tags:{app_id:F.appId},nonPersonTags:{attempt_id:z,command_path:D.command,...w}},!1,AbortSignal.timeout(500),q,"error")}catch{}};await W("scan_started",Date.now());let G=Date.now(),V=G,Z="error",K="not_attempted",B;try{if(Z=$.scan(F),V=Date.now(),Z!=="found")return;K="failed";let L=await fetch(`${P6(q)}/app/${encodeURIComponent(F.appId)}`,{method:"PUT",headers:V$({"Content-Type":"application/json",Authorization:q.includes("/functions/v1")&&I?`Bearer ${I}`:X,capgkey:X}),body:JSON.stringify({onboarding:{steps:{[$.step]:{status:"done"}}}}),redirect:"error"});B=L.status,K=L.ok?"success":"rejected",await L.body?.cancel()}finally{if(Z==="error")V=Date.now();await W("scan_ended",V,{result:Z,duration_ms:V-G,todo_report_status:K,...B===void 0?{}:{todo_report_http_status:B}})}}import{join as eID}from"node:path";import{existsSync as Ag,readFileSync as hK}from"node:fs";import{createRequire as nID}from"node:module";import{dirname as dK,join as iID}from"node:path";import pID from"node:process";var rID="@capgo/capacitor-updater",aID="@capacitor/splash-screen";function oID(D){if(!Ag(D))return null;try{return JSON.parse(hK(D,"utf-8"))}catch{return null}}function tID(D,$){let U=oID(D);if(!U)return{version:null,section:null};let X=["dependencies","devDependencies","optionalDependencies"];for(let F of X){let Q=U[F];if(!Q||!Object.hasOwn(Q,$))continue;let Y=Q[$];return{version:typeof Y==="string"?Y:String(Y),section:F}}return{version:null,section:null}}function sID(D,$){let X=dK(D);while(!0){let F=iID(X,"node_modules",$,"package.json");if(Ag(F))try{let Y=JSON.parse(hK(F,"utf-8"));if(typeof Y.version==="string")return Y.version}catch{return null}let Q=dK(X);if(Q===X)break;X=Q}if(!pID.versions.pnp)return null;try{let Q=nID(D).resolve(`${$}/package.json`),Y=JSON.parse(hK(Q,"utf-8"));if(typeof Y.version==="string")return Y.version}catch{return null}return null}function Rg(D,$){let U=dK(D),X=tID(D,$),F=sID(D,$),Q=[];if(!X.version)Q.push(`Missing ${$} in ${D}`);if(!F)Q.push(`Cannot resolve ${$} from ${U}/node_modules`);return{packageJsonPath:D,projectDir:U,declaredVersion:X.version,declaredIn:X.section,installedVersion:F,ready:Q.length===0,details:Q}}function jg(D){return Rg(D,rID)}function JjD(D){return Rg(D,aID)}function Sg(D){return jg(eID(D.dir,"package.json")).ready?"found":"not_found"}Eg($zD,{channel:"updater-installed",step:"add_updater",scan:Sg}).catch(()=>{}).finally(()=>DzD(0));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "8.53.1",
4
+ "version": "8.53.2",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
@@ -64,7 +64,7 @@
64
64
  "lint:fix": "oxlint --config ../.oxlintrc.json --fix src",
65
65
  "check-posix-paths": "node test/check-posix-paths.js",
66
66
  "generate-docs": "node dist/index.js generate-docs README.md",
67
- "test:notify-app-ready-background": "bun test ./test/test-notify-app-ready-background.mjs",
67
+ "test:notify-app-ready-background": "bun test ./test/test-notify-app-ready-background.mjs ./test/test-background-check-shutdown.mjs",
68
68
  "test:bundle": "bun test/test-bundle.mjs",
69
69
  "test:bundle-validation": "bun test test/bundle/",
70
70
  "test:prescan": "bun test test/prescan/",
@@ -21,7 +21,9 @@ TanStack Intent skills should stay focused and under the validator line limit, s
21
21
  - Many commands can infer `appId` and related config from the current Capacitor project.
22
22
  - Commands inside an identifiable Capacitor project can automatically complete the Add Integration Code onboarding task when a source call to `CapacitorUpdater.notifyAppReady()` is detected. Detection is best effort and may be abandoned when the command exits. It does not confirm runtime readiness.
23
23
  - A separate background check can complete Install Updater Plugin when `@capgo/capacitor-updater` is declared in the selected app's package.json and installed locally, including hoisted or symlinked workspace dependencies. Missing dependencies leave existing progress untouched; detection may be abandoned when the command exits.
24
+ - After supported interactive app, bundle, channel, organization, and key commands, plus `build request`, `login`, `doctor`, and `get-qr`, finish, pending background checks share a wait of up to five seconds. The CLI prints a waiting message and can exit sooner after the checks finish; pressing Ctrl-C during the wait exits immediately. JSON, output-text, quiet, CI, piped, `init`, `build init`, and MCP runs do not add this wait or message. Commands with fixed machine-readable output, such as account ID and bundle release type, also exit without waiting.
24
25
  - With analytics enabled, source scans emit `scan_started` and `scan_ended` events in the `notify-app-ready` channel with a shared `attempt_id`. The ended event includes scan duration, result, and todo-report outcome. An abandoned scan may have no ended event.
26
+ - With analytics enabled, displaying the waiting message emits `background_checks_wait_started` in the `cli-usage` channel. Its event properties include the command path, pending check count, grace period, and pending `scan_attempt_ids`. Telemetry shares the five-second wait budget and respects `CAPGO_DISABLE_TELEMETRY` and `CAPGO_DISABLE_POSTHOG`.
25
27
  - Updater installation checks use the same scan events and attempt pairing in the `updater-installed` channel, with a separate attempt ID from the source scan. Telemetry opt-out does not prevent either onboarding check.
26
28
  - Background onboarding requests trust the default Capgo API origin. For a custom API, explicitly select the self-host with `--supa-host` and `--supa-anon` where supported, or list trusted URL origins (including scheme and port) in `CAPGO_TRUSTED_API_ORIGINS`, separated by commas. Remote hosts require HTTPS; HTTP is permitted only for trusted loopback origins. Untrusted destinations and redirects are skipped without sending credentials to another host.
27
29
  - Shared public flags commonly include `-a, --apikey <apikey>` and `--verbose` on commands that support verbose output.