@capgo/cli 8.43.0 → 8.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "8.43.0",
4
+ "version": "8.43.1",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
@@ -65,6 +65,7 @@
65
65
  "check-posix-paths": "node test/check-posix-paths.js",
66
66
  "generate-docs": "node dist/index.js generate-docs README.md",
67
67
  "test:bundle": "bun test/test-bundle.mjs",
68
+ "test:bundle-validation": "bun test test/bundle/",
68
69
  "test:prescan": "bun test test/prescan/",
69
70
  "test:functional": "bun test/test-functional.mjs",
70
71
  "test:semver": "bun test/test-semver-validation.mjs",
@@ -109,6 +110,7 @@
109
110
  "test:app-list-output-text": "bun test/test-app-list-output-text.mjs",
110
111
  "test:doctor-analytics": "bun test/test-doctor-analytics.mjs",
111
112
  "test:posthog-exception": "bun test/test-posthog-exception.mjs",
113
+ "test:cli-recovery": "bun test/test-cli-recovery.mjs",
112
114
  "test:create-supabase-client": "bun test/test-create-supabase-client.mjs",
113
115
  "test:onboarding-recovery": "bun test/test-onboarding-recovery.mjs",
114
116
  "test:onboarding-progress": "bun test/test-onboarding-progress.mjs",
@@ -170,7 +172,7 @@
170
172
  "test:android-version": "bun test/test-android-version.mjs",
171
173
  "test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
172
174
  "test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
173
- "test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && 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-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:v2-event-migration && bun run test:analytics && bun run test:cli-headers && 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-list-output-text && bun run test:doctor-analytics && bun run test:posthog-exception && 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-add-exists && bun run test:wait-log && bun run test:init-guardrails && 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-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",
175
+ "test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && 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-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:v2-event-migration && bun run test:analytics && bun run test:cli-headers && 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-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-add-exists && bun run test:wait-log && bun run test:init-guardrails && 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-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",
174
176
  "test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
175
177
  "test:builder-project-discovery": "bun test/test-builder-project-discovery.mjs",
176
178
  "test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
@@ -44,6 +44,5 @@ export declare function check2FAComplianceForApp(supabase: SupabaseClient<Databa
44
44
  export declare function checkAppExistsAndHasPermissionOrgErr(supabase: SupabaseClient<Database>, apikey: string, appid: string, requiredPermissionKey: string, silent?: boolean, skip2FACheck?: boolean, channelId?: number | null): Promise<boolean>;
45
45
  export type { AppOptions as Options } from '../schemas/app';
46
46
  export declare const newIconPath = "assets/icon.png";
47
- export declare const defaultAppIconPath = "public/capgo.png";
48
47
  export declare function resolveAppSetIconPath(explicitIcon?: string): string | undefined;
49
48
  export declare function getAppIconStoragePath(organizationUid: string, appId: string): string;
@@ -14,6 +14,7 @@ interface RSAKeys {
14
14
  privateKey: string;
15
15
  }
16
16
  export declare function createRSA(): RSAKeys;
17
+ export declare function derivePublicKeyFromPrivate(privateKeyPem: string): string;
17
18
  /**
18
19
  * Calculate the key ID from a public key
19
20
  * Shows the first 20 characters of base64-encoded key body for easy visual verification
@@ -9,7 +9,7 @@ export declare function addAppInternal(initialAppId: string, options: AppOptions
9
9
  organizationUid: string;
10
10
  userId: string;
11
11
  name: string;
12
- iconUrl: string;
13
- signedURL: string;
12
+ iconUrl: string | undefined;
13
+ signedURL: string | undefined;
14
14
  }>;
15
15
  export declare function addApp(appId: string, options: AppOptions): Promise<void>;
@@ -0,0 +1,4 @@
1
+ export declare function requireZipPath(zipPath: string | undefined): asserts zipPath is string;
2
+ export declare function requireExistingZipPath(zipPath: string): void;
3
+ export declare function requireChecksum(checksum: string | undefined): string;
4
+ export declare function requireIvSessionKey(ivSessionKey: string | undefined): asserts ivSessionKey is string;
@@ -0,0 +1,15 @@
1
+ import type { CapacitorConfig } from '../config';
2
+ export declare function isValidAppId(appId: string): boolean;
3
+ export declare function parsePackageJsonOptionPaths(packageJson?: string): string[] | undefined;
4
+ export declare function collectAppIdCandidates(config: CapacitorConfig | undefined, projectRoot?: string, packageJsonPaths?: string[]): string[];
5
+ export interface ResolveAppIdOptions {
6
+ explicitAppId?: string;
7
+ config?: CapacitorConfig;
8
+ apikey?: string;
9
+ packageJsonPaths?: string[];
10
+ interactive?: boolean;
11
+ json?: boolean;
12
+ supaHost?: string;
13
+ supaAnon?: string;
14
+ }
15
+ export declare function resolveAppIdWithRecovery(options: ResolveAppIdOptions): Promise<string>;
@@ -0,0 +1,17 @@
1
+ export declare const notifyAppReadyDocsUrl = "https://capgo.app/docs/plugins/updater/notify-app-ready/";
2
+ export declare function findBuildEntryJsPath(webDir: string): string | undefined;
3
+ export declare function resolveCapacitorUpdaterIdentifier(content: string): string | undefined;
4
+ export declare function hasCallableCapacitorUpdaterBinding(content: string): boolean;
5
+ export declare function injectNotifyAppReadyIntoJs(filePath: string, content: string): string;
6
+ export declare function injectNotifyAppReadyIntoBuildJs(content: string): string | undefined;
7
+ export declare function patchNotifyAppReadyInBuildFolder(webDir: string): string | undefined;
8
+ export declare function patchNotifyAppReadyInSourceAsync(projectRoot?: string): Promise<string | undefined>;
9
+ export type NotifyAppReadyRecoveryResult = 'present' | 'recovered' | 'skipped';
10
+ export interface EnsureNotifyAppReadyOptions {
11
+ webDir: string;
12
+ interactive?: boolean;
13
+ json?: boolean;
14
+ allowSkip?: boolean;
15
+ }
16
+ export declare function buildCiNotifyAppReadyMessage(webDir: string): string;
17
+ export declare function ensureNotifyAppReadyInBuildFolder(options: EnsureNotifyAppReadyOptions): Promise<NotifyAppReadyRecoveryResult>;
@@ -0,0 +1,7 @@
1
+ export interface EnsurePublicKeyOptions {
2
+ interactive?: boolean;
3
+ silent?: boolean;
4
+ json?: boolean;
5
+ }
6
+ export declare function ensurePublicKeyInConfig(options?: EnsurePublicKeyOptions): Promise<void>;
7
+ export declare function ensurePublicKeyFromPrivateKey(privateKeyPem: string, options?: Pick<EnsurePublicKeyOptions, 'silent' | 'json'>): Promise<void>;
@@ -25,6 +25,7 @@ export declare const optionsUploadSchema: z.ZodObject<{
25
25
  s3Endpoint: z.ZodOptional<z.ZodString>;
26
26
  bundleUrl: z.ZodOptional<z.ZodBoolean>;
27
27
  codeCheck: z.ZodOptional<z.ZodBoolean>;
28
+ ignoreNotifyAppReady: z.ZodOptional<z.ZodBoolean>;
28
29
  oldEncryption: z.ZodOptional<z.ZodBoolean>;
29
30
  minUpdateVersion: z.ZodOptional<z.ZodString>;
30
31
  autoMinUpdateVersion: z.ZodOptional<z.ZodBoolean>;
@@ -114,6 +115,7 @@ export declare const bundleZipOptionsSchema: z.ZodObject<{
114
115
  bundle: z.ZodOptional<z.ZodString>;
115
116
  path: z.ZodOptional<z.ZodString>;
116
117
  codeCheck: z.ZodOptional<z.ZodBoolean>;
118
+ ignoreNotifyAppReady: z.ZodOptional<z.ZodBoolean>;
117
119
  name: z.ZodOptional<z.ZodString>;
118
120
  json: z.ZodOptional<z.ZodBoolean>;
119
121
  keyV2: z.ZodOptional<z.ZodBoolean>;